CN103825759A - 获取网络拓扑信息的方法和系统 - Google Patents
获取网络拓扑信息的方法和系统 Download PDFInfo
- Publication number
- CN103825759A CN103825759A CN201410049686.3A CN201410049686A CN103825759A CN 103825759 A CN103825759 A CN 103825759A CN 201410049686 A CN201410049686 A CN 201410049686A CN 103825759 A CN103825759 A CN 103825759A
- Authority
- CN
- China
- Prior art keywords
- bgp
- topology
- information
- network
- topology information
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种获取网络拓扑信息的方法和系统,其中,获取网络拓扑信息的方法包括:通过与AS域一一对应的监控机获得多个AS域之间初始的BGP拓扑信息和物理链路拓扑信息;通过监控机实时获得AS域的网络拓扑变化信息;以及根据获得的初始的BGP拓扑信息和物理链路拓扑信息以及网络拓扑变化信息计算出当前BGP拓扑信息。本发明实施例的获取网络拓扑信息的方法,通过SNMPTRAP方式实时获取BGP拓扑信息和物理链路拓扑信息,增加了实时性;通过BDC方式定时纠正拓扑脏数据,保证网络设备性能的前提下,减少了因脏数据产生的影响。此外,通过监控机将SNMPTRAP包解析并转换为统一的格式,增强了兼容性,因此可扩展性强。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种获取网络拓扑信息的方法和系统。
背景技术
随着公司网络的不断扩大,业务也越来越多,因此对于承载主要业务流量的骨干网的维护,网络拓扑的自动获取与变化告警是非常重要的。
目前,基于边界网关协议(BGP)协议的网络拓扑主要包括两种方法,第一种是网络设备通过简单网络管理协议报告(SNMPTRAP)的方式主动向服务器发送拓扑变化数据,即在网络设备支持SNMPTRAP方式的前提下,可通过对网络设备进行配置,使网络设备主动向服务器发送拓扑变化数据,然后服务器负责采集拓扑变化数据并进行数据处理,计算出BGP拓扑;另一种是服务器通过简单网络管理协议查询(SNMPWALK)方式主动采集拓扑变化数据的方式,即服务器定时向网络设备获取BGP邻居关系,然后将采集的拓扑变化数据进行计算,从而获得BGP拓扑。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:第一种方法,网络设备在通过SNMPTRAP方式向服务器发送拓扑变化数据时,不同的网络设备支持的数据包的定义不同,系统的兼容性差、更新成本高;另外,由于网络设备自身问题或网络不稳定导致数据丢失,从而无法获得BGP拓扑,或者产生脏数据,影响基于拓扑的网络服务;第二种方法,服务器通过SNMPWALK方式主动采集拓扑变化数据,实时性较低,并且会对网络设备造成不同程度的负荷,导致网络设备性能的降低。两种方法均无法获取承载BGP拓扑的物理链路拓扑,并且存在系统单点容灾问题,即服务器故障导致系统崩溃。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种获取网络拓扑信息的方法。该方法通过SNMPTRAP方式实时获取BGP拓扑信息和物理链路拓扑信息,增加实时性;通过BDC方式定时纠正拓扑脏数据,保证网络设备性能的前提下,减少因脏数据产生的影响。此外,通过监控机将SNMPTRAP包解析并转换为统一的格式,增强兼容性,因此可扩展性强。
本发明的第二个目的在于提出一种获取网络拓扑信息的系统。
为了实现上述目的,本发明第一方面实施例的获取网络拓扑信息的方法,包括:通过与所述AS域一一对应的监控机获得多个AS域之间的初始的边界网关协议BGP拓扑信息和物理链路拓扑信息;通过所述监控机实时获得所述AS域的网络拓扑变化信息;以及根据获得的所述初始的BGP拓扑信息和物理链路拓扑信息以及所述网络拓扑变化信息计算出当前BGP拓扑信息。
本发明实施例的获取网络拓扑信息的方法,通过SNMPTRAP方式实时获取BGP拓扑信息和物理链路拓扑信息,增加了实时性;通过BDC方式定时纠正拓扑脏数据,保证网络设备性能的前提下,减少了因脏数据产生的影响。此外,通过监控机将SNMPTRAP包解析并转换为统一的格式,增强了兼容性,因此可扩展性强。
为了实现上述目的,本发明第二方面实施例的获取网络拓扑信息的系统,包括:与所述AS域一对一相连的监控机和与所述监控机相连的边界网关协议BGP拓扑计算中心,其中:所述监控机,用于获得多个AS域之间的初始的BGP拓扑信息和物理链路拓扑信息,以及实时获得所述AS域的网络拓扑变化信息;所述BGP拓扑计算中心,用于通过所述监控机获得所述初始的BGP拓扑信息和物理链路拓扑信息以及所述网络拓扑变化信息,并根据获得的所述初始的BGP拓扑信息和物理链路拓扑信息以及所述网络拓扑变化信息计算出当前BGP拓扑信息。
本发明实施例的获取网络拓扑信息的系统,通过SNMPTRAP方式实时获取BGP拓扑信息和物理链路拓扑信息,增加了实时性;通过BDC方式定时纠正拓扑脏数据,保证网络设备性能的前提下,减少了因脏数据产生的影响。此外,通过监控机将SNMPTRAP包解析并转换为统一的格式,增强了兼容性,因此可扩展性强。
附图说明
图1是根据本发明一个实施例的获取网络拓扑信息的方法的流程图;
图2是通过监控机获得多个AS域之间的初始的BGP拓扑信息和物理链路拓扑信息的流程图;
图3是BGP拓扑计算中心通过监控机实时获得AS域的网络拓扑变化信息的流程图;
图4是根据本发明另一个实施例的获取网络拓扑信息的方法的流程图;
图5是根据本发明一个具体实施例的获取网络拓扑信息的方法的流程图;
图6是根据本发明一个具体实施例的拓扑计算的流程图;
图7是监控机对SNMPTRAP包进行解析的过程的流程图;
图8是根据本发明一个具体实施例的获取网络拓扑信息进行定时纠错的方法的流程图;
图9是根据本发明又一个实施例的获取网络拓扑信息的方法的流程图;
图10是根据本发明另一个具体实施例的获取网络拓扑信息的方法的程序框架流程图;
图11是根据本发明又一个具体实施例的获取网络拓扑信息的方法的流程图;
图12是根据本发明一个实施例的通知拓扑处理线程的流程图;
图13是根据本发明一个实施例的获取网络拓扑信息的系统的结构图;
图14是根据本发明另一个实施例的获取网络拓扑信息的系统的结构图;
图15是根据本发明又一个实施例的获取网络拓扑信息的系统的结构图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的获取网络拓扑信息的方法和系统。
图1是根据本发明一个实施例的获取网络拓扑信息的方法的流程图,该实施例可以应用于包含多个自治(AS)域的网络系统中。
如图1所示,获取网络拓扑信息的方法包括:
S101,通过与AS域一一对应的监控机获得多个AS域之间的初始的边界网关协议(BGP)拓扑信息和物理链路拓扑信息。
在本发明的实施例中,每个AS域均对应一台监控机,解决了单点容灾问题,不会因为一台监控机故障导致其他AS域监控失效或系统崩溃。BGP拓扑计算中心可通过监控机获得初始的BGP拓扑信息和物理链路拓扑信息,如图2所示,具体包括以下步骤:
S1011,采用简单网络管理协议查询(SNMPWALK)方式通过监控机向对应的AS域内的网络设备发送数据采集请求。
具体地,BGP拓扑计算中心采用SNMPWALK方式通过监控机主动向对应的AS域内的网络设备发送BGP数据采集请求,以使网络设备根据采集请求进行BGP数据的采集并发送至BGP拓扑计算中心。
S1012,接收每个AS域内的网络设备返回的BGP数据。
具体地,在网络设备将采集的BGP数据发送至BGP拓扑计算中心后,BGP拓扑计算中心接收每个AS域内的网络设备返回的BGP数据。其中,BGP数据可包括BGP邻居关系、网络设备端口的信息等。
S1013,对BGP数据进行处理,获得初始的BGP拓扑和物理链路拓扑信息。
具体地,BGP拓扑计算中心可根据每个AS域内的网络设备的邻居关系获得BGP拓扑;再根据网络设备的端口信息和统一的标准配置,可获得物理链路拓扑信息。
S102,通过监控机实时获得AS域的网络拓扑变化信息。
在本发明的实施例中,BGP拓扑计算中心通过监控机实时获得AS域的网络拓扑变化信息,如图3所示,具体包括以下步骤:
S1021,通过监控机接收AS域内网络设备发送的包含BGP变化数据和端口状态信息的简单网络管理协议报告(SNMPTRAP)包。
BGP拓扑计算中心通过监控机获得格式转换后的SNMPTRAP包,其中,格式转换后的SNMPTRAP包由监控机对接收到的SNMPTRAP包进行解析并转换为统一的格式。
S1022,根据SNMPTRAP包生成网络拓扑变化信息。
在本发明的实施例中,BGP拓扑计算中心可根据SNMPTRAP包生成网络拓扑变化信息,此种方式为网络设备主动向BGP拓扑计算中心发送网络拓扑变化信息的方式。另外,BGP拓扑计算中心还可以通过网络设备基础数据采集系统(BDC)定时采集网络设备的网络拓扑变化信息,进行拓扑纠错。
S103,根据获得的初始的BGP拓扑信息和物理链路拓扑信息以及网络拓扑变化信息计算出当前BGP拓扑信息。
在本发明的实施例中,BGP拓扑计算中心可根据获得的初始的BGP拓扑信息和物理链路拓扑信息以及网络拓扑变化信息计算出当前BGP拓扑信息。
本发明实施例的获取网络拓扑信息的方法,通过SNMPTRAP方式实时获取BGP拓扑信息和物理链路拓扑信息,增加了实时性;通过BDC方式定时纠正拓扑脏数据,保证网络设备性能的前提下,减少了因脏数据产生的影响。此外,通过监控机将SNMPTRAP包解析并转换为统一的格式,增强了兼容性,因此可扩展性强。
图4是根据本发明另一个实施例的获取网络拓扑信息的方法的流程图。
如图4所示,获取网络拓扑信息的方法包括:
S401,通过与AS域一一对应的监控机获得多个AS域之间的初始的边界网关协议(BGP)拓扑信息和物理链路拓扑信息。
步骤S401与步骤S101相同,在此不赘述。
S402,通过监控机实时获得AS域的网络拓扑变化信息。
步骤S402与步骤S102相同,在此不赘述。
S403,根据获得的初始的BGP拓扑信息和物理链路拓扑信息以及网络拓扑变化信息计算出当前BGP拓扑信息。
步骤S403与步骤S103相同,在此不赘述。
S404,保存当前BGP拓扑信息;根据当前BGP拓扑信息和获得的基准图进行告警处理。
在本发明的实施例中,BGP拓扑计算中心在根据获得的初始的BGP拓扑信息和物理链路拓扑信息以及网络拓扑变化信息计算出当前BGP拓扑信息之后,将当前BGP拓扑信息与之前的BGP拓扑信息基准图进行对比,如果拓扑信息不一致,即发生变化,则进行告警。
在本发明的实施例中,BGP拓扑计算中心还可向拓扑汇聚中心发送当前BGP拓扑信息,拓扑汇聚中心将接收到的当前BGP拓扑信息进行汇聚,并向数据中心层发送汇聚后的拓扑信息,数据中心层最终保存汇聚后的拓扑信息。
本发明实施例的获取网络拓扑信息的方法,通过SNMPTRAP方式实时获取BGP拓扑信息和物理链路拓扑信息,增加了实时性;通过BDC方式定时纠正拓扑脏数据,保证网络设备性能的前提下,减少了因脏数据产生的影响。此外,通过监控机将SNMPTRAP包解析并转换为统一的格式,增强了兼容性,因此可扩展性强。此外,在拓扑变化时,进行告警,并且将拓扑信息汇聚存储到数据中心层,提高了安全性。
图5是根据本发明一个具体实施例的获取网络拓扑信息的方法的流程图。
如图5所示,获取网络拓扑信息的方法包括:
S501,配置初始化。
通过配置初始化,BGP拓扑计算中心可获取拓扑信息基准图。
S502,获取所有的监控机管理IP列表。
BGP拓扑计算中心可通过查询数据中心层获取所有的监控机管理IP列表。其中,数据中心层保存有监控机管理IP列表。
S503,遍历列表,通过BDC获取BGP邻居关系以及拓扑信息。
BGP拓扑计算中心可通过网络设备基础数据采集系统(BDC)定时采集网络设备拓扑信息。其中,拓扑信息可包括端口,ip,掩码信息等。
S504,建立AS域BGP拓扑,即初始拓扑信息基准图。
拓扑计算中心首先使用SNMPWALK的方式,获取到每台设备BGP邻居关系,进而计算出BGP拓扑;同时获取到设备端口的信息,再结合设备端口的规范配置(公司统一配置标准),可计算出承载BGP的物理链路拓扑。
S505,再次遍历列表,通过BDC获取当前BGP邻居关系以及拓扑信息。
BGP拓扑计算中心定时采集网络设备拓扑信息,当到预设的采集时间时,获取当前的拓扑信息,以使当前的拓扑信息与拓扑信息基准图进行对比。
S506,与基准图对比告警。
若与基准图不一致,则进行告警。如果初始化时没有设置基准图,则与上一次进行采集的拓扑信息进行对比。
S507,监听收集SNMPTRAP包。
S508,收到第一个SNMPTRAP包,10秒后开始计算拓扑。
计算时间在此不做限定。
S509,根据SNMPTRAP包计算出当前拓扑。
S510,与基准图进行对比,若有变化则进行告警。
BGP拓扑计算中心将计算出的当前拓扑信息与基准图进行对比,若不一致,即发生拓扑信息发生变化,则进行告警。可以理解,也可以不与基准图进行对比,检测到拓扑信息发生变化后,直接进行告警。
S511,将当前的BGP拓扑信息发送至拓扑汇聚中心。
BGP拓扑计算中心将最终计算得到的当前BGP拓扑信息发送至拓扑汇聚中心。
本发明使用SNMPTRAP的方式实时接收到网络设备BGP邻居状态变化和每个物理端口的状态,进而转化为网络拓扑变化信号,发送至BGP拓扑计算中心进行拓扑变化计算以及对变化告警,实时性在秒级。
图6是根据本发明一个具体实施例的拓扑计算的流程图。
如图6所示,拓扑计算包括:
S601,SNMPTRAPD监听。
SNMP协议在数据流方向上可分为两种:
1、客户端使用snmp命令主动采集网络设备信息;
2、网络设备主动向服务器发送信息。
以上两种信息均被封装在trap包中,SNMPTRAPD即在服务器中负责接收网络设备发送的trap包。
S602,解析SNMPTRAP包。
S603,维护BGP拓扑信息。
维护可包括添加、删除、更新等操作。例如:网络中有新增加的网络设备,则可根据拓扑变化信息进行添加操作。
S604,通过管理ip(Internet Protocol,网络之间互连的协议)和对端回环(lookback,虚拟接口)地址抓取或查找数据中心层(DC),监控机以及所有vlan(Virtual Local AreaNetwork,虚拟局域网)ip。
S605,分析处理,获得端到端连线发送拓扑汇聚中心(TCS)并汇聚到数据中心层(DC)。
对SNMPTRAP包进行分析处理后,向拓扑汇聚中心发送当前BGP拓扑信息,拓扑汇聚中心将接收到的当前BGP拓扑信息进行汇聚,并向数据中心层发送汇聚后的拓扑信息,数据中心层最终保存汇聚后的拓扑信息。
其中,上述步骤S602对SNMPTRAP包进行解析的过程,如图7所示,具体可包括以下步骤:
S701,初始化SNMPTRAP包的转发规则。
监控机中的转发模块启动时,需要先初始化SNMPTRAP包的转发规则。
S702,监控机接收SNMPTRAPD发送的消息。
S703,对SNMPTRAP包的第三行进行解析,并转换为统一的格式。
S704,遍历转发规则,确定转发的对象,如果没有转发的对象,则转到步骤S705,如果找到转发对象,则转到步骤S706。
S705,记录日志log。
S706,发送至转发模块。
具体地,可以使用套接字(Socket)、nshead打入json(JavaScript Object Notation,轻量级的数据交换格式)串后,发送至handle(句柄)模块。其中,Handle模块属于转发模块,用于对不同网络设备发送的SNMPTRAP包进行解析并转换为统一的格式。在Handle模块接收到SNMPTRAP包后,根据handle模块自身的特定规则,将SNMPTRAP包发送至BGP拓扑计算中心。转发模块不仅可以转发SNMPTRAP包,还可以将不同格式的SNMPTRAP包转换为统一的格式,增加了兼容性。
图8是根据本发明一个具体实施例的网络拓扑信息进行定时纠错的方法的流程图。
如图8所示,获取网络拓扑信息进行定时纠错的方法包括:
S801,上锁。
S802,判断是否到重新抓取拓扑的时间。
如果没到重新抓取拓扑时间,则转到步骤S803,直接查看是否到计算拓扑的时间。如果到重新抓取拓扑时间,则转到步骤S8021,构建新的存储结构,然后通过步骤S8022,对存储结构进行更新,更新后转到步骤S804。
S803,查看是否到计算拓扑时间。
如果已到计算拓扑时间,则进行步骤S804。
S804,计算当前拓扑。
S805,判断拓扑是否有变化,如果拓扑有变化,则转到步骤S806,如果拓扑没有变化,则转到步骤S811。
S806,与拓扑基准图进行对比。
S807,放入告警队列。
S808,通知拓扑汇聚中心(TCS)。
S809,C_flag=0。
S810,解锁。
S811,sleep(1)。
图9是根据本发明又一个实施例的获取网络拓扑信息的方法的流程图,该实施例可应用于多个OSPF域。
如图9所示,获取网络拓扑信息的方法包括:
S901,监控模块通过守护进程与当前集群系统中每个OSPF域建立邻居关系。
在本发明的实施例中,监控模块可直接与集群系统中的集群核心进行连接。集群核心可通过单口配置多vlan的方式,使监控模块的OSPFD守护进程与集群中的每个OSPF域均建立起邻居关系。
S902,监控模块获得当前集群系统中所有OSPF域的链路状态通告(LSA)报文。
在本发明的实施例中,监控模块可通过OSPFD守护进程获得当前集群系统中所有OSPF域的LSA报文。
S903,对LSA报文进行分类,并通过对应的线程进行拓扑计算。
本发明的实施例中,监控模块可对LSA报文进行分类,当分类后的LSA报文满足预设条件时,监控模块可通知对应的线程进行拓扑计算。其中,预设条件为预先设定,可避免监控模块获得的LSA过多,计算频繁,从而导致性能下降的问题。
具体地,监控模块首先查找LSA报文所属的LSDB(链路状态数据库),如果获得的LSA报文没有所属的LSDB,则建立该报文所属的LSDB,并进行更新LSDB,然后通知对应的线程进行拓扑计算。
本发明实施例的获取网络拓扑信息的方法,通过监控模块获得当前集群系统中所有OSPF域的LSA报文,并对LSA报文进行分类,通过对应的线程进行拓扑计算,可实时地更新拓扑信息;一个监控模块可监控当前集群系统中所有OSPF域,节省了成本;同时还能及时对重大故障进行告警,减少因故障产生的损失。
图10是根据本发明另一个具体实施例的获取网络拓扑信息的方法的程序框架流程图。
如图10所示,获取网络拓扑信息的方法的程序框架如下:
S1001,读取配置文件。
S1002,对服务进行初始化。
S1003,生成不同功能的服务线程。
具体地,可以包括但不限于以下线程:
OSPFD守护进程,客户端可以和OSPFD守护进程通信,获取到LSA后,通过对其分类构建链路状态数据库(LSDB),并承担通知创建计算线程的作用。
向EC(事件中心)告警线程,用于将拓扑的变化通报给网络运维工程师;服务线程,用于对外提供查询拓扑,设置基准图的作用。
生成各域处理线程的线程,用于获取域的数量,并生成相应的处理线程。具体地,根据域的ID寻找基准图(由用户预先设定),并从自己负责的域的LSDB中计算拓扑和变化,并将变化放入告警队列中,以使供告警线程工作。
保活(Keepalive)线程,用于监视其他处理拓扑域的线程是否正常工作,若某线程不正常则会重启该线程。
图11是根据本发明又一个具体实施例的获取网络拓扑信息的方法的流程图。
如图11所示,获取网络拓扑信息的方法包括:
S1101,初始化LSA的时间戳。
S1102,判断是否有新的LSA。
S1103,查找LSA的LSDB,若没有则建立LSDB。
S1104,更新LSDB。
S1105,通知拓扑处理线程。
具体地,如图12所示,通知拓扑处理线程还包括:
S11051,记录当前时间,Lsa_cur_time为当前时间,时间差=Lsa_cur-time-calcul_last_time。
S11052,判断时间差是否大于5秒。
此处5秒为预设值,此处仅为一示例,本实施例对此不做限定。
S11053,如果时间差大于5秒,则通知线程LSDB已更新。
S11054,如果时间差小于5秒,则计算拓扑是否已在定时器(timer)队列。
如果已在定时器(timer)队列,则转到S1106。
S11055,如果不在timer队列,则
calcul_last_time=lsa_cur_time+1,Thread_time(通知线程LSDB已更新,5秒-时间差)。
修改关键时间戳calcul_last_time=lsa_cur_time+1,然后加入定时器Thread_time。定时器Thread_time为一个函数,即在(5秒-时间差)秒后,通知线程通知线程LSDB已更新。
S1106,增加线程,转向步骤S1102。
在初始化后,判断是否有新的LSA报文到来。当有新的报文到来时,便查找该LSA所属的LSDB(链路状态数据库),找不到则创建新的LSDB,然后更新该LSDB。然后通知拓扑处理线程进行处理。
在本实施例中,在通知拓扑处理线程进行拓扑计算的逻辑上,加入了LSA缓冲机制,即只有满足一定条件的LSA到来事件,才会通知拓扑计算线程进行拓扑计算例如时间差大于预定值,这样可有效避免LSA洪泛造成的频繁计算。
图13是根据本发明一个实施例的获取网络拓扑信息的系统的结构图。
如图13所示,获取网络拓扑信息的系统包括:与AS域一对一相连的监控机100和与监控机100相连的边界网关协议(BGP)拓扑计算中心200。
监控机100用于获得多个AS域之间的初始的BGP拓扑信息和物理链路拓扑信息,以及实时获得AS域的网络拓扑变化信息。
监控机100还用于接收AS域内网络设备发送的包含BGP变化数据和端口状态信息的简单网络管理协议报告(SNMPTRAP)包并向BGP拓扑计算中心200转发。具体地,监控机100对接收到的SNMPTRAP包进行解析并转换为统一的格式。
BGP拓扑计算中心200用于通过监控机100获得初始的BGP拓扑信息和物理链路拓扑信息以及网络拓扑变化信息,并根据获得的初始的BGP拓扑信息和物理链路拓扑信息以及网络拓扑变化信息计算出当前BGP拓扑信息。
BGP拓扑计算中心200采用简单网络管理协议查询SNMPWALK方式向对应的AS域内的网络设备发送数据采集请求,接收每个AS域内的网络设备返回的BGP数据,对BGP数据进行处理,获得初始的BGP拓扑信息和物理链路拓扑信息。
具体地,BGP拓扑计算中心200采用SNMPWALK方式通过监控机100主动向对应的AS域内的网络设备发送BGP数据采集请求,以使网络设备根据采集请求进行BGP数据的采集并发送至BGP拓扑计算中心200。在网络设备将采集的BGP数据发送至BGP拓扑计算中心200后,BGP拓扑计算中心200接收每个AS域内的网络设备返回的BGP数据。其中,BGP数据可包括BGP邻居关系、网络设备端口的信息等。BGP拓扑计算中心200可根据每个AS域内的网络设备的邻居关系获得BGP拓扑,再根据网络设备的端口信息和统一的标准配置,可获得物理链路拓扑信息。
BGP拓扑计算中心200从监控机100接收SNMPTRAP包,并根据SNMPTRAP包生成网络拓扑变化信息。
具体地,BGP拓扑计算中心200通过监控机100获得格式转换后的SNMPTRAP包,其中,格式转换后的SNMPTRAP包由监控机100对接收到的SNMPTRAP包进行解析并转换为统一的格式。
BGP拓扑计算中心200可根据获得的初始的BGP拓扑信息和物理链路拓扑信息以及网络拓扑变化信息计算出当前BGP拓扑信息。
本发明实施例的获取网络拓扑信息的系统,通过SNMPTRAP方式实时获取BGP拓扑信息和物理链路拓扑信息,增加了实时性;通过BDC方式定时纠正拓扑脏数据,保证网络设备性能的前提下,减少了因脏数据产生的影响。此外,通过监控机将SNMPTRAP包解析并转换为统一的格式,增强了兼容性,因此可扩展性强。
图14是根据本发明另一个实施例的获取网络拓扑信息的系统的结构图。
如图14所示,获取网络拓扑信息的系统包括:与AS域一对一相连的监控机100、与监控机相连的边界网关协议BGP拓扑计算中心200、基础数据采集BDC模块300、拓扑汇聚中心400、数据中心层500以及告警模块600。
拓扑计算中心200还用于向拓扑汇聚中心400发送当前BGP拓扑信息。
基础数据采集BDC模块300用于在BGP拓扑计算中心200根据获得的初始的BGP拓扑信息和物理链路拓扑信息以及网络拓扑变化信息计算出当前BGP拓扑信息之前,定时获得网络设备的网络拓扑变化信息。
BGP拓扑计算中心200还可以通过网络设备基础数据采集系统BDC定时采集网络设备的网络拓扑变化信息,进行拓扑纠错。
拓扑汇聚中心400用于将接收到的当前BGP拓扑信息进行汇聚,并向数据中心层500发送汇聚后的拓扑信息。
数据中心层500用于保存汇聚后的拓扑信息。
告警模块600用于在BGP拓扑计算中心200计算出当前BGP拓扑信息之后,根据当前BGP拓扑信息和获得的基准图进行告警处理。
BGP拓扑计算中心200在根据获得的初始的BGP拓扑信息和物理链路拓扑信息以及网络拓扑变化信息计算出当前BGP拓扑信息之后,将当前BGP拓扑信息与之前的BGP拓扑信息基准图进行对比,如果拓扑信息不一致,即发生变化,则进行告警。
本发明实施例的获取网络拓扑信息的系统,通过SNMPTRAP方式实时获取BGP拓扑信息和物理链路拓扑信息,增加了实时性;通过BDC方式定时纠正拓扑脏数据,保证网络设备性能的前提下,减少了因脏数据产生的影响。此外,通过监控机将SNMPTRAP包解析并转换为统一的格式,增强了兼容性,因此可扩展性强。此外,在拓扑变化时,进行告警,并且将拓扑信息汇聚存储到数据中心层,提高了安全性。
图15是根据本发明又一个实施例的获取网络拓扑信息的系统的结构图。
如图15所示,获取网络拓扑信息的系统还包括:
监控模块700用于获得当前集群系统中所有OSPF域900的链路状态通告(LSA)报文,对LSA报文进行分类,并通过对应的线程进行拓扑计算。
具体地,在监控模块700获得当前集群系统中所有OSPF域900的链路状态通告LSA报文之前,监控模块700通过守护进程与当前集群系统中的集群核心800建立邻居关系,然后通过集群核心800与每个OSPF域900建立邻居关系。
当分类后的LSA报文满足预设条件时,监控模块700通知对应的线程进行拓扑计算。
本发明的实施例中,监控模块700可对LSA报文进行分类,当分类后的LSA报文满足预设条件时,监控模块700可通知对应的线程进行拓扑计算。其中,预设条件为预先设定,可避免监控模块700获得的LSA过多,计算频繁,从而导致性能下降的问题。
具体地,监控模块700首先查找LSA报文所属的LSDB(链路状态数据库),如果获得的LSA报文没有所属的LSDB,则建立该报文所属的LSDB,并进行更新LSDB,然后通知对应的线程进行拓扑计算。
本发明实施例的获取网络拓扑信息的系统,通过监控模块获得当前集群系统中所有OSPF域的LSA报文,并对LSA报文进行分类,通过对应的线程进行拓扑计算,可实时地更新拓扑信息;一个监控模块可监控当前集群系统中所有OSPF域,节省了成本;同时还能及时对重大故障进行告警,减少因故障产生的损失。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (20)
1.一种获取网络拓扑信息的方法,其特征在于,应用于包含多个自治AS域的网络系统中,所述方法包括:
通过与所述AS域一一对应的监控机获得多个AS域之间的初始的边界网关协议BGP拓扑信息和物理链路拓扑信息;
通过所述监控机实时获得所述AS域的网络拓扑变化信息;以及
根据获得的所述初始的BGP拓扑信息和物理链路拓扑信息以及所述网络拓扑变化信息计算出当前BGP拓扑信息。
2.根据权利要求1所述的方法,其特征在于,所述获得多个AS域之间的初始的BGP拓扑信息和物理链路拓扑信息包括:
采用简单网络管理协议查询SNMPWALK方式通过所述监控机向对应的AS域内的网络设备发送数据采集请求;
接收每个AS域内的网络设备返回的BGP数据;以及
对所述BGP数据进行处理,获得初始的BGP拓扑和物理链路拓扑信息。
3.根据权利要求1所述的方法,其特征在于,所述通过与所述AS域一一对应的监控机实时获得所述AS域的网络拓扑变化信息包括:
通过所述监控机接收所述AS域内网络设备发送的包含BGP变化数据和端口状态信息的简单网络管理协议报告SNMPTRAP包;以及
根据所述SNMPTRAP包生成网络拓扑变化信息。
4.根据权利要求3所述的方法,其特征在于,所述通过所述监控机接收所述AS域内网络设备发送的包含BGP变化数据和端口状态信息的简单网络管理协议报告SNMPTRAP包,包括:
通过所述监控机获得格式转换后的SNMPTRAP包,其中,所述格式转换后的SNMPTRAP包由所述监控机对接收到的所述SNMPTRAP包进行解析并转换为统一的格式。
5.根据权利要求1所述的方法,其特征在于,在所述根据获得的所述初始的BGP拓扑信息和物理链路拓扑信息以及所述网络拓扑变化信息计算出当前BGP拓扑信息之前,所述方法还包括:
定时获得网络设备的网络拓扑变化信息。
6.根据权利要求1所述的方法,其特征在于,在所述根据获得的所述初始的BGP拓扑信息和物理链路拓扑信息以及所述网络拓扑变化信息计算出当前BGP拓扑信息之后,所述方法还包括:
保存所述当前BGP拓扑信息;和/或
根据所述当前BGP拓扑信息和获得的基准图进行告警处理。
7.根据权利要求1所述的方法,其特征在于,至少一个AS域内包含多个开放式最短路径优先OSPF域,每个AS域内的所有OSPF域构成一个集群系统,所述方法还包括:
监控模块获得当前集群系统中所有OSPF域的链路状态通告LSA报文;
对所述LSA报文进行分类,并通过对应的线程进行拓扑计算。
8.根据权利要求7所述的方法,其特征在于,在所述监控模块获得当前集群系统中所有OSPF域的链路状态通告LSA报文之前,所述方法还包括:
所述监控模块通过守护进程与所述当前集群系统中每个OSPF域建立邻居关系。
9.根据权利要求7所述的方法,其特征在于,所述监控模块通过对应的线程进行拓扑计算,包括:
当分类后的LSA报文满足预设条件时,所述监控模块通知对应的线程进行拓扑计算。
10.一种获取网络拓扑信息的系统,其特征在于,应用于包含多个自治AS域的网络系统中,所述系统包括:与所述AS域一对一相连的监控机和与所述监控机相连的边界网关协议BGP拓扑计算中心,其中:
所述监控机,用于获得多个AS域之间的初始的BGP拓扑信息和物理链路拓扑信息,以及实时获得所述AS域的网络拓扑变化信息;
所述BGP拓扑计算中心,用于通过所述监控机获得所述初始的BGP拓扑信息和物理链路拓扑信息以及所述网络拓扑变化信息,并根据获得的所述初始的BGP拓扑信息和物理链路拓扑信息以及所述网络拓扑变化信息计算出当前BGP拓扑信息。
11.根据权利要求10所述的系统,其特征在于,所述监控机,具体用于:
采用简单网络管理协议查询SNMPWALK方式向对应的AS域内的网络设备发送数据采集请求;
接收每个AS域内的网络设备返回的BGP数据;以及
对所述BGP数据进行处理,获得初始的BGP拓扑信息和物理链路拓扑信息。
12.根据权利要求10所述的系统,其特征在于,所述监控机,具体用于:接收所述AS域内网络设备发送的包含BGP变化数据和端口状态信息的简单网络管理协议报告SNMPTRAP包并向所述BGP拓扑计算中心转发;
所述BGP拓扑计算中心,具体用于:从所述监控机接收所述SNMPTRAP包,并根据所述SNMPTRAP包生成网络拓扑变化信息。
13.根据权利要求12所述的系统,其特征在于,所述监控机,具体用于:对接收到的所述SNMPTRAP包进行解析并转换为统一的格式;
所述BGP拓扑计算中心,具体用于:从所述监控机获得格式转换后的SNMPTRAP包,并根据所述格式转换后的SNMPTRAP包生成网络拓扑变化信息。
14.根据权利要求10所述的系统,其特征在于,所述系统还包括:
基础数据采集BDC模块,用于在所述BGP拓扑计算中心根据获得的所述初始的BGP拓扑信息和物理链路拓扑信息以及所述网络拓扑变化信息计算出当前BGP拓扑信息之前,定时获得网络设备的网络拓扑变化信息。
15.根据权利要求10所述的系统,其特征在于,所述系统还包括拓扑汇聚中心和数据中心层,
所述BGP拓扑计算中心,还用于向所述拓扑汇聚中心发送当前BGP拓扑信息;
所述拓扑汇聚中心,用于将接收到的当前BGP拓扑信息进行汇聚,并向所述数据中心层发送汇聚后的拓扑信息;
所述数据中心层,用于保存汇聚后的拓扑信息。
16.根据权利要求10所述的系统,其特征在于,所述系统还包括:
告警模块,用于在所述BGP拓扑计算中心计算出当前BGP拓扑信息之后,根据所述当前BGP拓扑信息和获得的基准图进行告警处理。
17.根据权利要求10所述的系统,其特征在于,至少一个AS域内包含多个开放式最短路径优先OSPF域,每个AS域内的所有OSPF域构成一个集群系统,所述系统还包括:
监控模块,用于获得当前集群系统中所有OSPF域的链路状态通告LSA报文,对所述LSA报文进行分类,并通过对应的线程进行拓扑计算。
18.根据权利要求17所述的系统,其特征在于,所述监控模块,还用于:
在所述监控模块获得当前集群系统中所有OSPF域的链路状态通告LSA报文之前,通过守护进程与所述当前集群系统中每个OSPF域建立邻居关系。
19.根据权利要求17所述的系统,其特征在于,所述监控模块,具体用于:
当分类后的LSA报文满足预设条件时,通知对应的线程进行拓扑计算。
20.根据权利要求18所述的系统,其特征在于,所述监控模块,具体用于:通过守护进程与所述当前集群系统中的集群核心建立邻居关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410049686.3A CN103825759B (zh) | 2014-02-13 | 2014-02-13 | 获取网络拓扑信息的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410049686.3A CN103825759B (zh) | 2014-02-13 | 2014-02-13 | 获取网络拓扑信息的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103825759A true CN103825759A (zh) | 2014-05-28 |
CN103825759B CN103825759B (zh) | 2017-10-27 |
Family
ID=50760606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410049686.3A Active CN103825759B (zh) | 2014-02-13 | 2014-02-13 | 获取网络拓扑信息的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103825759B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106982162A (zh) * | 2016-01-19 | 2017-07-25 | 华为技术有限公司 | 用于转发业务流的方法、装置和系统 |
CN107171866A (zh) * | 2017-06-30 | 2017-09-15 | 联想(北京)有限公司 | 一种拓扑处理方法和系统 |
WO2018170901A1 (en) * | 2017-03-24 | 2018-09-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and device for managing network based on border gateway protocol |
CN108809821A (zh) * | 2018-09-04 | 2018-11-13 | 四川长虹电器股份有限公司 | 一种基于消息云的即时通信方法 |
CN109150713A (zh) * | 2018-08-22 | 2019-01-04 | 赛尔网络有限公司 | 基于bgp+源终端和目的终端之间的路由方法及路由监测方法 |
CN110752948A (zh) * | 2019-10-18 | 2020-02-04 | 北京浪潮数据技术有限公司 | 一种拓扑状态展示方法、系统、设备及计算机存储介质 |
CN113395179A (zh) * | 2021-06-11 | 2021-09-14 | 中国科学技术大学 | 提高ip网络中bgp对等体抖动告警信息可读性的方法 |
CN113612837A (zh) * | 2021-07-30 | 2021-11-05 | 杭州朗和科技有限公司 | 数据处理方法、装置、介质和计算设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756189A (zh) * | 2004-09-30 | 2006-04-05 | 北京航空航天大学 | 基于snmp的ip网络拓扑发现方法 |
CN1859239A (zh) * | 2006-06-07 | 2006-11-08 | 北京邮电大学 | 互联网的域间路由监测与分析系统及其工作方法 |
CN101170445A (zh) * | 2007-11-20 | 2008-04-30 | 中兴通讯股份有限公司 | 基于简单网络管理的ip网络管理集群拓扑方法及系统 |
CN101247278A (zh) * | 2007-08-06 | 2008-08-20 | 北京高信达网络科技有限公司 | 路由监控装置 |
CN101252488B (zh) * | 2008-04-15 | 2012-07-04 | 中国科学院计算技术研究所 | 一种多自治系统路由器级拓扑处理系统和方法 |
CN103532746A (zh) * | 2013-09-30 | 2014-01-22 | 广东电网公司电力调度控制中心 | 工业系统的业务拓扑生成方法和系统 |
-
2014
- 2014-02-13 CN CN201410049686.3A patent/CN103825759B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756189A (zh) * | 2004-09-30 | 2006-04-05 | 北京航空航天大学 | 基于snmp的ip网络拓扑发现方法 |
CN1859239A (zh) * | 2006-06-07 | 2006-11-08 | 北京邮电大学 | 互联网的域间路由监测与分析系统及其工作方法 |
CN101247278A (zh) * | 2007-08-06 | 2008-08-20 | 北京高信达网络科技有限公司 | 路由监控装置 |
CN101170445A (zh) * | 2007-11-20 | 2008-04-30 | 中兴通讯股份有限公司 | 基于简单网络管理的ip网络管理集群拓扑方法及系统 |
CN101252488B (zh) * | 2008-04-15 | 2012-07-04 | 中国科学院计算技术研究所 | 一种多自治系统路由器级拓扑处理系统和方法 |
CN103532746A (zh) * | 2013-09-30 | 2014-01-22 | 广东电网公司电力调度控制中心 | 工业系统的业务拓扑生成方法和系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106982162A (zh) * | 2016-01-19 | 2017-07-25 | 华为技术有限公司 | 用于转发业务流的方法、装置和系统 |
CN106982162B (zh) * | 2016-01-19 | 2020-02-21 | 华为技术有限公司 | 用于转发业务流的方法、装置和系统 |
WO2018170901A1 (en) * | 2017-03-24 | 2018-09-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and device for managing network based on border gateway protocol |
CN107171866B (zh) * | 2017-06-30 | 2020-02-21 | 联想(北京)有限公司 | 一种拓扑处理方法和系统 |
CN107171866A (zh) * | 2017-06-30 | 2017-09-15 | 联想(北京)有限公司 | 一种拓扑处理方法和系统 |
CN109150713A (zh) * | 2018-08-22 | 2019-01-04 | 赛尔网络有限公司 | 基于bgp+源终端和目的终端之间的路由方法及路由监测方法 |
CN109150713B (zh) * | 2018-08-22 | 2021-11-09 | 赛尔网络有限公司 | 基于bgp+源终端和目的终端之间的路由方法及路由监测方法 |
CN108809821A (zh) * | 2018-09-04 | 2018-11-13 | 四川长虹电器股份有限公司 | 一种基于消息云的即时通信方法 |
CN110752948A (zh) * | 2019-10-18 | 2020-02-04 | 北京浪潮数据技术有限公司 | 一种拓扑状态展示方法、系统、设备及计算机存储介质 |
CN110752948B (zh) * | 2019-10-18 | 2022-08-16 | 北京浪潮数据技术有限公司 | 一种拓扑状态展示方法、系统、设备及计算机存储介质 |
CN113395179A (zh) * | 2021-06-11 | 2021-09-14 | 中国科学技术大学 | 提高ip网络中bgp对等体抖动告警信息可读性的方法 |
CN113612837A (zh) * | 2021-07-30 | 2021-11-05 | 杭州朗和科技有限公司 | 数据处理方法、装置、介质和计算设备 |
CN113612837B (zh) * | 2021-07-30 | 2023-08-08 | 杭州朗和科技有限公司 | 数据处理方法、装置、介质和计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103825759B (zh) | 2017-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103825759A (zh) | 获取网络拓扑信息的方法和系统 | |
EP2962429B1 (en) | Traffic recovery in openflow networks | |
US10581932B2 (en) | Network-based dynamic data management | |
CN105656653B (zh) | 分布式协调系统中新增节点的入网方法、装置和系统 | |
JP5643433B2 (ja) | プロトコルイベント管理のための方法および装置 | |
US8830820B2 (en) | Semi-centralized routing | |
Song et al. | Control path management framework for enhancing software-defined network (SDN) reliability | |
JP5941404B2 (ja) | 通信システム、経路切替方法及び通信装置 | |
JP5530864B2 (ja) | ネットワークシステム、管理サーバ、及び、管理方法 | |
US10237124B2 (en) | Network operation, administration, and maintenance (OAM) method, apparatus, and system | |
CN105357024A (zh) | 用于sdn网络的区域控制设备、域控制设备和控制系统 | |
CN110324165A (zh) | 网络设备的管理方法、装置及系统 | |
US9929941B2 (en) | Fast convergence for redundant edge devices | |
US10862735B2 (en) | Method and apparatus for implementing operation, administration, and maintenance function | |
CN102244609A (zh) | 解决vpls接入l3故障切换导致断流的方法及路由器 | |
CN108924011A (zh) | 用于ospf+路由协议的监测系统、相关设备、方法及介质 | |
WO2014175423A1 (ja) | 通信ノード、通信システム、パケット処理方法及びプログラム | |
JP2015192399A (ja) | パケット伝送システムおよびネットワークコントローラ | |
JP5274494B2 (ja) | 経路制御プロトコルに基づいて障害リンクを検出する方法、ノード装置及びプログラム | |
JP5630611B2 (ja) | ネットワーク監視システムおよびその監視対象装置の登録方法 | |
JP2011055231A (ja) | ネットワーク管理システムおよびネットワーク管理方法 | |
JP5585437B2 (ja) | ネットワーク管理装置、ネットワーク管理システム、および、ネットワーク管理方法 | |
WO2016082485A1 (zh) | 一种码流传输方法、装置、服务器和系统 | |
CN104852963A (zh) | 一种面向可重构网的Agent结构 | |
CN104539451B (zh) | 一种mep id获取方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |