CN113055297B - 网络拓扑发现方法及装置 - Google Patents
网络拓扑发现方法及装置 Download PDFInfo
- Publication number
- CN113055297B CN113055297B CN201911364886.7A CN201911364886A CN113055297B CN 113055297 B CN113055297 B CN 113055297B CN 201911364886 A CN201911364886 A CN 201911364886A CN 113055297 B CN113055297 B CN 113055297B
- Authority
- CN
- China
- Prior art keywords
- information
- router
- link state
- igp domain
- target
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种网络拓扑发现方法及装置,以解决现有技术中难以实现跨域采集网络拓扑信息的问题。该方法包括:在第一路由器上部署边界网关协议BGP‑链路状态LS;以及,建立第一路由器与采集器之间的BGP‑LS邻居关系;访问目标IGP域中用于记录链路状态路由信息的链路状态数据库,从链路状态数据库中获取指定类型的链路状态路由信息;根据链路状态路由信息及预设的最优路径确定方式,确定目标IGP域内各路由器的拓扑信息;基于BGP‑LS邻居关系,将拓扑信息发送至采集器,以使采集器根据拓扑信息生成目标IGP域对应的网络拓扑。该技术方案能够跨域采集网络拓扑信息且实现了拓扑信息上送协议归一化。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种网络拓扑发现方法及装置。
背景技术
传统的网络拓扑发现方法大多是利用SNMP协议(Simple Network ManagementProtocol,简单网络管理协议)和ICMP协议(Internet Control Message Protocol,因特网控制报文协议),这两种方法都采用主动探测手段获取用于构建网络拓扑的信息。此外,还有被动接收构建拓扑的信息的基于链路状态路由协议的拓扑发现方法。
基于SNMP协议和ICMP协议的拓扑发现方法需要向网络发送大量的数据,且需要遍历网络中所有路由器的路由表,对网络注入了额外的流量,并且实时性不好、准确性不高。
基于链路状态路由协议的拓扑发现方法对上层采集器的计算能力要求较高,且要求采集器支持不同的协议及其算法,当涉及到跨域拓扑信息收集时,上层采集器无法看到完整的拓扑信息,无法计算端到端的最优路径,而且不同的路由协议分别上送拓扑信息给上层采集器,采集器对拓扑信息的分析处理过程比较复杂。
发明内容
本发明实施例提供一种网络拓扑发现方法及装置,以解决现有技术中难以实现跨域采集网络拓扑信息的问题。
为解决上述技术问题,本发明实施例是这样实现的:
第一方面,本发明实施例提供了一种网络拓扑发现方法,应用于第一内部网关协议IGP域内的第一路由器,包括:
在所述第一路由器上部署边界网关协议BGP-链路状态LS;以及,建立所述第一路由器与采集器之间的BGP-LS邻居关系;
访问目标IGP域中用于记录链路状态路由信息的链路状态数据库,从所述链路状态数据库中获取指定类型的链路状态路由信息;所述目标IGP域包括所述第一IGP域和/或第二IGP域;所述第二IGP域为与所述第一IGP域不同、且存在至少一个路由器与所述第一路由器连接的域;
根据所述链路状态路由信息及预设的最优路径确定方式,确定所述目标IGP域内各所述路由器的拓扑信息;
基于所述BGP-LS邻居关系,将所述拓扑信息发送至所述采集器,以使所述采集器根据所述拓扑信息生成所述目标IGP域对应的网络拓扑。
第二方面,本发明实施例还提供了一种网络拓扑发现装置,应用于第一内部网关协议IGP域内的第一路由器,包括:
执行模块,用于在所述第一路由器上部署边界网关协议BGP-链路状态LS;以及,建立所述第一路由器与采集器之间的BGP-LS邻居关系;
获取模块,用于访问目标IGP域中用于记录链路状态路由信息的链路状态数据库,从所述链路状态数据库中获取指定类型的链路状态路由信息;所述目标IGP域包括所述第一IGP域和/或第二IGP域;所述第二IGP域为与所述第一IGP域不同、且存在至少一个路由器与所述第一路由器连接的域;
确定模块,用于根据所述链路状态路由信息及预设的最优路径确定方式,确定所述目标IGP域内各所述路由器的拓扑信息;
生成模块,用于基于所述BGP-LS邻居关系,将所述拓扑信息发送至所述采集器,以使所述采集器根据所述拓扑信息生成所述目标IGP域对应的网络拓扑。
第三方面,本发明实施例还提供了一种网络拓扑发现设备,包括:
存储器,存储有计算机程序指令;
处理器,当所述计算机程序指令被所述处理器执行时实现如上述第一方面所述的网络拓扑发现方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得所述计算机执行如上述第一方面所述的网络拓扑发现方法。
在本发明实施例中,通过在第一路由器上部署边界网关协议BGP-链路状态LS,以及建立第一路由器与采集器之间的BGP-LS邻居关系,并且访问目标IGP域中用于记录链路状态路由信息的链路状态数据库,从链路状态数据库中获取指定类型的链路状态路由信息,从而根据链路状态路由信息及预设的最优路径确定方式,确定目标IGP域内各路由器的拓扑信息,并基于BGP-LS邻居关系将拓扑信息发送至采集器,以使采集器根据拓扑信息生成目标IGP域对应的网络拓扑。可见,第一路由器确定的目标IGP域内各路由器的拓扑信息能够通过BGP协议上报给采集器,由于采集器是通过BGP路由的方式被动的接收拓扑信息,因此避免了增加额外的网络开销和网络负载,且降低了对采集器计算能力的要求,实现了拓扑信息上送协议归一化;并且,由于目标IGP域包括第一IGP域和/或第二IGP域,第二IGP域为与第一IGP域不同、且存在至少一个路由器与第一路由器连接的域,因此采集器能够获取到以第一路由器为根的整个网络拓扑(包括跨IGP域和跨自治系统)的链路状态路由信息,实现了拓扑信息的跨域采集。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一个实施例中一种网络拓扑发现方法的示意性流程图。
图2是本发明的另一个实施例中一种网络拓扑发现方法的示意性流程图。
图3是本发明的一个实施例中一种网络拓扑的结构示意图。
图4是本发明的一个实施例中一种链路状态路由信息示意图。
图5是本发明的一个实施例中一种目标IGP域内各路由器的拓扑信息示意图。
图6是本发明的一个实施例中一种汇总拓扑信息的示意图。
图7是本发明的一个实施例中一种汇总后的拓扑信息示意表。
图8是本发明的一个实施例中一种网络拓扑发现装置的结构示意图。
图9是本发明的一个实施例中一种网络拓扑发现设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明的一个实施例中一种网络拓扑发现方法的示意性流程图。应用于第一内部网关协议IGP(Interior Gateway Protocol)域内的第一路由器,图1的方法可包括:
S102,在第一路由器上部署边界网关协议BGP(Border Gateway Protocol)-链路状态LS(Link State);以及,建立第一路由器与采集器之间的BGP-LS(Border GatewayProtocol-Link State,边界网关协议-链路状态)邻居关系。
本实施例中,第一路由器可为IGP域内任何一台路由器,在第一路由器上部署BGP-LS并与采集器建立BGP-LS邻居关系后,可以实现整个网络拓扑信息的收集和上送。
可选的,为了提高网络拓扑信息上送的可靠性,可对IGP域内的两台或两台以上路由器部署BGP-LS并与采集器建立BGP-LS邻居关系,由于网络中的路由器收集的网络拓扑信息相同,所以部署BGP-LS的各路由器之间可以互相作为备份,当其中一台路由器出现故障时依然能够保证网络拓扑信息的及时上送。
S104,访问目标IGP域中用于记录链路状态路由信息的链路状态数据库,从链路状态数据库中获取指定类型的链路状态路由信息。
其中,目标IGP域包括第一IGP域和/或第二IGP域。第二IGP域为与第一IGP域不同、且存在至少一个路由器与第一路由器连接的域。
在一个实施例中,指定类型的链路状态路由信息包括第一类链路状态路由信息和第二类链路状态路由信息。其中,第一类链路状态路由信息包括目标IGP域内各路由器的接口地址和路由器地址;第二类链路状态路由信息包括目标IGP域内指派路由器的接口地址和路由器地址。指派路由器为一个广播域(即目标IGP域)中路由器地址最大的路由器。
在一个实施例中,从链路状态数据库中获取指定类型的链路状态路由信息之前,可配置目标IGP域中各路由器的路由器地址、接口地址、链路地址等信息。
在上述实施例中,能够访问目标IGP域的链路状态数据库,并从链路状态数据库中获取指定类型的链路状态路由信息,为后续确定拓扑信息提供了数据基础。
S106,根据链路状态路由信息及预设的最优路径确定方式,确定目标IGP域内各路由器的拓扑信息。
S108,基于BGP-LS邻居关系,将拓扑信息发送至采集器,以使采集器根据拓扑信息生成目标IGP域对应的网络拓扑。
在本发明实施例中,通过在第一路由器上部署边界网关协议BGP-链路状态LS,以及建立第一路由器与采集器之间的BGP-LS邻居关系,并且访问目标IGP域中用于记录链路状态路由信息的链路状态数据库,从链路状态数据库中获取指定类型的链路状态路由信息,从而根据链路状态路由信息及预设的最优路径确定方式,确定目标IGP域内各路由器的拓扑信息,并基于BGP-LS邻居关系将拓扑信息发送至采集器,以使采集器根据拓扑信息生成目标IGP域对应的网络拓扑。可见,第一路由器确定的目标IGP域内各路由器的拓扑信息能够通过BGP协议上报给采集器,由于采集器是通过BGP路由的方式被动的接收拓扑信息,因此避免了增加额外的网络开销和网络负载,且降低了对采集器计算能力的要求,实现了拓扑信息上送协议归一化;并且,由于目标IGP域包括第一IGP域和/或第二IGP域,第二IGP域为与第一IGP域不同、且存在至少一个路由器与第一路由器连接的域,因此采集器能够获取到以第一路由器为根的整个网络拓扑(包括跨IGP域和跨自治系统)的链路状态路由信息,实现了拓扑信息的跨域采集。
在一个实施例中,根据链路状态路由信息及预设的最优路径确定方式,确定目标IGP域内各路由器的拓扑信息时,可根据第一类链路状态路由信息和第二类链路状态路由信息,确定各路由器之间的预设类连接信息,其次根据预设类连接信息及最优路径确定方式,确定各路由器分别对应的最优路径信息,并根据最优路径信息确定目标IGP域内各路由器的拓扑信息。
其中,预设类连接信息包括连接到存根网络的信息、点对点连接信息、连接到传输网络的信息等。
在本实施例中,能够根据第一类链路状态路由信息和第二类链路状态路由信息,确定各路由器之间的预设类连接信息,并结合最优路径确定方式确定各路由器分别对应的最优路径信息,从而根据各路由器分别对应的最优路径信息确定目标IGP域内各路由器的拓扑信息,避免了因路径重复导致的数据冗余,使得得到的拓扑信息能准确反映目标IGP域的网络拓扑。
在一个实施例中,最优路径信息包括最短路径信息。根据预设类连接信息及最优路径确定方式,确定各路由器分别对应的最优路径信息时,可针对待确定路由器,确定目标IGP域内与待确定路由器直接或间接相连的至少一个第二路由器,并分别确定待确定路由器与各第二路由器之间的路径距离,从而获取最短路径距离对应的预设类连接信息,并将获取的预设类连接信息确定为待确定路由器对应的最短路径信息。
在本实施例中,能够确定目标IGP域内与待确定路由器直接或间接相连的至少一个第二路由器,并分别确定待确定路由器与各第二路由器之间的路径距离,从而获取最短路径距离对应的预设类连接信息,并将获取的预设类连接信息确定为待确定路由器对应的最短路径信息,避免了因路径重复导致的数据冗余,使得得到的拓扑信息能准确反映目标IGP域的网络拓扑。
在一个实施例中,基于BGP-LS邻居关系将拓扑信息发送至采集器时,可将拓扑信息汇总为节点信息、链路信息及前缀信息,并通过BGP-LS路由,将拓扑信息发送至采集器。
其中,BGP-LS路由包括节点路由、链路路由及前缀路由。节点路由用于携带节点信息,链路路由用于携带链路信息,前缀路由用于携带前缀信息。
在本实施例中,能够将拓扑信息汇总为节点信息、链路信息及前缀信息,并通过BGP-LS路由,将拓扑信息发送至采集器,实现了拓扑信息上送协议归一化。
图2是本发明的另一个实施例中一种网络拓扑发现方法的示意性流程图。应用于第一内部网关协议IGP域内的第一路由器,图2的方法可包括:
S201,在第一路由器上部署边界网关协议BGP-链路状态LS。
S202,建立第一路由器与采集器之间的BGP-LS邻居关系。
S203,配置目标IGP域中各路由器的路由器地址、接口地址及链路地址。
例如,若要发现如图3(各路由器的链路地址未在图中示出)所示的IGP域中4台路由器的网络拓扑,需先配置各路由器的路由器地址、接口地址及链路地址。其中,路由器R1的路由器地址为1.1.1.1,接口地址包括10.0.0.1、10.1.2.1、10.1.3.1;路由器R2的路由器地址为2.2.2.2,接口地址包括10.0.0.2、10.1.2.2、10.2.4.1;路由器R3的路由器地址为3.3.3.3,接口地址包括10.0.0.3、10.1.3.3、10.3.4.3;路由器R4的路由器地址为4.4.4.4,接口地址包括10.0.0.4、10.2.4.4、10.3.4.4。
S204,访问目标IGP域中用于记录链路状态路由信息的链路状态数据库,从链路状态数据库中获取指定类型的链路状态路由信息。
其中,目标IGP域包括第一IGP域和/或第二IGP域。第二IGP域为与第一IGP域不同、且存在至少一个路由器与第一路由器连接的域。指定类型的链路状态路由信息包括第一类链路状态路由信息和第二类链路状态路由信息;其中,第一类链路状态路由信息包括目标IGP域内各路由器的接口地址和路由器地址;第二类链路状态路由信息包括目标IGP域内指派路由器的接口地址和路由器地址。
例如,从如图3所示的IGP域的链路状态数据库中,获取的指定类型的部分链路状态路由信息如图4所示,第一类链路状态路由信息为图中的Router(type 1)LSAs,其包括各路由器的接口地址1.1.1.1、2.2.2.2、3.3.3.3、4.4.4.4和各路由器地址1.1.1.1、2.2.2.2、3.3.3.3、4.4.4.4;第二类链路状态路由信息为图中的Network(type 2)LSAs,其包括指派路由器R4的接口地址10.0.0.4和路由器地址4.4.4.4。此外,各路由器的接口地址未在图中完全示出,如路由器R1的接口地址还包括10.0.0.1、10.1.2.1、10.1.3.1,路由器R2的接口地址还包括10.0.0.2、10.1.2.2、10.2.4.1,路由器R3的接口地址还包括10.0.0.3、10.1.3.3、10.3.4.3,路由器R4的接口地址包括10.0.0.4、10.2.4.4、10.3.4.4。
S205,根据第一类链路状态路由信息和第二类链路状态路由信息,确定各路由器之间的预设类连接信息。
预设类连接信息包括连接到存根网络Stub的信息、点对点连接Point-to-point信息及连接到传输网络Transit的信息。
S206,根据预设类连接信息及最优路径确定方式,确定各路由器分别对应的最优路径信息。
可选的,最优路径确定方式可为:查看目标IGP域的链路状态数据库,获取第一类链路状态路由信息和第二类链路状态路由信息,由于目标路由器能够收集到域内所有路由器节点(以下简称节点)的路由信息和拓扑信息,因此根据拓扑信息,可确定目标节点至其他各节点之间的最优路径信息。其中,第一类链路状态路由信息和第二类链路状态路由信息与S204中所述的含义相同,即第一类链路状态路由信息包括目标IGP域内各路由器的接口地址和路由器地址,第二类链路状态路由信息包括目标IGP域内指派路由器的接口地址和路由器地址。
可选的,最优路径信息包括最短路径信息。根据预设类连接信息及最优路径确定方式,确定各路由器分别对应的最优路径信息时,可针对待确定路由器,确定目标IGP域内与待确定路由器直接或间接相连的至少一个第二路由器;并分别确定待确定路由器与各第二路由器之间的路径距离;从而获取最短路径距离对应的预设类连接信息,并将获取的预设类连接信息确定为待确定路由器对应的最短路径信息。
例如,确定最短路径信息时,可将待确定路由器作为根节点,对比根节点至直连邻居的所有链路和开销,开销最小的链路(即最短路径)加入到预设数据库,比如根节点为A,存在A-B、A-C、A-D三条链路,其中A-B链路开销最小,则将A-B链路加入预设数据库,再对比B至直连邻居的所有链路和开销,添加所有直连邻居链路。但除了以添加过的链路,比如B-E链路,若存在A-E链路及E通往根节点的其他链路,则对比E至根节点的链路与E通过B再至根节点的链路开销,删除最大开销链路,比如A-B-E的链路开销比A-E的链路开销大,则删除B-E链路。重复上述过程,直到最短路径信息全部确定。
S207,根据各路由器分别对应的最优路径信息,确定目标IGP域内各路由器的拓扑信息。
沿用上述举例,根据各路由器分别对应的最优路径信息,可确定出图3所示的IGP域内各路由器的拓扑信息。如图5所示,连接到存根网络Stub的信息包括各路由器的接口地址1.1.1.1、或者与最优路径对应的路由器之间的链路地址10.1.2.0、10.1.3.0、以及接口地址或链路地址对应的网络掩码255.255.255.255、255.255.255.0、255.255.255.0,点对点连接Point-to-point信息包括与待确定路由器相邻的各路由器的路由器地址2.2.2.2、3.3.3.3和自身的接口地址10.1.2.1、10.1.3.1,连接到传输网络Transit的信息包括指派路由器R4的接口地址10.0.0.4和自身的接口地址10.0.0.1。
S208,将目标IGP域内各路由器的拓扑信息汇总为节点信息、链路信息及前缀信息。
如图6所示为拓扑信息的汇总过程,沿用上述举例,节点Node信息对应第一类链路状态路由信息Router(type 1)LSAs,链路Link信息对应点对点连接Point-to-point信息及连接到传输网络Transit的信息,前缀Prefix信息对应连接到存根网络Stub的信息。
S209,基于BGP-LS邻居关系,通过BGP-LS路由,将拓扑信息发送至采集器,以使采集器根据拓扑信息生成目标IGP域对应的网络拓扑。
其中,BGP-LS路由包括节点路由、链路路由及前缀路由。节点路由用于携带节点信息,链路路由用于携带链路信息,前缀路由用于携带前缀信息。为了满足于现网一些跨IGP域或者是跨自治系统的网络能完整的展现拓扑,本方案利用了BGP-LS允许BGP携带链路状态路由信息的特性。例如:节点路由、链路路由及前缀路由。每个链路状态路由信息的标识秘钥都编码在NLRI(Network Layer Reachability Information,网络层可达性信息)中,但是链路状态路由信息的属性是编码在BGP-LS的属性中的。承载链路状态路由信息包含两个部分:节点信息、链路信息及前缀信息被编码在NLRI中。节点信息、链路信息及前缀信息的属性被编码在BGP-LS属性中。NLRI和BGP-LS属性中的信息是以类型/长度/值(Type-Length-Value,TLV)三元组编码。MP_REACH_NLRI(Multiprotocol Reachable NLRI,多协议可达NLRI)和MP_UNREACH_NLRI(Multiprotocol Unreachable NLRI,多协议不可达NLRI)属性是BGP的容器,用于携带不透明信息(即携带各路由器节点的拓扑信息)。每个NLRI描述一个节点,一条链路或一个前缀。其中,节点Node描述符、链路Link描述符、前缀Prefix描述符及BGP-LS属性定义如下:
节点Node描述符:每个链路都由基础IGP使用的一对Router-ID(路由器地址)锚定,即IS-IS(Intermediate system to intermediate system,中间系统到中间系统)的48位ISO(International Organization for Standardization,国际标准化组织)系统ID(Identity document,标识)、OSPFv2(Open Shortest Path First version 2,开放式最短路径优先第2版)与OSPFv3(Open Shortest Path First version 3,开放式最短路径优先第3版)的32位Router-ID。IGP可能会使用一个或多个其他辅助路由器ID,主要用于流量工程目的。例如,IS-IS可以具有一个或多个IPv4(Internet Protocol version4,互联网通信协议第4版)和IPv6(Internet Protocol version 6,互联网通信协议第6版)TE(TrafficEngineering,流量工程)路由器ID。这些辅助路由器ID必须包含在链接属性中。
链路Link描述符:链接描述符字段是一组类型/长度/值三元组。链路描述符TLV唯一地标识一对路由器之间的多个并行链路之间的链路。链接描述符TLV的链接实际上是“半链接”,即逻辑链接的单向表示。为了完全描述单个逻辑链路,两个始发路由器分别通告一个半链路,即为给定的点对点链路通告两个LinkNLRI。
前缀Prefix描述符:前缀描述符字段是一组类型/长度/值三元组。前缀描述符TLV唯一地标识各路由器节点发起的IPv4或IPv6前缀。
BGP-LS属性:BGP-LS属性是可选的非传递性BGP属性,用于承载链接、节点和前缀参数的属性,它定义为一组类型/长度/值三元组,此属性仅包含在链接状态NLRI中。
基于以上点(Node)、线(Link)、面(Prefix)及属性的描述,可以快速的构建拓扑,且可以跨域、跨自治系统,实现全网拓扑的发现。
可选的,通过BGP-LS路由,将拓扑信息发送至采集器之前,链路状态路由信息可以通过两种方式传递给BGP:初始建立时,即在IGP域和BGP之间建立新的通信时,或者在IGP域最初启用BGP-LS功能时,所有链路状态路由信息都会通过链路状态数据库下载到BGP;发生改变时,即当新的链路状态路由信息正在处理或从远程IGP域中的节点接收时,该链路状态路由信息将在BGP中添加或更新。
沿用上述举例,可生成如图7所示的路由,包括各路由器的1条node路由、3条Link路由、3条Prefix路由,共28条BGP-LS路由,以及广播域的1条node路由,4条Link路由,共5条BGP-LS路由。
在本发明实施例中,通过在第一路由器上部署边界网关协议BGP-链路状态LS,以及建立第一路由器与采集器之间的BGP-LS邻居关系,并且访问目标IGP域中用于记录链路状态路由信息的链路状态数据库,从链路状态数据库中获取指定类型的链路状态路由信息,从而根据链路状态路由信息及预设的最优路径确定方式,确定目标IGP域内各路由器的拓扑信息,并基于BGP-LS邻居关系将拓扑信息发送至采集器,以使采集器根据拓扑信息生成目标IGP域对应的网络拓扑。可见,第一路由器确定的目标IGP域内各路由器的拓扑信息能够通过BGP协议上报给采集器,由于采集器是通过BGP路由的方式被动的接收拓扑信息,因此避免了增加额外的网络开销和网络负载,且降低了对采集器计算能力的要求,实现了拓扑信息上送协议归一化;并且,由于目标IGP域包括第一IGP域和/或第二IGP域,第二IGP域为与第一IGP域不同、且存在至少一个路由器与第一路由器连接的域,因此采集器能够获取到以第一路由器为根的整个网络拓扑(包括跨IGP域和跨自治系统)的链路状态路由信息,实现了拓扑信息的跨域采集。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图8是本发明的一个实施例中一种网络拓扑发现装置的结构示意图。应用于第一内部网关协议IGP域内的第一路由器,请参考图8,网络拓扑发现装置可包括:
执行模块810,用于在第一路由器上部署边界网关协议BGP-链路状态LS;以及,建立第一路由器与采集器之间的BGP-LS邻居关系;
获取模块820,用于访问目标IGP域中用于记录链路状态路由信息的链路状态数据库,从链路状态数据库中获取指定类型的链路状态路由信息;目标IGP域包括第一IGP域和/或第二IGP域;第二IGP域为与第一IGP域不同、且存在至少一个路由器与第一路由器连接的域;
确定模块830,用于根据链路状态路由信息及预设的最优路径确定方式,确定目标IGP域内各路由器的拓扑信息;
生成模块840,用于基于BGP-LS邻居关系,将拓扑信息发送至采集器,以使采集器根据拓扑信息生成目标IGP域对应的网络拓扑。
在一个实施例中,指定类型的链路状态路由信息包括第一类链路状态路由信息和第二类链路状态路由信息;
其中,第一类链路状态路由信息包括目标IGP域内各路由器的接口地址和路由器地址;第二类链路状态路由信息包括目标IGP域内指派路由器的接口地址和路由器地址。
在一个实施例中,确定模块830包括:
第一确定单元,用于根据第一类链路状态路由信息和第二类链路状态路由信息,确定各路由器之间的预设类连接信息;预设类连接信息包括连接到存根网络的信息、点对点连接信息、连接到传输网络的信息中的至少一项;
第二确定单元,用于根据预设类连接信息及最优路径确定方式,确定各路由器分别对应的最优路径信息;
第三确定单元,用于根据最优路径信息,确定目标IGP域内各路由器的拓扑信息。
在一个实施例中,最优路径信息包括最短路径信息;
第二确定单元还用于:
针对待确定路由器,确定目标IGP域内与待确定路由器直接或间接相连的至少一个第二路由器;
分别确定待确定路由器与各第二路由器之间的路径距离;
获取最短路径距离对应的预设类连接信息,并将获取的预设类连接信息确定为待确定路由器对应的最短路径信息。
在一个实施例中,生成模块840包括:
执行单元,用于将拓扑信息汇总为节点信息、链路信息及前缀信息;
发送单元,用于通过BGP-LS路由,将拓扑信息发送至采集器;BGP-LS路由包括节点路由、链路路由及前缀路由;其中,节点路由用于携带节点信息;链路路由用于携带链路信息;前缀路由用于携带前缀信息。
在一个实施例中,网络拓扑发现装置还包括:
配置模块,用于配置目标IGP域中各路由器的以下至少一项信息:路由器地址、接口地址、链路地址。
本发明实施例提供的网络拓扑发现装置能够实现上述方法实施例中网络拓扑发现方法实现的各个过程,为避免重复,这里不再赘述。
在本发明实施例中,通过在第一路由器上部署边界网关协议BGP-链路状态LS,以及建立第一路由器与采集器之间的BGP-LS邻居关系,并且访问目标IGP域中用于记录链路状态路由信息的链路状态数据库,从链路状态数据库中获取指定类型的链路状态路由信息,从而根据链路状态路由信息及预设的最优路径确定方式,确定目标IGP域内各路由器的拓扑信息,并基于BGP-LS邻居关系将拓扑信息发送至采集器,以使采集器根据拓扑信息生成目标IGP域对应的网络拓扑。可见,第一路由器确定的目标IGP域内各路由器的拓扑信息能够通过BGP协议上报给采集器,由于采集器是通过BGP路由的方式被动的接收拓扑信息,因此避免了增加额外的网络开销和网络负载,且降低了对采集器计算能力的要求,实现了拓扑信息上送协议归一化;并且,由于目标IGP域包括第一IGP域和/或第二IGP域,第二IGP域为与第一IGP域不同、且存在至少一个路由器与第一路由器连接的域,因此采集器能够获取到以第一路由器为根的整个网络拓扑(包括跨IGP域和跨自治系统)的链路状态路由信息,实现了拓扑信息的跨域采集。
请参阅图9,图9是本发明实施例应用的网络拓扑发现设备的结构图,能够实现上述实施例中由网络拓扑发现设备执行的网络拓扑发现方法的细节,并达到相同的效果。如图9所示,网络拓扑发现设备900包括:处理器901、收发机902、存储器903、用户接口904和总线接口,其中:
在本发明实施例中,网络拓扑发现设备900还包括:存储在存储器上903并可在处理器901上运行的计算机程序,计算机程序被处理器901执行时实现如下步骤:
在第一路由器上部署边界网关协议BGP-链路状态LS;以及,建立第一路由器与采集器之间的BGP-LS邻居关系;
访问目标IGP域中用于记录链路状态路由信息的链路状态数据库,从链路状态数据库中获取指定类型的链路状态路由信息;目标IGP域包括第一IGP域和/或第二IGP域;第二IGP域为与第一IGP域不同、且存在至少一个路由器与第一路由器连接的域;
根据链路状态路由信息及预设的最优路径确定方式,确定目标IGP域内各路由器的拓扑信息;
基于BGP-LS邻居关系,将拓扑信息发送至采集器,以使采集器根据拓扑信息生成目标IGP域对应的网络拓扑。
在图9中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器901代表的一个或多个处理器和存储器903代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机902可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口904还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器901负责管理总线架构和通常的处理,存储器903可以存储处理器901在执行操作时所使用的数据。
可选的,指定类型的链路状态路由信息包括第一类链路状态路由信息和第二类链路状态路由信息;
其中,第一类链路状态路由信息包括目标IGP域内各路由器的接口地址和路由器地址;第二类链路状态路由信息包括目标IGP域内指派路由器的接口地址和路由器地址。
可选的,计算机程序被处理器901执行时还可实现如下步骤:根据链路状态路由信息及预设的最优路径确定方式,确定目标IGP域内各路由器的拓扑信息,包括:
根据第一类链路状态路由信息和第二类链路状态路由信息,确定各路由器之间的预设类连接信息;预设类连接信息包括连接到存根网络的信息、点对点连接信息、连接到传输网络的信息中的至少一项;
根据预设类连接信息及最优路径确定方式,确定各路由器分别对应的最优路径信息;
根据最优路径信息,确定目标IGP域内各路由器的拓扑信息。
可选的,最优路径信息包括最短路径信息;计算机程序被处理器901执行时还可实现如下步骤:
根据预设类连接信息及最优路径确定方式,确定各路由器分别对应的最优路径信息,包括:
针对待确定路由器,确定目标IGP域内与待确定路由器直接或间接相连的至少一个第二路由器;
分别确定待确定路由器与各第二路由器之间的路径距离;
获取最短路径距离对应的预设类连接信息,并将获取的预设类连接信息确定为待确定路由器对应的最短路径信息。
可选的,计算机程序被处理器901执行时还可实现如下步骤:
基于BGP-LS邻居关系,将拓扑信息发送至采集器,包括:
将拓扑信息汇总为节点信息、链路信息及前缀信息;
通过BGP-LS路由,将拓扑信息发送至采集器;BGP-LS路由包括节点路由、链路路由及前缀路由;其中,节点路由用于携带节点信息;链路路由用于携带链路信息;前缀路由用于携带前缀信息。
可选的,计算机程序被处理器901执行时还可实现如下步骤:
从链路状态数据库中获取指定类型的链路状态路由信息之前,配置目标IGP域中各路由器的以下至少一项信息:路由器地址、接口地址、链路地址。
在本发明实施例中,通过在第一路由器上部署边界网关协议BGP-链路状态LS,以及建立第一路由器与采集器之间的BGP-LS邻居关系,并且访问目标IGP域中用于记录链路状态路由信息的链路状态数据库,从链路状态数据库中获取指定类型的链路状态路由信息,从而根据链路状态路由信息及预设的最优路径确定方式,确定目标IGP域内各路由器的拓扑信息,并基于BGP-LS邻居关系将拓扑信息发送至采集器,以使采集器根据拓扑信息生成目标IGP域对应的网络拓扑。可见,第一路由器确定的目标IGP域内各路由器的拓扑信息能够通过BGP协议上报给采集器,由于采集器是通过BGP路由的方式被动的接收拓扑信息,因此避免了增加额外的网络开销和网络负载,且降低了对采集器计算能力的要求,实现了拓扑信息上送协议归一化;并且,由于目标IGP域包括第一IGP域和/或第二IGP域,第二IGP域为与第一IGP域不同、且存在至少一个路由器与第一路由器连接的域,因此采集器能够获取到以第一路由器为根的整个网络拓扑(包括跨IGP域和跨自治系统)的链路状态路由信息,实现了拓扑信息的跨域采集。
优选的,本发明实施例还提供一种网络拓扑发现设备,包括处理器901,存储器903,存储在存储器903上并可在所述处理器901上运行的计算机程序,该计算机程序被处理器901执行时实现上述网络拓扑发现方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述网络拓扑发现方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (8)
1.一种网络拓扑发现方法,其特征在于,应用于第一内部网关协议IGP域内的第一路由器,包括:
在所述第一路由器上部署边界网关协议BGP-链路状态LS;以及,建立所述第一路由器与采集器之间的BGP-LS邻居关系;
访问目标IGP域中用于记录链路状态路由信息的链路状态数据库,从所述链路状态数据库中获取指定类型的链路状态路由信息;所述目标IGP域包括所述第一IGP域和/或第二IGP域;所述第二IGP域为与所述第一IGP域不同、且存在至少一个路由器与所述第一路由器连接的域;
根据所述链路状态路由信息及预设的最优路径确定方式,确定所述目标IGP域内各所述路由器的拓扑信息;
基于所述BGP-LS邻居关系,将所述拓扑信息发送至所述采集器,以使所述采集器通过BGP路由的方式被动的接收拓扑信息,并根据所述拓扑信息生成所述目标IGP域对应的网络拓扑;
所述指定类型的链路状态路由信息包括第一类链路状态路由信息和第二类链路状态路由信息;
其中,所述第一类链路状态路由信息包括所述目标IGP域内各所述路由器的接口地址和路由器地址;所述第二类链路状态路由信息包括所述目标IGP域内指派路由器的接口地址和路由器地址,所述指派路由器为所述目标IGP域中路由器地址最大的路由器。
2.根据权利要求1所述的方法,其特征在于,所述根据所述链路状态路由信息及预设的最优路径确定方式,确定所述目标IGP域内各所述路由器的拓扑信息,包括:
根据所述第一类链路状态路由信息和第二类链路状态路由信息,确定各所述路由器之间的预设类连接信息;所述预设类连接信息包括连接到存根网络的信息、点对点连接信息、连接到传输网络的信息中的至少一项;
根据所述预设类连接信息及所述最优路径确定方式,确定各所述路由器分别对应的最优路径信息;
根据所述最优路径信息,确定所述目标IGP域内各所述路由器的拓扑信息。
3.根据权利要求2所述的方法,其特征在于,所述最优路径信息包括最短路径信息;
所述根据所述预设类连接信息及所述最优路径确定方式,确定各所述路由器分别对应的最优路径信息,包括:
针对待确定路由器,确定所述目标IGP域内与所述待确定路由器直接或间接相连的至少一个第二路由器;
分别确定所述待确定路由器与各所述第二路由器之间的路径距离;
获取最短路径距离对应的所述预设类连接信息,并将获取的所述预设类连接信息确定为所述待确定路由器对应的所述最短路径信息。
4.根据权利要求1所述的方法,其特征在于,所述基于所述BGP-LS邻居关系,将所述拓扑信息发送至所述采集器,包括:
将所述拓扑信息汇总为节点信息、链路信息及前缀信息;
通过BGP-LS路由,将所述拓扑信息发送至所述采集器;所述BGP-LS路由包括节点路由、链路路由及前缀路由;其中,所述节点路由用于携带所述节点信息;所述链路路由用于携带所述链路信息;所述前缀路由用于携带所述前缀信息。
5.根据权利要求1所述的方法,其特征在于,所述从所述链路状态数据库中获取指定类型的链路状态路由信息之前,还包括:
配置所述目标IGP域中各路由器的以下至少一项信息:路由器地址、接口地址、链路地址。
6.一种网络拓扑发现装置,其特征在于,应用于第一内部网关协议IGP域内的第一路由器,包括:
执行模块,用于在所述第一路由器上部署边界网关协议BGP-链路状态LS;以及,建立所述第一路由器与采集器之间的BGP-LS邻居关系;
获取模块,用于访问目标IGP域中用于记录链路状态路由信息的链路状态数据库,从所述链路状态数据库中获取指定类型的链路状态路由信息;所述目标IGP域包括所述第一IGP域和/或第二IGP域;所述第二IGP域为与所述第一IGP域不同、且存在至少一个路由器与所述第一路由器连接的域;
确定模块,用于根据所述链路状态路由信息及预设的最优路径确定方式,确定所述目标IGP域内各所述路由器的拓扑信息;
生成模块,用于基于所述BGP-LS邻居关系,将所述拓扑信息发送至所述采集器通过BGP路由的方式被动的接收拓扑信息,并以使所述采集器根据所述拓扑信息生成所述目标IGP域对应的网络拓扑;
所述指定类型的链路状态路由信息包括第一类链路状态路由信息和第二类链路状态路由信息;
其中,所述第一类链路状态路由信息包括所述目标IGP域内各所述路由器的接口地址和路由器地址;所述第二类链路状态路由信息包括所述目标IGP域内指派路由器的接口地址和路由器地址,所述指派路由器为所述目标IGP域中路由器地址最大的路由器。
7.一种网络拓扑发现设备,其特征在于,包括:
存储器,存储有计算机程序指令;
处理器,当所述计算机程序指令被所述处理器执行时实现如权利要求1至5中任一项所述的网络拓扑发现方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1至5中任一项所述的网络拓扑发现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911364886.7A CN113055297B (zh) | 2019-12-26 | 2019-12-26 | 网络拓扑发现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911364886.7A CN113055297B (zh) | 2019-12-26 | 2019-12-26 | 网络拓扑发现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113055297A CN113055297A (zh) | 2021-06-29 |
CN113055297B true CN113055297B (zh) | 2022-09-27 |
Family
ID=76505992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911364886.7A Active CN113055297B (zh) | 2019-12-26 | 2019-12-26 | 网络拓扑发现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113055297B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778938B (zh) * | 2021-08-31 | 2024-03-12 | 上海阵量智能科技有限公司 | 片上网络拓扑结构的确定方法、装置及芯片 |
CN114039863B (zh) * | 2021-10-19 | 2022-06-28 | 广州鲁邦通物联网科技股份有限公司 | 一种远程控制的多路由器vpn自动组网方法及系统 |
CN115865692A (zh) * | 2022-10-28 | 2023-03-28 | 中盈优创资讯科技有限公司 | 一种基于bgp-ls协议生成网络拓扑的方法 |
CN115914075B (zh) * | 2022-11-25 | 2024-05-17 | 中国电子科技网络信息安全有限公司 | 基于路由表的网络拓扑结点生成方法、设备、介质及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104168154A (zh) * | 2014-07-31 | 2014-11-26 | 中国人民解放军91655部队 | 面向网络态势感知的多级别网络系统及其构建方法 |
CN109818858A (zh) * | 2017-11-20 | 2019-05-28 | 中国电信股份有限公司 | 用于实现域间拓扑关系自动拼接的方法、装置和系统 |
CN110099002A (zh) * | 2019-04-12 | 2019-08-06 | 烽火通信科技股份有限公司 | 一种路径计算方法及装置 |
-
2019
- 2019-12-26 CN CN201911364886.7A patent/CN113055297B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104168154A (zh) * | 2014-07-31 | 2014-11-26 | 中国人民解放军91655部队 | 面向网络态势感知的多级别网络系统及其构建方法 |
CN109818858A (zh) * | 2017-11-20 | 2019-05-28 | 中国电信股份有限公司 | 用于实现域间拓扑关系自动拼接的方法、装置和系统 |
CN110099002A (zh) * | 2019-04-12 | 2019-08-06 | 烽火通信科技股份有限公司 | 一种路径计算方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113055297A (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113055297B (zh) | 网络拓扑发现方法及装置 | |
CN101455030B (zh) | 动态共享风险节点组(srng)成员发现 | |
CN108366121A (zh) | 物联网多智能网关的组网系统及设备控制方法 | |
US20150244607A1 (en) | Software Defined Networking (SDN) Specific Topology Information Discovery | |
US9331910B2 (en) | Methods and systems for automatic generation of routing configuration files | |
CN108429680B (zh) | 一种基于虚拟私有云的路由配置方法、系统、介质及设备 | |
US10819659B2 (en) | Direct replying actions in SDN switches | |
CN104168154A (zh) | 面向网络态势感知的多级别网络系统及其构建方法 | |
CN101005452A (zh) | 一种在ip设备之间进行通信的方法和系统 | |
US9231848B2 (en) | Method and system for an overlay management control network | |
US8667174B2 (en) | Method and system for survival of data plane through a total control plane failure | |
CN105591798A (zh) | Dcn中传输oam信息的方法、装置 | |
CN103618801A (zh) | 一种p2p资源共享的方法、设备及系统 | |
CN103825826A (zh) | 一种动态路由的实现方法和装置 | |
US20100027555A1 (en) | Method for processing link state advertisement and routing device | |
CN108924011A (zh) | 用于ospf+路由协议的监测系统、相关设备、方法及介质 | |
CN104038427A (zh) | 路由更新方法和路由更新装置 | |
CN105637806A (zh) | 网络拓扑确定方法和装置、集中式网络状态信息存储设备 | |
CN102546419B (zh) | 一种路由方法和装置、分组转发方法和系统 | |
US11343153B2 (en) | BGP logical topology generation method, and device | |
US7779123B2 (en) | System and method for building network model in network management application | |
EP3461079A1 (en) | Path establishment method and device, and network node | |
Mayr et al. | Optimal route reflection topology design | |
Karna et al. | Performance Analysis of Interior Gateway Protocols (IGPs) using GNS-3 | |
CN117176639B (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 |