CN103905314A - 综合型网络拓扑发现方法 - Google Patents
综合型网络拓扑发现方法 Download PDFInfo
- Publication number
- CN103905314A CN103905314A CN201210585556.2A CN201210585556A CN103905314A CN 103905314 A CN103905314 A CN 103905314A CN 201210585556 A CN201210585556 A CN 201210585556A CN 103905314 A CN103905314 A CN 103905314A
- Authority
- CN
- China
- Prior art keywords
- thread
- equipment
- initialization
- find
- discovery
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种综合型网络拓扑发现方法,有效利用合理的线程分配,更适应、更快、更准确的发现网络逻辑链路拓扑和物理链路拓扑,能够适应异构性网络,发现链路准确性提高、发现大型网络速度加快、并能提供线程调节功能。
Description
【技术领域】
本发明涉及一种网络拓扑图的发现方法。
【背景技术】
现代网络正处于蓬勃发展的时期,交换机和路由器及其他设备的管理也是日益重要。对于网络管理员来说,能够获取网络的拓扑状态信息是管理网络的重要工作。网络拓扑状态信息可以显而易见地看到设备状态,链路通畅状态,链路流量信息,当前链路负载等重要信息,让管理员更智能、更轻松地管理网络。
网络拓扑分为物理链路拓扑和逻辑链路拓扑。物理链路拓扑关注网络设备与设备端口之间的实际连接关系,并能够进行如下:设备状态展示、网络性能监控和故障定位、资源管理。逻辑链路拓扑关注设备路由跳转方向,这个是管理员配置设备路由所展示的结果,此拓扑图能够清晰的看到管理员配置路由信息,方便管理员管理路由信息。
目前网络拓扑发现技术包括:传统的三层网络连接发现(路由表路由跳转链路发现)、常规的AFT(address forwarding table)运算发现(利用地址转发表)、厂商私有的内部协议发现等等。这些方法都具有很大的片面性,只局限于特定的网络或者不能够最大程度地发现设备连接关系。
传统的三层网络连接发现,只是网络层的路由与路由、路由与子网之间的关系,只能作为三层路由逻辑链路拓扑关系,不能真正体现实际设备之间的连接。
常规的AFT表运算发现,研究者已经提出了很多方法,来发现网络物理链路连接关系,也就是网络层的拓扑结构。目前也已经有比较完善的解决方案,由于设备支持snmp(Simple Network Management Protocol,简单网络管理协议)和设备连接的异构,也只能做到尽量达到最精确。但是需要很理想的环境,所以也有比较大的缺陷。
厂商私有的内部协议发现,如cisco(思科公司)的cdp(Cisco DiscoveryProtocol,思科发现协议)专门为cisco设备物理拓扑连接而定制的协议,只能用于发现cisco环境下的物理链接关系,此发现方法局限性比较大。
LLDP(Link Layer Discovery Protocol,链路层发现协议)是一个厂商无关的二层协议,这个协议如cisco的cdp协议,由于但大部分设备厂商并没有很好地实现此协议,因而,局限性也比较大。
【发明内容】
本发明需解决的技术问题是提供一种更适应异构的网络环境,大大提高拓扑物理链路发现精确性的综合型网络拓扑发现方法。
为解决上述的技术问题,本发明设计了一种综合型网络拓扑发现方法,包括以下的步骤:Step1:初始化拓扑发现引擎,包括:初始化存放发现数据的缓存集合以及发现后产生的结果数据集合、初始化路由发现线程、初始化子网发现线程、初始化LLDP发现线程、初始化CDP发现线程、初始化单个设备发现线程、初始化拓扑监控线程、初始化设备入库线程。Step2:初始化之后,路由发现线程、子网发现线程、LLDP发现线程、CDP发现线程、设备发现线程、初始化拓扑监控线程,一起协同发现;Step3:以上线程协同发现得出“支持SNMP设备”、“不支持SNMP设备”、“子网与设备之间的链接关系”、“三层设备与三层设备之间的连接关系”;Step4:执行设备入库线程,根据“支持SNMP设备”、“不支持SNMP设备”、“子网与设备之间的链接关系”、“三层设备与三层设备之间的连接关系”的信息得出设备与设备的物理连接关系,结束发现。
作为本发明进一步改进,拓扑发现包括网段发现和全网发现。
作为本发明进一步改进,所述路由发现线程的操作步骤包括:(1)、检测路由,发现数据缓存集合内有IP设备;(2)、对该IP设备进行收集信息:system组、interface组、ipAddrTable组、ipRouteTable组、ipNetToMediaTable组;(3)、判断此设备是否支持CDP、LLDP;(4)、当发现完成,把此IP设备加入到已发现路由集合中,并从正在发现集合中移除此IP设备。
本方法有效利用合理的线程分配,更适应、更快、更准确的发现网络逻辑链路拓扑和物理链路拓扑,能够适应异构性网络,发现链路准确性提高、发现大型网络速度加快、并能提供线程调节功能。
【附图说明】
图1是本发明综合型网络拓扑发现方法的流程图。
【具体实施方式】
下面结合附图和实施方式对本发明作进一步说明。
本发明提供了一种综合型网络拓扑发现方法,更适应异构的网络环境。并且,发现链路准确性非常高。
如图1所示,本发明综合型网络拓扑发现方法包括以下多个步骤:
步骤1【初始化拓扑发现引擎】
1.1)初始化存放发现数据的缓存集合和发现后产生的结果数据集合。
1.2)拓扑发现包括‘全网发现’和‘网段发现’
1.2.1)全网发现可以添加开始发现的种子设备,如果没有添加就从网管服务器获取服务器的默认网关当作开始发现的种子设备,并把种子设备加入到存放路由待发现的缓存集合中。
1.2.2)网段发现可以添加多个网段发现,并把网段集合加入到存放开始发现的缓存集合中。
1.3)初始化线程:初始化路由发现线程,初始化子网发现线程,初始化LLDP发现线程,初始化CDP发现线程,初始化单个设备发现线程,初始化拓扑监控线程,初始化设备入库线程。设备发现线程包括路由发现线程和单个设备发现线程。
步骤2【多线程协同发现】
2.1)路由线程发现,路由线程检测到路由待发现数据缓存集合内有IP设备,就开始分配一个路由处理线程去处理此IP设备。对该设备进行判断是否已经发现,如果已经发现则退出发现并此处理线程中断运行。如果未发现过则,判断是否支持路由。如果不支持则退出发现并此处理线程中断运行。
2.1.1)对该设备进行收集信息:system组、interface组、ipAddrTable组、ipRouteTable组、ipNetToMediaTable组。根据厂商型号对照表判断该设备是什么厂商、什么类型、什么型号的设备。并把此设备信息加入SNMP发现后数据缓存中。如果是交换机则加入交换机集合中,如果是路由器则加入到路由器集合中。
2.1.2)根据ipNetToMediaTable表ARP数据,把IP-MAC加入到已经发现IP-MAC集合缓存中。根据interface表接口物理地址把此设备ip与物理地址加入到已经发现IP-MAC集合缓存中。建立IP与MAC的对应关系。
2.1.3)根据ipAddrTable表,取出此设备多个IP,并加入IP-ManagerIP集合缓存中。建立IP与管理IP的对应关系。保存设备发现的唯一性。
2.1.4)根据ipRouteTable表,循环此表判断。
当RouterType为4(直接连接)时,ipRouteNextHop为0.0.0.0时,根据ipRouteDest和ipRouteMask构造出一个子网,判断是否在子网待发现数据的缓存集合中或正在处理集合中或者已经发现完成。如果没则加入到子网待发现集合中。进行步骤3.1。
当RouterType为3(直接连接)时或者RouterType为4(间接连接),判断ipRouteNextHop(下一跳)是否为一个可分配的IP地址,如果是外网地址则构造出一条外网链路加入到外网集合缓存中。如果是内网地址并ipRouteDest为0.0.0.0ipRouteNextHop不为0.0.0.0并且ipRouteMask为0.0.0.0则,则判断ipRouteNextHop值是否在路由待发现数据的缓存集合中或正在处理集合中或者已经发现完成。如果没则加入路由待发现的缓存集合中。此数据又进行‘步骤2’。然后根据此设备IP与ipRouteNextHop构造出路由逻辑链路,在已发现路由逻辑链路缓存中判断是否存在此链路,如果不存在则加入此路由逻辑链路中。
2.1.5)判断此设备是否支持CDP,如果支持则判断是否在CDP待发现数据的缓存集合中或正在处理集合中或者已经发现完成。如果没则把此IP加入到CDP待发现集合中。
2.1.6)判断此设备是否支持LLDP,如果支持则判断是否在LLDP待发现数据的缓存集合中或正在处理集合中或者已经发现完成。如果没则把此IP加入到LLDP待发现集合中。
2.1.7)此路由设备发现完成,把此ip加入到已发现路由集合中,并从正在发现集合中移除此ip。
3.1)子网线程发现(网段线程发现相同),子网线程检测到子网待发现集合中有子网记录,就分配子网处理线程,子网处理线程根据ipRouteDest和ipRouteMask计算出起始IP和结束IP,并遍历加入待发现IP设备中。同时启动单个IP处理线程。
3.2)单个IP处理线程检测到待发现集合中数据。就开始处理。Ping探测判断IP是否存活。如果不存活则退出,如果存活则进行snmp探测判断是否支持SNMP。
3.2.1)支持SNMP
判断是否支持路由,如果支持路由,则判断此IP是否在路由待发现数据的缓存集合中或正在处理集合中或者已经发现完成,如果没则加入路由待发现的缓存集合中。此数据又进行‘步骤2’。
3.2.2)如果不支持路由,则进行步骤2.1.1、步骤2.1.2、步骤2.1.3,并根据ipAddrTable表,循环获取ipAdEntAddr和ipAdEntNetMask构造出一个子网,判断是否在子网待发现数据的缓存集合中或正在处理集合中或者已经发现完成。如果没则加入到子网待发现集合中。然后进行步骤2.1.5、步骤2.1.6。
3.2.3)不支持SNMP
判断是否为主机设备或者未知设备,获取设备名称,设备mac构造设备信息,并判断此ICMP设备是否已经发现,如果没发现则就加入到已发现ICMP集合中。
4.1)LLDP线程发现,LLDP线程检测到LLDP待发现集合中有记录。则分配LLDP子处理线程,收集LLDP表信息lldpRemTable,并分析得到本地端口、远程IP和远程端口,组装物理链路。判断物理链路已发现集合缓存中是否存在。如果不存在则加入物理链路已发现集合缓存中。
5.1)CDP线程发现,CDP线程检测到CDP待发现集合中有记录,则分配CDP子处理线程,收集CDP表信息cdpCacheTable,并分析得到本地端口、远程IP和远程端口,组装物理链路。判断物理链路已发现集合缓存中是否存在。如果不存在则加入物理链路已发现集合缓存中。
6.1)拓扑监控线程。待路由发现线程、CDP发现线程、LLDP发现线程,子网发现线程(网段发现线程)所有待发现集合和正在发现集合都为空时。则进行ATF常规算法计算。
7.1)AFT线程发现,获得前面所有的交换机,并获取所有交换机的dot1dTpFdbTable(dot1dTp组下和qBridgeMIB组下),并分析每个交换机的ATF表数据,把同端口的mac放入同一集合中。Port:N mac关系。
7.2)连接规律解析:
定义1.令网络中第i台交换机Si的第j个端口为Sij,Aij表示交换机Si的地址转发表中通过端口Sij收到的源MAC地址集合;Pij表示Si上除Sij以外的其它端口地址转发表的并集.Aij和Pij中都包括交换机、主机、路由器的MAC地址。
定义2.标志节点:当算法运行的主机在预发现的子网中时,将此主机命名为标志节点,若不在,则将目标子网中能转发算法运行的主机发出的数据包的路由器节点定为标志节点。
定义3.叶端口:若Aij中未出现交换域中其它交换机(包括其他子网)和本子网标志节点的MAC地址,则称端口Sij为叶端口。
定义4.上行端口:指Aij中出现本子网标志节点MAC地址的端口。
定义5.下行端口:指Aij中没有出现本子网标志节点MAC地址的端口.
定义6.叶交换机:若一台交换机所有的下行端口都为叶端口则称该交换机为叶交换机.
定义7.ForwardSet(S):交换机S所有下行端口的AFT记录的交换机MAC地址集合。即从工作机出发通过交换机S所能到达的所有交换机。
定理:生成树中所有交换机的下行端口是完整的,且子网内交换机按照|ForwardSet|从小到大放入队列中。对于队
首元素Sk,在队列中从Sk的位置后开始查找到第一个满足条件的端口Sij,则此端口Sij与Skl直接相连(如果Sij与Skl通过Hub等哑节点相连也认为是直接相连)。根据此算法循环遍历得到对于交换机物理链路信息。判断物理链路已发现集合缓存中是否存在。如果不存在则加入物理链路已发现集合缓存中。
8.1)算法发现完成。
以上所述的仅是本发明的实施方式,在此应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
Claims (3)
1.一种综合型网络拓扑发现方法,其特征在于,包括以下的步骤:
Step1:初始化拓扑发现引擎,包括:初始化存放发现数据的缓存集合以及发现后产生的结果数据集合、初始化路由发现线程、初始化子网发现线程、初始化LLDP发现线程、初始化CDP发现线程、初始化设备发现线程、初始化拓扑监控线程、初始化设备入库线程。
Step2:初始化之后,路由发现线程、子网发现线程、LLDP发现线程、CDP发现线程、单个设备发现线程、初始化拓扑监控线程,一起协同发现;
Step3:以上线程协同发现得出“支持SNMP设备”、“不支持SNMP设备”、“子网与设备之间的链接关系”、“三层设备与三层设备之间的连接关系”;
Step4:执行设备入库线程,根据“支持SNMP设备”、“不支持SNMP设备”、“子网与设备之间的链接关系”、“三层设备与三层设备之间的连接关系”的信息得出设备与设备的物理连接关系,结束发现。
2.根据权利要求1所述的综合型网络拓扑发现方法,其特征在于,拓扑发现包括网段发现和全网发现。
3.根据权利要求2所述的综合型网络拓扑发现方法,其特征在于,所述路由发现线程的操作步骤包括:(1)、检测路由,发现数据缓存集合内有IP设备;(2)、对该IP设备进行收集信息:system组、interface组、ipAddrTable组、ipRouteTable组、ipNetToMediaTable组;(3)、判断此设备是否支持CDP、LLDP;(4)、当发现完成,把此IP设备加入到已发现路由集合中,并从正在发现集合中移除此IP设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210585556.2A CN103905314A (zh) | 2012-12-28 | 2012-12-28 | 综合型网络拓扑发现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210585556.2A CN103905314A (zh) | 2012-12-28 | 2012-12-28 | 综合型网络拓扑发现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103905314A true CN103905314A (zh) | 2014-07-02 |
Family
ID=50996470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210585556.2A Pending CN103905314A (zh) | 2012-12-28 | 2012-12-28 | 综合型网络拓扑发现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103905314A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506339A (zh) * | 2014-11-21 | 2015-04-08 | 河南中烟工业有限责任公司 | 基于profinet的工业以太网网络拓扑管理实现方法 |
CN106452827A (zh) * | 2016-07-29 | 2017-02-22 | 杭州优云软件有限公司 | 一种混合cdp、lldp与fdb数据的网络拓扑计算方法 |
CN107124302A (zh) * | 2017-04-19 | 2017-09-01 | 国网福建省电力有限公司 | 基于信息系统综合网管系统的资源动态发现方法 |
CN107634842A (zh) * | 2016-07-18 | 2018-01-26 | 阿里巴巴集团控股有限公司 | 网络拓扑发现方法及装置 |
CN109361551A (zh) * | 2018-11-21 | 2019-02-19 | 四川长虹电器股份有限公司 | 一种局域网双通道设备发现方法 |
CN110535694A (zh) * | 2019-08-19 | 2019-12-03 | 杭州迪普科技股份有限公司 | 网络拓扑发现方法和装置 |
CN113542015A (zh) * | 2021-06-29 | 2021-10-22 | 武汉思普崚技术有限公司 | 一种自动绘制网络物理链路方法 |
CN114024859A (zh) * | 2021-11-24 | 2022-02-08 | 山西合力创新科技股份有限公司 | 基于设备和链路发现的网路拓扑生成方法、存储介质及终端 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045190A (zh) * | 2009-10-21 | 2011-05-04 | 杭州华三通信技术有限公司 | 一种网络拓扑发现方法和设备 |
-
2012
- 2012-12-28 CN CN201210585556.2A patent/CN103905314A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045190A (zh) * | 2009-10-21 | 2011-05-04 | 杭州华三通信技术有限公司 | 一种网络拓扑发现方法和设备 |
Non-Patent Citations (4)
Title |
---|
周俊生: "一个IP网络拓扑自动发现系统的设计与实现", 《计算机工程》 * |
王宇: "以太网链路层拓扑发现软件的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
荆栋等: "网络拓扑发现算法", 《重庆理工大学学报》 * |
邓泽林等: "一种新的异构网络链路层拓扑发现算法", 《计算机工程》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506339A (zh) * | 2014-11-21 | 2015-04-08 | 河南中烟工业有限责任公司 | 基于profinet的工业以太网网络拓扑管理实现方法 |
CN107634842A (zh) * | 2016-07-18 | 2018-01-26 | 阿里巴巴集团控股有限公司 | 网络拓扑发现方法及装置 |
CN106452827A (zh) * | 2016-07-29 | 2017-02-22 | 杭州优云软件有限公司 | 一种混合cdp、lldp与fdb数据的网络拓扑计算方法 |
CN107124302A (zh) * | 2017-04-19 | 2017-09-01 | 国网福建省电力有限公司 | 基于信息系统综合网管系统的资源动态发现方法 |
CN109361551A (zh) * | 2018-11-21 | 2019-02-19 | 四川长虹电器股份有限公司 | 一种局域网双通道设备发现方法 |
CN110535694A (zh) * | 2019-08-19 | 2019-12-03 | 杭州迪普科技股份有限公司 | 网络拓扑发现方法和装置 |
CN113542015A (zh) * | 2021-06-29 | 2021-10-22 | 武汉思普崚技术有限公司 | 一种自动绘制网络物理链路方法 |
CN114024859A (zh) * | 2021-11-24 | 2022-02-08 | 山西合力创新科技股份有限公司 | 基于设备和链路发现的网路拓扑生成方法、存储介质及终端 |
CN114024859B (zh) * | 2021-11-24 | 2024-03-26 | 山西合力创新科技股份有限公司 | 基于设备和链路发现的网路拓扑生成方法、存储介质及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103905314A (zh) | 综合型网络拓扑发现方法 | |
CN102801567B (zh) | 分层网络拓扑自动发现的方法和分层网络拓扑组建的方法 | |
CN104221336B (zh) | 用于虚拟网络架构链路故障恢复的系统和方法 | |
CN105357046B (zh) | 一种用于软件定义网络sdn的网络信息探测的方法 | |
US10397098B2 (en) | Establishing instance in software defined network | |
CA2910159C (en) | A method and system for updating distributed resilient network interconnect (drni) states | |
CN104253770B (zh) | 实现分布式虚拟交换机系统的方法及设备 | |
CN104518967B (zh) | 路由方法、设备和系统 | |
KR101317969B1 (ko) | 링크 애그리게이션 방법 및 노드 | |
CN103873379B (zh) | 一种基于重叠网的分布式路由抗毁策略配置方法和系统 | |
CN104168154B (zh) | 面向网络态势感知的多级别网络系统及其构建方法 | |
JP6193473B2 (ja) | コンピュータ実施方法、コンピュータプログラム製品及びコンピュータ | |
CN102143007A (zh) | 基于分布式的多级网络拓扑发现方法 | |
CN104811393B (zh) | 组播报文复制处理方法、装置及开放流控制器 | |
CN105472486B (zh) | 一种pon接入系统防止路由环路的处理方法 | |
US9531598B2 (en) | Querying a traffic forwarding table | |
US9548900B1 (en) | Systems and methods for forwarding network packets in a network using network domain topology information | |
WO2020031076A1 (en) | Multicast distribution tree versioning for minimizing multicast group traffic disruption | |
CN101141308A (zh) | 一种ip主干网的拓扑发现方法 | |
CN107733713A (zh) | 混合网络中网络拓扑的获取方法、系统、设备及存储介质 | |
GB2516338A (en) | Identification of paths in a network of mixed routing/switching devices | |
EP1890438A1 (en) | Method and apparatus for achieving dynamic capacity and high availability in multi-stage data networks using adaptive flow-based routing | |
CN107104809A (zh) | 一种生成网络拓扑图的方法和系统 | |
CN115474214A (zh) | 一种基于小型化接入分组设备的组网方法及系统 | |
CN107124297A (zh) | 基于zabbix的SNMP网络拓扑发现方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140702 |
|
RJ01 | Rejection of invention patent application after publication |