CN111600737B - 一种拓扑信息收集方法及网络设备 - Google Patents
一种拓扑信息收集方法及网络设备 Download PDFInfo
- Publication number
- CN111600737B CN111600737B CN201910130000.6A CN201910130000A CN111600737B CN 111600737 B CN111600737 B CN 111600737B CN 201910130000 A CN201910130000 A CN 201910130000A CN 111600737 B CN111600737 B CN 111600737B
- Authority
- CN
- China
- Prior art keywords
- node
- tunnel
- address
- communication interface
- downstream
- 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
- 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
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- 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/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种拓扑信息收集方法及网络设备。该方法可应用于点到多点P2MP隧道或点到点P2P隧道。该方法包括:隧道中的任一根节点向该隧道中所有下游节点分别发送请求报文,并接收每个下游节点返回的应答报文。根节点根据每个中间节点发送的应答报文,获取第一隧道中的每个中间节点的LSR‑ID地址、上游通信接口地址和下游通信接口地址。根节点根据每个尾节点发送的应答报文,获取每个尾节点的LSR‑ID地址和上游通信接口地址。由此,根节点完成隧道拓扑信息的收集。进一步地,根节点还可以根据收集到的拓扑信息得到隧道的拓扑,或者将上述拓扑信息发送给网络管理设备,由此,网络设备通过收集多条隧道的拓扑,能够对隧道进行检测。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种拓扑信息收集方法以及网络设备。
背景技术
下一代组播虚拟专用网(next generation multicast virtual privatenetwork,NG MVPN)是互联网协议(internet protocol,IP)组播数据穿越边界网关协议(border gateway protocol,BGP)或多协议标记交换(multiprotocol label switching,MPLS)VPN网络的新一代框架。图1是现有的一种典型的NG MVPN的示意图。如图1所示,NGMVPN包括多个私有网络和一个公有网络。其中,用户网络边缘设备(customer edge,CE)为私有网络中通过自身接口直接与服务提供商SP(service provider)网络相连的设备。服务提供商网络的边缘设备(provider edge,PE)为公有网络中与CE直接相连的设备。服务提供商网络中的骨干设备(provider,P)不与CE直接相连,只需要具备基本MPLS转发能力,不维护VPN信息。如图1所示,在公有网络中具有用于承载组播数据的点到多点(point-to-multipoint,P2MP)隧道。私有网络1可将组播数据通过公有网络中的隧道组播到私有网络2和私有网络3。
在现有的实际应用中,公有网络的隧道还可以为点到点(point-to-point,P2P)隧道,用于承载单播数据。因此,公有网络中的隧道包括至少一个根节点和至少一个尾节点。通常情况下公有网络中的隧道还包括至少一个中间节点。中间节点包括转发节点(transit节点)、分叉节点(branch节点)和bud节点。例如,图2为现有的一种公有网络中的隧道的拓扑的示意图。如图2所示,隧道包括节点A~节点G。其中,节点A为根节点,节点B为transit节点,节点C为branch节点,节点D为尾节点,节点E为bud节点,节点F为尾节点,节点G为尾节点。其中,根节点为隧道的入口所在节点。transit节点为隧道中只有一个下游节点的节点。branch节点为隧道中具有多个下游节点的节点,且此节点在隧道中的下游设备不包括私有网络设备。bud节点为隧道中下游节点为公网设备和私网设备的节点。尾节点为隧道的出口所在节点。
目前,在很多情况下需要收集隧道的拓扑信息,以便进行相关操作。例如,运维人员需要收集隧道的拓扑信息,以便根据收集到的拓扑信息得到隧道的拓扑,并根据隧道的拓扑对公有网络进行运维操作。因此,如何收集隧道的拓扑信息是目前亟待解决的问题。
发明内容
本申请实施例提供了一种拓扑信息收集方法及网络设备,能够收集隧道的拓扑信息。
第一方面,本申请实施例提供了一种拓扑信息收集方法,该方法包括:第一根节点向该第一隧道中的每个下游节点分别发送请求报文;其中,该第一根节点为第一隧道的根节点,该第一隧道由该第一根节点以及该第一根节点的多个下游节点组成,该多个下游节点包括至少一个中间节点以及至少一个尾节点;第一根节点接收该第一隧道中的每个下游节点响应于收到的请求报文所发送的应答报文;第一根节点根据该第一隧道中的每个中间节点发送的应答报文,获取该第一隧道中的每个中间节点的标签交换路由器标识LSR-ID地址、上游通信接口地址和下游通信接口地址;第一根节点根据该第一隧道中的每个尾节点发送的应答报文,获取该第一隧道中的每个尾节点的LSR-ID地址和上游通信接口地址。
其中,第一隧道的每个中间节点的LSR-ID地址、第一隧道的每个中间节点的上游通信接口地址、第一隧道的每个中间节点的下游通信接口地址、第一隧道的每个尾节点的LSR-ID地址和上游通信接口地址都属于第一隧道的拓扑信息。因此,基于第一方面所描述的方法,能够收集第一隧道的拓扑信息。
在一种具体的设计中,第一根节点的多个下游节点中包括第一下游节点,第一根节点向第一隧道中多个下游节点的每个下游节点分别发送请求报文的具体实施方式为:第一根节点向第一下游节点发送第一请求报文;第一根节点接收每个下游节点响应于收到的请求报文所发送的应答报文的具体实施方式为:第一根节点接收第一下游节点响应于第一请求报文发送的第一应答报文;其中,该第一应答报文中携带第一下游节点的LSR-ID地址和上游通信接口地址,该第一下游节点的LSR-ID地址携带于该第一应答报文的第一类型-长度-值TLV中,该第一下游节点的上游通信接口地址携带于该第一应答报文的第二TLV中。这样第一根节点可直接从不同的TLV中分别获取下游节点的LSR-ID地址和上游通信接口地址,第一根节点不用区分下游节点的角色,有利于简化第一根节点的处理流程。
在一种具体的设计中,上述至少一个中间节点包括第一中间节点,第一根节点向第一隧道中多个下游节点的每个下游节点分别发送请求报文的具体实施方式为:第一根节点向第一中间节点发送第二请求报文;第一根节点接收每个下游节点响应于收到的请求报文所发送的应答报文的具体实施方式为:第一根节点接收第一中间节点响应于第二请求报文发送的第二应答报文;其中,第二应答报文包括第一源地址字段,该第一源地址字段携带第一中间节点的源地址,该第一中间节点的源地址与第一中间节点的上游通信接口地址相同;第一根节点根据每个中间节点发送的应答报文,获取每个中间节点的标签交换路由器标识LSR-ID地址、上游通信接口地址和下游通信接口地址的具体实施方式为:第一根节点根据第二应答报文携带的第一中间节点的源地址,获取第一中间节点的上游通信接口地址。基于该具体的设计,有利于提高报文封装效率,避免封装重复的内容。
在一种具体的设计中,上述至少一个尾节点包括第一尾节点,第一根节点向第一隧道中多个下游节点的每个下游节点分别发送请求报文的具体实施方式为:第一根节点向第一尾节点发送第三请求报文;第一根节点接收每个下游节点响应于收到的请求报文所发送的应答报文的具体实施方式为:第一根节点接收第一尾节点响应于第三请求报文发送的第三应答报文;其中,该第三应答报文包括第二源地址字段,该第二源地址字段携带第一尾节点的源地址,该第一尾节点的源地址与第一尾节点的LSR-ID地址相同;第一根节点根据每个尾节点发送的应答报文,获取每个尾节点的LSR-ID地址和上游通信接口地址的具体实施方式为:第一根节点根据第三应答报文携带的第一尾节点的源地址,获取第一尾节点的LSR-ID地址。基于该具体的设计,有利于提高报文封装效率,避免封装重复的内容。
在一种具体的设计中,上述请求报文中可包括LSR-ID地址TLV、上游通信接口地址TLV和下游通信接口地址TLV。其中,LSR-ID地址TLV、上游通信接口地址TLV和下游通信接口地址TLV中携带的地址为保留地址。例如,该保留地址可以为组播地址或其他预设的地址。
在一种具体的设计中,第一根节点还可根据第一根节点的下游通信接口地址、第一隧道的每个中间节点的LSR-ID地址、第一隧道的每个中间节点的上游通信接口地址、第一隧道的每个中间节点的下游通信接口地址、第一隧道的每个尾节点的LSR-ID地址和上游通信接口地址确定第一隧道的拓扑。基于该具体的设计,能够得到第一隧道的拓扑。
在一种具体的设计中,第一根节点确定第一隧道的拓扑之后,还可显示第一隧道的拓扑。通过显示第一隧道的拓扑,可以使用户清楚地了解组网情况,便于网络维护。
在一种具体的设计中,第一根节点还可执行以下步骤:第一根节点获取第二隧道的拓扑,该第二隧道为包括第二根节点的隧道;第一根节点根据第一隧道的拓扑和第二隧道的拓扑确定第一隧道是否与第二隧道具有部分相同的链路。基于该具体的设计,不需要人工检测第一隧道和第二隧道是否具有部分相同的链路,第一根节点能够自动检测第一隧道和第二隧道是否具有部分相同的链路,更加智能化。
在一种具体的设计中,第一根节点确定第一隧道的拓扑之后,可将第一隧道的拓扑发送给控制管理设备。这样控制管理设备就可根据第一隧道的拓扑检测第一隧道是否与包括第二根节点的第二隧道具有部分相同的链路。基于该具体的设计,使控制管理设备能够自动检测第一隧道和第二隧道是否具有部分相同的链路,更加智能化。
在一种具体的设计中,第一根节点可将第一隧道的拓扑信息发送给控制管理设备。这样控制管理设备就可根据第一隧道的拓扑信息检测第一隧道是否与包括第二根节点的第二隧道具有部分相同的链路。其中,该第一隧道的拓扑信息包括:第一根节点的下游通信接口地址、第一隧道的每个中间节点的LSR-ID地址、第一隧道的每个中间节点的上游通信接口地址、第一隧道的每个中间节点的下游通信接口地址、第一隧道的每个尾节点的LSR-ID地址和上游通信接口地址。基于该具体的设计,使控制管理设备能够自动检测第一隧道和第二隧道是否具有部分相同的链路,更加智能化。
在一种具体的设计中,控制管理设备为第一隧道或第二隧道中的中间节点或尾节点;或控制管理设备为第二隧道的根节点;或控制管理设备为软件定义网络(softwaredefined network,SDN)控制器、虚拟SDN控制器、网管或协同管理设备。
在一种具体的设计中,第一根节点向每个下游节点发送的请求报文为多协议标签交换回应请求报文,该每个下游节点发送的应答报文为多协议标签交换回应应答报文。
第二方面,本申请实施例提供了一种拓扑信息收集方法,该方法包括:中间节点接收第一根节点发送的请求报文,其中,该中间节点为第一隧道的中间节点,该第一隧道由第一根节点以及第一根节点的多个下游节点组成,该多个下游节点包括至少一个中间节点以及至少一个尾节点;中间节点响应于该请求报文,生成应答报文;该中间节点向该第一根节点发送该应答报文,该应答报文用于该第一根节点确定该中间节点的标签交换路由器标识LSR-ID地址、上游通信接口地址和下游通信接口地址。
在一种具体的设计中,中间节点的应答报文中携带该中间节点的LSR-ID地址和上游通信接口地址,该中间节点的LSR-ID地址携带于应答报文的第一类型-长度-值TLV中,该中间节点的上游通信接口地址携带于应答报文的第二TLV中。
在一种具体的设计中,中间节点判断该中间节点的源地址与该中间节点的上游通信接口地址是否相同;中间节点判断该中间节点的源地址与该中间节点的上游通信接口地址相同时,该中间节点在应答报文中不封装上游通信接口地址TLV,或者,该中间节点在应答报文中封装上游通信接口地址TLV,该上游通信接口地址TLV中携带保留地址,例如保留地址可以为组播地址。
在一种具体的设计中,中间节点判断该中间节点的源地址与该中间节点的上游通信接口地址不相同时,该中间节点在该中间节点的应答报文中封装上游通信接口地址TLV,该中间节点的上游通信接口地址携带于该上游通信接口地址TLV中。
在一种具体的设计中,请求报文为多协议标签交换回应请求报文,应答报文为多协议标签交换回应应答报文。
第三方面,本申请实施例提供了一种拓扑信息收集方法,该方法包括:尾节点接收第一根节点发送的请求报文,其中,该尾节点为第一隧道的尾节点,该第一隧道由第一根节点以及第一根节点的多个下游节点组成,该多个下游节点包括至少一个中间节点以及至少一个尾节点;尾节点响应于该请求报文,生成应答报文;该尾节点向该第一根节点发送该应答报文,该应答报文用于该第一根节点确定该尾节点的标签交换路由器标识LSR-ID地址和上游通信接口地址。
在一种具体的设计中,尾节点的应答报文中携带尾节点的LSR-ID地址和上游通信接口地址,该尾节点的LSR-ID地址携带于应答报文的第一类型-长度-值TLV中,该尾节点的上游通信接口地址携带于应答报文的第二TLV中。
在一种具体的设计中,尾节点判断该尾节点的源地址与该尾节点的LSR-ID地址是否相同;该尾节点判断该尾节点的源地址与该尾节点的LSR-ID地址相同时,该尾节点在应答报文中不封装LSR-ID地址TLV。或者,该尾节点在应答报文中封装LSR-ID地址TLV,该LSR-ID地址TLV中携带保留地址,例如保留地址可以为组播地址。
在一种具体的设计中,该尾节点判断该尾节点的源地址与该尾节点的LSR-ID地址不相同时,该尾节点在该尾节点的应答报文中封装LSR-ID地址TLV,该尾节点的LSR-ID地址携带于该LSR-ID地址TLV中。
在一种具体的设计中,请求报文为多协议标签交换回应请求报文,应答报文为多协议标签交换回应应答报文。
第四方面,本申请实施例提供了一种链路检测方法,该方法包括:控制管理设备获取第一隧道的拓扑和第二隧道的拓扑;控制管理设备根据第一隧道的拓扑和第二隧道的拓扑,确定第一隧道是否与第二隧道具有部分相同的链路。
在一种具体的设计中,控制管理设备获取第一隧道的拓扑和第二隧道的拓扑的具体实施方式为:控制管理设备接收第一根节点发送的第一隧道的拓扑和第二根节点发送的第二隧道的拓扑。
在一种具体的设计中,控制管理设备获取第一隧道的拓扑和第二隧道的拓扑的具体实施方式为:控制管理设备接收第一根节点发送的第一隧道的拓扑信息和第二根节点发送的第二隧道的拓扑信息;控制管理设备根据第一隧道的拓扑信息和第二隧道的拓扑信息确定第一隧道的拓扑和第二隧道的拓扑。
在一种具体的设计中,控制管理设备可以为第一隧道或第二隧道中的中间节点或尾节点;或控制管理设备可以为第二隧道的根节点;或控制管理设备可以为SDN控制器、虚拟SDN控制器、网管或协同管理设备。
第二方面~第四方面或第二方面~第四方面任意一种设计的有益效果具体可参见第一方面或第一方面任意一种设计的有益效果,在此不赘述。
第五方面,提供了一种网络设备,作为根节点,可执行上述第一方面或第一方面的任意一种设计中的方法。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的单元。该单元可以是软件和/或硬件。基于同一发明构思,该根节点解决问题的原理以及有益效果可以参见上述第一方面或第一方面的任意一种设计以及有益效果,重复之处不再赘述。
第六方面,提供了一种网络设备,作为中间节点,可执行上述第二方面或第二方面的任意一种设计中的方法。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的单元。该单元可以是软件和/或硬件。基于同一发明构思,该根节点解决问题的原理以及有益效果可以参见上述第二方面或第二方面的任意一种设计以及有益效果,重复之处不再赘述。
第七方面,提供了一种网络设备,作为尾节点,可执行上述第三方面或第三方面的任意一种设计中的方法。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的单元。该单元可以是软件和/或硬件。基于同一发明构思,该根节点解决问题的原理以及有益效果可以参见上述第三方面或第三方面的任意一种设计以及有益效果,重复之处不再赘述。
第八方面,提供了一种控制管理设备,该控制管理设备可执行上述第四方面或第四方面的任意一种设计中的方法。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的单元。该单元可以是软件和/或硬件。基于同一发明构思,该控制管理设备解决问题的原理以及有益效果可以参见上述第四方面或第四方面的任意一种设计以及有益效果,重复之处不再赘述。
第九方面,提供了一种网络设备,该网络设备包括:处理器以及和处理器相连的存储器;其中,该存储器包括计算机可读指令;该处理器用于执行该存储器中的计算机可读指令,从而使得该网络设备执行上述第一方面、第二方面、第三方面、第一方面的任意一种设计、第二方面的任意一种设计或第三方面的任意一种设计中的方案。可选的,网络设备还包括与处理器连接的收发器,收发器用于实现网络设备与其他网元之间的通信。该网络设备解决问题的实施方式以及有益效果可以参见上述第一方面、第二方面、第三方面、第一方面的任意一种设计、第二方面的任意一种设计或第三方面的任意一种设计中的方法以及有益效果,重复之处不再赘述。
第十方面,提供了一种控制管理设备,该控制管理设备包括:处理器以及和处理器相连的存储器;其中,该存储器包括计算机可读指令;该处理器用于执行该存储器中的计算机可读指令,从而使得该控制管理设备执行上述第四方面或第四方面的任意一种设计中的方法。可选的,控制管理设备还包括与处理器连接的收发器,收发器用于实现控制管理设备与其他网元之间的通信。该控制管理设备解决问题的实施方式以及有益效果可以参见上述第四方面或第四方面的任意一种设计以及有益效果,重复之处不再赘述。
第十一方面,提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面~第四方面或第一方面~第四方面的任意一种设计中的方法。
第十二方面,提供了一种芯片产品,执行上述第一方面~第四方面或第一方面~第四方面的任意一种设计中的方法。
第十三方面,提了供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面~第四方面或第一方面~第四方面的任意一种设计中的方法。
附图说明
图1是现有的一种典型的NG MVPN的示意图;
图2是现有的一种公有网络中的隧道的拓扑的示意图;
图3是本申请实施例提供的一种系统架构的示意图;
图4是本申请实施例提供的一种拓扑信息收集方法的流程示意图;
图5是本申请实施例提供的隧道1的拓扑的示意图;
图6是本申请实施例提供的隧道2的拓扑的示意图;
图7是本申请实施例提供的一种链路检测方法的流程示意图;
图8是本申请实施例提供的另一种拓扑信息收集方法的流程示意图;
图9是本申请实施例提供的另一种链路检测方法的流程示意图;
图10是本申请实施例提供的一种网络设备的结构示意图;
图11是本申请实施例提供的一种控制管理设备的结构示意图;
图12是本申请实施例提供的另一种网络设备的结构示意图;
图13是本申请实施例提供的另一种控制管理设备的结构示意图。
具体实施方式
为了便于理解本发明实施例,下面首先对本发明实施中涉及的专业术语进行介绍:
根节点(root节点):也可称之为头节点,源节点或入(ingress)节点。如图3所示,节点A为隧道1的根节点,节点G为隧道2的根节点。
转发节点(transit节点):此节点在隧道中只有一个下游节点,属于隧道的中间节点。如图3所示,节点B为隧道1和隧道2的转发节点。
分叉节点(branch节点):此节点在隧道中有多个下游节点,且此节点在隧道中的下游设备不包括私有网络设备,属于隧道的中间节点。如图3所示,节点C为隧道1和隧道2的分叉节点。
bud节点:此节点在隧道中的下游设备分别为公网设备和私网设备,此节点属于隧道的中间节点。如图3所示,节点E为隧道1和隧道2的bud节点。
尾节点:也可称之为叶子(leaf)节点,宿节点或出(egress)节点。下游设备仅为私网设备。如图3所示,节点D和节点F为隧道1和隧道2的尾节点。其中,上述各个节点可以为交换机、路由器等设备。
标签交换路由器标识(label switch router identification,LSR-ID)地址:LSR-ID用于标识标签交换路由器(label switch router,LSR),LSR-ID地址为LSR的全网唯一的IP地址。例如,LSR-ID地址可以为LSR的环回地址。
上游通信接口地址:隧道中,节点与上游节点进行通信的接口地址。在本申请中,可以是节点用于接收根节点发送的请求报文的接口的IP地址。例如,如图3所示,节点B通过节点B的接口b1接收到根节点A发送的请求报文,则节点B的上游通信接口地址为接口b1的IP地址。
下游通信接口地址:隧道中,节点与下游节点进行通信的接口地址。以根节点为例,根节点的下游通信接口地址为根节点将请求报文发往的相邻下游节点的接口的IP地址。例如,如图3所示,根节点A需要下发请求报文至节点B的接口b1,则根节点A的下游通信接口地址为接口b1的IP地址。
对于上述各个专业术语的其他描述还可参见RFC6425或RFC4379等相关标准中的描述,在此不再赘述。
为了能够更好地理解本申请实施例,下面对本申请实施例可应用的系统架构进行说明:
本申请的系统架构中包括一条或多条隧道。每条隧道包括一个根节点、至少一个中间节点和至少一个尾节点。一个根节点对应一条隧道。本申请实施例中的隧道可以是点到点(point-to-point,P2P)隧道或点到多点(point-to-multipoint,P2MP)隧道。P2MP隧道可以为点到多点组播标签分发协议(point-to-multipoint multipoint extensions forLDP,P2MP mLDP)隧道或点到多点流量工程(point-to-multipoint traffic engineering,P2MP TE)隧道。
图3是本申请实施例提供的一种系统架构的示意图。如图3所示,该系统架构中包括隧道1和隧道2。隧道1包括节点A、节点B、节点C、节点D、节点E、节点F。其中,节点A为隧道1的根节点,节点B、节点C和节点E为隧道1的中间节点,节点D和节点F为隧道1的尾节点。隧道2包括节点G、节点B、节点C、节点D、节点E、节点F。其中,节点G为隧道2的根节点,节点B、节点C和节点E也为隧道2的中间节点,节点D和节点F也为隧道2的尾节点。隧道1和隧道2均为P2MP隧道。当然图3所示的系统架构只是一种示例,本申请实施例的系统架构中也可只包括一条隧道,或包括两条以上的隧道,并且本申请实施例的系统架构中的隧道还可以是P2P隧道。
其中,隧道中的每个中间节点和尾节点可包括一个或多个通信接口,用于与相邻的节点进行通信。该通信接口可以是物理接口或逻辑接口,本申请实施例不做限定。相邻的两个节点之间可具有一条或多条链路,中间节点或尾节点的不同接口连接不同链路。例如,如图3所示,中间节点B具有接口b1和接口b2,根节点A与接口b1之间的链路为链路1,根节点G与接口b2之间的链路为链路2。中间节点C具有接口c1和接口c2,中间节点B与接口c1之间的链路为链路3,中间节点B与接口c2之间的链路为链路4。尾节点D具有接口d1,中间节点C与接口d1之间的链路为链路5。中间节点E具有接口e1,中间节点C与接口e1之间的链路为链路6。尾节点F具有接口f1,中间节点E与接口f1之间的链路为链路7。如图3所示,链路1、链路3、链路5、链路6和链路7为隧道1包括的链路。链路2、链路4、链路5、链路6和链路7为隧道2包括的链路。
隧道1的数据传输过程可以为:根节点A从私有网络接收到数据之后,通过链路1将该数据发送给中间节点B;中间节点B接收到该数据之后,通过链路3将该数据发送至中间节点C;中间节点C接收到该数据之后,通过链路5将该数据发送给尾节点D,并通过链路6将数据发射给中间节点E。尾节点D接收到该数据之后,将该数据发送给连接的私有网络设备。中间节点E接收到该数据之后,将该数据发送至连接的私有网络设备,并通过链路7将该数据发送至尾节点F。隧道2的数据传输过程的原理与隧道1的数据传输过程的原理相似,在此不赘述。
目前,在很多场景下需要使用隧道的拓扑信息。例如,根据隧道的拓扑信息可以确定隧道的拓扑,从而可以向用户展示隧道的拓扑,以使用户可以清楚地了解组网情况,便于网络维护。再如,可以根据该多条隧道的拓扑信息确定该多条隧道的拓扑,并根据该多条隧道的拓扑检测该多条隧道之间是否具有部分相同的路径。在实际应用中,如果多条隧道之间具有部分相同的链路,在该多条隧道的重合节点发生故障时,将导致业务长时间中断,给用户带来不好的用户体验。因此,需要及时地检测多条隧道之间是否具有部分相同的链路,以便在检测到多条隧道具有部分相同的路径时,可以及时采取措施避免该多条隧道之间出现部分相同的路径。
因此,为了能够收集隧道的拓扑信息,本申请实施例提供了一种拓扑信息收集方法及网络设备。下面基于图3所示的系统架构,进一步对本申请实施例提供的拓扑信息收集方法进行介绍。
请参见图4,图4是本申请实施例提供的一种拓扑信息收集方法。如图4所示,该拓扑信息收集方法400包括如下步骤401~步骤408,其中:
401、根节点A向隧道1中根节点A的每个下游节点分别发送请求报文。
本申请实施例中,隧道1中根节点A的每个下游节点接收到根节点A发送的请求报文之后,生成应答报文,并向根节点A发送应答报文。
402、根节点A接收隧道1中根节点A的每个下游节点响应于收到的请求报文所发送的应答报文。
其中,隧道1中根节点A的下游节点包括中间节点B、中间节点C、中间节点E、尾节点D和尾节点F。因此,根节点A会向中间节点B发送请求报文,向中间节点C发送请求报文,向中间节点E发送请求报文,向尾节点D发送请求报文,并向尾节点F发送请求报文。也就是说,中间节点B、中间节点C、中间节点E、尾节点D和尾节点F都会接收到根节点A发送的请求报文。
中间节点B接收到根节点A发送的请求报文之后,生成应答报文,并向根节点A发送应答报文。中间节点C接收到根节点A发送的请求报文之后,生成应答报文,并向根节点A发送应答报文。尾节点D接收到根节点A发送的请求报文之后,生成应答报文,并向根节点A发送应答报文。中间节点E接收到根节点A发送的请求报文之后,生成应答报文,并向根节点A发送应答报文。尾节点F接收到根节点A发送的请求报文之后,生成应答报文,并向根节点A发送应答报文。因此,根节点A会接收到中间节点B发送的应答报文、中间节点C发送的应答报文、尾节点D发送的应答报文、中间节点E发送的应答报文和尾节点F发送的应答报文。
在一种具体的设计中,请求报文可以为回应请求(echo request)报文,应答报文可以为回应应答(echo reply)报文。其中,回应请求报文具体可以为多协议标签交换回应请求(multi-protocol label switching echo request)报文,回应应答报文具体可以为多协议标签交换回应应答(multi-protocol label switching echo reply)报文。多协议标签交换回应请求报文和多协议标签交换回应应答报文的相关格式可参见RFC4379,RFC4379的内容以全文引用的方式并入本申请中。或者,请求报文还可以是其他类型的请求报文,应答报文还可以是其他类型的应答报文,本申请实施例不做限定。
具体地,根节点A可通过以下两种方式向隧道1中根节点A的每个下游节点分别发送请求报文。
方式一:根节点A会发出多个请求报文,每个请求报文都携带不同的生存时间(time to live,TTL)。TTL是指请求报文被节点丢弃之前允许通过的网段数量。第一个请求报文携带的TTL为1,后面的请求报文的TTL在前一个请求报文的TTL基础上加1。例如,第二个请求报文携带的TTL为2;第三个请求报文携带的TTL为3;依次类推,直到请求报文中的TTL大于TTL的预设最大值,则可停止发送请求报文。例如,TTL的预设最大值可以为64或128等。
以TTL的预设最大值为64为例。根节点A会发送64个请求报文,分别为请求报文1~请求报文64。请求报文1携带的TTL为1;请求报文2携带的TTL为2;请求报文3携带的TTL为3;请求报文4携带的TTL为4;请求报文5携带的TTL为5;依次类推,请求报文64携带的TTL为64。节点接收到根节点A发送的请求报文之后,会将该请求报文中的TTL减1;若TTL减1之后TTL为0,则该节点针对该请求报文向根节点A发送应答报文,并不再向该节点下游的节点转发该请求报文。若将该请求报文中的TTL减1之后TTL不为0,则该节点不针对该请求报文向根节点A发送应答报文,该节点会将该请求报文转发至下游的节点。
例如,中间节点B接收到TTL为1的请求报文1之后,将请求报文1中的TTL减1。由于请求报文1中的TTL减1之后,请求报文1中的TTL为0;因此中间节点B针对该请求报文1向根节点A发送应答报文1,并且中间节点B不向中间节点C转发请求报文1。
中间节点B接收到TTL为2的请求报文2之后,将请求报文2中的TTL减1。由于请求报文2中的TTL减1之后,请求报文2中的TTL为1;因此中间节点B向中间节点C转发TTL为1的请求报文2,并且中间节点B不针对该请求报文2向根节点A发送应答报文。中间节点C接收到TTL为1的请求报文2之后,将请求报文2中的TTL减1。中间节点C将请求报文2中的TTL减1之后,请求报文2中的TTL为0;因此中间节点C针对该请求报文2向根节点A发送应答报文2,并且中间节点C不向尾节点D和中间节点E转发请求报文2。
同理,中间节点B接收到TTL为3的请求报文3之后,将请求报文3中的TTL减1,并向中间节点C发送TTL为2的请求报文3。中间节点C接收到TTL为2的请求报文3之后,将请求报文3中的TTL减1,并向尾节点D和中间节点E转发TTL为1的请求报文3。尾节点D接收TTL为1的请求报文3之后,将请求报文3中的TTL减1。尾节点D将请求报文3中的TTL减1之后,请求报文3中的TTL为0;因此尾节点D针对请求报文3向根节点A发送应答报文3。中间节点E接收TTL为1的请求报文3之后,将请求报文3中的TTL减1。中间节点E将请求报文3中的TTL减1之后,请求报文3中的TTL为0;因此中间节点E针对请求报文3向根节点A发送应答报文4,并且中间节点E不向尾节点F转发请求报文3。
同理,中间节点B接收到TTL为4的请求报文4之后,将请求报文4中的TTL减1,并向中间节点C发送TTL为3的请求报文4。中间节点C接收到TTL为3的请求报文4之后,将请求报文4中的TTL减1,并向尾节点D和中间节点E发送TTL为2的请求报文4。尾节点D接收到TTL为2的请求报文4之后,将请求报文4中的TTL减1。尾节点D将请求报文4中的TTL减1之后,请求报文4中的TTL为1;由于尾节点D在隧道1中无下游节点,因此,尾节点D丢弃请求报文4。中间节点E接收到TTL为2的请求报文4之后,将请求报文4中的TTL减1。中间节点E将请求报文4中的TTL减1之后,请求报文4中的TTL为1,中间节点E向尾节点F发送TTL为1的请求报文4。尾节点F接收到TTL为1的请求报文4之后,将请求报文4中的TTL减1。尾节点F将请求报文4中的TTL减1之后,请求报文4中的TTL为0,因此尾节点F向根节点A发送应答报文5。同理,尾节点D和尾节点F接收到请求报文5~请求报文64之后,由于尾节点D和尾节点F在隧道1中无下游节点,则尾节点D和尾节点F丢弃请求报文5~请求报文64。
可见,通过这种方式,中间节点B会接收到请求报文1,并针对请求报文1向根节点A发送应答报文1。中间节点C会接收到请求报文2,并针对请求报文2向根节点A发送应答报文2。尾节点D会接收到请求报文3,并针对请求报文3向根节点A发送应答报文3。中间节点E会接收到请求报文3,并针对请求报文3向根节点A发送应答报文4。尾节点F会接收到请求报文4,并针对请求报文4向根节点A发送应答报文5。
通过方式一发送请求报文,由于在各个请求报文中均携带了TTL,能够避免请求报文在网络上永不终止地循环发送。
方式二:请求报文中不携带TTL,根节点A发送一个请求报文。下游节点接收到根节点A发送的请求报文之后,向下转发该请求报文,直到隧道1中除根节点A之外的所有节点都接收到该请求报文。
例如,根节点A发送请求报文至中间节点B。中间节点B接收该请求报文之后,向根节点A发送应答报文,并将该请求报文发送至中间节点C。中间节点C接收该请求报文之后,向根节点A发送应答报文,并将该请求报文发送至尾节点D和中间节点E。尾节点D接收该请求报文之后,针对该请求报文向根节点A发送应答报文。由于尾节点D在隧道1中无下游节点,因此尾节点D不再向下转发该请求报文,尾节点D针对该请求报文向根节点A发送应答报文之后,尾节点D可丢弃该请求报文。中间节点E接收该请求报文之后,针对该请求报文向根节点A发送应答报文,并将该请求报文发送至尾节点F。尾节点F接收该请求报文之后,针对该请求报文向根节点A发送应答报文。由于尾节点F在隧道1中无下游节点,因此尾节点F不再向下转发该请求报文,尾节点F针对该请求报文向根节点A发送应答报文之后,尾节点F可丢弃该请求报文。
通过方式二发送请求报文,根节点A只需要发送一个请求报文,根节点A在隧道1中的每个下游节点都可接收到根节点A发送的请求报文;并且在隧道1中根节点A的每个下游节点接收到根节点A发送的请求报文之后,都会向根节点A发送应答报文。因此,通过方式二发送请求报文,有利于减少根节点A发送的请求报文的数量。
当然根节点A还可通过除上述方式一和方式二之外的其他方式发送请求报文,本申请实施例不做限定。
具体地,根节点A可通过以下两种方式触发向隧道1中根节点A的每个下游节点分别发送请求报文。
方式一:根节点A接收发送指令,该发送指令用于指示根节点A向隧道1中根节点A的每个下游节点分别发送请求报文。根节点A接收该发送指令之后,向隧道1中根节点A的每个下游节点分别发送请求报文。在一种具体的设计中,该发送指令可以是tracert指令,或可以是其他指令,本申请实施例不做限定。该发送指令可以是用户在根节点A输入的,或可以是根节点A从其他设备接收的。
方式二:根节点A以预设时间周期向隧道1中根节点A的每个下游节点分别发送请求报文。由于隧道中节点可能出现故障,隧道中节点可能出现故障之后,隧道中的链路可能会发生改变;因此根节点A可以每隔一段时间向隧道1中根节点A的每个下游节点分别发送请求报文,以收集隧道的拓扑信息。例如,根节点A可以每隔5小时向隧道1中根节点A的每个下游节点分别发送请求报文。
当然根节点A还可通过其他方式触发向隧道1中根节点A的每个下游节点分别发送请求报文,本申请实施例不做限定。
403、根节点A根据隧道1中的每个中间节点发送的应答报文,获取隧道1中的每个中间节点的LSR-ID地址、上游通信接口地址和下游通信接口地址。
例如,根节点A接收中间节点B发送的应答报文之后,可根据中间节点B发送的应答报文获取中间节点B的LSR-ID地址、上游通信接口地址和下游通信接口地址。根节点A接收中间节点C发送的应答报文之后,可根据中间节点C发送的应答报文获取中间节点C的LSR-ID地址、上游通信接口地址和下游通信接口地址。根节点A接收中间节点E发送的应答报文之后,可根据中间节点E发送的应答报文获取中间节点E的LSR-ID地址、上游通信接口地址和下游通信接口地址。
其中,中间节点B的LSR-ID地址为中间节点B的全网唯一IP地址,中间节点C的LSR-ID地址为中间节点C的全网唯一IP地址,中间节点E的LSR-ID地址为中间节点E的全网唯一IP地址。例如,如下表1所示,中间节点B的LSR-ID地址为中间节点B的环回地址。中间节点C的LSR-ID地址为中间节点C的环回地址。中间节点E的LSR-ID地址为中间节点E的环回地址。
如下表1所示,由于中间节点B通过b1接口接收根节点A的请求报文,因此,中间节点B向根节点A发送的应答报文中,中间节点B的上游通信接口地址为接口b1的IP地址。由于中间节点B需要将根节点A发送的请求报文转发至中间节点C的c1接口;因此,中间节点B向根节点A发送的应答报文中,中间节点B的下游通信接口地址为接口c1的IP地址。同理,中间节点C向根节点A发送的应答报文中,中间节点C的上游通信接口地址为接口c1的IP地址,中间节点C的下游通信接口地址为接口d1的IP地址和接口e1的IP地址。同理,中间节点E向根节点A发送的应答报文中,中间节点E的上游通信接口地址为接口e1的IP地址,中间节点E的下游通信接口地址为接口f1的IP地址。
表1
404、根节点A根据隧道1中的每个尾节点发送的应答报文,获取隧道1中的每个尾节点的LSR-ID地址和上游通信接口地址。
例如,根节点A接收尾节点D发送的应答报文之后,可根据尾节点D发送的应答报文获取尾节点D的LSR-ID地址和上游通信接口地址。根节点A接收尾节点F发送的应答报文之后,可根据尾节点F发送的应答报文获取尾节点F的LSR-ID地址和上游通信接口地址。
其中,尾节点D的LSR-ID地址为尾节点D的全网唯一IP地址,尾节点F的LSR-ID地址为尾节点F的全网唯一IP地址。例如,如下表2所示,尾节点D的LSR-ID地址为尾节点D的环回地址。尾节点F的LSR-ID地址为尾节点F的环回地址。
如下表2所示,由于尾节点D通过d1接口接收根节点A的请求报文;因此,尾节点D向根节点A发送的应答报文中,尾节点D的上游通信接口地址为接口d1的IP地址。同理,尾节点F向根节点A发送的应答报文中,尾节点F的上游通信接口地址为接口f1的IP地址。
表2
节点 | LSR-ID地址 | 上游通信接口地址 |
尾节点D | 尾节点D的环回地址 | 接口d1的IP地址 |
尾节点F | 尾节点F的环回地址 | 接口f1的IP地址 |
其中,隧道1的拓扑信息包括根节点A的下游通信接口地址、隧道1的每个中间节点的LSR-ID地址、隧道1的每个中间节点的上游通信接口地址、隧道1的每个中间节点的下游通信接口地址、隧道1的每个尾节点的LSR-ID地址和上游通信接口地址。即隧道1的拓扑信息包括:根节点A的下游通信接口地址、中间节点B的LSR-ID地址、上游通信接口地址和下游通信接口地址、中间节点C的LSR-ID地址、上游通信接口地址和下游通信接口地址、中间节点E的LSR-ID地址、上游通信接口地址和下游通信接口地址、尾节点D的LSR-ID地址和上游通信接口地址、尾节点F的LSR-ID地址和上游通信接口地址。因此,通过执行步骤401~步骤404能够收集隧道1的拓扑信息。
其中,根节点A的下游通信接口地址为接口b1的IP地址。隧道1中的中间节点的LSR-ID地址、上游通信接口地址和下游通信接口地址可参见上表1所示的地址。隧道1中的尾节点的LSR-ID地址和上游通信接口地址可参见上表2所示的地址。
其中,根节点A的下游节点的相关地址(如LSR-ID地址、上游通信接口地址和/或下游通信接口地址)在应答报文中的携带方式可以包括以下三种方式:
方式一,中间节点的LSR-ID地址携带于应答报文的第一类型-长度-值(type-length-value,TLV)中;中间节点的上游通信接口地址携带于应答报文的第二TLV中;中间节点的下游通信接口地址携带于应答报文的第三TLV中。尾节点的LSR-ID地址携带于应答报文的第一TLV;尾节点的上游通信接口地址携带于应答报文的第二TLV中。
例如,中间节点B的应答报文中包括LSR-ID地址TLV、上游通信接口地址TLV和下游通信接口地址TLV。中间节点B的LSR-ID地址携带于中间节点B的应答报文的LSR-ID地址TLV中,中间节点B的上游通信接口地址携带于中间节点B的应答报文的上游通信接口地址TLV中。中间节点B的下游通信接口地址携带于中间节点B的应答报文的下游通信接口地址TLV中。相应地,根节点A从中间节点B的应答报文的LSR-ID地址TLV中获取中间节点B的LSR-ID地址;根节点A从中间节点B的应答报文的上游通信接口地址TLV中获取中间节点B的上游通信接口地址;根节点A从中间节点B的应答报文的下游通信接口地址TLV中获取中间节点B的下游通信接口地址。中间节点C和中间节点E同理,在此不赘述。
尾节点D的应答报文中包括LSR-ID地址TLV和上游通信接口地址TLV。尾节点D的LSR-ID地址携带于尾节点D的应答报文的LSR-ID地址TLV中,尾节点D的上游通信接口地址携带于尾节点D的应答报文的上游通信接口地址TLV中。相应地,根节点A从尾节点D的应答报文的LSR-ID地址TLV中获取尾节点D的LSR-ID地址;根节点A从尾节点D的应答报文的上游通信接口地址TLV中获取尾节点D的上游通信接口地址。尾节点F同理,在此不赘述。
具体地,本申请实施例全文中的LSR-ID地址TLV至少包括三个字段,分别为类型(type)字段、长度(length)字段和LSR-ID地址字段。LSR-ID地址携带于LSR-ID地址字段中。长度(length)字段携带TLV中该长度字段之后所有内容的长度,类型(type)字段携带LSR-ID地址的类型。上游通信接口地址TLV和下游通信接口地址TLV同理,在此不赘述。
采用方式一在应答报文中携带下游节点的LSR-ID地址和上游通信接口地址,根节点可直接从LSR-ID地址TLV和上游通信接口地址TLV中分别获取下游节点的LSR-ID地址和上游通信接口地址。这样根节点不用区分下游节点的角色,有利于简化根节点的处理流程。
方式二,中间节点的应答报文还包括源地址字段,该源地址字段携带该中间节点的源地址。中间节点判断该中间节点的源地址是否与该中间节点的上游通信接口地址相同。如果中间节点判断该中间节点的源地址与该中间节点的上游通信接口地址不相同,则中间节点在应答报文中封装上游通信接口地址TLV,该中间节点的上游通信接口地址携带于该上游通信接口地址TLV中。这种情况下,根节点A可从该中间节点的应答报文的上游通信接口地址TLV中获取该中间节点的上游通信接口地址。
如果中间节点判断该中间节点的源地址与该中间节点的上游通信接口地址相同,则中间节点在应答报文中不封装上游通信接口地址TLV;或者,中间节点在应答报文中封装上游通信接口地址TLV,但该上游通信接口地址TLV中携带保留地址,例如保留地址可以为组播地址。这种情况下,根节点A可从该中间节点的应答报文的源地址字段中获取源地址作为该中间节点的上游通信接口地址。其中,该方式二中的中间节点可以是transit节点和branch节点。基于方式二,有利于提高报文封装效率,避免封装重复的内容。
在一种具体的设计中,在方式二中,中间节点的LSR-ID地址和下游通信接口地址携带于应答报文的不同TLV中。
例如,中间节点B的应答报文中包括LSR-ID地址TLV、下游通信接口地址TLV和源地址字段。中间节点B的LSR-ID地址携带于中间节点B的应答报文的LSR-ID地址TLV中,中间节点B的下游通信接口地址携带于中间节点B的应答报文的下游通信接口地址TLV中。中间节点B的源地址携带于中间节点B的应答报文的源地址字段中。如果中间节点B的源地址与该中间节点B的上游通信接口地址不相同,则中间节点B的上游通信接口地址携带于上游通信接口地址TLV中。如果中间节点B的源地址与该中间节点B的上游通信接口地址相同,中间节点B的应答报文中不携带上游通信接口地址TLV;或者,中间节点B的应答报文中具有上游通信接口地址TLV,但上游通信接口地址TLV中携带保留地址。在这种情况下,根节点A可从该中间节点B的应答报文的源地址字段中获取源地址作为该中间节点B的上游通信接口地址。中间节点C同理,在此不赘述。
方式三,bud节点的应答报文还包括源地址字段,该源地址字段携带该中间节点的源地址。bud节点判断该bud节点的源地址是否与该bud节点的LSR-ID地址相同。如果该bud节点判断该bud节点的源地址与该bud节点的LSR-ID地址不相同,则该bud节点在应答报文中封装LSR-ID地址TLV,该bud节点的LSR-ID地址携带于该LSR-ID地址TLV中。这种情况下,根节点A可从该bud节点的应答报文的LSR-ID地址TLV中获取该bud节点的LSR-ID地址。
如果该bud节点判断该bud节点的源地址与该bud节点的LSR-ID地址相同,则该bud节点在应答报文中不封装LSR-ID地址TLV;或者,该bud节点在应答报文中封装LSR-ID地址TLV,但该LSR-ID地址TLV中携带保留地址,例如保留地址可以为组播地址。这种情况下,根节点A可从该bud节点的应答报文的源地址字段中获取源地址作为该bud节点的LSR-ID地址。例如,该bud节点可以为图3所示的中间节点E。
在一种具体的设计中,在方式三中,bud节点的上游通信接口地址携带于应答报文的上游通信接口地址TLV中,bud节点的下游通信接口地址携带于应答报文的下游通信接口地址TLV中。
方式四,尾节点的应答报文还包括源地址字段,该源地址字段携带该尾节点的源地址。尾节点判断该尾节点的源地址是否与该尾节点的LSR-ID地址相同。如果该尾节点判断该尾节点的源地址与该尾节点的LSR-ID地址不相同,则该尾节点在应答报文中封装LSR-ID地址TLV,该尾节点的LSR-ID地址携带于该LSR-ID地址TLV中。
如果该尾节点判断该尾节点的源地址与该尾节点的LSR-ID地址相同,则该尾节点在应答报文中不封装LSR-ID地址TLV;或者,该尾节点在应答报文中封装LSR-ID地址TLV,但该LSR-ID地址TLV中携带保留地址,例如保留地址可以为组播地址。这种情况下,根节点A可从该尾节点的应答报文的源地址字段中获取源地址作为该尾节点的LSR-ID地址。
在一种具体的设计中,在方式四中,尾节点的上游通信接口地址携带于应答报文的上游通信接口地址TLV中。
例如,尾节点D的应答报文中包括上游通信接口地址TLV和源地址字段。尾节点D的上游通信接口地址携带于尾节点D的应答报文的上游通信接口地址TLV中。尾节点D的源地址携带于尾节点D的应答报文的源地址字段中。如果尾节点D的源地址与该尾节点D的LSR-ID地址不相同,则尾节点D的LSR-ID地址携带于LSR-ID地址TLV中。如果尾节点D的源地址与该尾节点D的LSR-ID地址相同,则尾节点D的应答报文中不携带LSR-ID地址TLV;或者,尾节点D的应答报文中具有LSR-ID地址TLV,但该LSR-ID地址TLV中携带保留地址。根节点A从该尾节点D的应答报文的源地址字段中获取该尾节点D的LSR-ID地址。尾节点F同理,在此不赘述。
在一种具体的设计中,请求报文中可包括LSR-ID地址TLV、上游通信接口地址TLV和下游通信接口地址TLV。其中,LSR-ID地址TLV、上游通信接口地址TLV和下游通信接口地址TLV中携带的地址为保留地址。例如,该保留地址可以为组播地址或其他预设的地址。
405、根节点G向隧道2中根节点G的每个下游节点分别发送请求报文。
本申请实施例中,隧道2中根节点G的每个下游节点接收到根节点G发送的请求报文之后,向根节点G发送应答报文。
406、根节点G接收隧道2中根节点G的每个下游节点响应于收到的请求报文所发送的应答报文。
407、根节点G根据隧道2中的每个中间节点发送的应答报文,获取隧道2中的每个中间节点的LSR-ID地址、上游通信接口地址和下游通信接口地址。
408、根节点G根据隧道2中的每个尾节点发送的应答报文,获取隧道2中的每个尾节点的LSR-ID地址和上游通信接口地址。
其中,根节点G执行步骤405~步骤408的原理与根节点A执行步骤401~步骤404的原理相同,在此不赘述。
其中,隧道2的拓扑信息包括:根节点G的下游通信接口地址、隧道2的每个中间节点的LSR-ID地址、隧道2的每个中间节点的上游通信接口地址、隧道2的每个中间节点的下游通信接口地址、隧道2的每个尾节点的LSR-ID地址和上游通信接口地址。即隧道2的拓扑信息包括:根节点G的下游通信接口地址、中间节点B的LSR-ID地址、上游通信接口地址和下游通信接口地址、中间节点C的LSR-ID地址、上游通信接口地址和下游通信接口地址、中间节点E的LSR-ID地址、上游通信接口地址和下游通信接口地址、尾节点D的LSR-ID地址和上游通信接口地址、尾节点F的LSR-ID地址和上游通信接口地址。因此,通过执行步骤405~步骤408能够收集隧道2的拓扑信息。
其中,根节点G的下游通信接口地址为接口b2的IP地址。隧道2中的尾节点的LSR-ID地址和上游通信接口地址可参见上表2所示的地址。隧道2中的中间节点的LSR-ID地址、上游通信接口地址和下游通信接口地址可参见下表3所示的地址。如下表3所示,由于中间节点B通过b2接口接收根节点G的请求报文;因此,中间节点B向根节点G发送的应答报文中,中间节点B的上游通信接口地址为接口b2的IP地址。由于中间节点B需要将根节点G发送的请求报文转发至中间节点C的c2接口;因此,中间节点B向根节点G发送的应答报文中,中间节点B的下游通信接口地址为接口c2的IP地址。同理,中间节点C向根节点G发送的应答报文中,中间节点C的上游通信接口地址为接口c2的IP地址,中间节点C的下游通信接口地址为接口d1的IP地址和接口e1的IP地址。同理,中间节点E向根节点G发送的应答报文中,中间节点E的上游通信接口地址为接口e1的IP地址,中间节点E的下游通信接口地址为接口f1的IP地址。
表3
在一种具体的设计中,根节点A获取隧道1的拓扑信息之后,根据隧道1的拓扑信息确定隧道1的拓扑。根节点G获取隧道2的拓扑信息之后,根节点G根据隧道2的拓扑信息确定隧道2的拓扑。
例如,根节点A的下游通信接口地址为接口b1的IP地址,如上表1所示,在隧道1中中间节点B的上游通信接口地址为接口b1的IP地址。由于根节点A的下游通信接口地址与中间节点B的上游通信接口地址相匹配;因此,根节点A确定根节点A与中间节点B为相邻的节点,且根节点A连接中间节点B的接口b1。同理,如上表1所示,在隧道1中中间节点B的下游通信接口地址为接口c1的IP地址,在隧道1中中间节点C的上游通信接口地址为接口c1的IP地址。由于中间节点B的下游通信接口地址与中间节点C的上游通信接口地址相匹配;因此,根节点A确定在隧道1中中间节点B与中间节点C为相邻的节点,且中间节点B连接中间节点C的接口c1。根节点A可根据相同的原理确定隧道1中的其他相邻的节点,以及相邻节点之间连接的接口。最终根节点A确定隧道1的拓扑可以如图5所示:根节点A与中间节点B相邻,且根节点A连接中间节点B的接口b1。中间节点B与中间节点C相邻,且中间节点B连接中间节点C的接口c1。中间节点C与尾节点D和中间节点E均相邻,且中间节点C连接尾节点D的接口d1,中间节点C连接中间节点E的接口e1。中间节点E与尾节点F相邻,且中间节点E连接尾节点F的接口f1。
根节点G根据隧道2的拓扑信息确定隧道2的拓扑的原理与根节点A根据隧道1的拓扑信息确定隧道1的拓扑相同,在此不赘述。根节点B确定隧道2的拓扑如图6所示:根节点G与中间节点B相邻,且根节点G连接中间节点B的接口b2。中间节点B与中间节点C相邻,且中间节点B连接中间节点C的接口c2。中间节点C与尾节点D和中间节点E均相邻,且中间节点C连接尾节点D的接口d1,中间节点C连接中间节点E的接口e1。中间节点E与尾节点F相邻,且中间节点E连接尾节点F的接口f1。
在一种具体的设计中,根节点A和根节点G确定隧道的拓扑之后,就可显示隧道的拓扑,以使用户可以清楚地了解组网情况,便于网络维护。例如,根节点A显示的隧道1的拓扑可以如图5所示,根节点G显示的隧道2的拓扑可以如图6所示。或者,根节点A和根节点G确定隧道的拓扑之后,根节点A和根节点G还可执行其他操作,本申请实施例不做限定。
隧道1的拓扑和隧道2的拓扑还可用于检测隧道1和隧道2是否具有部分相同的链路。其中,两个隧道的链路完全相同,也属于两个隧道具有部分相同的链路。下面对检测隧道1和隧道2是否具有部分相同的链路的几种方式进行介绍:
方式一:根节点A获取隧道1的拓扑信息之后,根据隧道1的拓扑信息确定隧道1的拓扑。根节点A还可获取隧道2的拓扑,根节点A根据隧道1的拓扑和隧道2的拓扑确定隧道1和隧道2是否具有部分相同的链路。隧道1的拓扑如图5所示,隧道2的拓扑如图6所示。因此根节点A根据隧道1的拓扑和隧道2的拓扑可确定隧道1和隧道2具有部分相同的链路,相同的链路为图5和图6中的链路5、链路6和链路7。在一种具体的设计中,根节点A确定隧道1和隧道2具有部分相同的链路之后,还可输出用于提示隧道1和隧道2具有部分相同的链路的提示信息。
在一种具体的设计中,根节点A获取隧道2的拓扑的方式具体可以为:根节点A接收根节点G发送的隧道2的拓扑;或者根节点A从根节点G接收隧道2的拓扑信息,并根据隧道2的拓扑信息确定隧道2的拓扑。其中,根节点G可以与根节点A先建立标签分发协议(labeldistribution protocol,LDP)会话连接;根节点G与根节点A建立LDP会话连接之后,根节点G可通过LDP消息的拓展TLV来携带拓扑或拓扑信息发送给根节点A。当然,根节点G还可以通过其他方式发送拓扑或拓扑信息给根节点A,本申请实施例不做限定。
在方式一中,不需要人工检测隧道1和隧道2是否具有部分相同的链路,根节点能够自动检测隧道1和隧道2是否具有部分相同的链路,更加智能化。
方式二:请参见图7,图7是本申请实施例提供的一种链路检测方法。如图7所示,该链路检测方法700包括如下步骤701和步骤702,其中:
701、控制管理设备获取隧道1的拓扑和隧道2的拓扑。
702、控制管理设备根据隧道1的拓扑和隧道2的拓扑,确定隧道1是否与隧道2具有部分相同的链路。
例如,隧道1的拓扑如图5所示,隧道2的拓扑如图6所示。因此控制管理设备根据隧道1的拓扑和隧道2的拓扑可确定隧道1和隧道2具有部分相同的链路,相同的链路为图5和图6中的链路5、链路6和链路7。
在一种具体的设计中,控制管理设备确定隧道1和隧道2具有部分相同的链路之后,还可输出用于提示隧道1和隧道2具有部分相同的链路的提示信息。
在一种具体的设计中,根节点A根据隧道1的拓扑信息确定隧道1的拓扑之后,可发送隧道1的拓扑至控制管理设备;根节点G根据隧道2的拓扑信息确定隧道2的拓扑之后,可发送隧道2的拓扑至控制管理设备。控制管理设备获取隧道1的拓扑和隧道2的拓扑的具体实施方式为:控制管理设备接收根节点A发送的隧道1的拓扑和根节点G发送的隧道2的拓扑。
在一种具体的设计中,根节点A获取隧道1的拓扑信息之后,根节点A可发送隧道1的拓扑信息至控制管理设备。根节点G获取隧道2的拓扑信息之后,根节点G可发送隧道2的拓扑信息至控制管理设备。控制管理设备获取隧道1的拓扑和隧道2的拓扑的具体实施方式为:控制管理设备接收根节点A发送的隧道1的拓扑信息和根节点G发送的隧道2的拓扑信息;控制管理设备根据隧道1的拓扑信息和隧道2的拓扑信息确定隧道1的拓扑和隧道2的拓扑。或者,控制管理设备还可通过其他方式来获取隧道1的拓扑信息和隧道2的拓扑信息,本申请实施例不做限定。
在方式二中,控制管理设备可以为隧道1或隧道2的中间节点。或者,控制管理设备可以为隧道1或隧道2的尾节点。或者,控制管理设备可以隧道2的根节点。或者,控制管理设备可以为SDN控制器、虚拟SDN控制器、网管或协同管理设备等设备。根节点可以采用netconf、yang、mib等方式发送隧道的拓扑或拓扑信息给控制管理设备。
在方式二中,不需要人工检测隧道1和隧道2是否具有部分相同的链路,控制管理设备能够自动检测隧道1和隧道2是否具有部分相同的链路,更加智能化。
请参见图8,图8是本申请实施例提供的一种拓扑信息收集方法。如图8所示,该拓扑信息收集方法800包括如下步骤801~步骤804,其中:
801、第一根节点向第一隧道中多个下游节点的每个下游节点分别发送请求报文。
其中,该第一根节点为第一隧道的根节点,该第一隧道由第一根节点以及第一根节点的多个下游节点组成,该多个下游节点由至少一个中间节点以及至少一个尾节点组成。
例如,第一隧道可以为图3所示的隧道1,第一根节点可以为图3所示的根节点A。或者,第一隧道可以为图3所示的隧道2,第一根节点可以为图3所示的根节点G。或者,第一根节点还可以是其他根节点,第一隧道还可以是其他隧道。
步骤801~步骤804的具体实现原理与步骤401~步骤404的实现原理相同,具体可参见上述图4中步骤401~步骤404的具体实现原理,在此不赘述。
本申请实施例中,第一隧道中第一根节点的每个下游节点接收到第一根节点发送的请求报文之后,生成应答报文,并向第一根节点发送应答报文。其中,中间节点的应答报文用于该第一根节点确定该中间节点的标签交换路由器标识LSR-ID地址、上游通信接口地址和下游通信接口地址。尾节点的应答报文用于该第一根节点确定该尾节点的标签交换路由器标识LSR-ID地址和上游通信接口地址。
802、第一根节点接收第一根节点的每个下游节点响应于收到的请求报文所发送的应答报文。
803、第一根节点根据第一隧道的每个中间节点发送的应答报文,获取每个中间节点的标签交换路由器标识LSR-ID地址、上游通信接口地址和下游通信接口地址。
具体地,第一根节点接收每个中间节点发送的应答报文之后,根据每个中间节点发送的应答报文,获取每个中间节点的标签交换路由器标识LSR-ID地址、上游通信接口地址和下游通信接口地址。
804、第一根节点根据第一隧道的每个尾节点发送的应答报文,获取每个尾节点的LSR-ID地址和上游通信接口地址。
具体地,第一根节点接收每个尾节点发送的应答报文之后,根据每个尾节点发送的应答报文,获取每个尾节点的LSR-ID地址和上游通信接口地址。
其中,第一隧道的每个中间节点的LSR-ID地址、第一隧道的每个中间节点的上游通信接口地址、第一隧道的每个中间节点的下游通信接口地址、第一隧道的每个尾节点的LSR-ID地址和上游通信接口地址都属于第一隧道的拓扑信息。因此,通过实施图8所描述的方法,能够收集第一隧道的拓扑信息。
在一种具体的设计中,第一隧道的多个下游节点包括第一下游节点,第一根节点向第一隧道中多个下游节点的每个下游节点分别发送请求报文的具体实施方式为:第一根节点向第一下游节点发送第一请求报文;第一根节点接收每个下游节点响应于收到的请求报文所发送的应答报文的具体实施方式为:第一根节点接收第一下游节点响应于第一请求报文发送的第一应答报文;其中,该第一应答报文中携带第一下游节点的LSR-ID地址和上游通信接口地址,该第一下游节点的LSR-ID地址携带于第一应答报文的第一类型-长度-值TLV中,该第一下游节点的上游通信接口地址携带于第一应答报文的第二TLV中。基于该具体的设计,根节点可直接从不同的TLV中分别获取下游节点的LSR-ID地址和上游通信接口地址,根节点不用区分下游节点的角色,有利于简化根节点的处理流程。
其中,第一下游节点可以为第一隧道中的任意一个中间节点或尾节点。例如,第一隧道为图3所示的隧道1,第一下游节点可以为图3所示的中间节点B、中间节点C、中间节点E、尾节点D或尾节点F。关于第一下游节点的LSR-ID地址、上游通信接口地址和下游通信接口地址在第一应答报文中的携带原理具体可参见上述拓扑信息收集方法400所对应的实施例中下游节点的相关地址的携带方式中的方式一,在此不赘述。
在一种具体的设计中,中间节点判断该中间节点的源地址与该中间节点的上游通信接口地址是否相同;中间节点判断该中间节点的源地址与该中间节点的上游通信接口地址相同时,在该中间节点的应答报文中不封装上游通信接口地址TLV,或者,中间节点在应答报文中封装上游通信接口地址TLV,该上游通信接口地址TLV中携带保留地址,例如保留地址可以为组播地址。基于该具体的设计,有利于提高报文封装效率,避免封装重复的内容。例如,第一隧道为图3所示的隧道1,中间节点可以为图3所示的中间节点B、中间节点C或中间节点E。关于中间节点的LSR-ID地址、上游通信接口地址和下游通信接口地址在应答报文中的携带原理具体可参见上述拓扑信息收集方法400所对应的实施例中下游节点的相关地址的携带方式中的方式二,在此不赘述。
在一种具体的设计中,中间节点判断该中间节点的源地址与该中间节点的上游通信接口地址不相同时,该中间节点在该中间节点的应答报文中封装上游通信接口地址TLV,该中间节点的上游通信接口地址携带于该上游通信接口地址TLV中。例如,第一隧道为图3所示的隧道1,中间节点可以为图3所示的中间节点B、中间节点C或中间节点E。关于中间节点的LSR-ID地址、上游通信接口地址和下游通信接口地址在应答报文中的携带原理具体可参见上述拓扑信息收集方法400所对应的实施例中下游节点的相关地址的携带方式中的方式二,在此不赘述。
在一种具体的设计中,上述至少一个中间节点包括第一中间节点,第一根节点向第一隧道中的每个下游节点分别发送请求报文的具体实施方式为:第一根节点向第一中间节点发送第二请求报文;第一根节点接收每个下游节点响应于收到的请求报文所发送的应答报文的具体实施方式为:第一根节点接收第一中间节点响应于第二请求报文发送的第二应答报文;其中,该第二应答报文包括第一源地址字段,该第一源地址字段携带第一中间节点的源地址,该第一中间节点的源地址与第一中间节点的上游通信接口地址相同;第一根节点根据每个中间节点发送的应答报文,获取每个中间节点的标签交换路由器标识LSR-ID地址、上游通信接口地址和下游通信接口地址的具体实施方式为:第一根节点根据第二应答报文携带的第一中间节点的源地址,获取该第一中间节点的上游通信接口地址。基于该具体的设计,有利于提高报文封装效率,避免封装重复的内容。例如,第一隧道为图3所示的隧道1,第一中间节点可以为图3所示的中间节点B或中间节点C。关于第一中间节点的LSR-ID地址、上游通信接口地址和下游通信接口地址在第一应答报文中的携带原理具体可参见上述拓扑信息收集方法400所对应的实施例中下游节点的相关地址的携带方式中的方式二,在此不赘述。
在一种具体的设计中,尾节点判断该尾节点的源地址与该尾节点的LSR-ID地址是否相同;该尾节点判断该尾节点的源地址与该尾节点的LSR-ID地址相同时,该尾节点在该尾节点的应答报文中不封装LSR-ID地址TLV。或者,该尾节点在应答报文中封装LSR-ID地址TLV,该LSR-ID地址TLV中携带保留地址,例如保留地址可以为组播地址。基于该具体的设计,有利于提高报文封装效率,避免封装重复的内容。例如,第一隧道为图3所示的隧道1,尾节点可以为图3所示的尾节点D或尾节点F。关于尾节点的LSR-ID地址和上游通信接口地址在应答报文中的携带原理具体可参见上述拓扑信息收集方法400所对应的实施例中下游节点的相关地址的携带方式中的方式四,在此不赘述。
在一种具体的设计中,该尾节点判断该尾节点的源地址与该尾节点的LSR-ID地址不相同时,该尾节点在该尾节点的应答报文中封装LSR-ID地址TLV,该尾节点的LSR-ID地址携带于该LSR-ID地址TLV中。例如,第一隧道为图3所示的隧道1,尾节点可以为图3所示的尾节点D或尾节点F。关于尾节点的LSR-ID地址和上游通信接口地址在应答报文中的携带原理具体可参见上述拓扑信息收集方法400所对应的实施例中下游节点的相关地址的携带方式中的方式四,在此不赘述。
在一种具体的设计中,上述至少一个尾节点包括第一尾节点,第一根节点向第一隧道中的每个下游节点分别发送请求报文的具体实施方式为:第一根节点向第一尾节点发送第三请求报文;第一根节点接收每个下游节点响应于收到的请求报文所发送的应答报文的具体实施方式为:第一根节点接收第一尾节点响应于第三请求报文发送的第三应答报文;其中,该第三应答报文包括第二源地址字段,该第二源地址字段携带第一尾节点的源地址,该第一尾节点的源地址与第一尾节点的LSR-ID地址相同;第一根节点根据每个尾节点发送的应答报文,获取每个尾节点的LSR-ID地址和上游通信接口地址的具体实施方式为:第一根节点根据第三应答报文携带的第一尾节点的源地址,获取该第一尾节点的LSR-ID地址。基于该具体的设计,有利于提高报文封装效率,避免封装重复的内容。例如,第一隧道为图3所示的隧道1,第一尾节点可以为图3所示的尾节点D或尾节点F。关于第一尾节点的LSR-ID地址和上游通信接口地址在第一应答报文中的携带原理具体可参见上述拓扑信息收集方法400所对应的实施例中下游节点的相关地址的携带方式中的方式四,在此不赘述。
在一种具体的设计中,请求报文中可包括LSR-ID地址TLV、上游通信接口地址TLV和下游通信接口地址TLV。其中,LSR-ID地址TLV、上游通信接口地址TLV和下游通信接口地址TLV中携带的地址为保留地址。例如,该保留地址可以为组播地址或其他预设的地址。
在一种具体的设计中,第一根节点还可根据第一根节点的下游通信接口地址、第一隧道的每个中间节点的LSR-ID地址、第一隧道的每个中间节点的上游通信接口地址、第一隧道的每个中间节点的下游通信接口地址、第一隧道的每个尾节点的LSR-ID地址和上游通信接口地址确定第一隧道的拓扑。基于该具体的设计,能够得到第一隧道的拓扑。
其中,第一根节点的下游通信接口地址、第一隧道的每个中间节点的LSR-ID地址、第一隧道的每个中间节点的上游通信接口地址、第一隧道的每个中间节点的下游通信接口地址、第一隧道的每个尾节点的LSR-ID地址和上游通信接口地址为第一隧道的拓扑信息。第一根节点根据第一隧道的拓扑信息就能确定第一隧道的拓扑。第一根节点根据第一隧道的拓扑信息确定第一隧道的拓扑的具体实现原理,可参见上述图4所对应的实施例中根节点A根据隧道1的拓扑信息确定隧道1的拓扑的具体实现原理,在此不赘述。
在一种具体的设计中,第一根节点确定第一隧道的拓扑之后,第一根节点可显示第一隧道的拓扑。例如,第一根节点为图3中的根节点A,第一隧道为图3中的隧道1。第一根节点显示的第一隧道的拓扑可如图5所示。再如,第一根节点为图3中的根节点G,第一隧道为图3中的隧道2。第一根节点显示的第一隧道的拓扑可如图6所示。通过显示第一隧道的拓扑,可以使用户清楚地了解组网情况,便于网络维护。
第一隧道的拓扑和第二隧道的拓扑可用于检测第一隧道和第二隧道是否具有部分相同的链路。其中,第二隧道为包括第二根节点的隧道。两个隧道的链路完全相同,也属于两个隧道具有部分相同的链路。下面对检测第一隧道和第二隧道是否具有部分相同的链路的几种方式进行介绍:
方式一:第一根节点根据第一隧道的拓扑信息确定第一隧道的拓扑;第一根节点获取第二隧道的拓扑;第一根节点根据第一隧道的拓扑和第二隧道的拓扑确定第一隧道是否与第二隧道具有部分相同的链路。
在一种具体的设计中,第一根节点获取第二隧道的拓扑的方式具体可以为:第一根节点接收第二根节点发送的第二隧道的拓扑,或者第一根节点从第二根节点接收第二隧道的拓扑信息,并根据第二隧道的拓扑信息确定第二隧道的拓扑。其中,第二隧道的拓扑信息包括第二根节点的下游通信接口地址、第二隧道的每个中间节点的LSR-ID地址、第二隧道的每个中间节点的上游通信接口地址、第二隧道的每个中间节点的下游通信接口地址、第二隧道的每个尾节点的LSR-ID地址和上游通信接口地址。其中,第二根节点可以与第一根节点先建立LDP会话连接;第二根节点与第一根节点建立LDP会话连接之后,第二根节点可通过LDP消息的拓展TLV来携带拓扑或拓扑信息发送给第一根节点。当然,第二根节点还可以通过其他方式发送拓扑或拓扑信息给第一根节点,本申请实施例不做限定。
例如,第一隧道可以为图3所示的隧道1,第二隧道可以为图3所示的隧道2,第一根节点可以为图3所示的根节点A,第二根节点可以为图3所示的根节点G。方式一的具体实现原理可参见上述拓扑信息收集方法400所对应的实施例中的相关描述,在此不赘述。
在方式一中,不需要人工检测第一隧道和第二隧道是否具有部分相同的链路,第一根节点能够自动检测第一隧道和第二隧道是否具有部分相同的链路,更加智能化。
方式二:请参见图9,图9是本申请实施例提供的一种链路检测方法。如图9所示,该链路检测方法900包括如下步骤901和步骤902,其中:
901、控制管理设备获取第一隧道的拓扑和第二隧道的拓扑。
902、控制管理设备根据第一隧道的拓扑和第二隧道的拓扑,确定第一隧道是否与第二隧道具有部分相同的链路。
在一种具体的设计中,第一根节点根据第一根节点的拓扑信息确定第一隧道的拓扑之后,第一根节点可将第一隧道的拓扑发送给控制管理设备。第二根节点根据第二根节点的拓扑信息确定第二隧道的拓扑之后,第二根节点可将第二隧道的拓扑发送给控制管理设备。控制管理设备获取第一隧道的拓扑和第二隧道的拓扑的具体实施方式为:控制管理设备接收第一根节点发送的第一隧道的拓扑和第二根节点发送的第二隧道的拓扑。
在一种具体的设计中,第一根节点获取第一隧道的拓扑信息之后,第一根节点可发送第一隧道的拓扑信息至控制管理设备。第二根节点获取第二隧道的拓扑信息之后,第二根节点可发送第二隧道的拓扑信息至控制管理设备。控制管理设备获取第一隧道的拓扑和第二隧道的拓扑的具体实施方式为:控制管理设备接收第一根节点发送的第一隧道的拓扑信息和第二根节点发送的第二隧道的拓扑信息;控制管理设备根据第一隧道的拓扑信息和第二隧道的拓扑信息确定第一隧道的拓扑和第二隧道的拓扑。或者,控制管理设备还可通过其他方式来获取第一隧道的拓扑信息和第二隧道的拓扑信息,本申请实施例不做限定。
例如,第一隧道可以为图3所示的隧道1,第二隧道可以为图3所示的隧道2,第一根节点可以为图3所示的根节点A,第二根节点可以为图3所示的根节点G。方式二的具体实现原理可参见上述链路检测方法700所对应的实施例中的相关描述,在此不赘述。
在方式二中,控制管理设备可以为第一隧道或第二隧道的中间节点。或者,控制管理设备可以为第一隧道或第二隧道的尾节点。或者,控制管理设备可以为第二隧道的根节点。或者,控制管理设备可以为SDN控制器、虚拟SDN控制器、网管或协同管理设备等设备。根节点可以采用netconf、yang、mib等方式发送隧道的拓扑或拓扑信息给控制管理设备。
在方式一中,不需要人工检测第一隧道和第二隧道是否具有部分相同的链路,控制管理设备能够自动检测第一隧道和第二隧道是否具有部分相同的链路,更加智能化。
在一种具体的设计中,第一根节点向每个下游节点发送的请求报文为回应请求报文,每个下游节点向第一根节点发送的应答报文为回应应答报文。其中,该回应请求报文具体可以为多协议标签交换回应请求报文,该回应应答报文具体可以为多协议标签交换回应应答报文。或者,请求报文还可以是其他类型的请求报文,应答报文还可以是其他类型的应答报文,本申请实施例不做限定。
本发明实施例可以根据上述方法示例对设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参见图10,图10示出了本申请实施例的一种网络设备的结构示意图。图10所示的网络设备1000可以用于执行上述拓扑信息收集方法800所对应的实施例中第一根节点的操作。或者,图10所示的网络设备1000可以用于执行上述拓扑信息收集方法800所对应的实施例中中间节点的操作。或者,图10所示的网络设备1000可以用于执行上述拓扑信息收集方法800所对应的实施例中尾节点的操作。图10所示的网络设备1000可以包括处理模块1001和收发模块1002。其中,处理模块1001可通过网络设备的处理器实现,收发模块1002可通过网络设备的收发器实现。
当网络设备1000用于执行上述拓扑信息收集方法800所对应的实施例中第一根节点的操作时,其中:
收发模块1002,用于向第一隧道中多个下游节点的每个下游节点分别发送请求报文;收发模块1002,还用于接收每个下游节点响应于收到的请求报文所发送的应答报文;处理模块1001,用于根据第一隧道的每个中间节点发送的应答报文,获取每个中间节点的标签交换路由器标识LSR-ID地址、上游通信接口地址和下游通信接口地址;处理模块1001,还用于根据第一隧道的每个尾节点发送的应答报文,获取每个尾节点的LSR-ID地址和上游通信接口地址。
在一种具体的设计中,上述多个下游节点包括第一下游节点,收发模块1002向第一隧道中多个下游节点的每个下游节点分别发送请求报文的方式具体为:收发模块1002向第一下游节点发送第一请求报文;收发模块1002接收每个下游节点响应于收到的请求报文所发送的应答报文的方式具体为:收发模块1002接收第一下游节点响应于第一请求报文发送的第一应答报文;其中,该第一应答报文中携带第一下游节点的LSR-ID地址和上游通信接口地址,该第一下游节点的LSR-ID地址携带于第一应答报文的第一类型-长度-值TLV中,该第一下游节点的上游通信接口地址携带于第一应答报文的第二TLV中。
在一种具体的设计中,上述至少一个中间节点包括第一中间节点,收发模块1002向第一隧道中多个下游节点的每个下游节点分别发送请求报文的方式具体为:收发模块1002向第一中间节点发送第二请求报文;收发模块1002接收每个下游节点响应于收到的请求报文所发送的应答报文的方式具体为:收发模块1002接收第一中间节点响应于第二请求报文发送的第二应答报文;其中,第二应答报文包括第一源地址字段,该第一源地址字段携带第一中间节点的源地址,该第一中间节点的源地址与第一中间节点的上游通信接口地址相同;收发模块1002根据每个中间节点发送的应答报文,获取每个中间节点的标签交换路由器标识LSR-ID地址、上游通信接口地址和下游通信接口地址的方式具体为:收发模块1002根据第二应答报文携带的第一中间节点的源地址,获取该第一中间节点的上游通信接口地址。
在一种具体的设计中,上述至少一个尾节点包括第一尾节点,收发模块1002向第一隧道中多个下游节点的每个下游节点分别发送请求报文的方式具体为:收发模块1002向第一尾节点发送第三请求报文;收发模块1002接收每个下游节点响应于收到的请求报文所发送的应答报文的方式具体为:收发模块1002接收第一尾节点响应于第三请求报文发送的第三应答报文;其中,该第三应答报文包括第二源地址字段,该第二源地址字段携带第一尾节点的源地址,该第一尾节点的源地址与第一尾节点的LSR-ID地址相同;收发模块1002根据每个尾节点发送的应答报文,获取每个尾节点的LSR-ID地址和上游通信接口地址的方式具体为:收发模块1002根据第三应答报文携带的第一尾节点的源地址,获取第一尾节点的LSR-ID地址。
在一种具体的设计中,处理模块1001,还用于根据网络设备的下游通信接口地址、每个中间节点的LSR-ID地址、每个中间节点的上游通信接口地址、每个中间节点的下游通信接口地址、每个尾节点的LSR-ID地址和上游通信接口地址确定第一隧道的拓扑。
在一种具体的设计中,网络设备还包括:显示模块,用于显示第一隧道的拓扑。
在一种具体的设计中,处理模块1001,还用于获取第二隧道的拓扑,该第二隧道为包括第二根节点的隧道;处理模块1001,还用于根据第一隧道的拓扑和第二隧道的拓扑确定第一隧道是否与第二隧道具有部分相同的链路。
在一种具体的设计中,收发模块1002,还用于将第一隧道的拓扑发送给控制管理设备。
在一种具体的设计中,收发模块1002,还用于将第一隧道的拓扑信息发送给控制管理设备;其中,该第一隧道的拓扑信息包括:网络设备的下游通信接口地址、每个中间节点的LSR-ID地址、每个中间节点的上游通信接口地址、每个中间节点的下游通信接口地址、每个尾节点的LSR-ID地址和上游通信接口地址。
在一种具体的设计中,控制管理设备为第一隧道或第二隧道中的中间节点或尾节点;或控制管理设备为第二隧道的根节点;或控制管理设备为软件定义网络(softwaredefined network,SDN)控制器、虚拟SDN控制器、网管或协同管理设备。
在一种具体的设计中,网络设备向每个下游节点发送的请求报文为多协议标签交换回应请求报文,每个下游节点发送的应答报文为多协议标签交换回应应答报文。
当网络设备1000用于执行上述拓扑信息收集方法800所对应的实施例中中间节点的操作时,其中:
收发模块1002,用于接收第一根节点发送的请求报文。处理模块1001,响应于该请求报文,生成应答报文。收发模块1002,还用于向该第一根节点发送应答报文,该应答报文用于该第一根节点确定该中间节点的标签交换路由器标识LSR-ID地址、上游通信接口地址和下游通信接口地址。
在一种具体的设计中,该网络设备的应答报文中携带该网络设备的LSR-ID地址和上游通信接口地址,该网络设备的LSR-ID地址携带于应答报文的第一类型-长度-值TLV中,该网络设备的上游通信接口地址携带于应答报文的第二TLV中。
在一种具体的设计中,处理模块1001,还用于判断该网络设备的源地址与该网络设备的上游通信接口地址是否相同;处理模块1001判断该网络设备的源地址与该网络设备的上游通信接口地址相同时,处理模块1001在该网络设备的应答报文中不封装上游通信接口地址TLV,或者,处理模块1001在应答报文中封装上游通信接口地址TLV,该上游通信接口地址TLV中携带保留地址,例如保留地址可以为组播地址。
在一种具体的设计中,处理模块1001判断该网络设备的源地址与该网络设备的上游通信接口地址不相同时,该处理模块1001在该网络设备的应答报文中封装上游通信接口地址TLV,该网络设备的上游通信接口地址携带于该上游通信接口地址TLV中。
在一种具体的设计中,请求报文为多协议标签交换回应请求报文,应答报文为多协议标签交换回应应答报文。
当网络设备1000用于执行上述拓扑信息收集方法800所对应的实施例中尾节点的操作时,其中:
收发模块1002,用于接收第一根节点发送的请求报文;处理模块1001,响应于该请求报文,生成应答报文。该收发模块1002,还用于响应于该请求报文,向该第一根节点发送应答报文,该应答报文用于该第一根节点确定该网络设备的标签交换路由器标识LSR-ID地址和上游通信接口地址。
在一种具体的设计中,网络设备的应答报文中携带网络设备的LSR-ID地址和上游通信接口地址,该网络设备的LSR-ID地址携带于应答报文的第一类型-长度-值TLV中,该网络设备的上游通信接口地址携带于应答报文的第二TLV中。
在一种具体的设计中,处理模块1001,还用于判断该网络设备的源地址与该网络设备的LSR-ID地址是否相同;该处理模块1001判断该网络设备的源地址与该网络设备的LSR-ID地址相同时,该处理模块1001在该网络设备的应答报文中不封装LSR-ID地址TLV。或者,该处理模块1001在应答报文中封装LSR-ID地址TLV,该LSR-ID地址TLV中携带保留地址,例如保留地址可以为组播地址。
在一种具体的设计中,该处理模块1001判断该网络设备的源地址与该网络设备的LSR-ID地址不相同时,该处理模块1001在该网络设备的应答报文中封装LSR-ID地址TLV,该网络设备的LSR-ID地址携带于该LSR-ID地址TLV中。
在一种具体的设计中,请求报文为多协议标签交换回应请求报文,应答报文为多协议标签交换回应应答报文。
请参见图11,图11示出了本申请实施例的另一种控制管理设备的结构示意图。该控制管理设备1100可以用于执行上述链路检测方法900所对应的实施例中控制管理设备的部分或全部功能。该控制管理设备1100可以包括收发模块1101和处理模块1102。该收发模块1101可通过网络设备的收发器实现。处理模块1102可通过网络设备的处理器实现。其中:
收发模块1101,用于获取第一隧道的拓扑和第二隧道的拓扑;处理模块1102,用于根据第一隧道的拓扑和第二隧道的拓扑,确定第一隧道是否与第二隧道具有部分相同的链路。
在一种具体的设计中,收发模块1101获取第一隧道的拓扑和第二隧道的拓扑的具体实施方式为:接收第一根节点发送的第一隧道的拓扑和第二根节点发送的第二隧道的拓扑。
在一种具体的设计中,收发模块1101获取第一隧道的拓扑和第二隧道的拓扑的具体实施方式为:接收第一根节点发送的第一隧道的拓扑信息和第二根节点发送的第二隧道的拓扑信息;根据第一隧道的拓扑信息和第二隧道的拓扑信息确定第一隧道的拓扑和第二隧道的拓扑。
在一种具体的设计中,控制管理设备为第一隧道或第二隧道中的中间节点或尾节点;或控制管理设备为第二隧道的根节点;或控制管理设备为软件定义网络(softwaredefined network,SDN)控制器、虚拟SDN控制器、网管或协同管理设备。
请参见图12,图12是本申请实施例公开的一种网络设备1200的结构示意图。网络设备1200可以应用于图3所示网络架构中。例如,网络设备1200可以是图3所示网络架构中的根节点A、根节点G、中间节点B、中间节点C、中间节点E、尾节点D或尾节点F。网络设备1200可用于执行上述拓扑信息收集方法400中根节点A或根节点G所执行的操作。或者,网络设备1200可用于执行拓扑信息收集方法800中第一根节点所执行的操作。或者,网络设备1200可用于执行上述拓扑信息收集方法400中中间节点B、中间节点C或中间节点E所执行的操作。或者,网络设备1200可用于拓扑信息收集方法800中中间节点所执行的操作。或者,网络设备1200可用于执行上述拓扑信息收集方法400中尾节点D或尾节点F所执行的操作。或者,网络设备1200可用于执行拓扑信息收集方法800中尾节点所执行的操作。如图12所示,该网络设备1200包括处理器1201、存储器1202和收发器1203。其中,处理器1201、存储器1202和收发器1203相连。
处理器1201可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。处理器还可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:genericarray logic,缩写:GAL)或其任意组合。处理器1201可以是指一个处理器,也可以包括多个处理器。存储器1202可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器1202还可以包括上述种类的存储器的组合。存储器1202可以是指一个存储器,也可以包括多个存储器。
在一个实施方式中,存储器1202中存储有计算机可读指令,所述计算机可读指令包括多个软件模块,例如收发模块和处理模块。处理器1201执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。在本实施例中,一个软件模块所执行的操作实际上是指处理器1201根据所述软件模块的指示而执行的操作。例如,当网络设备1200用于执行拓扑信息收集方法800中第一根节点所执行的操作时,所述收发模块用于向第一隧道中每个下游节点分别发送请求报文,并用于接收所述每个下游节点返回的应答报文。所述处理模块应用根据每个下游中间节点返回的应答报文,获取每个中间节点的LSR-ID地址,上游通信接口地址以及下游通信接口地址。所述处理模块还用于根据每个尾节点返回的应答报文,获取每个尾节点的LSR-ID地址以及上游通信接口地址。
在一种具体的实施方式中,处理器1201执行存储器1202中的计算机可读指令后,可以按照所述计算机可读指令的指示,执行根节点A或者第一根节点可以执行的全部操作。例如,执行根节点A在上述拓扑信息收集方法400对应的实施例中所执行的操作。或者执行第一根节点在上述拓扑信息收集方法800对应的实施例中所执行的操作。
在一种具体的实施方式中,处理器1201执行存储器1202中的计算机可读指令后,可以按照所述计算机可读指令的指示,执行中间节点可以执行的全部操作。例如,执行中间节点B、中间节点C或中间节点E在上述拓扑信息收集方法400对应的实施例中所执行的操作。或者执行中间节点在上述拓扑信息收集方法800对应的实施例中所执行的操作。
在一种具体的实施方式中,处理器1201执行存储器1202中的计算机可读指令后,可以按照所述计算机可读指令的指示,执行尾节点可以执行的全部操作。例如,执行尾节点D或尾节点F在上述拓扑信息收集方法400对应的实施例中所执行的操作。或者执行尾节点在上述拓扑信息收集方法800对应的实施例中所执行的操作。
基于同一发明构思,本申请实施例中提供的网络设备解决问题的原理与本申请方法实施例中第一根节点、中间节点、尾节点解决问题的原理相似,因此各设备的实施可以参见方法的实施,为简洁描述,在这里不再赘述。
请参见图13,图13是本申请实施例公开的一种控制管理设备1300的结构示意图。该控制管理设备1300可用于执行上述链路检测方法700中控制管理设备所执行的操作。或者,控制管理设备1300可用于上述链路检测方法900中控制管理设备所执行的操作。如图13所示,该控制管理设备1300包括处理器1301、存储器1302和收发器1303。其中,处理器1301、存储器1302和收发器1303相连。
处理器1301可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。处理器还可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:genericarray logic,缩写:GAL)或其任意组合。处理器1301可以是指一个处理器,也可以包括多个处理器。存储器1302可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器1302还可以包括上述种类的存储器的组合。存储器1302可以是指一个存储器,也可以包括多个存储器。
在一个实施方式中,存储器1302中存储有计算机可读指令,所述计算机可读指令包括多个软件模块,例如收发模块和处理模块。处理器1301执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。在本实施例中,一个软件模块所执行的操作实际上是指处理器1301根据所述软件模块的指示而执行的操作。例如,当控制管理设备1300用于执行上述链路检测方法900中控制管理设备所执行的操作时,所述收发模块,用于获取第一隧道的拓扑和第二隧道的拓扑;所述处理模块,用于根据第一隧道的拓扑和第二隧道的拓扑,确定第一隧道是否与第二隧道具有部分相同的链路。
在一种具体的实施方式中,处理器1301执行存储器1302中的计算机可读指令后,可以按照所述计算机可读指令的指示,执行控制管理设备可以执行的全部操作。例如,执行控制管理设备在上述链路检测方法700对应的实施例中所执行的操作。或者执行控制管理设备在上述链路检测方法900对应的实施例中所执行的操作。
基于同一发明构思,本申请实施例中提供的控制管理设备解决问题的原理与本申请方法实施例中控制管理设备解决问题的原理相似,因此各设备的实施可以参见方法的实施,为简洁描述,在这里不再赘述。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例网络设备中的模块可以根据实际需要进行合并、划分和删减。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态存储盘Solid State Disk(SSD))等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (20)
1.一种拓扑信息收集方法,其特征在于,所述方法包括:
第一根节点向第一隧道中多个下游节点的每个下游节点分别发送请求报文,其中,所述第一根节点为第一隧道的根节点,所述第一隧道由所述第一根节点以及所述第一根节点的多个下游节点组成,所述多个下游节点包括至少一个中间节点以及至少一个尾节点;
所述第一根节点接收所述每个下游节点响应于收到的所述请求报文所发送的应答报文;
所述第一根节点根据所述第一隧道的每个中间节点发送的应答报文,获取所述每个中间节点的标签交换路由器标识LSR-ID地址、上游通信接口地址和下游通信接口地址;
所述第一根节点根据所述第一隧道的每个尾节点发送的应答报文,获取所述每个尾节点的LSR-ID地址和上游通信接口地址;其中,所述第一隧道的所述拓扑信息包括:所述第一根节点的下游通信接口地址、所述每个中间节点的LSR-ID地址、所述每个中间节点的上游通信接口地址、所述每个中间节点的下游通信接口地址、所述每个尾节点的LSR-ID地址和上游通信接口地址。
2.根据权利要求1所述的方法,其特征在于,所述多个下游节点包括第一下游节点,
所述第一根节点向所述第一隧道中多个下游节点的每个下游节点分别发送请求报文,包括:
所述第一根节点向所述第一下游节点发送第一请求报文;
所述第一根节点接收所述每个下游节点响应于收到的所述请求报文所发送的应答报文,包括:
所述第一根节点接收所述第一下游节点响应于所述第一请求报文发送的第一应答报文;
其中,所述第一应答报文中携带所述第一下游节点的LSR-ID地址和上游通信接口地址,所述第一下游节点的LSR-ID地址携带于所述第一应答报文的第一类型-长度-值TLV中,所述第一下游节点的上游通信接口地址携带于所述第一应答报文的第二TLV中。
3.根据权利要求1所述的方法,其特征在于,所述至少一个中间节点包括第一中间节点,所述第一根节点向所述第一隧道中多个下游节点的每个下游节点分别发送请求报文,包括:
所述第一根节点向所述第一中间节点发送第二请求报文;
所述第一根节点接收所述每个下游节点响应于收到的所述请求报文所发送的应答报文,包括:
所述第一根节点接收所述第一中间节点响应于所述第二请求报文发送的第二应答报文;
其中,所述第二应答报文包括第一源地址字段,所述第一源地址字段携带所述第一中间节点的源地址,所述第一中间节点的源地址与所述第一中间节点的上游通信接口地址相同;
所述第一根节点根据每个中间节点发送的应答报文,获取所述每个中间节点的标签交换路由器标识LSR-ID地址、上游通信接口地址和下游通信接口地址,包括:
所述第一根节点根据所述第二应答报文携带的所述第一中间节点的源地址,获取所述第一中间节点的上游通信接口地址。
4.根据权利要求1所述的方法,其特征在于,所述至少一个尾节点包括第一尾节点,所述第一根节点向所述第一隧道中多个下游节点的每个下游节点分别发送请求报文,包括:
所述第一根节点向所述第一尾节点发送第三请求报文;
所述第一根节点接收所述每个下游节点响应于收到的所述请求报文所发送的应答报文,包括:
所述第一根节点接收所述第一尾节点响应于所述第三请求报文发送的第三应答报文;
其中,所述第三应答报文包括第二源地址字段,所述第二源地址字段携带所述第一尾节点的源地址,所述第一尾节点的源地址与所述第一尾节点的LSR-ID地址相同;
所述第一根节点根据每个尾节点发送的应答报文,获取所述每个尾节点的LSR-ID地址和上游通信接口地址,包括:
所述第一根节点根据所述第三应答报文携带的所述第一尾节点的源地址,获取所述第一尾节点的LSR-ID地址。
5.根据权利要求1~4中任意一项所述的方法,其特征在于,所述方法还包括:
所述第一根节点根据所述第一根节点的下游通信接口地址、所述每个中间节点的LSR-ID地址、所述每个中间节点的上游通信接口地址、所述每个中间节点的下游通信接口地址、所述每个尾节点的LSR-ID地址和上游通信接口地址确定所述第一隧道的拓扑。
6.根据权利要求5所述的方法,其特征在于,所述第一根节点确定所述第一隧道的拓扑之后,所述方法还包括:
所述第一根节点显示所述第一隧道的拓扑。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述第一根节点获取第二隧道的拓扑,所述第二隧道为包括第二根节点的隧道;
所述第一根节点根据所述第一隧道的拓扑和所述第二隧道的拓扑确定所述第一隧道是否与所述第二隧道具有部分相同的链路。
8.根据权利要求5所述的方法,其特征在于,所述第一根节点确定所述第一隧道的拓扑之后,所述方法还包括:
所述第一根节点将所述第一隧道的拓扑发送给控制管理设备。
9.根据权利要求1~4中任意一项中任意一项所述的方法,其特征在于,所述方法还包括:
所述第一根节点将所述第一隧道的所述拓扑信息发送给控制管理设备。
10.一种网络设备,其特征在于,用于收集第一隧道的拓扑信息,其中,所述网络设备为所述第一隧道的第一根节点,所述第一隧道由所述网络设备以及所述网络设备的多个下游节点组成,所述多个下游节点包括至少一个中间节点以及至少一个尾节点,所述网络设备包括:
收发模块,用于向所述第一隧道中所述多个下游节点的每个下游节点分别发送请求报文;
所述收发模块,还用于接收所述每个下游节点响应于收到的所述请求报文所发送的应答报文;
处理模块,用于根据所述第一隧道的每个中间节点发送的应答报文,获取所述每个中间节点的标签交换路由器标识LSR-ID地址、上游通信接口地址和下游通信接口地址;
所述处理模块,还用于根据所述第一隧道的每个尾节点发送的应答报文,获取所述每个尾节点的LSR-ID地址和上游通信接口地址;
其中,所述第一隧道的所述拓扑信息包括:所述第一根节点的下游通信接口地址、所述每个中间节点的LSR-ID地址、所述每个中间节点的上游通信接口地址、所述每个中间节点的下游通信接口地址、所述每个尾节点的LSR-ID地址和上游通信接口地址。
11.根据权利要求10所述的网络设备,其特征在于,所述多个下游节点包括第一下游节点,
所述收发模块向所述第一隧道中所述多个下游节点的每个下游节点分别发送请求报文的方式具体为:
所述收发模块向所述第一下游节点发送第一请求报文;
所述收发模块接收所述每个下游节点响应于收到的所述请求报文所发送的应答报文的方式具体为:
所述收发模块接收所述第一下游节点响应于所述第一请求报文发送的第一应答报文;
其中,所述第一应答报文中携带所述第一下游节点的LSR-ID地址和上游通信接口地址,所述第一下游节点的LSR-ID地址携带于所述第一应答报文的第一类型-长度-值TLV中,所述第一下游节点的上游通信接口地址携带于所述第一应答报文的第二TLV中。
12.根据权利要求10所述的网络设备,其特征在于,所述至少一个中间节点包括第一中间节点,所述收发模块向所述第一隧道中所述多个下游节点的每个下游节点分别发送请求报文的方式具体为:
所述收发模块向所述第一中间节点发送第二请求报文;
所述收发模块接收所述每个下游节点响应于收到的所述请求报文所发送的应答报文的方式具体为:
所述收发模块接收所述第一中间节点响应于所述第二请求报文发送的第二应答报文;
其中,所述第二应答报文包括第一源地址字段,所述第一源地址字段携带所述第一中间节点的源地址,所述第一中间节点的源地址与所述第一中间节点的上游通信接口地址相同;
所述收发模块根据每个中间节点发送的应答报文,获取所述每个中间节点的标签交换路由器标识LSR-ID地址、上游通信接口地址和下游通信接口地址的方式具体为:
所述收发模块根据所述第二应答报文携带的所述第一中间节点的源地址,获取所述第一中间节点的上游通信接口地址。
13.根据权利要求10所述的网络设备,其特征在于,所述至少一个尾节点包括第一尾节点,所述收发模块向所述第一隧道中所述多个下游节点的每个下游节点分别发送请求报文的方式具体为:
所述收发模块向所述第一尾节点发送第三请求报文;
所述收发模块接收所述每个下游节点响应于收到的所述请求报文所发送的应答报文的方式具体为:
所述收发模块接收所述第一尾节点响应于所述第三请求报文发送的第三应答报文;
其中,所述第三应答报文包括第二源地址字段,所述第二源地址字段携带所述第一尾节点的源地址,所述第一尾节点的源地址与所述第一尾节点的LSR-ID地址相同;
所述收发模块根据每个尾节点发送的应答报文,获取所述每个尾节点的LSR-ID地址和上游通信接口地址的方式具体为:
所述收发模块根据所述第三应答报文携带的所述第一尾节点的源地址,获取所述第一尾节点的LSR-ID地址。
14.根据权利要求10~13中任意一项所述的网络设备,其特征在于,
所述处理模块,还用于根据所述网络设备的下游通信接口地址、所述每个中间节点的LSR-ID地址、所述每个中间节点的上游通信接口地址、所述每个中间节点的下游通信接口地址、所述每个尾节点的LSR-ID地址和上游通信接口地址确定所述第一隧道的拓扑。
15.根据权利要求14所述的网络设备,其特征在于,所述网络设备还包括:
显示模块,用于显示所述第一隧道的拓扑。
16.根据权利要求14所述的网络设备,其特征在于,
所述处理模块,还用于获取第二隧道的拓扑,所述第二隧道为包括第二根节点的隧道;
所述处理模块,还用于根据所述第一隧道的拓扑和所述第二隧道的拓扑确定所述第一隧道是否与所述第二隧道具有部分相同的链路。
17.根据权利要求14所述的网络设备,其特征在于,
所述收发模块,还用于将所述第一隧道的拓扑发送给控制管理设备。
18.根据权利要求10~13中任意一项所述的网络设备,其特征在于,
所述收发模块,还用于将所述第一隧道的拓扑信息发送给控制管理设备。
19.一种网络设备,所述网络设备为第一隧道的第一根节点,所述第一隧道由所述网络设备以及所述网络设备的多个下游节点组成,所述多个下游节点包括至少一个中间节点以及至少一个尾节点,所述网络设备包括:
存储器,该存储器包括计算机可读指令;
与该存储器相连的处理器,所述处理器用于执行所述计算机可读指令,从而使得所述网络设备执行权利要求1-9任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910130000.6A CN111600737B (zh) | 2019-02-21 | 2019-02-21 | 一种拓扑信息收集方法及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910130000.6A CN111600737B (zh) | 2019-02-21 | 2019-02-21 | 一种拓扑信息收集方法及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111600737A CN111600737A (zh) | 2020-08-28 |
CN111600737B true CN111600737B (zh) | 2021-12-24 |
Family
ID=72190513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910130000.6A Active CN111600737B (zh) | 2019-02-21 | 2019-02-21 | 一种拓扑信息收集方法及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111600737B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101945043A (zh) * | 2010-09-06 | 2011-01-12 | 华南理工大学 | 基于IPv6的下一代互联网拓扑发现系统及实现方法 |
CN107483338A (zh) * | 2016-06-08 | 2017-12-15 | 华为技术有限公司 | 一种确定跨域标签交换路径隧道的方法、设备和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103490970B (zh) * | 2013-09-23 | 2017-09-05 | 华为技术有限公司 | 一种流量工程隧道的检测方法、装置及系统 |
US10084825B1 (en) * | 2017-05-08 | 2018-09-25 | Fortinet, Inc. | Reducing redundant operations performed by members of a cooperative security fabric |
-
2019
- 2019-02-21 CN CN201910130000.6A patent/CN111600737B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101945043A (zh) * | 2010-09-06 | 2011-01-12 | 华南理工大学 | 基于IPv6的下一代互联网拓扑发现系统及实现方法 |
CN107483338A (zh) * | 2016-06-08 | 2017-12-15 | 华为技术有限公司 | 一种确定跨域标签交换路径隧道的方法、设备和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111600737A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11533249B2 (en) | Route processing method and apparatus, and data transmission method and apparatus | |
US7995483B1 (en) | Simultaneously testing connectivity to multiple remote maintenance endpoints of the same maintenance association | |
US9497110B2 (en) | Multicast-only fast re-route processing for point-to-multipoint pseudowire | |
EP2649752B1 (en) | System and method for providing improved failover performance for pseudowires | |
CN103748835B (zh) | 标签交换路径的动态更新 | |
US20150372901A1 (en) | Pseudowire control channel for signaling events | |
EP3188409A1 (en) | Oam mechanisms for evpn active-active services | |
CN113411834B (zh) | 报文处理方法、装置、设备及存储介质 | |
US20150326469A1 (en) | Oam aided explicit path report via igp | |
US8730979B2 (en) | Method and system for increasing forwarding efficiency of virtual private LAN service network | |
CN107968751B (zh) | 一种信息处理方法及装置 | |
WO2020168854A1 (zh) | 一种evpn组播方法、装置及系统 | |
WO2016041379A1 (zh) | Nni ping的实现方法及装置 | |
US10333726B2 (en) | Network device configured to track multicast receivers | |
US20220272028A1 (en) | Packet Forwarding Method, First Network Device, and First Device Group | |
CN105490937B (zh) | 以太虚拟网络网关切换方法和服务商边缘节点设备 | |
US11909546B2 (en) | Method and network node for sending and obtaining assert packet | |
US20210344567A1 (en) | Connectivity detection session creation method, network device, and system | |
WO2024187865A1 (zh) | 数据报文的传输控制方法、系统、装置及非易失性可读存储介质 | |
US11582053B2 (en) | Data multicast implementation method, apparatus, and system | |
CN111600737B (zh) | 一种拓扑信息收集方法及网络设备 | |
CN114726784B (zh) | 用于报告标签交换路径中的不可用性的方法和系统 | |
WO2019001101A1 (zh) | 路由路径分析方法及设备 | |
WO2021219049A1 (zh) | 一种信息上报方法、信息处理方法、装置及设备 | |
CN110838965B (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 |