CN110474816A - 网络拓扑发现的方法及存储介质 - Google Patents
网络拓扑发现的方法及存储介质 Download PDFInfo
- Publication number
- CN110474816A CN110474816A CN201910906899.6A CN201910906899A CN110474816A CN 110474816 A CN110474816 A CN 110474816A CN 201910906899 A CN201910906899 A CN 201910906899A CN 110474816 A CN110474816 A CN 110474816A
- Authority
- CN
- China
- Prior art keywords
- node
- network
- network equipment
- present node
- present
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 7
- 239000012141 concentrate Substances 0.000 claims description 7
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims description 4
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000003111 delayed effect Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000004364 calculation method Methods 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本公开涉及计算机网络技术领域,具体涉及一种网络拓扑发现的方法及存储介质,用于解决相关技术中异构网络拓扑计算方式对计算能力要求较高的技术问题。所述网络拓扑发现的方法包括:获得网段中在线的网络设备;采集每个网络设备的网络数据;结合多种网络协议,对所述网络数据进行网络拓扑计算,以得到网络设备的网络拓扑关系。
Description
技术领域
本公开涉及计算机网络技术领域,特别地涉及一种网络拓扑发现的方法及存储介质。
背景技术
网络拓扑(network topology)是指一个通信网络内,各个网络节点之间的连接关系,这些网络节点包括路由器、交换机、网桥、集线器(hub)及终端主机等等。网络拓扑发现(network topology discovery)是指获取和维护网络节点的存在信息和它们之间的连接关系信息,并在此基础上给出整个网络的连接状态的图示,帮助网络管理人员对整个网络的拓扑结构有整体上的了解和认识,并有效的帮助管理员进行网络故障定位和性能分析。
相关技术中,异构网络拓扑计算方式方法主要是通过MAC转发表结合ARP表进行推算,或通过ip路由表逐层推算。
发明内容
本公开提供一种网络拓扑发现的方法及存储介质,以解决相关技术中异构网络拓扑计算方式对计算能力要求较高的技术问题。
为实现上述目的,本公开实施例的第一方面,提供一种网络拓扑发现的方法,所述方法包括:
获得网段中在线的网络设备;
采集每个网络设备的网络数据;
结合多种网络协议,对所述网络数据进行网络拓扑计算,以得到网络设备的网络拓扑关系。
可选地,采集每个网络设备的网络数据,包括:
利用snmp协议依次获取每个网络设备的ip地址表、ARP表、端口数据表、端口记录表、vlan记录表和mac地址转发表。
可选地,结合多种网络协议,对所述网络数据进行网络拓扑计算,包括:
步骤a,确定所述网络设备所在网段中的根节点,并将每一个根节点作为当前节点缓存至当前节点结果集中;
步骤b,通过snmp协议获取当前节点结果集中每一个当前节点的lldp信息;
步骤c,根据lldp信息,确认当前节点是否开启lldp协议,并在当前节点没有开启lldp协议时,通过snmp协议获取该当前节点的系统详情描述信息;
步骤d,根据系统详情描述信息,确认该当前节点是否为交换机;若该当前节点不是交换机,则该当前节点为叶子设备;
步骤e,若该当前节点是交换机,则根据所述系统详情描述信息确认该当前节点对应的制造商信息,并根据所述制造商信息,通过snmp协议获取当前节点的cdp数据或ndp数据;
步骤f,将当前节点缓存至父节点集并确认当前节点是否存在子节点;若不存在,则该当前节点是叶子交换机;
步骤g,在当前节点存在子节点时,获取子节点的唯一标识以根据唯一标识判断父节点集中是否存在子节点,并在父节点集中不存在子节点时,将该子节点作为当前节点存入当前节点结果集中;
步骤h,判断当前节点结果集是否为空集;若当前节点结果集不是空集,则返回步骤b;若当前节点结果集是空集,则结束对所述网络数据的网络拓扑计算。
可选地,确定所述网络设备所在网段中的根节点,包括:
确认根节点是否存在父节点或兄弟节点;
若存在父节点或兄弟节点,则将该根节点的相应接口标记为上联口。
可选地,还包括:
在当前节点有开启lldp协议时,缓存当前节点的lldp信息,并执行步骤f、步骤g和步骤h;所述lldp信息包括当前节点的下联口、子节点的上联口、子节点的设备名和子节点的ip地址。
可选地,根据系统详情描述信息,确认该当前节点是否为交换机,包括:
将系统详情描述信息包括的值转换为小写字符并在转换的小写字符中确认是否匹配到asr、windows、linux、acc、wlc或ap;
在没有匹配到且该当前节点的mac地址转发表不为空时,则该当前节点为交换机。
可选地,根据所述制造商信息,通过snmp协议获取当前节点的cdp数据或ndp数据,包括:
若所述制造商信息表征该当前节点的制造商是目标制造商,则通过snmp协议获取该当前节点的cdp数据;若所述制造商信息表征该当前节点的制造商不是目标制造商,则通过snmp协议获取该当前节点的ndp数据。
可选地,还包括:
根据网络设备的网络拓扑关系,对所述网络数据进行网络拓扑计算,以得到终端设备的网络拓扑关系。
可选地,根据网络设备的网络拓扑关系,对所述网络数据进行网络拓扑计算,以获取终端设备的网络拓扑关系,包括:
步骤S1401,将所有叶子设备作为网络设备父节点缓存至网络设备父节点集中;
步骤S1402,遍历网络设备父节点集,以获取每个网络设备父节点的mac地址转发表;
步骤S1403,根据每个网络设备父节点的mac地址转发表,建立以终端设备为终端子节点的终端设备结果集,并将终端子节点的mac地址缓存至终端设备结果集;
步骤S1404,根据ARP表,获取终端设备结果集中每个终端子节的ip地址并缓存至终端设备结果集;
步骤S1405,判断终端设备结果集是否为空集;若是空集,则执行步骤S1408;
步骤S1406,在终端设备结果集不是空集时,在终端设备结果集中查询每个终端子节点是否存在对应的系统详情描述信息;若终端子节点不存在对应的系统详情描述信息,则该终端子节点是终端设备;
步骤S1407,若存在系统详情描述信息,则在终端设备结果集中删除该系统详情描述信息对应的终端子节点;
步骤S1408,将网络设备父节点集作为网络设备子节点集,并新建一个空集的网络设备父节点集;
步骤S1409,获取网络设备子节点集中每个网络设备子节点的父节点,并将该父节点缓存至新建的网络父节点集中;
步骤S1410,判断网络设备父节点集是否为空集;若网络设备父节点集不是空集,则返回步骤S1402;若当前节点结果集是空集,则结束对所述网络数据的网络拓扑计算。
本公开实施例的第二方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
本公开实施例的第三方面,
本公开实施例的第四方面,提供一种网络拓扑发现的装置,包括:
存储器,其上存储有计算机程序;以及
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面中任一项所述方法的步骤。
采用上述技术方案,至少能够达到如下技术效果:
本公开结合用了snmp,cdp,ndp,lldp等多种网络协议计算公司异构网络拓扑结构,可以获得网络设备的网络拓扑关系和终端设备的网络拓扑关系,适用于异构网络中,减少了节点发现的难度,减少了节点发现的时间,提高了拓扑发现的实时性,降低了网络拓扑管理的成本。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开一示例性实施例示出的一种网络拓扑发现的方法流程图。
图2是本公开一示例性实施例示出的一种网络拓扑发现的方法包括的步骤中网络拓扑计算的流程图。
图3是本公开一示例性实施例示出的另一种网络拓扑发现的方法包括的步骤中网络拓扑计算的流程图。
图4是本公开一示例性实施例示出的一种网络拓扑发现的装置框图。
具体实施方式
以下将结合附图及实施例来详细说明本公开的实施方式,借此对本公开如何应用技术手段来解决技术问题,并达到相应技术效果的实现过程能充分理解并据以实施。本申请实施例以及实施例中的各个特征,在不相冲突前提下可以相互结合,所形成的技术方案均在本公开的保护范围之内。
本公开发明人经研究发现,相关技术中,通过MAC转发表结合ARP表进行推算或通过ip路由表逐层推算的方式计算异构网络拓扑中,由于mac地址表的计算需要遍历网络中每个节点在不同vlan的mac地址表,而且做mac地址匹配时又要重新遍历其他节点的mac地址表,所需时间较长,实时性得不到较好的保证。而ip地址路由表的计算无法在复杂的网络架构中施行。
图1是本公开一示例性实施例示出的一种网络拓扑发现的方法流程图,以解决相关技术中异构网络拓扑计算方式对计算能力要求较高的技术问题。如图1所示,本实施例示出的该网络拓扑发现的方法可以包括以下步骤:
S11,获得网段中在线的网络设备。
S12,采集每个网络设备的网络数据。
S13,结合多种网络协议,对所述网络数据进行网络拓扑计算,以得到网络设备的网络拓扑关系。
在步骤S11中,网络设备包括路由器、交换机、集线器等设备,需要说明的是网络设备不包括终端设备,终端设备包括个人计算机、服务器等设备。网络设备有对应的系统详情描述信息(即sysdescr信息),而终端设备是没有对应的系统详情描述信息。
在该步骤中,首先需要获得网络设备所在的网段中有哪些网络设备在线,可以利用icmp协议判断网段中有哪些网络设备在线,如果网络设备在线,则可以执行步骤S12,采集每个网络设备的网络数据。
其中,网络数据包括每个网络设备的ip地址表、ARP表、端口数据表、端口记录表、vlan记录表和mac地址转发表,可以利用snmp协议依次获取每个网络设备的ip地址表、ARP表、端口数据表、端口记录表、vlan记录表和mac地址转发表。以下对其中某一个网络设备的数据采集过程进行详细描述:
首先,利用snmp协议获取该网络设备的ip地址表(ipAddrTable),该ip地址表记录了该网络设备的所有ip地址。可选地,接下来将通用管理vlan所对应的ip地址与网络设备的ip地址建立对应关系;并将网络设备的网络接口与ip地址建立对应关系。
接着,利用snmp协议获取该网络设备的ARP表(ipNetToMediaTable),该ARP表记录了网段中其他网络设备的ip地址与mac地址的对应关系。
接下来,利用snmp协议获取该网络设备的端口数据表(ifXTable),该端口数据表记录了该网络设备的所有物理端口及虚拟端口的上下行流量、丢包数、错包数、广播包数、单播包数、多播包数,端口的别名、状态和带宽等信息。可选地,还可以继续记录ip地址与该网络设备的网络接口之间的对应关系、记录该网络设备的网络接口及接口索引的关系、记录该网络设备的网络接口与mac地址的对应关系以及记录该网络设备的mac地址池。
接着,利用snmp协议获取该网络设备的端口记录表(dot1dBasePortTable),该端口记录表表描述该网络设备端口的基本信息以及对接收到数据帧的一些限制,统计端口丢弃的数据报文。可选地,还可以继续记录端口索引与端口之间的对应关系以及记录端口索引与接口索引之间的对应关系。
然后,利用snmp协议获取该在线设备的端口记录表(vmmembershipTable),该端口记录表表记录了该网络设备所包含的vlan的相关数据。可选地,还可以继续记录端口索引与vlan号之间、网络接口与接口索引之间以及ip地址与mac地址之间的对应关系;计算并记录网络接口与vlan号之间的对应关系;记录ip地址与vlan号的对应关系。
接着,利用snmp协议获取所述在线设备的mac地址转发表;(dot1dTpFdbTable),该地址转发表表记录了该网络设备所学习的mac地址及来源端口。可选地,还可以继续根据vlan号获取该在线设备所有vlan的mac地址转发表;记录ip地址与mac地址、以及与所学端口的对应关系;记录终端设备的ip地址与mac地址。
采集到每个网络设备的网络数据后,执行步骤S13,结合snmp协议、lldp协议、cdp协议和ndp协议,对所述网络数据进行网络拓扑计算,以获取网络设备的网络拓扑关系。
图2是本公开一示例性实施例示出的一种网络拓扑发现的方法包括的步骤中网络拓扑计算的流程图。如图2所示,结合多种网络协议,对所述网络数据进行网络拓扑计算,可以包括以下步骤:
步骤S1301,确定所述网络设备所在网段中的根节点,并将每一个根节点作为当前节点缓存至当前节点结果集中。
确定所述网络设备所在网段中的根节点,包括:确认根节点是否存在父节点或兄弟节点,若存在父节点则标记相应接口为上联口,确认该节点是否存在兄弟节点,若存在,则标记相应接口为上联口。将每一个根节点都缓存如当前节点结果集中。将每一个根节点都缓存如当前节点结果集中。
步骤S1302,通过snmp协议获取当前节点结果集中每一个当前节点的lldp信息。
步骤S1303,根据lldp信息,确认当前节点是否开启lldp协议;在当前节点没有开启lldp协议时,执行步骤S1304;在当前节点开启lldp协议时,执行步骤S1311。
步骤S1304,通过snmp协议获取该当前节点的系统详情描述信息。
步骤S1305,根据系统详情描述信息,确认该当前节点是否为交换机;若该当前节点是交换机,则执行步骤S1306;若该当前节点不是交换机,则执行步骤S1312。
通过sysdescr信息判断设备类型和制造商信息,将sysdescr信息包括的值转为小写字符,使用正则匹配,使用正则匹配,若sysdescr中匹配不到asr、windows、linux、acc、wlc、ap,且mac地址转发表不为空,则该当前节点是交换机,否则该当前节点为其他网络设备。
步骤S1306,根据所述系统详情描述信息确认该当前节点对应的制造商信息,并根据所述制造商信息,通过snmp协议获取当前节点的cdp数据或ndp数据。
若该当前节点的制造商信息是与cdp数据对应的目标制造商,比如cisco(思科),则通过snmp协议获取该当前节点的cdp数据,cdp数据包括当前点节点的下联口、子节点的上联口、子节点的hosname和子节点的ip地址;若该当前节点的制造商信息不是cisco,则通过snmp协议获取当前节点的ndp数据,ndp数据包括当前点节点的下联口、子节点的上联口、子节点的hostname和子节点的ip地址。
步骤S1307,将当前节点缓存至父节点集,需要缓存当前节点的接口方向,当前节点与子节点相连的接口方向为下,子节点与当前节点相连的接口方向为上;并确认当前节点是否存在子节点;若存在,则执行步骤S1308;若不存在,则执行步骤S1313。
步骤S1308,获取子节点的唯一标识以根据唯一标识判断父节点集中是否存子节点;在父节点集中不存在子节点时,执行步骤S1309;若存在,则执行步骤S1314。
步骤S1309,将该子节点作为当前节点存入当前节点结果集中。
步骤S1310,判断当前节点结果集是否为空集;若当前节点结果集不是空集,则返回步骤S1302;若当前节点结果集是空集,则结束对所述网络数据的网络拓扑计算。
步骤S1311,在当前节点有开启lldp协议时,缓存当前节点的lldp信息,并返回步骤S1307;所述lldp信息包括当前节点的下联口、子节点的上联口、子节点的设备名(即hostname)和子节点的ip地址。
步骤S1312,若该当前节点不是交换机,则该当前节点为叶子设备。
步骤S1313,若当前节点不存在子节点,则该当前节点是叶子交换机。
步骤S1314,若子节点在父节点集合中,则返回回路异常。
可选地,在获取网络设备的网络拓扑关系后,可以根据网络设备的网络拓扑关系,对所述网络数据进行网络拓扑计算,以得到终端设备的网络拓扑关系。图3是本公开一示例性实施例示出的另一种网络拓扑发现的方法包括的步骤中网络拓扑计算的流程图。如图3所示,根据网络设备的网络拓扑关系,对所述网络数据进行网络拓扑计算,以得到终端设备的网络拓扑关系,可以包括以下步骤:
步骤S1401,将所有叶子设备作为网络设备父节点缓存至网络设备父节点集中。
步骤S1402,遍历网络设备父节点集,以获取每个网络设备父节点的mac地址转发表。
步骤S1403,根据每个网络设备父节点的mac地址转发表,建立以终端设备为终端子节点的终端设备结果集,并将终端子节点的mac地址缓存至终端设备结果集。
步骤S1404,根据ARP表,获取终端设备结果集中每个终端子节的ip地址并缓存至终端设备结果集。
步骤S1405,判断终端设备结果集是否为空集;若是空集,则执行步骤S1408。
步骤S1406,在终端设备结果集不是空集时,在终端设备结果集中查询每个终端子节点是否存在对应的系统详情描述信息。若存在系统详情描述信息,则执行步骤S1407;若不存在系统详情描述信息,则执行步骤S1411。
步骤S1407,则在终端设备结果集中删除该系统详情描述信息对应的终端子节点。
步骤S1408,将网络设备父节点集作为网络设备子节点集,并新建一个空集的网络设备父节点集。
步骤S1409,获取网络设备子节点集中每个网络设备子节点的父节点,并将该父节点缓存至新建的网络父节点集中。
步骤S1410,判断网络设备父节点集是否为空集;若网络设备父节点集不是空集,则返回步骤S1402;若当前节点结果集是空集,则结束对所述网络数据的网络拓扑计算。
步骤S1411,若终端子节点不存在对应的系统详情描述信息,则该终端子节点为终端设备。
本公开结合用了snmp,cdp,ndp,lldp等多种网络协议计算公司异构网络拓扑结构,可以获得网络设备的网络拓扑关系和终端设备的网络拓扑关系,适用于异构网络中,减少了节点发现的难度,减少了节点发现的时间,提高了拓扑发现的实时性,降低了网络拓扑管理的成本。
值得说明的是,对于图1所示的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项可选实施例所述的网络拓扑发现的方法步骤。
其中,在所述处理器上运行的网络拓扑发现的计算机程序被执行时所实现的方法可参照本公开网络拓扑发现的方法的具体实施例,此处不再赘述。
所述处理器可以是一种集成电路芯片,具有信息处理能力。所述处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等。
本公开还提供一种网络拓扑发现的装置,包括:
存储器,其上存储有计算机程序;以及
处理器,用于执行所述存储器中的所述计算机程序,以实现上述任一项可选实施例所述的网络拓扑发现的方法步骤。
图4是根据一示例性实施例示出的一种网络拓扑发现的装置400的框图。如图4所示,该装置400可以包括:处理器401,存储器402,多媒体组件403,输入/输出(I/O)接口404,以及通信组件405。
其中,处理器401用于控制该装置400的整体操作,以完成上述的网络拓扑发现的方法中的全部或部分步骤。存储器402用于存储各种类型的数据以支持在该装置400的操作,这些数据例如可以包括用于在该装置400上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器402可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件403可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器402或通过通信组件405发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口404为处理器401和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件405用于该装置400与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件405可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,装置400可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的网络拓扑发现的方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器402,上述程序指令可由装置400的处理器401执行以完成上述的网络拓扑发现的方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种网络拓扑发现的方法,其特征在于,所述方法包括:
获得网段中在线的网络设备;
采集每个网络设备的网络数据;
结合多种网络协议,对所述网络数据进行网络拓扑计算,以得到网络设备的网络拓扑关系。
2.根据权利要求1所述的方法,其特征在于,采集每个网络设备的网络数据,包括:
利用snmp协议依次获取每个网络设备的ip地址表、ARP表、端口数据表、端口记录表、vlan记录表和mac地址转发表。
3.根据权利要求2所述的方法,其特征在于,结合多种网络协议,对所述网络数据进行网络拓扑计算,包括:
步骤a,确定所述网络设备所在网段中的根节点,并将每一个根节点作为当前节点缓存至当前节点结果集中;
步骤b,通过snmp协议获取当前节点结果集中每一个当前节点的lldp信息;
步骤c,根据lldp信息,确认当前节点是否开启lldp协议,并在当前节点没有开启lldp协议时,通过snmp协议获取该当前节点的系统详情描述信息;
步骤d,根据系统详情描述信息,确认该当前节点是否为交换机;若该当前节点不是交换机,则该当前节点为叶子设备;
步骤e,若该当前节点是交换机,则根据所述系统详情描述信息确认该当前节点对应的制造商信息,并根据所述制造商信息,通过snmp协议获取当前节点的cdp数据或ndp数据;
步骤f,将当前节点缓存至父节点集并确认当前节点是否存在子节点;若不存在,则该当前节点是叶子交换机;
步骤g,在当前节点存在子节点时,获取子节点的唯一标识以根据唯一标识判断父节点集中是否存在子节点,并在父节点集中不存在子节点时,将该子节点作为当前节点存入当前节点结果集中;
步骤h,判断当前节点结果集是否为空集;若当前节点结果集不是空集,则返回步骤b;若当前节点结果集是空集,则结束对所述网络数据的网络拓扑计算。
4.根据权利要求3所述的方法,其特征在于,确定所述网络设备所在网段中的根节点,包括:
确认根节点是否存在父节点或兄弟节点;
若存在父节点或兄弟节点,则将该根节点的相应接口标记为上联口。
5.根据权利要求4所述的方法,其特征在于,还包括:
在当前节点有开启lldp协议时,缓存当前节点的lldp信息,并执行步骤f、步骤g和步骤h;所述lldp信息包括当前节点的下联口、子节点的上联口、子节点的设备名和子节点的ip地址。
6.根据权利要求3所述的方法,其特征在于,根据系统详情描述信息,确认该当前节点是否为交换机,包括:
将系统详情描述信息包括的值转换为小写字符并在转换的小写字符中确认是否匹配到asr、windows、linux、acc、wlc或ap;
在没有匹配到且该当前节点的mac地址转发表不为空时,则该当前节点为交换机。
7.根据权利要求3所述的方法,其特征在于,根据所述制造商信息,通过snmp协议获取当前节点的cdp数据或ndp数据,包括:
若所述制造商信息表征该当前节点的制造商是目标制造商,则通过snmp协议获取该当前节点的cdp数据;若所述制造商信息表征该当前节点的制造商不是目标制造商,则通过snmp协议获取该当前节点的ndp数据。
8.根据权利要求3所述的方法,其特征在于,还包括:
根据网络设备的网络拓扑关系,对所述网络数据进行网络拓扑计算,以得到终端设备的网络拓扑关系。
9.根据权利要求8所述的方法,其特征在于,根据网络设备的网络拓扑关系,对所述网络数据进行网络拓扑计算,以获取终端设备的网络拓扑关系,包括:
步骤S1401,将所有叶子设备作为网络设备父节点缓存至网络设备父节点集中;
步骤S1402,遍历网络设备父节点集,以获取每个网络设备父节点的mac地址转发表;
步骤S1403,根据每个网络设备父节点的mac地址转发表,建立以终端设备为终端子节点的终端设备结果集,并将终端子节点的mac地址缓存至终端设备结果集;
步骤S1404,根据ARP表,获取终端设备结果集中每个终端子节的ip地址并缓存至终端设备结果集;
步骤S1405,判断终端设备结果集是否为空集;若是空集,则执行步骤S1408;
步骤S1406,若终端设备结果集不是空集,则在终端设备结果集中查询每个终端子节点是否存在对应的系统详情描述信息;若终端子节点不存在对应的系统详情描述信息,则该终端子节点是终端设备;
步骤S1407,若存在系统详情描述信息,则在终端设备结果集中删除该系统详情描述信息对应的终端子节点;
步骤S1408,将网络设备父节点集作为网络设备子节点集,并新建一个空集的网络设备父节点集;
步骤S1409,获取网络设备子节点集中每个网络设备子节点的父节点,并将该父节点缓存至新建的网络父节点集中;
步骤S1410,判断网络设备父节点集是否为空集;若网络设备父节点集不是空集,则返回步骤S1402;若当前节点结果集是空集,则结束对所述网络数据的网络拓扑计算。
10.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910906899.6A CN110474816B (zh) | 2019-09-24 | 2019-09-24 | 网络拓扑发现的方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910906899.6A CN110474816B (zh) | 2019-09-24 | 2019-09-24 | 网络拓扑发现的方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110474816A true CN110474816A (zh) | 2019-11-19 |
CN110474816B CN110474816B (zh) | 2020-07-03 |
Family
ID=68516742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910906899.6A Active CN110474816B (zh) | 2019-09-24 | 2019-09-24 | 网络拓扑发现的方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110474816B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111565117A (zh) * | 2020-04-09 | 2020-08-21 | 烽火通信科技股份有限公司 | 一种基于snmp的拓扑发现方法和系统 |
CN112436965A (zh) * | 2020-11-12 | 2021-03-02 | 重庆远臻科技有限公司 | 一种基于混合异构末端感知的方法 |
CN112671588A (zh) * | 2020-12-30 | 2021-04-16 | 普联国际有限公司 | 网络拓扑的生成方法、装置、介质及网络控制设备 |
CN113923122A (zh) * | 2020-07-07 | 2022-01-11 | 瞻博网络公司 | 得出网络设备和主机连接 |
CN115314914A (zh) * | 2021-05-07 | 2022-11-08 | 中国移动通信集团有限公司 | 网络拓扑探测方法及装置、设备、计算机程序 |
CN115695206A (zh) * | 2022-11-01 | 2023-02-03 | 北京惠而特科技有限公司 | 一种网络拓扑的确定方法、装置、计算机设备和存储介质 |
CN116827801A (zh) * | 2023-08-25 | 2023-09-29 | 武汉吧哒科技股份有限公司 | 网络拓扑构建方法、装置、计算机设备及可读存储介质 |
WO2024082919A1 (zh) * | 2022-10-20 | 2024-04-25 | 思瑞浦微电子科技(苏州)股份有限公司 | 一种拓扑网络及管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136782A (zh) * | 2007-10-15 | 2008-03-05 | 清华大学 | 一种面向数据链路层的网络拓扑发现方法 |
US20140052843A1 (en) * | 2012-08-17 | 2014-02-20 | Cisco Technology, Inc. | Auto Management of a Virtual Device Context Enabled Network Infrastructure |
CN107634842A (zh) * | 2016-07-18 | 2018-01-26 | 阿里巴巴集团控股有限公司 | 网络拓扑发现方法及装置 |
-
2019
- 2019-09-24 CN CN201910906899.6A patent/CN110474816B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136782A (zh) * | 2007-10-15 | 2008-03-05 | 清华大学 | 一种面向数据链路层的网络拓扑发现方法 |
US20140052843A1 (en) * | 2012-08-17 | 2014-02-20 | Cisco Technology, Inc. | Auto Management of a Virtual Device Context Enabled Network Infrastructure |
CN107634842A (zh) * | 2016-07-18 | 2018-01-26 | 阿里巴巴集团控股有限公司 | 网络拓扑发现方法及装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111565117A (zh) * | 2020-04-09 | 2020-08-21 | 烽火通信科技股份有限公司 | 一种基于snmp的拓扑发现方法和系统 |
CN113923122A (zh) * | 2020-07-07 | 2022-01-11 | 瞻博网络公司 | 得出网络设备和主机连接 |
CN112436965A (zh) * | 2020-11-12 | 2021-03-02 | 重庆远臻科技有限公司 | 一种基于混合异构末端感知的方法 |
CN112671588A (zh) * | 2020-12-30 | 2021-04-16 | 普联国际有限公司 | 网络拓扑的生成方法、装置、介质及网络控制设备 |
CN112671588B (zh) * | 2020-12-30 | 2023-10-17 | 普联国际有限公司 | 网络拓扑的生成方法、装置、介质及网络控制设备 |
CN115314914A (zh) * | 2021-05-07 | 2022-11-08 | 中国移动通信集团有限公司 | 网络拓扑探测方法及装置、设备、计算机程序 |
WO2024082919A1 (zh) * | 2022-10-20 | 2024-04-25 | 思瑞浦微电子科技(苏州)股份有限公司 | 一种拓扑网络及管理方法 |
CN115695206A (zh) * | 2022-11-01 | 2023-02-03 | 北京惠而特科技有限公司 | 一种网络拓扑的确定方法、装置、计算机设备和存储介质 |
CN116827801A (zh) * | 2023-08-25 | 2023-09-29 | 武汉吧哒科技股份有限公司 | 网络拓扑构建方法、装置、计算机设备及可读存储介质 |
CN116827801B (zh) * | 2023-08-25 | 2023-12-15 | 武汉吧哒科技股份有限公司 | 网络拓扑构建方法、装置、计算机设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110474816B (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110474816A (zh) | 网络拓扑发现的方法及存储介质 | |
US11716262B2 (en) | Control method, apparatus, and system for collecting traffic statistics | |
CN104022953B (zh) | 基于开放流Openflow的报文转发方法和装置 | |
EP3720057A1 (en) | Message processing method and device | |
US9325563B2 (en) | Overlay tunnel information exchange protocol | |
US8848544B2 (en) | Event correlation using network data flow simulation over unmanaged network segments | |
US7995477B2 (en) | Collecting network traffic information | |
US8751642B2 (en) | Method and system for management of sampled traffic data | |
US7701936B2 (en) | Obtaining path information related to a bridged network | |
US20150124629A1 (en) | Traceroute in a dense vxlan network | |
US9900238B2 (en) | Overlay network-based original packet flow mapping apparatus and method therefor | |
CN106383736B (zh) | 端口扩展方法和装置 | |
EP2757743A1 (en) | Method, device, apparatus and system for generation of dhcp snooping binding table | |
CN114006839B (zh) | 一种基于eBPF的流量采集方法及装置 | |
CN107615710B (zh) | Sdn交换机中的直接回复动作 | |
CN107645431A (zh) | 报文转发方法及装置 | |
US20200153834A1 (en) | Method, Apparatus, and System for Collecting Access Control List | |
CN107979614A (zh) | 数据包检测方法及装置 | |
CN112511431A (zh) | 一种用于虚拟化网络仿真的路由流量融合方法 | |
CN107547404A (zh) | 流表生成方法及装置以及报文转发方法及装置 | |
CN108418754A (zh) | 建立网络拓扑的方法及装置 | |
US20210320837A1 (en) | Method and system for performing network fault analysis | |
CN109861869A (zh) | 一种配置文件的生成方法及装置 | |
WO2005036834A1 (ja) | 統計情報採取方法及び装置 | |
CN103200193B (zh) | 网络设备中的会话创建方法及会话创建装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210713 Address after: 519015 Room 601, Lianshan Lane, Jida Jingshan Road, Zhuhai City, Guangdong Province Patentee after: Zhuhai Lianyun Technology Co.,Ltd. Patentee after: GREE ELECTRIC APPLIANCES,Inc.OF ZHUHAI Address before: 519000 Qianshan Golden Chicken West Road in Zhuhai, Guangdong Patentee before: GREE ELECTRIC APPLIANCES,Inc.OF ZHUHAI Patentee before: Zhuhai Lianyun Technology Co.,Ltd. |
|
TR01 | Transfer of patent right |