一种HUB设备识别方法及装置与流程

文档序号:11436432阅读:421来源:国知局
一种HUB设备识别方法及装置与流程

本发明实施例涉及计算机网络技术领域,尤其涉及一种hub设备识别方法及装置。



背景技术:

随着信息时代的到来,对计算机网络的依赖使得计算机网络本身运行的可靠性变得至关重要,对网络管理也就有了更高的要求。若要对网络进行管理,首先需要进行物理拓扑发现。

物理拓扑发现技术的重点是发现交换机与交换机之间的连接关系,发现这些连接的前提是交换机必须是可管理的,即必须配置ip地址和简单网络管理协议(simplenetworkmanagementprotocol,简称snmp)相关配置,通过snmp可以查询到设备的信息。但是现在的物理网络中存在很多不可管理的哑元设备,这些哑元设备包括不可配置的哑交换机和集线器(hub)设备,因此,发现哑元设备的存在并定位对于准确地发现二层拓扑意义重大。现有技术中发现哑元设备的方法是:通过交换机端口物理(mac)表的mac地址数确定端口下是否存在哑元设备,该种方法存在识别不准的问题,从而无法准确发现物理拓扑结构。

因此,如何提高对hub设备识别的准确性是现如今亟待解决的课题。



技术实现要素:

针对现有技术存在的问题,本发明实施例提供一种hub设备识别方法及装置。

第一方面,本发明实施例提供一种hub设备识别方法,包括:

获取待检测设备,以及所述待检测设备对应的交换机的端口数据,所述端口数据包括第一端口和第二端口;

通过所述第一端口向所述第二端口发送端口状态控制指令,以使所述待检测设备接收到所述端口状态控制指令后向装置发送心跳信息;

接收所述待检测设备发送的所述心跳信息,所述心跳信息包括端口状态信息;

若判断获知所述端口状态信息没有发生变化,则将所述待检测设备识别为hub设备。

第二方面,本发明实施例提供一种hub设备识别装置,包括:

获取模块,用于获取待检测设备,以及所述待检测设备对应的交换机的端口数据,所述端口数据包括第一端口和第二端口;

发送模块,用于通过所述第一端口向所述第二端口发送端口状态控制指令,以使所述待检测设备接收到所述端口状态控制指令后向装置发送心跳信息;

接收模块,用于接收所述待检测设备发送的所述心跳信息,所述心跳信息包括端口状态信息;

第一识别模块,用于若判断获知所述端口状态信息没有发生变化,则将所述待检测设备识别为hub设备。

第三方面,本发明实施例提供一种hub设备识别装置,包括:处理器、存储器和总线,其中,

所述处理器和所述存储器通过所述总线完成相互间的通信;

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:

获取待检测设备,以及所述待检测设备对应的交换机的端口数据,所述端口数据包括第一端口和第二端口;

通过所述第一端口向第二端口发送端口状态控制指令,以使所述待检测设备接收到所述端口状态控制指令后向装置发送心跳信息;

接收所述待检测设备发送的所述心跳信息,所述心跳信息包括端口状态信息;

若判断获知所述端口状态信息没有发生变化,则将所述待检测设备识别为hub设备。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:

所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如下方法:

获取待检测设备,以及所述待检测设备对应的交换机的端口数据,所述端口数据包括第一端口和第二端口;

通过所述第一端口向第二端口发送端口状态控制指令,以使所述待检测设备接收到所述端口状态控制指令后向装置发送心跳信息;

接收所述待检测设备发送的所述心跳信息,所述心跳信息包括端口状态信息;

若判断获知所述端口状态信息没有发生变化,则将所述待检测设备识别为hub设备。

本发明实施例提供的一种hub设备识别方法及装置,通过向第二端口发送端口状态控制指令,接收待检测设备发送的心跳信息,若判断获知端口状态信息没有发生变化,则将待检测设备识别为hub设备,提高了hub设备识别的准确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种hub设备识别方法流程示意图;

图2为本发明实施例提供的基本拓扑结构示意图;

图3为本发明实施例提供的一种hub设备识别方法流程示意图;

图4为本发明实施例提供的一种hub设备识别装置结构示意图;

图5为本发明另一实施例提供的一种hub设备识别装置结构示意图;

图6为本发明实施例提供的一种hub设备识别装置实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的一种hub设备识别方法流程示意图,如图1所示,所述方法,包括:

步骤101:获取待检测设备,以及所述待检测设备对应的交换机的端口数据,所述端口数据包括第一端口和第二端口;

具体地,hub设备识别装置获取待检测设备,以及待检测设备对应的交换机的端口数据,图2为本发明实施例提供的基本拓扑结构示意图,如图2所示,其中hub设备识别装置可以是接入控制网关(nac),接入控制网关201通过交换机202与待检测设备204和待检测设备205通信连接,交换机202的端口数据包括一个第一端口eth0/0/1,和两个第二端口,第二端口分别为eth0/0/2和eth0/0/3,接入控制网关201通过第一端口eth0/0/1与交换机202通信连接,待检测设备204通过第二端口eth0/0/2与交换机202通信连接,待检测设备205通过第二端口eth0/0/3与交换机202通信连接。

步骤102:通过所述第一端口向所述第二端口发送端口状态控制指令,以使所述待检测设备接收到所述端口状态控制指令后向装置发送心跳信息;

具体地,hub设备识别装置通过第一端口向第二端口发送端口状态控制指令,待检测终端接收到hub设备识别装置发送的端口状态控制指令后通过交换机向hub设备识别装置发送心跳信息。应当说明的是,hub设备识别装置发送的端口状态控制指令包括一次端口关状态控制指令和一次端口开状态控制指令。

步骤103:接收所述待检测设备发送的所述心跳信息,所述心跳信息包括端口状态信息;

具体地,hub设备识别装置接收待检测终端发送的心跳信息,其中心跳信息中包括端口状态信息,如果待检测设备是直接与交换机连接的,那么待检测设备向hub设备识别装置发送的心跳信息中的端口状态信息会随着端口状态控制指令的变化而发生变化,如果待检测设备中包括hub设备,则待检测设备通过hub设备与交换机通信连接,此时的待检测设备发送的心跳信息中的端口状态信息不会发生变化,因此,可以通过判断待检测设备发送的心跳信息中的端口状态信息是否发生了变化来判断待检测设备是否为hub设备。

步骤104:若判断获知所述端口状态信息没有发生变化,则将所述待检测设备识别为hub设备。

具体地,如果hub设备识别装置判断接收到的心跳信息中的端口状态信息没有发生变化,则将该待检测设备识别为hub设备。

本发明实施例通过向第二端口发送端口状态控制指令,接收待检测设备发送的心跳信息,若判断获知端口状态信息没有发生变化,则将待检测设备识别为hub设备,提高了hub设备识别的准确性。

在上述实施例的基础上,所述若判断获知所述端口状态信息没有发生变化,则将所述待检测设备识别为hub设备,包括:

若判断获知所述端口状态信息没有发生变化,则再次通过所述第一端口向所述第二端口发送端口状态控制指令,以使所述待检测设备接收到所述端口状态控制指令后执行相应的操作;

接收所述待检测设备发送的所述心跳信息,所述心跳信息包括端口状态信息;

若判断获知所述端口状态信息仍然没有发生变化,则将所述待检测终端识别为hub设备。

具体地,如果hub设备识别装置判断接收到的心跳信息中的端口状态信息没有发生变化,则再次通过第一端口向第二端口发送端口状态控制指令,待检测终端接收到hub设备识别装置发送的端口状态控制指令后通过交换机向hub设备识别装置发送心跳信息。应当说明的是,hub设备识别装置发送的端口状态控制指令包括一次端口关状态控制指令和一次端口开状态控制指令。hub设备识别装置再次接收待检测终端发送的心跳信息,其中心跳信息中包括端口状态信息,如果hub设备识别装置判断第二次接收到的待见测终端发送心跳信息中的端口状态信息还是没有发生变化,则将该待检测设备识别为hub设备。

本发明实施例通过如果第一次判断待检测设备发送的心跳信息中的端口状态信息没有发生变化,则再次向第二端口发送端口状态控制指令,并再次接受待检测设备发送的心跳信息,如果第二次判断心跳信息中的端口状态信息仍然没有发生变化,则确定该待检测设备为hub设备,即通过二次判断来进一步确定待检测设备为hub设备,进一步提高了hub设备识别的准确性。

在上述实施例的基础上,所述通过所述交换机的第一端口向所述交换机的第二端口发送端口状态控制指令,包括:

通过所述交换机的所述第一端口向所述交换机的所述第二端口发送端口关控制指令;

间隔预设时间后,通过所述交换机的所述第一端口向所述交换机的所述第二端口发送端口开控制指令。

具体地,hub设备识别装置通过交换机的第一端口向交换机的第二端口发送的端口状态控制指令中包括端口关控制指令和端口开控制指令,首先,hub设备识别装置先通过交换机的第一端口向第二端口发送端口关控制指令,然后,间隔预设时间后,hub设备识别装置在通过第一端口向第二端口发送端口开控制指令,由此可知,hub设备识别装置发送的端口状态控制指令中包括的两次不同的控制指令,即一次是端口关控制指令,一次是端口开控制指令。

本发明实施例通过向第二端口发送端口状态控制指令,接收待检测设备发送的心跳信息,若判断获知端口状态信息没有发生变化,则将待检测设备识别为hub设备,提高了hub设备识别的准确性。

在上述实施例的基础上,所述方法,还包括:

若判断获知所述端口状态信息发生变化,则将所述待检测设备识别为普通终端。

具体地,如果hub设备识别装置判断待检测设备发送的心跳信息中的端口状态信息发生了变化,则说明待检测设备直接与交换机通信连接,此时该待检测设备为普通终端。

本发明实施例通过向第二端口发送端口状态控制指令,接收待检测设备发送的心跳信息,若判断获知所述端口状态信息没有发生变化,则将所述待检测设备识别为hub设备,若判断获知端口状态信息发生了变化,则将待检测设备识别为普通终端,提高了hub设备识别的准确性。

在上述各实施例的基础上,所述获取待检测设备,以及所述待检测设备对应的交换机的端口数据,包括:

遍历设备列表,从所述设备列表中获取所述待检测设备,通过snmp获取与所述待检测设备对应的所述交换机的所述端口数据。

具体地,hub设备识别装置遍历设备列表,从设备列表中获取待检测设备,待检测设备对应相应的交换机,此时,hub设备识别装置通过snmp可以获取到交换机的端口数据,从而使hub设备识别装置根据端口数据发送端口状态控制指令。

本发明实施例通过向第二端口发送端口状态控制指令,接收待检测设备发送的心跳信息,若判断获知所述端口状态信息没有发生变化,则将所述待检测设备识别为hub设备,提高了hub设备识别的准确性。

图3为本发明实施例提供的一种hub设备识别方法流程示意图,如图3所示,所述方法,包括:

步骤301:遍历设备列表;遍历hub设备识别装置的设备列表,从设备列表中获取待检测设备。

步骤302:获取交换机的端口数据;通过snmp获取与待检测设备通信连接的交换机的端口数据,其中端口数据包括第一端口和第二端口,第一端口用于hub设备识别装置与交换机通信连接,第二端口用于交换机与待检测设备通信连接。

步骤303:对交换机端口发送端口状态控制指令;hub设备识别装置通过第一端口向第二端口发送端口状态控制指令,以使得待检测设备向hub设备识别装置发送心跳信息,其中端口状态控制指令中包括一次端口关状态控制指令和一次端口开状态控制指令。

步骤304:接收待检测设备的心跳信息;接收待检测设备发送的心跳信息,该心跳信息中包括端口状态信息。

步骤305:判断端口状态信息是否发生变化;hub设备识别装置判断待检测设备发送的端口状态信息是否发生变化,如果没有发生变化,进入步骤306;如果发生了变化,进入步骤307。

步骤306:待检测设备为hub设备;将待检测设备识别为hub设备。

步骤307:待检测设备为普通终端;将待检测设备识别为普通终端。

图4为本发明实施例提供的一种hub设备识别装置结构示意图,如图4所示,所述装置,包括:获取模块401、发送模块402、接收模块403和第一识别模块404,其中:

获取模块401用于获取待检测设备,以及所述待检测设备对应的交换机的端口数据,所述端口数据包括第一端口和第二端口;发送模块402用于通过所述第一端口向所述第二端口发送端口状态控制指令,以使所述待检测设备接收到所述端口状态控制指令后向装置发送心跳信息;接收模块403用于接收所述待检测设备发送的所述心跳信息,所述心跳信息包括端口状态信息;第一识别模块404用于若判断获知所述端口状态信息没有发生变化,则将所述待检测设备识别为hub设备。

具体地,获取模块401获取待检测设备,以及待检测设备对应的交换机的端口数据,端口数据包括第一端口和第二端口,发送模块402通过第一端口向第二端口发送端口状态控制指令,待检测终端接收到发送模块402发送的端口状态控制指令后通过交换机向hub设备识别装置发送心跳信息。应当说明的是,hub设备识别装置发送的端口状态控制指令包括一次端口关状态控制指令和一次端口开状态控制指令。接收模块403接收待检测终端发送的心跳信息,其中心跳信息中包括端口状态信息,如果待检测设备是直接与交换机连接的,那么待检测设备向接收模块403发送的心跳信息中的端口状态信息会随着端口状态控制指令的变化而发生变化,如果待检测设备中包括hub设备,则待检测设备通过hub设备与交换机通信连接,此时的待检测设备发送的心跳信息中的端口状态信息不会发生变化,因此,可以通过判断待检测设备发送的心跳信息中的端口状态信息是否发生了变化来判断待检测设备是否为hub设备。如果第一识别模块404判断接收到的心跳信息中的端口状态信息没有发生变化,则将该待检测设备识别为hub设备。

本发明提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。

本发明实施例通过向第二端口发送端口状态控制指令,接收待检测设备发送的心跳信息,若判断获知端口状态信息没有发生变化,则将待检测设备识别为hub设备,提高了hub设备识别的准确性。

在上述实施例的基础上,所述第一识别模块,具体用于:

若判断获知所述端口状态信息没有发生变化,则再次通过所述第一端口向所述第二端口发送端口状态控制指令,以使所述待检测设备接收到所述端口状态控制指令后执行相应的操作;

接收所述待检测设备发送的所述心跳信息,所述心跳信息包括端口状态信息;

若判断获知所述端口状态信息仍然没有发生变化,则将所述待检测终端识别为hub设备。

具体地,如果第一识别模块判断接收到的心跳信息中的端口状态信息没有发生变化,则再次通过第一端口向第二端口发送端口状态控制指令,待检测终端接收到发送模块402发送的端口状态控制指令后通过交换机向hub设备识别装置发送心跳信息。应当说明的是,发送模块402发送的端口状态控制指令包括一次端口关状态控制指令和一次端口开状态控制指令。接收模块403再次接收待检测终端发送的心跳信息,其中心跳信息中包括端口状态信息,如果第一识别模块404判断第二次接收到的待见测终端发送心跳信息中的端口状态信息还是没有发生变化,则将该待检测设备识别为hub设备。

本发明实施例通过如果第一次判断待检测设备发送的心跳信息中的端口状态信息没有发生变化,则再次向第二端口发送端口状态控制指令,并再次接受待检测设备发送的心跳信息,如果第二次判断心跳信息中的端口状态信息仍然没有发生变化,则确定该待检测设备为hub设备,即通过二次判断来进一步确定待检测设备为hub设备,进一步提高了hub设备识别的准确性。

在上述各实施例的基础上,图5为本发明另一实施例提供的一种hub设备识别装置结构示意图,如图5所示,所述装置,包括:模块401、发送模块402、接收模块403、第一识别模块404和第二识别模块405,其中:

第二识别模块405用于若判断获知所述端口状态信息发生变化,则将所述待检测设备识别为普通终端。

具体地,获取模块401、发送模块402、接收模块403和第一识别模块404与上述实施例一致,此处不再赘述。如果第二识别模块405判断待检测设备发送的心跳信息中的端口状态信息发生了变化,则说明待检测设备直接与交换机通信连接,此时该待检测设备为普通终端。

本发明实施例通过向第二端口发送端口状态控制指令,接收待检测设备发送的心跳信息,若判断获知所述端口状态信息没有发生变化,则将所述待检测设备识别为hub设备,若判断获知端口状态信息发生了变化,则将待检测设备识别为普通终端,提高了hub设备识别的准确性。

图6为本发明实施例提供的一种hub设备识别装置实体结构示意图,如图6所示,所述装置,包括:处理器(processor)601、存储器(memory)602和总线603;其中,

所述处理器601和存储器602通过所述总线603完成相互间的通信;

所述处理器601用于调用所述存储器602中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取待检测设备,以及所述待检测设备对应的交换机的端口数据,所述端口数据包括第一端口和第二端口;通过所述第一端口向第二端口发送端口状态控制指令,以使所述待检测设备接收到所述端口状态控制指令后向装置发送心跳信息;接收所述待检测设备发送的所述心跳信息,所述心跳信息包括端口状态信息;若判断获知所述端口状态信息没有发生变化,则将所述待检测设备识别为hub设备。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取待检测设备,以及所述待检测设备对应的交换机的端口数据,所述端口数据包括第一端口和第二端口;通过所述第一端口向第二端口发送端口状态控制指令,以使所述待检测设备接收到所述端口状态控制指令后向装置发送心跳信息;接收所述待检测设备发送的所述心跳信息,所述心跳信息包括端口状态信息;若判断获知所述端口状态信息没有发生变化,则将所述待检测设备识别为hub设备。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取待检测设备,以及所述待检测设备对应的交换机的端口数据,所述端口数据包括第一端口和第二端口;通过所述第一端口向第二端口发送端口状态控制指令,以使所述待检测设备接收到所述端口状态控制指令后向装置发送心跳信息;接收所述待检测设备发送的所述心跳信息,所述心跳信息包括端口状态信息;若判断获知所述端口状态信息没有发生变化,则将所述待检测设备识别为hub设备。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的装置等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1