WO2022161379A1 - 一种最短路径的确定方法以及相关设备 - Google Patents
一种最短路径的确定方法以及相关设备 Download PDFInfo
- Publication number
- WO2022161379A1 WO2022161379A1 PCT/CN2022/073922 CN2022073922W WO2022161379A1 WO 2022161379 A1 WO2022161379 A1 WO 2022161379A1 CN 2022073922 W CN2022073922 W CN 2022073922W WO 2022161379 A1 WO2022161379 A1 WO 2022161379A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- path
- attribute
- source node
- level
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 230000015654 memory Effects 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 22
- 239000010410 layer Substances 0.000 description 33
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 20
- 238000012545 processing Methods 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 239000012792 core layer Substances 0.000 description 4
- 235000008694 Humulus lupulus Nutrition 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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/12—Shortest path evaluation
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种最短路径的确定方法以及相关设备,本申请中,源节点接收到的报文中包括第一节点的第一层级属性,源节点可以根据第一层级属性获得第一路径。该第一路径用于指示第二路径发生故障后源节点到宿节点之间的最短路径。本申请提供的最短路径的确认方法中,节点与节点之间发送的报文中可以包括节点的层级属性,进而,节点可以通过报文中包括的层级属性来确定最短路径。节点与节点之间相互发送的报文中所包含的信息的内容较多,从而提升了双平面网络的运行效率,提升了确定最短路径的效率。
Description
本申请要求于2021年1月29日提交中国国家知识产权局、申请号为202110130373.0、发明名称为“一种最短路径的确定方法以及相关设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及通信领域,尤其涉及一种最短路径的确定方法以及相关设备。
随着用户数据大集中的深入和用户信息化办公程度的提高,广域网中承载的用户核心生产数据和办公数据的规模在不断增加。广域链路开始出现拥塞,用户的网络体验开始恶化。另一方面,一些新的对于实时性要求较高的业务逐渐扩张,例如语音,视频会议等多媒体业务的兴起对于广域网的运行效率提出了新的挑战。为了更好的适应信息化进程的发展,提出了分层双平面网络的概念。
分层双平面网络可以看成是由多个不同层次的节点构成的两个平行的网络平面,数据中心网络(data center network,DCN)即是一种典型的分层双平面网络。分层双平面网络中,节点与节点之间会相互发送报文来进行通信。
现有的双平面网络架构中,节点与节点之间相互发送的协议报文中所包含的信息的内容较少,最短路径的确定效率较低。
发明内容
本申请提供了一种最短路径的确定方法以及相关设备,用于解决上述技术问题。
本申请第一方面提供一种最短路径的确定方法,源节点接收报文,所述报文包括第一节点的第一层级属性,所述源节点和所述第一节点属于目标网络,所述第一层级属性用于指示所述第一节点在所述目标网络中所处的层级;所述源节点根据所述第一层级属性获得第一路径,所述第一路径用于指示第二路径发生故障后所述源节点到宿节点之间的最短路径,所述第一路径经过所述第一节点。
本申请中,源节点接收到的报文中包括第一节点的第一层级属性,该第一层级属性用于指示第一节点在目标网络中所处的层级。源节点可以根据第一层级属性获得第一路径,该第一路径用于指示第二路径发生故障后源节点到宿节点之间的最短路径。本申请提供的最短路径的确认方法中,节点与节点之间发送的报文中可以包括节点的层级属性,进而,节点可以通过报文中包括的层级属性来确定最短路径。节点与节点之间相互发送的报文中所包含的信息的内容较多,从而提升了双平面网络的运行效率,提升了确定最短路径的效率。
在第一方面的一种可能的实现方式中,所述报文包括内部网关协议IGP报文或,边界网关协议BGP报文。
该种可能的实现方式中,可选的,源节点接收到的包括第一层级属性的报文可以是内部网关协议(interior gateway protocols,IGP)报文,源节点接收到的包括第一层级属性的 报文可以是边界网关协议(border gateway protocol,BGP)报文,源节点接收到的包括第一层级属性的报文还可以是其他类型的报文,具体此处不做限定。该种可能的方式提供了源节点接收到的报文的具体实现形式,提升了方案的可实现性。
在第一方面的一种可能的实现方式中,所述报文包括IGP报文,所述IGP报文的链路状态类型字段包括所述第一层级属性,或,所述报文包括BGP报文,所述BGP报文头部的类型字段包括所述第一层级属性。
该种可能的实现方式中,若源节点接收到的包括第一层级属性的报文是IGP报文,IGP报文头部中包括的链路状态类型字段(link state type,LS type)可以包括第一层级属性。例如,可以对隶属于IGP协议的开放最短路径优先(open shortest path first,OSPF)1类链路状态通告(link-state advertisement,LSA)报文的格式进行扩展,使得该LSA报文头中携带第一层级属性。若源节点接收到的包括第一层级属性的报文是BGP报文,BGP报文头部的类型(type)字段可以包括第一层级属性。与LSA报文头部中包括的LS type字段相类似的,BGP的报文头中type字段的大小为8bit,BGP报文包括5种报文类型,因此只需3bit指示报文的类型即可,可以用type字段中剩余的5bit指示第一层级属性。该种可能的方式提供了源节点接收到的报文中包括的第一层级属性的具体实现形式,提升了方案的可实现性。
在第一方面的一种可能的实现方式中,所述源节点根据所述第一层级属性获得第一路径,包括:所述源节点根据所述第一层级属性获得所述第二路径的类型,所述第二路径的类型用于指示所述第二路径经过的各节点的平面属性的序列;所述源节点获得所述第二路径的类型对应的核心路径的类型的集合,所述核心路径包括所述第一路径;所述源节点根据所述核心路径的类型的集合获得所述第一路径。
该种可能的实现方式中,平面属性用于指示节点之间的层级关系以及节点所处的网络平面的位置。节点的平面属性可以由节点的层级属性推断获得。节点会将与之相连的邻居节点中处于不同层级的节点分配与该节点相同的属性,将与之相连的邻居节点中处于同一层级的节点分配与该节点相对应的属性。每个节点可以通过接收其他节点发送的层级信息,并结合其获得的链路状态数据库(link state data base,LSDB)信息来推断出全网节点的平面属性。源节点可以通过第一层级属性获取第二路径经过的各节点的平面属性,进而获得第二路径的类型。源节点获得第二路径的类型对应的核心路径的类型的集合,根据核心路径的类型的集合获得第一路径。该种可能的实现方式中,当第二路径中的某条链路出现故障时,源节点可以根据核心路径的类型的集合快速寻找出故障后源节点与宿节点之间的最短路径。节约了源节点寻找最短路径的时间,提升了源节点所在网络的运行效率。
在第一方面的一种可能的实现方式中,所述源节点根据所述层级属性获得第二路径的类型,包括:所述源节点获得网络拓扑;所述源节点根据所述源节点和所述宿节点从所述网络拓扑中获得所述第二路径;所述源节点根据所述层级属性获得所述第二路径中至少一个节点的平面属性,所述至少一个节点包括第一节点,所述第一节点的平面属性用于指示所述第一节点属于目标网络的平面信息;所述源节点根据所述第二路径以及所述第二路径中至少一个节点的平面属性获得所述第二路径的类型。
该种可能的实现方式中,源节点可以通过源节点与宿节点的ID从网络拓扑中获得第二路 径,源节点还可以通过源节点与宿节点的其他信息来获得第二路径,具体此处不做限定。源节点可以根据网络拓扑获得第二路径,获得第二路径中的至少一个节点的平面属性后,便可以根据第二路径中各节点之间的连接关系以及层级关系推断出第二路径中所有节点的平面属性。进而,根据第二路径中所有节点的层级属性获得第二路径的类型。该种可能的实现方式提供了第二路径的类型的具体的获得方式,源节点可以通过第二路径中的一个节点的平面属性获得第二路径的类型,源节点也可以通过第二路径中的多个节点的平面属性来获得第二路径的类型,提升了源节点获取第二路径的类型的灵活性。
在第一方面的一种可能的实现方式中,所述网络拓扑包括以所述源节点为根节点的最短路径树拓扑。
该种可能的实现方式中,提供了一种网络拓扑的具体的实现方式,提升了方案的可实现性。
在第一方面的一种可能的实现方式中,所述源节点根据所述核心路径的类型的集合获得所述第一路径,包括:所述源节点根据所述核心路径的类型的集合获得所述核心路径集合;所述源节点选择所述核心路径的集合中成本最小的路径作为所述第一路径。
该种可能的实现方式中,源节点将核心路径的集合中成本最小的路径作为故障发生后源节点与宿节点之间的最短路径,提供了一种从核心路径中选择最短路径的具体方式,提升了方案的可实现性。
在第一方面的一种可能的实现方式中,所述方法还包括:所述源节点获得配置的第二层级属性,所述第二层级属性用于指示所述源节点在所述目标网络中的层级,或,所述源节点在所述目标网络中的层级与所述源节点相连的节点在所述目标网络中的层级。
该种可能的实现方式中,可选的,技术人员可以一次性为目标网络中的所有的节点分配层级属性,目标网络中的每个节点都会接收到配置指令,根据接收到的配置指令配置自身的属性。可选的,技术人员可以只为最上层(第一层级)的节点分配层级属性,其他层级的节点通过接收上一层节点发送的配置指令来配置自身的层级属性。技术人员还可以通过其他的方式来为目标网络中的节点分配层级属性,具体此处不做限定。该种可能的实现方式提供了节点的层级属性的多种分配方式,提升了方案的灵活性。
在第一方面的一种可能的实现方式中,所述目标网络包括分层双平面网络。
该种可能的实现方式中,可选的,目标网络可以是分层双平面网络,目标网络还可以是其他类型的网络,具体此处不做限定。
本申请第二方面提供一种最短路径的确定方法,第一节点获得第一层级属性,所述第一层级属性用于指示所述第一节点在所述第一节点所处的目标网络中所处的层级;所述第一节点发送报文,所述报文包括所述第一层级属性。
本申请中,第一节点获取第一层级属性,该第一层级属性用于指示第一节点在目标网络中所处的层级。第一节点发送报文,报文中包括第一层级属性,本申请提供的最短路径的确认方法中,节点与节点之间发送的报文中可以包括节点的层级属性,进而,节点可以通过报文中包括的层级属性来确定最短路径。节点与节点之间相互发送的报文中所包含的信息的内容多,维度较为丰富,可利用程度较高,从而提升了双平面网络的运行效率。
在第二方面的一种可能的实现方式中,所述报文包括内部网关协议IGP报文或,边界网 关协议BGP报文。
在第二方面的一种可能的实现方式中,所述报文包括IGP报文,所述IGP报文的链路状态类型字段包括所述第一层级属性,或,所述报文包括BGP报文,所述BGP报文头部的类型字段包括所述第一层级属性。
该种可能的实现方式中,可选的,源节点接收到的包括第一层级属性的报文可以是IGP报文,源节点接收到的包括第一层级属性的报文可以是BGP报文,源节点接收到的包括第一层级属性的报文还可以是其他类型的报文,具体此处不做限定。该种可能的方式提供了源节点接收到的报文的具体实现形式,提升了方案的可实现性。
在第二方面的一种可能的实现方式中,所述报文还包括第二节点的第三层级属性,所述第二节点属于所述目标网络,所述第三层级属性用于指示所述第二节点在所述目标网络中所处的层级。
该种可能的实现方式中,若源节点接收到的包括第一层级属性的报文是IGP报文,IGP报文头部中包括的LS type字段可以包括第一层级属性。例如,可以对隶属于IGP协议的OSPF 1类LSA报文格式进行扩展,使得该LSA报文头中携带第一层级属性。若源节点接收到的包括第一层级属性的报文是BGP报文,BGP报文头部的type字段可以包括第一层级属性。与LSA报文头部中包括的LS type字段相类似的,BGP的报文头中type字段的大小为8bit,BGP报文包括5种报文类型,因此只需3bit指示报文的类型即可,可以用type字段中剩余的5bit指示第一层级属性。该种可能的方式提供了源节点接收到的报文中包括的第一层级属性的具体实现形式,提升了方案的可实现性。
在第二方面的一种可能的实现方式中,所述目标网络包括分层双平面网络。
该种可能的实现方式中,可选的,目标网络可以是分层双平面网络,目标网络还可以是其他类型的网络,具体此处不做限定。
本申请第三方面提供了一种网络设备,该网络设备中至少包括接收单元和处理单元,接收单元,用于接收报文,所述报文包括第一节点的第一层级属性,所述源节点和所述第一节点属于目标网络,所述第一层级属性用于指示所述第一节点在所述目标网络中所处的层级;处理单元,用于根据所述第一层级属性获得第一路径,所述第一路径用于指示第二路径发生故障后所述源节点到宿节点之间的最短路径,所述第一路径经过所述第一节点。
在第三方面的一种可能的实现方式中,所述报文包括内部网关协议IGP报文或,边界网关协议BGP报文。
在第三方面的一种可能的实现方式中,所述报文包括IGP报文,所述IGP报文的链路状态类型字段包括所述第一层级属性,或,所述报文包括BGP报文,所述BGP报文头部的类型字段包括所述第一层级属性。
在第三方面的一种可能的实现方式中,所述处理单元用于:根据所述第一层级属性获得所述第二路径的类型,所述第二路径的类型用于指示所述第二路径经过的各节点的平面属性的序列;获得所述第二路径的类型对应的核心路径的类型的集合,所述核心路径包括所述第一路径;根据所述核心路径的类型的集合获得所述第一路径。
在第三方面的一种可能的实现方式中,所述处理单元用于:获得网络拓扑;根据所述源节点和所述宿节点从所述网络拓扑中获得所述第二路径;根据所述层级属性获得所述第二路 径中至少一个节点的平面属性,所述至少一个节点包括第一节点,所述第一节点的平面属性用于指示所述第一节点属于目标网络的平面信息;根据所述第二路径以及所述第二路径中至少一个节点的平面属性获得所述第二路径的类型。
在第三方面的一种可能的实现方式中,所述网络拓扑包括以所述源节点为根节点的最短路径树拓扑。
在第三方面的一种可能的实现方式中,所述处理单元用于:根据所述核心路径的类型的集合获得所述核心路径集合;选择所述核心路径集合中成本最小的路径作为所述第一路径。
在第三方面的一种可能的实现方式中,所述处理单元,还用于获得配置的第二层级属性,所述第二层级属性用于指示所述源节点在所述目标网络中的层级,或,所述源节点在所述目标网络中的层级与所述源节点相连的节点在所述目标网络中的层级。
在第三方面的一种可能的实现方式中,所述目标网络包括分层双平面网络。
本申请第四方面提供了一种网络设备,该网络设备至少包括处理单元和发送单元,处理单元,用于获得第一层级属性,所述第一层级属性用于指示所述第一节点在所述第一节点所处的目标网络中所处的层级;发送单元,用于发送报文,所述报文包括所述第一层级属性。
在第四方面的一种可能的实现方式中,所述报文包括内部网关协议IGP报文或,边界网关协议BGP报文。
在第四方面的一种可能的实现方式中,所述报文包括IGP报文,所述IGP报文的链路状态类型字段包括所述第一层级属性,或,所述报文包括BGP报文,所述BGP报文头部的类型字段包括所述第一层级属性。
在第四方面的一种可能的实现方式中,所述报文还包括第二节点的第三层级属性,所述第二节点属于所述目标网络,所述第三层级属性用于指示所述第二节点在所述目标网络中所处的层级。
在第四方面的一种可能的实现方式中,所述目标网络包括分层双平面网络。
本申请第五方面提供一种网络设备,该网络设备包括至少一个处理器、存储器和通信接口。处理器与存储器和通信接口耦合。存储器用于存储指令,处理器用于执行该指令,通信接口用于在处理器的控制下与其他网络设备进行通信。该指令在被处理器执行时,使得所述网络设备执行上述第一方面或第一方面的任意可能的实现方式中的方法,或者,使得所述网络设备执行上述第二方面或第二方面的任意可能的实现方式中的方法。
本申请第六方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有程序,该程序使得所述网络设备执行上述第一方面或第一方面的任意可能的实现方式中的方法,或者,使得所述网络设备执行上述第二方面或第二方面的任意可能的实现方式中的方法。
本申请第七方面提供一种存储一个或多个计算机执行指令的计算机程序产品,当所述计算机执行指令被所述处理器执行时,所述处理器执行上述第一方面或第一方面任意一种可能实现方式的方法,或者,所述处理器执行上述第二方面或第二方面任意一种可能实现方式的方法。
本申请第八方面提供一种芯片,该芯片包括处理器和通信接口,所述处理器与所述通信接口耦合,所述处理器用于读取指令执行上述第一方面或第一方面任意一种可能实现方式的方法,或者,执行上述第二方面或第二方面任意一种可能实现方式的方法。
本申请第九方面一种最短路径的确定系统,该系统包括上述第一方面或第一方面任意一种可能实现方式中所述的源节点以及包括上述第二方面或第二方面任意一种可能实现方式中所述的第一节点。
本申请中,源节点接收到的报文中包括第一节点的第一层级属性,源节点可以根据第一层级属性获得第一路径,该第一路径用于指示第二路径发生故障后源节点到宿节点之间的最短路径。节点与节点之间发送的报文中可以包括节点的层级属性,进而,节点可以通过报文中包括的层级属性来确定最短路径。节点与节点之间相互发送的报文中所包含的信息的内容较多,从而提升了双平面网络的运行效率,提升了确定最短路径的效率。
图1为本申请提供的迪杰斯特拉Dijkstra算法的一种应用示意图;
图2为本申请提供的一种最短路径优先算法的应用示意图;
图3a为本申请提供的一种网络系统的应用示意图;
图3b为本申请提供的一种网络系统的应用示意图;
图4为本申请提供的一种最短路径的确定方法的应用示意图;
图5为本申请提供的一种LSA报文头的应用示意图;
图6为本申请提供的一种链路状态类型字段的应用示意图;
图7为本申请中提供的一种最短路径的确定方法的应用示意图;
图8为本申请提供的一种三层双平面网络的应用示意图;
图9为本申请提供的一种网络设备的应用示意图;
图10为本申请提供的一种网络设备的应用示意图;
图11为本申请提供的一种网络设备的应用示意图。
下面结合附图,对本申请提供的示例进行描述,显然,所描述的示例仅仅是本申请一部分的示例,而不是全部的示例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的示例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
数据通信网络中,通常可以采用Dijkstra算法来计算源节点与宿节点之间报文传输的最短路径。该算法主要特点是以源节点为中心向外层层计算,直到计算完网络中所有的节点为止。
设节点与链路的集合为G=(V,E),其中V为节点的集合,E为节点之间链路的集合。已知各个节点之间的链路的成本(cost),路径中包括的所有链路的cost之和即为该路径的cost, cost最小的路径也称为距离最短路径。可以指定图中任意一个节点为源节点,从而计算该源节点到图中其他剩余节点的最短路径。将图中节点分为两组,一组为已求出最短路径的节点集合,记为S,另一组为尚未确定最短路径的节点集合,记为U。初始时集合S中只包含源节点,其他节点均在集合U中,以后每求得一条去到某个节点的最短路径,便将该节点从集合U取出,加入集合S中,直到将集合U取空。
采用Dijkstra算法计算各节点的最短路径时,包括步骤一至步骤四。
步骤一:根据链路cost初始化(u,v)值,其中v表示源节点,u表示其他节点,(u,v)值表示节点u,v之间的距离。初始化时,若u与v之间存在链路,则(u,v)值为u与v之间链路的cost,若u与v之间不存在链路,则(u,v)值为正无穷大。
步骤二:从集合U中找到一个与源节点v距离最小的节点k,将k从集合U移出,并加入集合S。
步骤三:以k为中间节点,修改U中各节点到源节点的距离(u,v),若经过节点k的情况下从源节点v到节点u的距离比原来距离短,则修改(u,v)=(v,k)+(k,u)。
步骤四:重复步骤二和步骤三,直到所有节点都包含在S中。
图1为本申请提供的迪杰斯特拉Dijkstra算法的一种应用示意图。
示例性的,假设节点A、节点B、节点C、节点D和节点E构成一个网络,其中,节点A为源节点。各节点之间的连接关系如图1所示,且不同节点之间的链路具有不同的cost。假设,节点A与节点B之间的链路传输报文的cost为4,节点A与节点D之间的链路传输报文的cost为2,节点B与节点C之间的链路传输报文的cost为4,节点B与节点D之间的链路传输报文的cost为1,节点C与节点D之间的链路传输报文的cost为1,节点D与节点E之间的链路传输报文的cost为7,节点C与节点E之间的链路传输报文的cost为3。
步骤一:初始化(u,v)值,并且初始化集合S={A},U={B,C,D,E}。
表1为初始化时(u,v)值的示意表。如表1所示,以节点A为源节点,在没有中间节点的情况下,节点B为u时,节点A到节点B的路径为A→B,此时(u,v)值(value)为节点A与节点B之间的cost,即为4。以节点C作为u时,由于节点A与节点C之间没有链路,因此节点A无法直接向节点C传输报文,因此此时(u,v)值为节点A与节点C之间的cost,节点A与节点C之间的cost为无穷大。节点D、节点E为u时,(u,v)值的计算过程与节点B、节点C为u时的计算过程相类似,具体此处不做赘述。
(u,v) | B | C | D | E |
value | 4 | ∞ | 2 | ∞ |
最短路径 | A→B | A→D |
表1
步骤二:从集合U中确认节点D为与节点v距离最小的节点,将节点D从集合U移出,并加入集合S。
步骤三:以节点D为中间节点,根据(u,v)=(v,k)+(k,u),修改(u,v)值。
表2为以D为中间节点计算得出的(u,v)值的示意表。修改后的(u,v)值如表2所示。以节点A为源节点,在以D为中间节点的情况下,节点B为u时,节点A到节点B的路径为A→D→B,此时(u,v)值为节点A与节点D之间的链路的cost(2)以及节点D与节点 B之间的链路的cost(1)之和,即为2+1=3。路径A→D→B的(u,v)值小于路径A→B的(u,v)值,因此,修改表1中以节点B为u的最短路径,将最短路径A→B修改为最短路径A→D→B。相应的,将(u,v)值由4修改为3。节点C为u时,节点A到节点C的路径为A→D→C,此时(u,v)值为节点A与节点D之间的链路的cost(2)以及节点D与节点C之间的链路的cost(1)之和,即为2+1=3。路径A→D→C的(u,v)值小于无穷大,因此,修改表1中以节点C为u的最短路径,将最短路径修改为路径A→D→C。相应的,将(u,v)值由∞修改为3。节点D、节点E为u时,(u,v)值的计算过程与节点B、节点C为u时的计算过程相类似,具体此处不做赘述。
(u,v) | B | C | D | E |
value | 3 | 3 | 2 | 9 |
最短路径 | A→D→B | A→D→C | A→D | A→D→E |
表2
表3为以B为中间节点计算得出的(u,v)值的示意表。计算完以节点D作为中间节点的(u,v)值后,确认集合U中还剩有节点B、节点C、和节点E。回到步骤二,从集合U中确认节点B为集合U中与节点v距离最小的节点,将节点D从集合U移出,并加入集合S。再次重复步骤三,以节点B为中间节点,根据(u,v)=(v,k)+(k,u),修改(u,v)值。表3为以B为中间节点计算得出的(u,v)值的示意表。修改后的(u,v)值如表3所示。以B为中间节点计算(u,v)值的过程与以D为中间节点计算得出(u,v)值的过程相类似。计算后得知,以B为中间节点时,各条路径的(u,v)值均大于以D为中间节点时各条路径的(u,v)值。因此,表2中的各最短路径以及(u,v)值无需更改。
(u,v) | B | C | D | E |
value | 3 | 3 | 2 | 9 |
最短路径 | A→D→B | A→D→C | A→D | A→D→E |
表3
表4为以C为中间节点计算得出的(u,v)值的示意表。计算完以节点B作为中间节点的(u,v)值后,确认集合U中还剩有节点C、和节点E。同理,计算以节点C作为中间节点的(u,v)值,重复步骤二和步骤三,得出以节点C作为中间节点的(u,v)值。表4为以C为中间节点计算得出的(u,v)值的示意表。修改后的(u,v)值如表4所示,计算后得知,以C为中间节点时,节点E为u时,节点A到节点E的路径为A→D→C→E,此时(u,v)值为节点A与节点D之间的链路的cost(2)、节点D与节点C之间的链路的cost(1)、节点以及节点C与节点E之间的链路的cost(3)之和,即为2+1+3=6。路径A→D→C→E的(u,v)值小于路径A→D→E的(u,v)值,因此,修改表3中以节点E为u的最短路径,将最短路径A→D→E修改为最短路径A→D→C→E,相应的,将(u,v)值由9修改为6。其余各条路径的(u,v)值均大于以D为中间节点时各条路径的(u,v)值。因此,表3中其他的最短路径以及(u,v)值无需更改。
(u,v) | B | C | D | E |
value | 3 | 3 | 2 | 6 |
最短路径 | A→D→B | A→D→C | A→D | A→D→C→E |
表4
计算完以节点C作为中间节点的(u,v)值后,确认集合U中还剩有节点E。重复步骤2时,从集合U中确认节点E为集合U中与节点v距离最小的节点,将节点E从集合U移出,并加入集合S,此时集合U为空集,则计算过程结束。
图2为本申请提供的一种最短路径优先算法的应用示意图。
从上述计算节点之间的最短路径的过程可以得知,Dijkstra算法时间复杂度为O(N^2),采用Dijkstra算法计算最短路径时复杂较高,所耗费的开销大。为了提升最短路径的计算速度,人们提出了增量最短路径优先(incremental shortest path first,ISPF)。核心思想是在迪杰斯特拉(Dijkstra)算法的基础上,构建以计算节点为根的一颗最短路径树,当某两个节点之间的链路发生故障时,故障链路会对根节点与某些节点之间的原最短路径产生影响。对根节点以及受影响的那部分子树上的节点之间的最短路径做重新计算。该种计算最短路径的方式复杂度高,所耗费的开销也比较大,同样不是一个好的选择。
随着用户数据大集中的深入和用户信息化办公程度的提高,广域网中承载的用户核心生产数据和办公数据的规模在不断增加。广域链路开始出现拥塞,用户的网络体验开始恶化。另一方面,一些新的对于实时性要求较高的业务逐渐扩张,例如语音,视频会议等多媒体业务的兴起对于广域网的运行效率提出了新的挑战。为了更好的适应信息化进程的发展,提出了分层双平面网络的概念。
分层双平面网络可以看成是由多个不同层次的节点构成的两个平行的网络平面,DCN即是一种典型的分层双平面网络。分层双平面网络中,节点与节点之间会相互发送报文来进行通信。
现有的双平面网络架构中,节点与节点之间相互发送的报文中所包含的信息的内容较少,维度较为单一,可利用程度较低,从而降低了双平面网络的运行效率。
为了解决上述方案中存在的问题,本申请提供了一种最短路径的确定方法。本申请中,源节点接收到的报文中包括第一节点的第一层级属性,该第一层级属性用于指示第一节点在目标网络中所处的层级。源节点可以根据第一层级属性获得第一路径,该第一路径用于指示第二路径发生故障后源节点到宿节点之间的最短路径。本申请提供的最短路径的确认方法中,节点与节点之间发送的报文中可以包括节点的层级属性,进而,节点可以通过报文中包括的层级属性来确定最短路径。节点与节点之间相互发送的报文中所包含的信息的内容多,维度较为丰富,可利用程度较高,从而提升了双平面网络的运行效率。
图3a为本申请提供的一种网络系统的应用示意图。
请参阅图3a,本申请提供的最短路径的确定系统包括节点101、节点102、节点103、节点104、节点105、节点106、节点107、节点108、节点109和节点110。
本申请中,节点101至节点110构成如图3a所示的分层双平面网络,这种网络可以看成由两张平行网络构成。例如,图3a中节点101、节点103、节点105、节点107和节点109均属于双平面网络中的第一网络平面,节点102、节点104、节点106、节点108和节点110属于双平面网络中的第二网络平面。其中,在第一网络平面或第二网络平面的同一层级的节点间有一条链路连接。例如,图3a中节点101与节点102属于同一层级,这两个节点相连,同理:节点103与节点104连接,节点105与节点106连接,节点107与节点108连接,以 及节点109与节点110连接。
图3b为本申请提供的一种网络系统的应用示意图。
本申请中,如图3b左侧附图所示,若切断第一网络平面和第二网络平面所有对应相同位置的节点间的链路时,如图3b右侧附图所示,原来的双平面网络将变为两张一样的相互之间不连接的子网络,且各自子网络中任意两个节点间有且仅有一条通路。
本申请中,不同的节点属于不同的层级。每一张子网络平面的拓扑是树状结构,根据节点在树中的深度可以将节点分为不同的层级。每个节点只与一个同层节点连接,只与一个上层节点连接。并且节点之间的连接具有对称性。技术人员通常可以根据实际网络中设备的类型定义层级。可选的,技术人员可以将核心层设备定义为第一层级,核心层设备位于双平面网络的最上层,且每个核心层设备分别与多个其他节点连接。技术人员可以将汇聚层设备定义为第二层级,第二层级中的节点与第一层级中的节点直接连接。技术人员可以将接入层设备定义为第三层级,第三层级的节点与第二层级的节点直接连接。例如,如图3a所示,节点101与节点102属于第一层级,节点103、节点104、节点105和节点106为属于第二层级,节点107、节点108、节点109和节点110属于第三层级。
本网络中的节点可以是物理的交换机、路由器,或是任何支持路由功能的虚拟设备。其中,第一层级中的节点可以是核心层设备。可选的,第二层级中的节点可以汇聚层设备。第三层级中的节点可以是接入层设备,本申请对设备的具体类型不做限定。
仅以图3a所示的由节点101至节点110构成的双平面网络为例进行说明本申请提供的最短路径的确定系统。可选的,在实际应用中,具有更多或者更少的节点的双平面网络也可以构成本申请提供的最短路径的确定系统,具体此处不做限定。
基于图3a所描述的最短路径的确定系统,对本申请提供的最短路径的确定方法进行描述,本申请提供的最短路径的确定方法,可以应用于双平面网络中,也可以应用于其他类型的网络中,具体此处不做限定。
图4为本申请提供的一种最短路径的确定方法的应用示意图。
请参阅图4,本申请提供的最短路径的确定方法的一个示例包括步骤201至步骤203。
201、第一节点获得第一层级属性。
本申请中,第一层级属性用于指示第一节点在第一节点所处的目标网络中所处的层级。例如,假设图3a中所示的网络为目标网络,第一节点为图3a中的节点105,由于节点105在目标网络中所处的层级为第二层级,所以第一层级属性便是指示节点105属于目标网络中的第二层级的一种参数。
本申请中,第一节点可以通过第一层级属性进行故障定位,第一节点还可以通过第一层级属性进行网络拓扑可视化处理,第一节点还可以利用第一层级属性执行其他操作,具体此处不做限定。
202、源节点接收报文,相应的,第一节点发送报文。
本申请中,源节点、第一节点以及第三节点均属于目标网络。源节点接收到的报文中包括第一层级属性。可选的,源节点可以接收第一节点发送的报文,报文中包括第一层级属性。第三节点为目标网络中除第一节点外其他的节点。源节点也可以接收第三节点发送的报文,报文中包括第一层级属性,具体此处不做限定。同理,第一节点获得到第一层级属性后,第 一节点可以直接向源节点发送包括第一层级属性的报文。第一节点也可以向第三节点发送包括第一层级属性的报文,由第三节点将包括第一层级属性的报文转发至源节点,具体此处不做限定。同理可知,假设源节点、第一节点和第二节点均属于目标网络。第一节点发送的报文中除了包括第一节点的第一层级属性之外,还可以包括第二节点的第三层级属性。
203、源节点根据第一层级属性获得第一路径。
本申请中,第一路径用于指示第二路径发生故障后源节点到宿节点之间的最短路径,第二路径用于指示第二路径发生故障前源节点到宿节点之间的最短路径。
本申请中,第一路径经过第一节点。例如,假设图3a中的第一路径为108-104-102-106-110,便可以理解为第一路径经过了节点108、节点104、节点102、节点106和节点110。第一路径经过的节点既可以包括第一路径中的源节点(节点108),也可以包括路径中的宿节点(节点110),还可以包括路径中的其他节点(节点104、节点102或节点106),具体此处不做限定。
本申请中,步骤202中所提及的报文包括第一层级属性具有多种实现方式,可选的,源节点接收到的包括第一层级属性的报文可以是内部网关协议(interior gateway protocols,IGP)报文,源节点接收到的包括第一层级属性的报文可以是边界网关协议(border gateway protocol,BGP)报文,源节点接收到的包括第一层级属性的报文还可以是其他类型的报文,具体此处不做限定。
图5为本申请提供的一种LSA报文头的应用示意图。
请参阅图5,本申请中,若源节点接收到的包括第一层级属性的报文是IGP报文,IGP报文头部中包括的链路状态类型字段(link state type,LS type)可以包括第一层级属性。例如,可以对隶属于IGP协议的开放最短路径优先(open shortest path first,OSPF)1类链路状态通告(link-state advertisement,LSA)报文格式进行扩展,使得该LSA报文头中携带第一层级属性。
图6为本申请提供的一种链路状态类型字段的应用示意图。
请参阅图6,可以通过LSA报文头部中包括的LS type字段来指示第一层级属性,LSA报文头中包括的LS type字段的大小为8比特(binary digit,bit),原始的1类LSA报文中,该字段通常为00000001,对其进行扩展后,将该字段的最高位设为标志位。当最高位为0时,该LSA报文为原始的1类LSA报文。当最高位为1时,紧邻最高位的4bit以二进制表示第一节点的第一层级属性。
本申请中,IGP报文头部中的其他字段也可以包括第一层级属性,IGP报文中的负载部分和尾部的字段也可以包括第一层级属性,具体此处不做限定。
本申请中,若源节点接收到的包括第一层级属性的报文是BGP报文,BGP报文头部的类型(type)字段可以包括第一层级属性。与LSA报文头部中包括的LS type字段相类似的,BGP的报文头中type字段的大小为8bit,BGP报文包括5种报文类型,因此只需3bit指示报文的类型即可,可以用type字段中剩余的5bit指示第一层级属性。
本申请中,BGP报文头部中包括的type字段可以包括第一层级属性。BGP报文头部中包括的其他字段也可以包括第一层级属性,BGP报文中的负载部分和尾部的字段也可以包括第一层级属性,具体此处不做限定。
本申请中,步骤203中所提及的源节点根据第一层级属性获得第一路径具有具体的实现方式,该种具体的实现方式将在如下方法示例中进行说明。
图7为本申请中提供的一种最短路径的确定方法的应用示意图。
301、源节点根据第一层级属性获得第二路径的类型。
源节点获得网络拓扑。
本申请中,源节点可以通过多种方式获得源节点所处网络的网络拓扑,可选的,源节点可以通过其他节点发送的LSDB信息获得网络拓扑,源节点还可以通过其他方式获得网络拓扑,具体此处不做限定。
本申请中,网络拓扑可以是以源节点为根节点的最短路径树拓扑(Shortest Path Tree,SPT),网络拓扑还可以是其他类型的拓扑,具体此处不做限定。
源节点根据源节点和宿节点从网络拓扑中获得第二路径。
本申请中,可选的,源节点可以通过源节点与宿节点的ID从网络拓扑中获得第二路径,源节点还可以通过源节点与宿节点的其他信息来获得第二路径,具体此处不做限定。
源节点根据层级属性获得第二路径中至少一个节点的平面属性。
本申请中,至少一个节点包括第一节点,第一节点的平面属性用于指示第一节点属于目标网络的平面信息。
本申请中,平面属性用于指示节点之间的层级关系以及节点所处的网络平面的位置。下面以图3a为例来说明节点的平面属性。例如,假设以0、1来表示各节点的平面属性,节点101、节点103、节点105、节点107和节点109属于双平面网络中的第一网络平面,因此这五个节点的平面属性为0。节点102、节点104、节点106、节点108和节点110属于双平面网络中的第二网络平面,因此这五个节点的平面属性为1。
本申请中,节点的平面属性可以由节点的层级属性推断获得。节点会将与之相连的邻居节点中处于不同层级的节点分配与该节点相同的属性,将与之相连的邻居节点中处于同一层级的节点分配与该节点相对应的属性。每个节点可以通过接收其他节点发送的层级信息,并结合其获得的LSDB信息来推断出全网节点的平面属性。以图3a为例来说明平面属性的推断过程。例如,图3a中节点101确认自身没有被分配节点属性时,那么节点101将自身分配为属性0。节点101将与他同层级的邻居节点分配对应的平面属性,即将节点102的平面属性分配为1,与他不同层级的邻居节点分配相同的属性,即将节点103、节点105的平面属性分配为0。然后,将这些邻居节点(节点102,节点103和节点105)加入临时列表(templist),从templist中依次取出各节点,比如取出节点102,对它的邻居作分配,已被分配过平面属性的邻居节点跳过(此处节点101被跳过),非同层邻居节点104、节点106分配平面属性1。取出节点103,对节点103的邻居节点作分配,非同层的邻居节点107被分配平面属性0。取出节点105,对它的邻居节点作分配,非同层的邻居节点109被分配平面属性0。此时原templist中的节点都被取完,更新templist后,templist中包括的节点为节点104、节点106、节点107和节点109。依次取出templist中节点,为新的邻居节点108和节点110分配平面属性。再次更新templist后,templist中包括的节点为节点108、节点110,确认节点108与节点110并没有其他未分配平面属性的邻居节点,双平面网络中各节点的平面属性的分配过程结束。
本申请中,上述方法示例中仅以图3a中的拓扑结构以及用0、1来表示平面属性为例来说明节点的平面属性,在实际应用中,节点的平面属性还有其他的实现方式,具体此处不做限定。
本申请中,第二路径的类型用于指示第二路径经过的各节点的平面属性的序列。下面以图3a为例来说明第二路径的类型。假设第二路径经过节点101、节点105、节点106以及节点110。节点101的平面属性为0,节点105的平面属性为0,节点106的平面属性为1,节点110的平面属性为1。由此可见,第二路径的类型为各节点的平面属性的序列,即第二路径的类型为0011。
源节点根据第二路径以及第二路径中至少一个节点的平面属性获得第二路径的类型。
本申请中,源节点可以根据网络拓扑获得第二路径,获得第二路径中的至少一个节点的平面属性后,便可以根据第二路径中各节点之间的连接关系以及层级关系推断出第二路径中所有节点的平面属性。进而,根据第二路径中所有节点的层级属性获得第二路径的类型。
302、源节点获得第二路径的类型对应的核心路径的类型的集合。
图8为本申请提供的一种三层双平面网络的应用示意图,在本申请中,分层双平面网络也可以被称为口字型网络。
下面以图8所示的三层口字型网络为例来介绍通过第二路径的类型获得核心路径的类型的集合的过程。
本申请中,节点401至节点418构成如图8所示的三层口字型网络。图8中节点401、节点403、节点405、节点407、节点409、节点411、节点413、节点415和节点417均属于三层口字型网络中的第一网络平面,节点402、节点404、节点406、节点408、节点410、节点412、节点414、节点416和节点418属于三层口字型网络中的第二网络平面。其中,在第一网络平面或第二网络平面的同一层级的节点间有一条链路连接。例如,图8中节点403节点与节点404属于同一层级,这两个节点相连,第一网络平面与第二网络平面中同一层级的节点之间的连接关系和上述示例的连接关系相类似,具体此处不做赘述。
示例性的,假设第二路径为401-403-407,即第二路径经过节点401、节点403和节点407。第二路径中,源节点为节点401,宿节点为节点407。
首先,根据第二路径确定第二路径的类型为000。
然后,根据第二路径的类型找出新的可能的最短路的类型。
本申请中,不同的路径具有不同的特点。这里我们分四种情况讨论。假设节点的平面属性通过0、1来进行指示,由第二路径经过的节点的平面属性可知,路径具有四种特点,分别是从0到0、从1到1、从0到1、以及从1到0。例如,第二路径中的源节点401和宿节点407的平面属性均为0,因此,第二路径的特点为从0到0。从1到1这一特点的区分方式与从0到0的区分方式相类似,某一路径的源节点的平面属与宿节点的平面属性均为1时,该路径的特点为从1到1。从0到1这一特点是指路径中源节点的平面属性为0,宿节点的平面属性为1。例如,假设路径为401-405-406-416,源节点401的平面属性为0,宿节点416的平面属性为1,则该路径的特点为从0到1。从1到0的区分方式与从0到1的区分方式相类似,具有从1到0这一特点的路径中源节点的平面属性为1,宿节点的平面属性为0。
情况1:本申请中,假设路径中某一条链路发生了故障,若路径的特点为从0到0,则新 最短路径的长度=原最短路径的长度+2,多出来的两跳为0到1和1到0,移动路径类型中两个“1”的位置或改变路径类型中“1”的个数,即可得到所有的核心路径的类型。
本申请中,若特点为从0到0的路径中的原最短路径出现故障时,则该路径经过的节点一定在第一网络平面,即0网,由于0网内两点之间有且只有1条通路,发生链路故障后,新的最短路必定会绕到第二网络平面,即1网。因此,新的最短路径的长度至少比原最短路径的长度多两跳,而多出来的两跳就是从0网到1网的1跳,加上从1网回到0网的1跳。由此可见,根据这种方式确定出的不同的核心路径的区别就是离开0网和回到0网的位置选择不同而已。既然路径类型中第一个“1”代表离开0网的位置,最后一个“1”代表回到0网的位置,那么我们移动“1”的位置和改变“1”的个数即可找到所有核心路径的类型的集合。
示例性的,以第二路径401-403-407为例,第二路径属于000类型。若第二路径中的单个链路发生故障后,核心路径的长度为5,类型为0xxx0.头尾确定,有3个位置待确定。则核心路径的类型的集合可以是集合A,A={01100,00110,01110}。在核心路径的类型中,两个“1”之间一定是“1”,因为当节点处于1网时,最短的传输路径一定仍在1网内。再以路径407-403-401-405为例进行说明,它属于0000类型,单个链路故障后,核心路径的长度为6,类型为0xxxx0有4个位置待确定。核心路径的类型的集合可以是集合B,B={011000,001100,000110,011100,001110,011110}。
情况2:本申请中,若特点为从1到1的第二路径出现故障时,获得核心路径的类型集合的方式与上述示例中特点为从0到0的第二路径出现故障时,获得核心路径的类型的集合的方式相类似,具体此处不做赘述。
情况3:本申请中,若特点为从0到1的第二路径出现故障时,第二路径的源节点的平面属性为0,第二路径的宿节点的平面属性为1。核心路径的长度不变,移动“1”的位置可得到所有核心路径的类型。
本申请中,报文在特点为从0到1的第二路径中传递时,报文会经历一个从0网到1网的传输过程。报文传输时原本就要选择一个位置离开0网,在第二路径中的某一段链路发生故障后,需要做的只是选择一个新的位置离开0网。因此核心路径的长度不变。只需去改变第一个“1”出现的位置和“1”的个数。
示例性的,假设第二路径为401-402-404-408,则第二路径的类型为0111。第二路径中的某个链路发生故障后,核心路径的长度为4,类型为0xx1有两个位置待确定。核心路径的类型可以是0011,核心路径的类型也可以是0001。由此可见,核心路径的类型的集合为C,C={0011,0001}。
情况4:本申请中,若特点为从1到0的第二路径出现故障时,第二路径的源节点的平面属性为1,第二路径的宿节点的平面属性为0。核心路径的长度不变,移动“1”的位置可得到所有核心路径的类型。情况4中获得核心路径的类型的集合方式与情况3中获得核心路径的类型的集合的方式相类似,具体此处不做赘述。
表5为本申请提供的核心路径的类型的集合的示意表。
请参阅表5,本申请中,以图8中网络拓扑结构为例,说明第二路径的类型与核心路径的类型的集合之间的对应关系。
表5
303、源节点根据核心路径的类型的集合获得第一路径。
源节点根据核心路径的类型的集合获得核心路径的集合。
本申请中,第二路径中的每个节点与它同层级的邻居节点构成一个peer组,记录第二路径中所有节点分别构成的peer组。例如,假设第二路径为401-403-407,则有3个peer组,p1=[401,402],p2=[403,404],p3=[407,408]。
本申请中,核心路径经过的节点均属于peer组,也就是说,核心路径的类型里面的“0”和“1”代表的节点就位于这些peer组中,而这些组中包括的节点的层级属性和平面属性是已知的。因此,结合层级属性以及物理拓扑,从源节点开始,根据平面属性确定对应的具体节点,从而恢复出具体路径。例如,假设第二路径为401-403-407,对应的核心路径的类型的集合是[00110,01100,01110],下面以恢复出00110对应的核心路径为例来说明核心路径的恢复方式。核心路径的类型为00110,其中,第一个0代表源节点401。根据核心路径的类型恢复与之对应的核心路径的第二个节点,如果第二位继续为0,结合物理拓扑可知,那么它只能代表第二个peer组中的属性0节点,也就是节点403。如果第二位为1,那么它只能代表第一个peer组中属性1节点,也就是节点402。继续根据核心路径的类型恢复核心路径的第三个节点,第三位的1代表第二个peer组中的平面属性为1的节点,也就是节点404。继续根据核心路径的类型恢复核心路径的第四个节点,第四位的1代表第三个peer组中的平面属性为1的节点,也就是节点408。第五个节点是宿节点407。最终00110被恢复成路径401-403-404-408-407。
源节点选择核心路径集合中成本最小的路径作为第一路径。
本申请中,源节点根据核心路径的类型的集合恢复出集合中所有的核心路径后,选择成本最小的核心路径作为第二路径出现故障后新的最短路径。
由于前面的方案中一直假设单个链路故障,其实多个链路故障也能做类似处理,只需去扩展核心路径类型的集合便可,具体此处不做赘述。
本申请中,除步骤201至步骤203之外,可选的,源节点还可以获得配置的第二层级属性,第二层级属性用于指示源节点在目标网络中的层级,或,源节点在目标网络中的层级与源节点相连的节点在目标网络中的层级。
方式1:
本申请中,技术人员可以一次性为目标网络中的所有的节点分配层级属性,目标网络中的每个节点都会接收到配置指令,根据接收到的配置指令配置自身的属性。
方式2:
本申请中,技术人员可以只为最上层(第一层级)的节点分配层级属性,其他层级的节点通过接收上一层节点发送的配置指令来配置自身的层级属性。
示例性的,以图8为例进行说明,技术人员可以将节点401配置为第一层级,节点401向节点403和节点405发送配置指令,节点403和节点405接收到配置指令后将自身配置为第二层级。节点403向节点407、节点410和节点412发送配置指令,节点407、节点410和节点412接收到配置指令后将自身配置为第三层级。同理,节点405向节点414、节点416和节点418发送层级配置指令,节点414、节点416和节点418接收到配置指令后将自身配置为第三层级。目标网络中节点402等剩余节点的层级配置方式与上述节点401向下逐级分配的方式相类似,具体此处不做赘述。
本申请中,源节点接收到的报文中包括第一节点的第一层级属性,源节点可以根据第一层级属性获得第一路径,该第一路径用于指示第二路径发生故障后源节点到宿节点之间的最短路径。节点与节点之间发送的报文中可以包括节点的层级属性,进而,节点可以通过报文中包括的层级属性来确定最短路径。节点与节点之间相互发送的报文中所包含的信息的内容多,维度较为丰富,可利用程度较高,从而提升了双平面网络的运行效率。
上述示例提供了一种最短路径的确定方法的不同的实施方式,下面提供了一种网络设备50,如图9所示,该网络设备50用于执行上述示例中源节点执行的步骤,该执行步骤以及相应的有益效果具体请参照上述相应的示例进行理解,此处不再赘述,该网络设备50包括:
接收单元501,用于接收报文,报文包括第一节点的第一层级属性,源节点和第一节点属于目标网络,第一层级属性用于指示第一节点在目标网络中所处的层级;
处理单元502,用于根据第一层级属性获得第一路径,第一路径用于指示第二路径发生故障后源节点到宿节点之间的最短路径,第一路径经过第一节点。
一种可能的实现方式中,报文包括内部网关协议IGP报文或,边界网关协议BGP报文。
一种可能的实现方式中,报文包括IGP报文,IGP报文的链路状态类型字段包括所述第一层级属性,或,所述报文包括BGP报文,所述BGP报文头部的类型字段包括所述第一层级属性。
一种可能的实现方式中,所述处理单元502用于:
根据第一层级属性获得第二路径的类型,第二路径的类型用于指示第二路径经过的各节点的平面属性的序列;
获得第二路径的类型对应的核心路径的类型的集合,核心路径包括第一路径;
根据核心路径的类型的集合获得第一路径。
一种可能的实现方式中,
处理单元502用于:
获得网络拓扑;
根据源节点和宿节点从网络拓扑中获得第二路径;
根据层级属性获得第二路径中至少一个节点的平面属性,至少一个节点包括第一节点,第一节点的平面属性用于指示第一节点属于目标网络的平面信息;
根据第二路径以及第二路径中至少一个节点的平面属性获得第二路径的类型。
一种可能的实现方式中,网络拓扑包括以源节点为根节点的最短路径树拓扑。
一种可能的实现方式中,
处理单元502用于:
根据核心路径的类型的集合获得核心路径集合;
选择核心路径集合中成本最小的路径作为第一路径。
一种可能的实现方式中,
处理单元502,还用于获得配置的第二层级属性,第二层级属性用于指示源节点在目标网络中的层级,或,源节点在目标网络中的层级与源节点相连的节点在目标网络中的层级。
一种可能的实现方式中,目标网络包括分层双平面网络。
需要说明的是,上述网络设备50的各模块之间的信息交互、执行过程等内容,由于与本申请方法示例基于同一构思,其执行步骤与上述方法步骤的详细内容一致,可参见上述方法示例处的描述。
上述示例提供了一种网络设备50的不同的实施方式,下面提供了一种网络设备60,如图10所示,该网络设备60用于执行上述示例中第一节点执行的步骤,该执行步骤以及相应的有益效果具体请参照上述相应的示例进行理解,此处不再赘述,该网络设备60包括:
处理单元601,用于获得第一层级属性,第一层级属性用于指示第一节点在第一节点所处的目标网络中所处的层级;
发送单元602,用于发送报文,报文包括第一层级属性。
一种可能的实现方式中,报文包括内部网关协议IGP报文或,边界网关协议BGP报文。
一种可能的实现方式中,报文包括IGP报文,IGP报文的链路状态类型字段包括第一层级属性,或,报文包括BGP报文,BGP报文头部的类型字段包括第一层级属性。
一种可能的实现方式中,报文还包括第二节点的第三层级属性,第二节点属于目标网络,第三层级属性用于指示第二节点在目标网络中所处的层级。
一种可能的实现方式中,目标网络包括分层双平面网络。
需要说明的是,上述网络设备60的各模块之间的信息交互、执行过程等内容,由于与本申请方法示例基于同一构思,其执行步骤与上述方法步骤的详细内容一致,可参见上述方法示例处的描述。
参阅图11所示,为本申请提供一种网络设备的结构示意图,该网络设备700包括:处理器702、通信接口703、存储器701。可选的,可以包括总线704。其中,通信接口703、处理器702以及存储器701可以通过总线704相互连接;总线704可以是外围部件互连标准(Peripheral Component Interconnect,PCI)总线或扩充工业标准体系结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、 控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。该网络设备700可以实现图9或图10所示的示例中的网络设备的功能。处理器702和通信接口703可以执行上述方法示例中源节点或第一节点相应的操作。
下面结合图11对网络设备的各个构成部件进行具体的介绍:
其中,存储器701可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者上述种类的存储器的组合,用于存储可实现本申请方法的程序代码、配置文件或其他内容。
处理器702是控制器的控制中心,可以是一个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本申请提供的示例的一个或多个集成电路,例如:一个或多个数字信号处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)。
通信接口703用于与其他网络设备进行通信。
在一个示例中,当网络设备执行源节点所执行的操作时,通信接口703用于接收报文,报文中包括第一层级属性。或者;
在一个示例中,当网络设备执行第一节点所执行的操作时,通信接口703用于发送报文,报文中包括第一层级属性。
该处理器702可以执行前述图9或图10所示示例中网络设备所执行的操作,具体此处不再赘述。
需要说明的是,上述网络设备700的各模块之间的信息交互、执行过程等内容,由于与本申请方法示例基于同一构思,其执行步骤与上述方法步骤的详细内容一致,可参见上述方法示例处的描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述示例中的对应过程,在此不再赘述。
在本申请所提供的几个示例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置示例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本示例的目的。
另外,在本申请各个示例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个示例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-only memory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,不同的示例可以进行组合,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何组合、修改、等同替换、改进等,均应包含在本发明的保护范围之内。以上所述,以上示例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述示例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各示例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各示例技术方案的范围。
Claims (18)
- 一种最短路径的确定方法,其特征在于,包括:源节点接收报文,所述报文包括第一节点的第一层级属性,所述源节点和所述第一节点属于目标网络,所述第一层级属性用于指示所述第一节点在所述目标网络中所处的层级;所述源节点根据所述第一层级属性获得第一路径,所述第一路径用于指示第二路径发生故障后所述源节点到宿节点之间的最短路径,所述第一路径经过所述第一节点。
- 根据权利要求1所述的最短路径的确定方法,其特征在于,所述报文包括内部网关协议IGP报文或边界网关协议BGP报文。
- 根据权利要求2所述的最短路径的确定方法,其特征在于,所述报文包括IGP报文,所述IGP报文的链路状态类型字段包括所述第一层级属性,或,所述报文包括BGP报文,所述BGP报文头部的类型字段包括所述第一层级属性。
- 根据权利要求1至3中任意一项所述的最短路径的确定方法,其特征在于,所述源节点根据所述第一层级属性获得第一路径,包括:所述源节点根据所述第一层级属性获得所述第二路径的类型,所述第二路径的类型用于指示所述第二路径经过的各节点的平面属性的序列;所述源节点获得所述第二路径的类型对应的核心路径的类型的集合,所述核心路径包括所述第一路径;所述源节点根据所述核心路径的类型的集合获得所述第一路径。
- 根据权利要求4所述的最短路径的确定方法,其特征在于,所述源节点根据所述层级属性获得第二路径的类型,包括:所述源节点获得网络拓扑;所述源节点根据所述源节点和所述宿节点从所述网络拓扑中获得所述第二路径;所述源节点根据所述层级属性获得所述第二路径中至少一个节点的平面属性,所述至少一个节点包括第一节点,所述第一节点的平面属性用于指示所述第一节点属于目标网络的平面信息;所述源节点根据所述第二路径以及所述第二路径中至少一个节点的平面属性获得所述第二路径的类型。
- 根据权利要求5所述的最短路径的确定方法,其特征在于,所述网络拓扑包括以所述源节点为根节点的最短路径树拓扑。
- 根据权利要求4至6中任意一项所述的最短路径的确定方法,其特征在于,所述源节点根据所述核心路径的类型的集合获得所述第一路径,包括:所述源节点根据所述核心路径的类型的集合获得所述核心路径集合;所述源节点选择所述核心路径集合中成本最小的路径作为所述第一路径。
- 根据权利要求1至7中任意一项所述的最短路径的确定方法,其特征在于,所述方法还包括:所述源节点获得配置的第二层级属性,所述第二层级属性用于指示所述源节点在所述目标网络中的层级,或,所述源节点在所述目标网络中的层级与所述源节点相连的节点在所述目标网络中的层级。
- 根据权利要求1至8中任意一项所述的最短路径的确定方法,其特征在于,所述目标网络包括分层双平面网络。
- 一种最短路径的确定方法,其特征在于,包括:第一节点获得第一层级属性,所述第一层级属性用于指示所述第一节点在所述第一节点所处的目标网络中所处的层级;所述第一节点发送报文,所述报文包括所述第一层级属性。
- 根据权利要求10所述的最短路径的确定方法,其特征在于,所述报文包括内部网关协议IGP报文或,边界网关协议BGP报文。
- 根据权利要求11所述的最短路径的确定方法,其特征在于,所述报文包括IGP报文,所述IGP报文的链路状态类型字段包括所述第一层级属性,或,所述报文包括BGP报文,所述BGP报文头部的类型字段包括所述第一层级属性。
- 根据权利要求10至12中任意一项所述的最短路径的确定方法,其特征在于,所述报文还包括第二节点的第三层级属性,所述第二节点属于所述目标网络,所述第三层级属性用于指示所述第二节点在所述目标网络中所处的层级。
- 根据权利要求10至13中任意一项所述的最短路径的确定方法,其特征在于,所述目标网络包括分层双平面网络。
- 一种网络设备,其特征在于,包括:处理器、存储器和通信接口;所述处理器与所述存储器、所述通信接口相连;所述通信接口,用于接收报文,所述报文包括第一节点的第一层级属性,所述源节点和所述第一节点属于目标网络,所述第一层级属性用于指示所述第一节点在所述目标网络中所处的层级;所述处理器用于读取所述存储器中存储的指令后,使得所述服务器执行如权利要求1至9中任一项所述的方法。
- 一种网络设备,其特征在于,包括:处理器、存储器和通信接口;所述处理器与所述存储器、所述通信接口相连;所述通信接口,用于发送报文,所述报文包括所述第一层级属性,所述第一层级属性用于指示所述第一节点在所述目标网络中所处的层级;所述处理器用于读取所述存储器中存储的指令后,使得所述服务器执行如权利要求10至14中任一项所述的方法。
- 一种芯片,其特征在于,包括处理器和通信接口,所述处理器用于读取指令以执行如权利要求1至9中任意一项所述的方法,或,执行如权利要求10至14中任意一项所述的方法。
- 一种网络系统,包括权利要求1至9中任意一项所述的最短路径的确定方法中包括的源节点以及包括权利要求10至14中任意一项所述的最短路径的确定方法中包括的第一节点。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110130373.0 | 2021-01-29 | ||
CN202110130373.0A CN114827008A (zh) | 2021-01-29 | 2021-01-29 | 一种最短路径的确定方法以及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022161379A1 true WO2022161379A1 (zh) | 2022-08-04 |
Family
ID=82525765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/073922 WO2022161379A1 (zh) | 2021-01-29 | 2022-01-26 | 一种最短路径的确定方法以及相关设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114827008A (zh) |
WO (1) | WO2022161379A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104053175A (zh) * | 2014-06-17 | 2014-09-17 | 安徽理工大学 | 一种物联网感知层拓扑控制方法 |
CN105763457A (zh) * | 2014-12-15 | 2016-07-13 | 华为技术有限公司 | 组播报文处理方法和网络设备 |
US10419334B1 (en) * | 2012-12-27 | 2019-09-17 | Sitting Man, Llc | Internet protocol routing methods, systems, and computer program products |
WO2020192630A1 (en) * | 2019-03-22 | 2020-10-01 | Huawei Technologies Co., Ltd. | Method and apparatus for providing transport context and on-path meta data to support 5g enabled networks |
-
2021
- 2021-01-29 CN CN202110130373.0A patent/CN114827008A/zh active Pending
-
2022
- 2022-01-26 WO PCT/CN2022/073922 patent/WO2022161379A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10419334B1 (en) * | 2012-12-27 | 2019-09-17 | Sitting Man, Llc | Internet protocol routing methods, systems, and computer program products |
CN104053175A (zh) * | 2014-06-17 | 2014-09-17 | 安徽理工大学 | 一种物联网感知层拓扑控制方法 |
CN105763457A (zh) * | 2014-12-15 | 2016-07-13 | 华为技术有限公司 | 组播报文处理方法和网络设备 |
WO2020192630A1 (en) * | 2019-03-22 | 2020-10-01 | Huawei Technologies Co., Ltd. | Method and apparatus for providing transport context and on-path meta data to support 5g enabled networks |
Also Published As
Publication number | Publication date |
---|---|
CN114827008A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10958566B2 (en) | Traffic engineering for bit indexed explicit replication | |
JP6177890B2 (ja) | 別個のインフィニバンドサブネット間のトラフィックをファットツリールーティングに基づいてルーティングするためのシステムおよび方法 | |
CN104811387B (zh) | 具有位索引显式复制的等价多路径 | |
EP2476226B1 (en) | Apparatus for selecting between multiple equal cost paths | |
US9008092B2 (en) | Route prefix aggregation using reachable and non-reachable addresses in a computer network | |
US11121984B2 (en) | Routing tables for forwarding packets between switches in a data center network | |
WO2019052488A1 (zh) | 链路状态通告lsa发送方法、装置和系统 | |
WO2017190559A1 (zh) | 路由查找方法、装置、分配节点、查找节点及入口节点 | |
WO2022161379A1 (zh) | 一种最短路径的确定方法以及相关设备 | |
WO2023011153A1 (zh) | 负载均衡的哈希算法信息的确定方法、装置及存储介质 | |
WO2015039616A1 (zh) | 一种报文处理方法及设备 | |
WO2024061184A1 (zh) | 对应关系的获取方法、参数通告方法、装置、设备及介质 | |
US11770338B2 (en) | Increasing multi-path size using hierarchical forwarding equivalent classes | |
WO2024055634A1 (zh) | 信息通告方法、网络设备和计算机可读存储介质 | |
US11218399B2 (en) | Embedded area abstraction | |
JP5108833B2 (ja) | ネットワークシステム、ノード、パケット転送方法およびそのプログラム | |
JP2011035686A (ja) | 経路情報管理システム、経路情報管理方法、およびプログラム | |
JP2004328580A (ja) | マルチキャスト通信システム、方法およびエッジルータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22745253 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22745253 Country of ref document: EP Kind code of ref document: A1 |