CN111464441A - 一种通信方法及装置 - Google Patents
一种通信方法及装置 Download PDFInfo
- Publication number
- CN111464441A CN111464441A CN201910055434.4A CN201910055434A CN111464441A CN 111464441 A CN111464441 A CN 111464441A CN 201910055434 A CN201910055434 A CN 201910055434A CN 111464441 A CN111464441 A CN 111464441A
- Authority
- CN
- China
- Prior art keywords
- network device
- shortest path
- network
- indication information
- path tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- 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/12—Shortest path evaluation
-
- 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/32—Flooding
-
- 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/48—Routing tree calculation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种通信方法及装置,其中方法包括:第一网络设备建立以所述第一网络设备为源节点,满足预设约束条件的最短路径树,所述预设约束条件为:所述最短路径树中的所有节点,均为具有分段路由SR能力的网络设备,所述最短路径树中包括第二网络设备;所述第一网络设备基于所述最短路径树确定到达所述第二网络设备的下一跳网络设备。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方法及装置。
背景技术
网络设备在接收到报文之后,可以基于多协议标签交换(multi protocol labelswitching,MPLS)技术将报文转发至该报文的目的地。MPLS技术中,可以根据报文中携带的MPLS标签(label)转发报文。MPLS技术中,常用的两个协议为标签发布协议(labeldistribution protocol,LDP)和分段路由(segment routing,SR)协议。其中SR协议是基于内部网关协议(interior gateway protocol,IGP)的基础上提出的一种新的协议。在LDP中,标签又称为前缀(prefix),SR协议中,标签又称为分段标识(segment identifier,SID)。
在MPLS网络中,当部分网络设备可以支持SR协议和LDP,另外部分网络设备由于各种原因不支持SR协议,只支持LDP时,会导致MPLS网络中出现SR域不连续的情况。当MPLS网络中出现SR域不连续的情况时,只支持LDP的网络设备无法根据报文中携带的SID对报文进行转发,导致报文无法从支持SR协议的网络设备转发到只支持LDP(或不支持SR协议)的网络设备,因此报文可能会被丢弃。
为此,SR协议与LDP互通技术被提出,该技术是让SR协议和LDP在同一MPLS网络中共同工作的技术。要实现SR协议与LDP互通,现有技术中提出对SR协议中的SID与LDP中的前缀建立映射关系。通过这种方法,当不支持SR协议的网络设备接收到报文时,将该报文中的SID映射为相应的前缀,从而可以根据该前缀进行报文转发。相应的,当不支持LDP的网络设备接收到报文时,将该报文中的前缀,映射为相应的SID即可进行报文转发。
然而,一个MPLS网络中可能存在上万台设备,SID与前缀的映射关系需要提前规划和配置,导致维护工作量巨大,维护工作复杂。因此,在MPLS网络中出现SR域不连续的情况下,如何实现报文的正常转发并且有效减少维护工作量和复杂度,是一个亟待解决的问题。
发明内容
本申请实施例提供一种通信方法及装置,用以解决在网络中出现SR域不连续的情况下,如何实现报文的正常转发并且有效减少维护工作量和复杂度的问题。
第一方面,本申请提供了一种通信方法,包括:第一网络设备建立以所述第一网络设备为源节点,满足预设约束条件的最短路径树,所述预设约束条件为:所述最短路径树中的所有节点,均为具有分段路由SR能力的网络设备,所述最短路径树中包括第二网络设备;所述第一网络设备基于所述最短路径树确定到达所述第二网络设备的下一跳网络设备。
根据上面的方法,第一网络设备根据最短路径算法,建立最短路径树。所述最短路径树中的每个节点,均为具有SR能力的网络设备,即建立的最短路径树为SR域连续的拓扑结构。在本申请中,上述的最短路径树也可以被理解为SR拓扑。当网络中同时存在具有SR能力的网络设备和不具有SR能力的网络设备时,网络设备通过基于SR拓扑,即所述最短路径树,转发报文。因此,报文的转发路径中,均是具有SR能力的网络设备。即无需通过不具有SR能力的网络设备转发报文,从而不需要建立SID与前缀的映射关系,有效降低了网络的维护复杂度。
在一种可能的实现方式中,所述第一网络设备接收第三网络设备发送的第一链路状态报文LSP,所述第一LSP中包括第一指示信息,所述第一指示信息用于指示第二网络设备具有SR能力,所述第二网络设备为所述第三网络设备的邻居节点;所述第一网络设备将第一指示信息保存到链路状态数据库LSDB中;所述第一网络设备建立所述最短路径树,包括:所述第一网络设备根据所述LSDB,建立所述最短路径树。
根据上面的方法,建立的满足预设约束条件的最短路径树中的每个网络设备都存在具有SR能力的邻居节点,因此每个网络设备自身也具有SR能力,因此第一网络设备建立的满足预设约束条件的最短路径树为SR域连续的拓扑结构,报文在通过满足预设约束条件的最短路径树确定的转发路径转发时,可以在SR域连续的路径转发,不会转发到不具有SR能力的网络设备。因此,在不进行SID与前缀的映射关系配置的情况下,实现报文转发,从而减少了网络维护的复杂度。
在一种可能的实现方式中,所述第一网络设备建立所述最短路径树之前,所述方法还包括:所述第一网络设备接收第四网络设备发送的第二LSP,所述第二LSP中携带第二指示信息,所述第二指示信息用于指示第五网络设备不具有SR能力,所述第五网络设备为所述第四网络设备的邻居节点;所述第一网络设备将所述第二指示信息保存到所述LSDB中;所述第一网络设备建立所述最短路径树,包括:所述第一网络设备根据所述LSDB,建立不包括所述第五网络设备的所述最短路径树。
在一种可能的实现方式中,所述第一指示信息携带在所述第一LSP扩展的类型长度值TLV字段中。
在一种可能的实现方式中,所述第一网络设备建立所述最短路径树之前,所述方法还包括:所述第一网络设备向所述六网络设备发送问候Hello报文,所述Hello报文中包括第三指示信息,所述第三指示信息指示所述第一网络设备具有SR能力,所述第六网络设备为所述第一网络设备的邻居节点。
在一种可能的实现方式中,所述第三指示信息携带在所述问候报文扩展的TLV字段中。
在一种可能的实现方式中,所述第一网络设备建立所述最短路径树之前,所述方法包括:所述第一网络设备接收所述第二网络设备发送的第三LSP,所述第三LSP中包括第四指示信息,所述第四指示信息用于指示所述第二网络设备具有SR能力;所述第一网络设备将所述第四指示信息保存到链路状态数据库LSDB中;所述第一网络设备建立所述最短路径树,包括:所述第一网络设备根据所述LSDB,建立包括所述第二网络设备的所述最短路径树。
根据上面的方法,建立的满足预设约束条件的最短路径树中的每个网络设备都具有SR能力,因此第一网络设备建立的满足预设约束条件的最短路径树为SR域连续的拓扑结构,报文在通过满足预设约束条件的最短路径树确定的转发路径转发时,可以在SR域连续的路径转发,不会转发到不具有SR能力的网络设备。因此,通过本申请实施例提供的方法,在不进行SID与前缀的映射关系配置的情况下,能够实现报文转发,降低网络维护的复杂度。
在一种可能的实现方式中,所述第三LSP中还包括第一算法标识,所述第一算法标识用于指示所述第二网络设备支持所述第一算法标识所标识的算法,所述方法还包括:
所述第一网络设备将所述第一算法标识保存到所述LSDB中。
第二方面,本申请实施例还提供了一种网络设备,该网络设备包括存储器以及与所述存储器相连的处理器。所述处理器,用于执行所述存储器中的计算机可读指令,从而执行如第一方面或第一方面中任意一种可能的实现方式中所述的方法中由第一网络设备所执行的操作。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在网络设备上运行时,使得网络设备执行第一方面或第一方面任意一种可能的设计中的方法。
第四方面,本申请实施例提供一种计算机程序产品,当网络设备读取并执行所述计算机程序产品时,使得网络设备执行第一方面或第一方面任意一种可能的设计中的方法。
附图说明
图1为应用本申请实施例所提供的方法的网络示意图;
图2为本申请实施例提供的一种通信方法流程示意图;
图3为本申请实施例提供的一种MT TLV的value字段格式示意图;
图4为本申请实施例提供的一种TLV222的value字段格式示意图;
图5为本申请实施例提供的一种最短路径树结构示意图;
图6为本申请实施例提供的一种SR能力子TLV的格式示意图;
图7为本申请实施例提供的一种SR算法子TLV的格式示意图;
图8为本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
下面结合说明书附图对本申请实施例做详细描述。
本申请实施例中,网络设备可以为无线路由器,也可以为有线路由器,还可以是手机(mobile phone)、平板电脑(Pad)、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端等设备。
本申请实施例所提供的方法可以应用于包括支持SR协议的网络设备的网络中。举例来说,如图1所示,该网络100包括多个网络设备。图1中仅以包括网络设备A、网络设备B、网络设备C、网络设备D、网络设备E和网络设备F为例进行说明。实际可能的场景中,网络100还可能包括其他网络设备,在此不再赘述。以图1为例,网络设备C支持LDP但不支持SR协议,其他网络设备均支持SR协议以及LDP。因此网络100中,SR域是不连续的。目前的技术中,当网络中SR域不连续时,需要提前规划和配置SID与前缀的映射关系,导致维护工作量巨大,维护工作复杂。因此,为了实现报文的正常转发并且有效减少维护工作量和复杂度,本申请实施例提出一种通信方法,用以解决该问题,下面将详细描述。
本申请实施例中,当网络设备支持SR协议时,也可以称该网络设备具有SR能力,即该网络设备可以基于SR协议处理报文,例如基于SR协议转发报文、基于SR协议发送报文等。
网络拓扑描述了网络中所包括的网络设备之间物理的或者逻辑的连接关系,建立网络拓扑时,将网络中的各网络设备建模为节点,将网络中的网络设备之间的连接建模为节点之间的链路,通过网络拓扑表征出网络设备的分布情况以及连接状态。
本申请实施例中,将一个网络中,所有支持SR协议的网络设备的分布情况以及连接状态,采用网络拓扑的方式表征出来,可以称为SR拓扑。本申请实施例中,可以根据网络中SR信息(包括节点信息,链路信息和标签信息等),执行最短路径优先算法,计算得到的拓扑就是SR拓扑。
在本申请实施例中,“示例性的”一词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
参见图2,为本申请实施例提供的一种通信方法流程示意图。该方法200包括:
步骤201:第一网络设备建立以所述第一网络设备为源节点,满足预设约束条件的最短路径树。
所述预设约束条件为:所述最短路径树中的所有节点,均为具有分段路由SR能力的网络设备,所述最短路径树中包括第二网络设备。
本申请实施例中,第一网络设备以及第二网络设备均为支持SR协议的网络设备。第一网络设备和第二网络设备也可以支持LDP、开放式最短路径优先(open shortest-pathfirst,OSPF)协议和/或中间系统到中间系统(intermediate-system to intermediate-system,ISIS)协议,在此不再逐一举例说明。
步骤202:所述第一网络设备基于所述最短路径树确定到达所述第二网络设备的下一跳网络设备。
根据上面的方法,第一网络设备根据最短路径算法,建立最短路径树。所述最短路径树中的每个节点,均为具有SR能力的网络设备,即建立的最短路径树为SR域连续的拓扑结构。在本申请中,上述的最短路径树也可以被理解为SR拓扑。当网络中同时存在具有SR能力的网络设备和不具有SR能力的网络设备时,网络设备通过基于SR拓扑,即所述最短路径树,转发报文。因此,报文的转发路径中,均是具有SR能力的网络设备。即无需通过不具有SR能力的网络设备转发报文,从而不需要建立SID与前缀的映射关系,有效降低了网络的维护复杂度。
下面结合几种不同情况,以第一网络设备为例,来举例说明如何建立以第一网络设备为源节点且满足预设约束条件的最短路径树。
第一种可能的实现方式,步骤一:网络设备之间建立邻居关系。
第一网络设备,在建立满足预设约束条件的最短路径树之前,与第一网络设备相邻的网络设备之间建立邻居关系。举例来说,现有技术中,第一网络设备在建立邻居关系时,如果确定其存在相邻的网络设备,则可以将该网络设备作为第一网络设备的互联网协议版本4(Internet Protocol Version 4,IPV4)邻居。本申请实施例中,第一网络设备在建立邻居关系时,在第一网络设备支持SR协议时,将同样支持SR协议的邻居作为第一网络设备的SR邻居。需要说明的是,如果第一网络设备不支持SR协议,即使第一网络设备相邻的网络设备中,存在支持SR协议的网络设备,第一网络设备也不能将该网络设备作为第一网络设备的SR邻居,只能认为与其在位置上具有相邻关系。
第一网络设备是通过向与其相邻的网络设备发送问候(hello)报文,指示第一网络设备是否支持SR协议。举例来说,第一网络设备向相邻的第六网络设备发送问候报文,该问候报文中携带第三指示信息。第三指示信息用于指示第一网络设备具有SR能力,从而指示出第一网络设备支持SR协议。相应的,第一网络设备是通过接收与其相邻的网络设备发送的问候(hello)报文,确定与其相邻的网络设备是否具有SR能力,从而确定与其相邻的网络设备是否支持SR协议。
举例来说,以图1为例,网络设备A与网络设备B相邻,且均支持SR协议,网络设备A可以向网络设备B发送问候报文1,所述问候报文1中包括指示信息1,所述指示信息1指示所述网络设备A具有SR能力,即指示网络设备A支持SR协议。相应的,网络设备A可以接收来自网络设备B的问候报文2,所述问候报文2中包括指示信息2,所述指示信息2指示所述网络设备B具有SR能力。此时网络设备A可以确定网络设备B为所述网络设备A的SR邻居。进一步的,由于网络设备C不支持SR协议,网络设备C向网络设备B发送的问候报文3中不包括指示网络设备C具有SR能力的指示信息,因此网络设备B可以确定网络设备C不是网络设备C的SR邻居。
当本申请实施例应用于图1所示的场景时,第一网络设备例如可以为图1中的网络设备A,第六网络设备例如可以为图1中的网络设备B。指示信息1可以为第一网络设备向第六网络设备发送的问候报文中的第三指示信息。
结合上面的举例,可以在问候报文中扩展类型长度值(type length value,TLV)字段来携带指示网络设备具有SR能力的指示信息。以指示信息1为例,指示信息1可以携带在问候报文扩展的TLV字段中。例如,指示信息1可以携带在问候报文的多拓扑(multtopologies,MT)TLV中,指示信息1携带在问候报文的MT TLV中时,可以为MT TLV中SR拓扑的MTID。
需要说明的是,MT TLV也可以称为TLV229,为了描述方便,以下均称为MT TLV。TLV229的具体内容可以参考RFC(Request For Comments)5120,RFC5120以全文引用的方式并入本申请,在此不再赘述。
根据RFC5120中记载,MT TLV中CODE(即type)字段取值为229,MT TLV中value字段的格式示意图可以参考图3所示。图3中,O(overload)表示过载标记,A(attached)表示域间连续标记,R(reserved)表示保留位,MTID表示拓扑标识。目前,标准中已经定义的MTID可以参考表1所述。
表1
表1中,默认拓扑可以是指IPv4拓扑。表1只是示例,MTID还可能存在其他取值,在此不再逐一举例说明。
本申请实施例中,SR拓扑的MTID可以设置为标准中保留的值,例如可以为4000。如果一个网络设备具有SR能力时,该网络设备发送的问候报文的MT TLV中包括SR拓扑的MTID。需要说明的是,一个网络设备具有SR能力时,也可以认为该网络设备支持SR拓扑。
示例性的,结合图1进行描述。若图1中,网络设备A支持SR协议,网络设备B支持SR协议,网络设备C不支持SR协议,网络设备E支持SR协议。网络设备B可以向网络设备A、网络设备C以及网络设备E发送问候报文,该问候报文中包括的MTID为0、2以及4000,其中4000为SR拓扑的MTID。相应的,网络设备B也可以接收到分别来自网络设备A、网络设备C以及网络设备E的问候报文,其中,来自网络设备A以及网络设备E的问候报文中包括的MTID均为0、2以及4000,来自网络设备C的问候报文中包括的MTID为0和2。其中,结合表1,0表示IPv4拓扑的MTID,2表示IPv6拓扑的MTID。
当网络设备B建立邻居关系时,网络设备B可以根据接收到的问候报文中的MTID建立邻居关系。例如,由于网络设备A、网络设备C以及网络设备E发送的问候报文中均包括取值为0的MTID,网络设备B可以将网络设备A、网络设备C以及网络设备E作为网络设备B的IPV4邻居;由于网络设备A、网络设备C以及网络设备E发送的问候报文中均包括取值为2的MTID,网络设备B可以将网络设备A、网络设备C以及网络设备E作为网络设备B的IPV6邻居;由于网络设备A以及网络设备E发送的问候报文中均包括取值为4000的MTID,网络设备B可以将网络设备A以及网络设备E作为网络设备B的SR邻居。
步骤二:在整个网络泛洪链路状态报文(link state packet,LSP)。
第一网络设备建立了邻居关系之后,可以向所有的邻居发送LSP。现有技术中,第一网络设备发送的LSP中携带第一TLV222,第一TLV222中包括IPV4拓扑的MTID,以及一个或多个IPV4邻居的设备标识,用于指示第一网络设备的IPV4邻居。本申请实施例中,如果第一网络设备存在SR邻居,即第一网络设备邻居关系中存在具有SR能力的网络设备,则第一网络设备发送的LSP中还可以携带第二TLV222,第二TLV222中包括SR拓扑的MTID,以及SR邻居的设备标识。
在一个具体的实施方式中,第一网络设备发送的LSP中还可以携带第三TLV222,第三TLV222中包括IPV6拓扑的MTID,以及IPV6邻居的设备标识等,其它情况不再赘述。根据RFC5120记载,TLV222的CODE(即TYPE)字段取值222,TVL222的VALUE字段的格式示意图可以参考图4所示。图4中,R(reserved)表示保留位,MTID表示拓扑标识。关于TLV222的相关说明参见RFC5120中第7.2节的描述,此处不再赘述。
相应的,第一网络设备也可以接收第三网络设备发送的第一LSP,所述第一LSP中包括第一指示信息,所述第一指示信息用于指示第二网络设备具有SR能力,所述第二网络设备为所述第三网络设备的邻居节点。结合上面的描述,第一指示信息可以携带在所述第一LSP扩展的TLV字段中,例如第一指示信息可以为包括SR拓扑的MTID的TLV222。此时第一网络设备确定第二网络设备的设备标识位于该TLV222中时,可以确定第二网络设备具有SR能力。所述第一网络设备可以将第一指示信息保存到链路状态数据库(link statedatabase,LSDB)中,当所述第一网络设备根据所述LSDB,建立满足预设约束条件的最短路径树时,所述满足预设约束条件的最短路径树包括所述第二网络设备。需要说明的是,第一网络设备可以将第一LSP中的所有信息保存在LSDB中,在此不再赘述。
需要说明的是,现有技术中规定,一个网络设备需要向该网络设备所处的网络中的所有网络设备发送LSP,该LSP用于指示该网络设备的邻居关系等信息。因此,第一网络设备的LSDB中,存储了第一网络设备所处的网络中,所有网络设备发送的LSP所包括的信息,第一网络设备可以根据LSDB,确定每个网络设备的邻居关系等信息。
结合图1所示的场景,上述第二网络设备例如可以是图1中的网络设备F,第三网络设备例如可以图1中的网络设备D。第二网络设备例如还可以是图1中的网络设备E,第三网络设备例如可以是图1中的网络设备B。此处不再一一赘述。
示例性的,第五网络设备为第四网络设备的任意一个邻居节点。第四网络设备不存在具有SR能力的邻居节点时,第一网络设备也可以接收第四网络设备发送的第二LSP。所述第二LSP中携带第二指示信息,所述第二指示信息用于指示第五网络设备不具有SR能力,所述第五网络设备为所述第四网络设备的邻居节点。结合上面的描述,第二指示信息可以携带在所述第二LSP扩展的TLV字段中,即第二LSP携带的所有的TLV222。例如第二LSP中携带的所有TLV22为包括IPV4拓扑的MTID的TLV222,或者为包括IPV6拓扑的MTID的TLV222,但是不携带包括SR拓扑的MTID的TLV222。此时,第一网络设备根据第二指示信息可以确定第五网络设备不具有SR能力。相应的,所述第一网络设备将所述第二指示信息保存到所述LSDB中,当所述第一网络设备根据所述LSDB,建立满足预设约束条件的最短路径树时,所述满足预设约束条件的最短路径树不包括所述第五网络设备。
结合图1所示的场景,上述的第四网络设备例如可以是图1中的网络设备B,第五网络设备例如可以是图1中的网络设备C。
示例性的,结合步骤一中的举例,网络设备B可以将网络设备A、网络设备C以及网络设备E作为网络设备B的IPV4邻居,将网络设备A、网络设备C以及网络设备E作为网络设备B的IPV6邻居,将网络设备A以及网络设备E作为网络设备B的SR邻居。此时,网络设备B发送的LSP中携带三个TLV222。携带的第一个TLV222中包括IPV4拓扑的MTID,以及网络设备A、网络设备C以及网络设备E的设备标识;携带的第二个TLV222中包括IPV6拓扑的MTID,以及网络设备A、网络设备C以及网络设备E的设备标识;携带的第三个TLV222中包括SR拓扑的MTID,以及网络设备A以及网络设备E的设备标识。
步骤三:第一网络设备根据最短路径算法,建立满足预设约束条件的最短路径树。
示例性的,该实现方式中,建立满足预设约束条件的最短路径树的最短路径算法可以基于迪杰斯特拉(dijkstra)算法实现。dijkstra算法是典型的单源最短路径算法,用于计算一个网络设备到其他所有网络设备的最短路径树。现有技术中,在建立最短路径树之前,将网络中的所有网络设备划分为两个集合:第一集合和第二集合。在初始化时第一集合中只包括源节点,第二集合中包括除了源节点之外的所有节点,然后执行以下步骤:
步骤a1:将源节点作为中间节点。
步骤a2:从第二集合中选择一个与中间节点之间的开销最小的节点S。相应的,把节点S加入第一集合,并从第二集合中删除节点S。
示例性的,开销可以为以下任意一项:
距离;时延;时延抖动;丢包率。
其中,时延是指报文从网络拓扑中的发送节点,到达网络拓扑中的接收节点所花费的时间。时延抖动是指时延的变化,可以反映时延的变化程度。丢包率是指从网络拓扑中的发送节点至网络拓扑中的接收节点,丢失的报文的数量占所发送报文的总数量的比率。
需要说明的是,采用最短路径算法进行计算时,相邻节点之间的开销为预设值,如果两个节点不相邻,则开销为无穷大。举例来说,如图1所示,网络设备A与网络设备B之间的开销为100,网络设备B与网络设备C之间的开销为100,但是在进行最短路径树计算时,网络设备A与网络设备C之间的开销不是200,而是+∞。
步骤a3:将节点S作为中间节点,并返回步骤a2。
重复步骤a2和步骤a3,直至第二集合为空,从而确定出最短路径树。
示例性的,结合上面的描述,第一网络设备在建立满足预设约束条件的最短路径树之前,在初始化时,设置第一集合中只包括源节点,即只包括第一网络设备,第二集合中包括的网络设备为第一网络设备的LSDB中包括的所有网络设备,此时第一网络设备执行方法200中的操作,进行建立满足预设约束条件的最短路径树时,可以包括以下步骤:
步骤b1:第一网络设备将源节点作为中间节点,即第一网络设备本身作为中间节点。
步骤b2:第一网络设备从第一网络设备的LSDB中选择一个LSP作为目标LSP,当发送该目标LSP的网络设备与中间节点之间的开销最小,且该目标LSP中携带包括SR拓扑的MTID的TLV222时,把发送该目标LSP的网络设备加入第一集合,并从第二集合中删除该网络设备。其中,结合前面的描述,目标LSP中携带包括SR拓扑的MTID的TLV222时,表示发送该目标LSP的网络设备存在SR邻居。
步骤b3:第一网络设备将发送所述目标LSP的网络设备作为中间节点,并返回步骤b2。
需要说明的是,此时从源节点至步骤b3中的中间节点的路径,为源节点至该中间节点的最短路径。
重复步骤b2和步骤b3,直至第二集合中不存在发送携带包括SR拓扑的MTID的TLV222的网络设备。通过重复步骤b2和步骤b3,可以确定出源节点至每个中间节点的最短路径,这些最短路径组成以第一网络设备为源节点,且满足预设约束条件的最短路径树。由于第一网络设备建立的满足预设约束条件的最短路径树中的每个网络设备都存在SR邻居,因此每个网络设备自身具有SR能力,因此第一网络设备建立的满足预设约束条件的最短路径树为SR域连续的拓扑结构,报文在通过满足预设约束条件的最短路径树确定的转发路径转发时,可以在SR域连续的路径转发,不会转发到不具有SR能力的网络设备。因此,通过本申请实施例提供的方法,在不进行SID与前缀的映射关系配置的情况下,实现报文转发,从而减少了网络维护的复杂度。
举例来说,以图1为例,图1中,网络设备C不支持SR协议,因此网络设备C不存在SR邻居;图1中,网络设备A、网络设备B、网络设备E、网络设备F、网络设备D支持SR协议,各自均存在相应的SR邻居,任意两个相邻网络设备之间的开销均为10。网络设备A的LSDB中存储了网络设备B至网络设备F分别发送的LSP,网络设备B、网络设备D至网络设备F中,每个网络设备发送的LSP中均携带包括SR拓扑的MTID的TLV222,网络设备C发送的LSP中不携带包括SR拓扑的MTID的TLV222。网络设备A根据LSDB中存储的信息,可以确定网络设备B至网络设备F中的每个网络设备是否存在SR邻居。以网络设备A为源节点,初始化时,第一集合包括网络设备A;第二集合包括网络设备B至网络设备F,网络设备A执行方法200中第一网络设备所执行的操作时,建立的满足预设约束条件的最短路径树可以包括以下步骤:
步骤c1:将网络设备A作为中间节点。
步骤c2:从第二集合中,选择与中间节点之间的开销最小,且存在SR邻居的网络设备。
此时可以选择出网络设备B,把网络设备B加入第一集合,并从第二集合中删除网络设备B,此时第一集合包括网络设备A和网络设备B;第二集合包括网络设备C至网络设备F。
相应的,网络设备A至网络设备B之间的最短路径,就是网络设备A至网络设备B的路径。
步骤c3:将网络设备B作为中间节点,按照步骤c2相同的方法选择一个网络设备。
此时,可以选择的网络设备为网络设备C和网络设备E,开销均为10,但是由于网络设备C不存在SR邻居,因此选择网络设备E。
把网络设备E加入第一集合,并从第二集合中删除网络设备E,此时第一集合包括网络设备A、网络设备B、网络设备E;第二集合包括网络设备C、网络设备D、网络设备F。
相应的,网络设备A至网络设备E之间的最短路径,就是网络设备A至网络设备B至网络设备E。
步骤c4:将网络设备E作为中间节点,此时,可以选择的网络设备为网络设备F。
把网络设备F加入第一集合,并从第二集合中删除网络设备F,此时第一集合包括网络设备A、网络设备B、网络设备E、网络设备F;第二集合包括网络设备C、网络设备D。
相应的,网络设备A至网络设备F之间的最短路径,就是网络设备A至网络设备B至网络设备E至网络设备F。
步骤c5:将网络设备F作为中间节点,此时,可以选择的网络设备为网络设备D。
把网络设备D加入第一集合,并从第二集合中删除网络设备D,此时第一集合包括网络设备A、网络设备B、网络设备E、网络设备F、网络设备D;第二集合包括网络设备C。
相应的,网络设备A至网络设备D之间的最短路径,就是网络设备A至网络设备B至网络设备E至网络设备F至网络设备D。
最后第二集合中不存在具有SR邻居的网络设备,整个算法结束,最终获得满足预设约束条件的最短路径树,该最短路径树可以作为SR拓扑,根据图1计算获得的满足预设约束条件的最短路径树可以如图5所示。
第二种可能的实现方式中,第一网络设备,在建立满足预设约束条件的最短路径时,判断LSDB中的每个网络设备,发送的LSP中是否包括指示该网络设备具有SR能力的指示信息。只有在LSP中包括指示该网络设备具有SR能力的指示信息时,才计算第一网络设备至该网络设备的最短路径,否则可以不需要计算第一网络设备至该网络设备的最短路径,下面详细描述。
步骤一:网络设备之间建立邻居关系。
在该实现方式下,可以按照现有技术的方式建立邻居关系,具体内容在此不再赘述。
步骤二:在整个网络泛洪LSP,向网络中的其它网络设备通告自身是否具有SR能力。
在一种具体的实施方式中,当网络设备支持SR协议时,该网络设备发送的LSP中携带SR能力子(SR capabilities sub)TLV,SR能力子TLV可以作为指示信息,用于指示本网络设备具有SR能力,当LSP中包括SR能力子TLV时,表示发送该LSP的网络设备具有SR能力;当LSP中不包括SR能力子TLV时,表示发送该LSP的网络设备不具有SR能力。
示例性的,SR能力子TLV的格式可以参考图6所示。图6中,SR能力子TLV中可以包括类型(type)字段、长度(length)字段、标志(flags)字段、范围(range)字段以及SID子TLV字段等。类型(type)字段的取值可以为3,长度(length)字段的取值表示报文长度。
在一个具体的实施方式中,当网络设备不支持SR协议时,该网络设备发送的LSP中可以携带用于指示该网络设备不具有SR能力的TLV,该TLV的名称并不限定,在此不再赘述。
在另一种具体的实施方式中,网络设备发送的LSP中携带的SR能力子TLV中包括SR能力字段;当SR能力字段的取值为第一取值时,表示发送该LSP的网络设备具有SR能力;当SR能力字段的取值为第二取值时,表示发送该LSP的网络设备不具有SR能力。
示例性的,在该实现方式下,第一网络设备可以发送LSP,也可以接收其它网络设备的LSP。例如,第一网络设备可以接收第七网络设备发送的第三LSP,所述第三LSP中包括第四指示信息,所述第四指示信息用于指示所述第七网络设备具有SR能力。结合上面的描述,第四指示信息可以为第三LSP中携带的SR能力子TLV。相应的,第一网络设备可以将所述第四指示信息保存到LSDB中,当第一网络设备根据所述LSDB,建立满足预设约束条件的最短路径树时,所述满足预设约束条件的最短路径树中可以包括所述第七网络设备。
结合图1所示的场景,该第一网络设备例如可以是网络设备A,该第七网络设备例如可以是网络设备B,网络设备E或网络设备D。此处不再一一赘述。
步骤三:第一网络设备建立满足预设约束条件的最短路径树。
在一种具体的实施方式中,第一网络设备收到网络中其它网络设备发送的LSP报文后,即可以根据LSDB中保存的信息,来建立所述最短路径树。
在另一种具体的实施方式中,第一网络设备在建立满足预设约束条件的最短路径树之前,可以判断是否获取到控制指令,当获取到控制指令时,第一网络设备执行建立满足预设约束条件的最短路径树的操作。
控制指令的具体形式并不限定。一种可能的实现方式中,控制指令为预设的命令行指令,用户可以将控制指令输入至第一网络设备中,当第一网络设备获取到用户输入的控制指令时,可以执行建立满足预设约束条件的最短路径树的动作。另一种可能的实现方式中,控制指令也可以以报文形式实现,例如控制指令为采用LSP格式进行封装的控制报文,所述控制报文中可以携带前缀SID子TLV(prefix SID sub-TLV),前缀SID子TLV的算法字段中可以包括第一算法标识,当第一网络设备接收到所述控制报文,获取到所述控制报文携带的前缀SID子TLV中的第一算法标识时,则可以确定需要根据所述第一算法标识对应的算法建立满足预设约束条件的最短路径树。
在一个具体的实施方式中,所述控制指令中还可以包括算法标识,所述算法标识用于标识计算所述最短路径树的算法。第一网络设备收到所述控制指令后,根据所述算法标识确定所述算法。并根据所述算法建立满足预设约束条件的最短路径树。
一个具体的实施方式中,可以通过在所述控制报文中可以携带前缀SID子TLV(prefix SID sub-TLV),前缀SID子TLV的算法字段用于承载所述算法标识。
一个具体的实施方式中,可以通过预设的命令行指令来下发所述算法标识。例如算法标识为101,用户输入的控制指令可以为:sr enable topology spf 101,其中,“srenable topology spf”表示控制指令的内容,“101”表示算法标识。当然,此处只是为了举例说明,并不表示控制指令只能采用这种形式。
示例性的,结合上面的描述,第一网络设备在建立满足预设约束条件的最短路径树之前,在初始化时,设置第一集合中只包括源节点,即只包括第一网络设备,第二集合中包括的网络设备为第一网络设备的LSDB中包括的所有网络设备,此时第一网络设备执行方法200中的操作,建立满足预设约束条件的最短路径树时,可以包括以下步骤:
步骤d1:第一网络设备将源节点作为中间节点,即第一网络设备本身作为中间节点。
步骤d2:第一网络设备从第一网络设备的LSDB中选择一个LSP作为目标LSP,当发送该目标LSP的网络设备与中间节点之间的开销最小,且该目标LSP中包括SR能力子TLV时,把发送该目标LSP的网络设备加入第一集合,并从第二集合中删除该网络设备。
需要说明的是,当目标LSP中包括SR能力子TLV时,表示发送该目标LSP的网络设备具有SR能力。
步骤d3:第一网络设备将发送所述LSP的网络设备作为中间节点,并返回步骤d2。
需要说明的是,此时从源节点至步骤d3中的中间节点的路径,为源节点至该中间节点的最短路径。
重复步骤d2和步骤d3,直至第二集合中不存在发送包含包括SR能力子TLV的LSP的网络设备。通过重复步骤d2和步骤d3,可以确定出源节点至每个中间节点的最短路径,这些最短路径组成以第一网络设备为源节点,且满足预设约束条件的最短路径树。由于第一网络设备建立的满足预设约束条件的最短路径树中的每个网络设备都具有SR能力,因此第一网络设备建立的满足预设约束条件的最短路径树为SR域连续的拓扑结构,报文在通过满足预设约束条件的最短路径树确定的转发路径转发时,可以在SR域连续的路径转发,不会转发到不具有SR能力的网络设备。因此,通过本申请实施例提供的方法,在不进行SID与前缀的映射关系配置的情况下,实现报文转发,从而减少了网络维护的复杂度。
举例来说,以图1为例,图1中,网络设备C不支持SR协议,因此网络设备C发送的LSP中不包括SR能力子TLV;图1中,网络设备A、网络设备B、网络设备E、网络设备F、网络设备D支持SR协议,各自发送的LSP中包括SR能力子TLV,任意两个相邻网络设备之间的开销均为10。网络设备A的LSDB中存储了网络设备B至网络设备F分别发送的LSP,网络设备A根据LSDB中存储的信息,可以确定网络设备B至网络设备F中的每个网络设备是否具有SR能力。以网络设备A为源节点,初始化时,第一集合包括网络设备A;第二集合包括网络设备B至网络设备F,网络设备A执行方法200中第一网络设备所执行的操作时,建立的满足预设约束条件的最短路径树可以包括以下步骤:
步骤e1:将网络设备A作为中间节点。
步骤e2:从第二集合中,选择与中间节点之间的开销最小,且发送包括SR能力子TLV的LSP的网络设备,此时可以选择出网络设备B。
把网络设备B加入第一集合,并从第二集合中删除网络设备B,此时第一集合包括网络设备A和网络设备B;第二集合包括网络设备C至网络设备F。
相应的,网络设备A至网络设备B之间的最短路径,就是网络设备A至网络设备B的路径。
步骤e3:将网络设备B作为中间节点,按照步骤e2相同的方法选择一个网络设备。
此时,可以选择的网络设备为网络设备C和网络设备E,开销均为10,但是由于网络设备C发送的LSP中不包含SR能力子TLV,因此选择网络设备E。
把网络设备E加入第一集合,并从第二集合中删除网络设备E,此时第一集合包括网络设备A、网络设备B、网络设备E;第二集合包括网络设备C、网络设备D、网络设备F。
相应的,网络设备A至网络设备E之间的最短路径,就是网络设备A至网络设备B至网络设备E。
步骤e4:将网络设备E作为中间节点,此时,可以选择的网络设备为网络设备F。
把网络设备F加入第一集合,并从第二集合中删除网络设备F,此时第一集合包括网络设备A、网络设备B、网络设备E、网络设备F;第二集合包括网络设备C、网络设备D。
相应的,网络设备A至网络设备F之间的最短路径,就是网络设备A至网络设备B至网络设备E至网络设备F。
步骤e5:将网络设备F作为中间节点,此时,可以选择的网络设备为网络设备D。
把网络设备D加入第一集合,并从第二集合中删除网络设备D,此时第一集合包括网络设备A、网络设备B、网络设备E、网络设备F、网络设备D;第二集合包括网络设备C。
相应的,网络设备A至网络设备D之间的最短路径,就是网络设备A至网络设备B至网络设备E至网络设备F至网络设备D。
当第二集合中不存在发送包含SR能力子TLV的LSP的网络设备时,整个算法结束,最终获得满足预设约束条件的最短路径树,根据图1计算获得的满足预设约束条件的最短路径树可以如图5所示。
进一步的,在第二种可能的实现方式的基础上,每个网络设备发送的LSP中还可以携带至少一个算法标识。在一个具体的实施方式中,网络设备发送的LSP中携带SR算法子TLV(SR algorithm sub-TLV),SR算法子TLV中承载所述至少一个算法标识,每个算法标识表示该网络设备所支持的该算法标识指示的算法。本申请实施例中,为了描述方便,将用于建立满足预设约束条件的最短路径树的最短路径算法的标识称为第一算法标识,第一算法标识的取值并不限定,可以为现有技术中保留的值,例如可以为2至255之间的任一取值,本申请实施例对此并不限定。
在一个具体的实施方式中,SR算法子TLV可以携带在路由器能力TLV中。示例性的,路由器能力TLV的type的取值为242,length的取值为5至255,具体根据报文长度确定;value可以包括三个部分:路由器ID、标志(flags)以及携带的至少一个子TLV,例如,本申请实施例中携带的是SR算法子TLV。
示例性的,SR算法子TLV的结构可以如图7所示。图7所示的SR算法子TLV中可以包括类型(type)字段、长度(length)字段、算法(algorithm)字段,需要说明的是,SR算法子TLV可以包括多个算法字段,每个算法字段承载一个算法标识,图7中以包括两个算法字段为例进行描述。类型(type)字段的取值可以为2,长度(length)字段的取值表示报文长度。
本申请实施例中,支持SR协议的网络设备,除了可以支持第一算法标识对应的算法之外,还可以支持其它算法。例如,网络设备还可以支持第二算法标识对应的算法。举例来说,第二算法标识为0时,表示网络设备支持标准最短路径优先(shortest path first,SPF)算法。第二算法标识为1时,表示网络设备支持严格SPF算法。如果网络设备支持的第二算法标识对应的算法也可以用来计算最短路径树,且建立的最短路径树中的每个网络设备均具有SR能力。由于第一算法标识对应的算法,与第二算法标识对应的算法存在区别,最终建立的最短路径树也可能存在不同。例如,网络设备A根据第一算法标识对应的算法确定的最短路径树为网络设备A至网络设备B至网络设备C至网络设备D,而网络设备B根据第二算法标识对应的算法确定的最短路径树为网络设备A至网络设备B至网络设备C至网络设备E,当网络设备A发送的报文,经过网络设备B转发后,网络设备A认为最终会转发至网络设备D,但实际接收的网络设备可能为网络设备E,网络设备E可能会丢弃接收到的报文,因此可能导致报文转发出现错误而被丢弃。为了保证最短路径树中的每个网络设备建立的最短路径树相同,提高根据最短路径树确定的报文转发路径的通用性,本申请实施例中,建立的满足预设约束条件的最短路径树中的网络设备,还需要支持相同的最短路径算法,即支持第一算法标识对应的算法。
结合上面的描述,当第一网络设备在建立满足预设约束条件的最短路径树时,除了需要确定LSP中包括SR能力子TLV之外,还需要确定该LSP携带的SR算法子TLV中包括第一算法标识。只有在LSP中包括SR能力子TLV以及第一算法标识时,才计算第一网络设备至发送该LSP的网络设备的最短路径,否则可以不需要计算第一网络设备至该网络设备的最短路径。
举例来说,以图1为例,图1中,网络设备C不支持SR协议,因此网络设备C发送的LSP中不包括SR能力子TLV以及第一算法标识。图1中,网络设备A、网络设备B、网络设备E、网络设备F、网络设备D支持SR协议,各自发送的LSP中包括SR能力子TLV以及第一算法标识,任意两个相邻网络设备之间的开销均为10。网络设备A的LSDB中存储了网络设备B至网络设备F分别发送的LSP,网络设备A根据LSDB中存储的信息,可以确定网络设备B至网络设备F中的每个网络设备是否具有SR能力。以网络设备A为源节点,初始化时,第一集合包括网络设备A;第二集合包括网络设备B至网络设备F,网络设备A执行方法200中第一网络设备所执行的操作时,建立的满足预设约束条件的最短路径树可以包括以下步骤:
步骤f1:将网络设备A作为中间节点。
步骤f2:从第二集合中,选择与中间节点之间的开销最小,且发送包括SR能力子TLV以及第一算法标识的LSP的网络设备,此时可以选择出网络设备B。
把网络设备B加入第一集合,并从第二集合中删除网络设备B,此时第一集合包括网络设备A和网络设备B;第二集合包括网络设备C至网络设备F。
相应的,网络设备A至网络设备B之间的最短路径,就是网络设备A至网络设备B的路径。
步骤f3:将网络设备B作为中间节点,按照步骤f2相同的方法选择一个网络设备。
此时,可以选择的网络设备为网络设备C和网络设备E,开销均为10,但是由于网络设备C发送的LSP中不包含SR能力子TLV以及第一算法标识,因此选择网络设备E。
把网络设备E加入第一集合,并从第二集合中删除网络设备E,此时第一集合包括网络设备A、网络设备B、网络设备E;第二集合包括网络设备C、网络设备D、网络设备F。
相应的,网络设备A至网络设备E之间的最短路径,就是网络设备A至网络设备B至网络设备E。
步骤f4:将网络设备E作为中间节点,此时,可以选择的网络设备为网络设备F。
把网络设备F加入第一集合,并从第二集合中删除网络设备F,此时第一集合包括网络设备A、网络设备B、网络设备E、网络设备F;第二集合包括网络设备C、网络设备D。
相应的,网络设备A至网络设备F之间的最短路径,就是网络设备A至网络设备B至网络设备E至网络设备F。
步骤f5:将网络设备F作为中间节点,此时,可以选择的网络设备为网络设备D。
把网络设备D加入第一集合,并从第二集合中删除网络设备D,此时第一集合包括网络设备A、网络设备B、网络设备E、网络设备F、网络设备D;第二集合包括网络设备C。
相应的,网络设备A至网络设备D之间的最短路径,就是网络设备A至网络设备B至网络设备E至网络设备F至网络设备D。
当第二集合中不存在发送包含SR能力子TLV以及第一算法标识的LSP的网络设备时,整个算法结束,最终获得满足预设约束条件的最短路径树,根据图1计算获得的满足预设约束条件的最短路径树可以如图5所示。
由于第一网络设备建立的满足预设约束条件的最短路径树中的每个网络设备都具有SR能力,且支持第一算法标识对应的算法,因此第一网络设备建立的满足预设约束条件的最短路径树中的每个网络设备,可以采用相同的算法建立满足预设约束条件的最短路径树,因此每个网络设备建立的最短路径树相同,避免了由于采用不同算法建立最短路径树时,由于不同算法建立最短路径树不相同,导致报文可能转发错误而被丢弃的问题。
图8是本申请提供的一种网络设备800的示意图。该网络设备800可以应用于图1所示的网络架构中,例如可以是图1所示的网络架构中的网络设备A。用于执行方法200中第一网络设备所执行的操作。
如图8所示,网络设备800可以包括处理器810,与所述处理器810耦合连接的存储器820,收发器830。处理器810可以是CPU,NP或者CPU和NP的组合。处理器810还可以进一步包括硬件芯片。上述硬件芯片可以是ASIC,PLD或其组合。上述PLD可以是CPLD,FPGA,GAL或其任意组合。处理器810可以是指一个处理器,也可以包括多个处理器。存储器820可以包括易失性存储器(英文:volatile memory),例如RAM;存储器也可以包括非易失性存储器(英文:non-volatile memory),例如ROM,快闪存储器(英文:flash memory),HDD或SSD;存储器820还可以包括上述种类的存储器的组合。存储器820可以是指一个存储器,也可以包括多个存储器。
在一个实施方式中,存储器820中存储有计算机可读指令,所述计算机可读指令可以包括多个软件模块,例如发送模块821,处理模块822和接收模块823。处理器810执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。
在本实施例中,处理器810根据所述存储器中存储的计算机可读指令而执行的操作。例如,处理器810用于建立以所述第一网络设备为源节点,满足预设约束条件的最短路径树,所述预设约束条件为:所述最短路径树中的所有节点,均为具有分段路由SR能力的网络设备,所述最短路径树中包括第二网络设备;基于所述最短路径树确定到达所述第二网络设备的下一跳网络设备。此外,处理器810执行存储器820中的计算机可读指令后,可以按照所述计算机可读指令的指示,执行网络设备A或者第一网络设备可以执行的全部操作。例如,网络设备A在建立满足预设约束条件的最短路径树的第一种可能的实现方式以及第二种可能的实现方式中执行的操作,或者第一网络设备在图2对应的实施例中执行的操作。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (17)
1.一种通信方法,其特征在于,包括:
第一网络设备建立以所述第一网络设备为源节点,满足预设约束条件的最短路径树,所述预设约束条件为:所述最短路径树中的所有节点,均为具有分段路由SR能力的网络设备,所述最短路径树中包括第二网络设备;
所述第一网络设备基于所述最短路径树确定到达所述第二网络设备的下一跳网络设备。
2.根据权利要求1所述的方法,其特征在于,所述第一网络设备建立所述最短路径树之前,所述方法包括:
所述第一网络设备接收第三网络设备发送的第一链路状态报文LSP,所述第一LSP中包括第一指示信息,所述第一指示信息用于指示所述第二网络设备具有SR能力,所述第二网络设备为所述第三网络设备的邻居节点;
所述第一网络设备将第一指示信息保存到链路状态数据库LSDB中;
所述第一网络设备建立所述最短路径树,包括:
所述第一网络设备根据所述LSDB,建立所述最短路径树。
3.根据权利要求2所述的方法,其特征在于,所述第一网络设备建立所述最短路径树之前,所述方法还包括:
所述第一网络设备接收第四网络设备发送的第二LSP,所述第二LSP中携带第二指示信息,所述第二指示信息用于指示第五网络设备不具有SR能力,所述第五网络设备为所述第四网络设备的邻居节点;
所述第一网络设备将所述第二指示信息保存到所述LSDB中;
所述第一网络设备建立所述最短路径树,包括:
所述第一网络设备根据所述LSDB,建立不包括所述第五网络设备的所述最短路径树。
4.根据权利要求2或3所述的方法,其特征在于,所述第一指示信息携带在所述第一LSP扩展的类型长度值TLV字段中。
5.根据权利要求1至4任一所述的方法,其特征在于,所述第一网络设备建立所述最短路径树之前,所述方法还包括:
所述第一网络设备向所述六网络设备发送问候Hello报文,所述Hello报文中包括第三指示信息,所述第三指示信息指示所述第一网络设备具有SR能力,所述第六网络设备为所述第一网络设备的邻居节点。
6.根据权利要求5所述的方法,其特征在于,所述第三指示信息携带在所述Hello报文扩展的TLV字段中。
7.根据权利要求1所述的方法,其特征在于,所述第一网络设备建立所述最短路径树之前,所述方法包括:
所述第一网络设备接收所述第二网络设备发送的第三LSP,所述第三LSP中包括第四指示信息,所述第四指示信息用于指示所述第二网络设备具有SR能力;
所述第一网络设备将所述第四指示信息保存到链路状态数据库LSDB中;
所述第一网络设备建立所述最短路径树,包括:
所述第一网络设备根据所述LSDB,建立包括所述第二网络设备的所述最短路径树。
8.根据权利要求7所述的方法,其特征在于,所述第三LSP中还包括第一算法标识,所述第一算法标识用于指示所述第二网络设备支持所述第一算法标识所标识的算法,所述方法还包括:
所述第一网络设备将所述第一算法标识保存到所述LSDB中。
9.一种网络设备,用作第一网络设备,其特征在于,包括:
存储器,该存储器包括计算机可读指令
与所述存储器相连的处理器,所述处理器用于执行所述计算机可读指令,从而执行以下操作:
建立以所述第一网络设备为源节点,满足预设约束条件的最短路径树,所述预设约束条件为:所述最短路径树中的所有节点,均为具有分段路由SR能力的网络设备,所述最短路径树中包括第二网络设备;
基于所述最短路径树确定到达所述第二网络设备的下一跳网络设备。
10.根据权利要求9所述的网络设备,其特征在于,所述处理器还用于执行所述计算机可读指令,以执行以下操作:
接收第三网络设备发送的第一链路状态报文LSP,所述第一LSP中包括第一指示信息,所述第一指示信息用于指示所述第二网络设备具有SR能力,所述第二网络设备为所述第三网络设备的邻居节点;
将第一指示信息保存到链路状态数据库LSDB中;
根据所述LSDB,建立所述最短路径树。
11.根据权利要求10所述的网络设备,其特征在于,所述处理器还用于执行所述计算机可读指令,以执行以下操作:
接收第四网络设备发送的第二LSP,所述第二LSP中携带第二指示信息,所述第二指示信息用于指示第五网络设备不具有SR能力,所述第五网络设备为所述第四网络设备的邻居节点;
将所述第二指示信息保存到所述LSDB中;
根据所述LSDB,建立不包括所述第五网络设备的所述最短路径树。
12.根据权利要求10或11所述的网络设备,其特征在于,所述第一指示信息携带在所述第一LSP扩展的类型长度值TLV字段中。
13.根据权利要求9至12任一所述的网络设备,其特征在于,所述处理器还用于执行所述计算机可读指令,以执行以下操作:
向所述六网络设备发送问候Hello报文,所述Hello报文中包括第三指示信息,所述第三指示信息指示所述第一网络设备具有SR能力,所述第六网络设备为所述第一网络设备的邻居节点。
14.根据权利要求13所述的网络设备,其特征在于,所述第三指示信息携带在所述Hello报文扩展的TLV字段中。
15.根据权利要求9所述的网络设备,其特征在于,所述处理器还用于执行所述计算机可读指令,以执行以下操作:
接收所述第二网络设备发送的第三LSP,所述第三LSP中包括第四指示信息,所述第四指示信息用于指示所述第二网络设备具有SR能力;
将所述第四指示信息保存到链路状态数据库LSDB中;
根据所述LSDB,建立包括所述第二网络设备的所述最短路径树。
16.根据权利要求9所述的网络设备,其特征在于,所述第三LSP中还包括第一算法标识,所述第一算法标识用于指示所述第二网络设备支持所述第一算法标识所标识的算法;所述处理器还用于执行所述计算机可读指令,以执行以下操作:
所述第一网络设备将所述第一算法标识保存到所述LSDB中。
17.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910055434.4A CN111464441A (zh) | 2019-01-21 | 2019-01-21 | 一种通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910055434.4A CN111464441A (zh) | 2019-01-21 | 2019-01-21 | 一种通信方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111464441A true CN111464441A (zh) | 2020-07-28 |
Family
ID=71680726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910055434.4A Pending CN111464441A (zh) | 2019-01-21 | 2019-01-21 | 一种通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111464441A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114363249A (zh) * | 2020-09-30 | 2022-04-15 | 瞻博网络公司 | 针对多路径分段路由的带宽约束 |
WO2022213830A1 (zh) * | 2021-04-09 | 2022-10-13 | 华为技术有限公司 | 确定路径的方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103825818A (zh) * | 2014-02-14 | 2014-05-28 | 杭州华三通信技术有限公司 | 一种多拓扑网络转发方法和装置 |
CN103905307A (zh) * | 2012-12-27 | 2014-07-02 | 中国移动通信集团公司 | 一种mpls多拓扑路径标签通告方法及设备 |
CN105075195A (zh) * | 2013-03-15 | 2015-11-18 | 思科技术公司 | 分段路由上的标签分发协议 |
CN105282028A (zh) * | 2014-06-05 | 2016-01-27 | 中兴通讯股份有限公司 | 一种报文传输方法、节点及路径管理服务器 |
CN106487686A (zh) * | 2015-08-28 | 2017-03-08 | 中兴通讯股份有限公司 | Sr转发条目生成方法及装置 |
WO2017141080A1 (en) * | 2016-02-15 | 2017-08-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Techniques for exposing maximum node and/or link segment identifier depth utilizing ospf |
WO2018082652A1 (zh) * | 2016-11-03 | 2018-05-11 | 中兴通讯股份有限公司 | 信息传输方法、装置及系统及装置 |
CN108429685A (zh) * | 2018-04-28 | 2018-08-21 | 电子科技大学 | 一种基于分段路由技术的服务功能链寻路方法 |
CN108632146A (zh) * | 2013-06-08 | 2018-10-09 | 华为技术有限公司 | 报文处理的方法及路由器 |
-
2019
- 2019-01-21 CN CN201910055434.4A patent/CN111464441A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905307A (zh) * | 2012-12-27 | 2014-07-02 | 中国移动通信集团公司 | 一种mpls多拓扑路径标签通告方法及设备 |
CN105075195A (zh) * | 2013-03-15 | 2015-11-18 | 思科技术公司 | 分段路由上的标签分发协议 |
CN108632146A (zh) * | 2013-06-08 | 2018-10-09 | 华为技术有限公司 | 报文处理的方法及路由器 |
CN103825818A (zh) * | 2014-02-14 | 2014-05-28 | 杭州华三通信技术有限公司 | 一种多拓扑网络转发方法和装置 |
CN105282028A (zh) * | 2014-06-05 | 2016-01-27 | 中兴通讯股份有限公司 | 一种报文传输方法、节点及路径管理服务器 |
CN106487686A (zh) * | 2015-08-28 | 2017-03-08 | 中兴通讯股份有限公司 | Sr转发条目生成方法及装置 |
WO2017141080A1 (en) * | 2016-02-15 | 2017-08-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Techniques for exposing maximum node and/or link segment identifier depth utilizing ospf |
WO2018082652A1 (zh) * | 2016-11-03 | 2018-05-11 | 中兴通讯股份有限公司 | 信息传输方法、装置及系统及装置 |
CN108429685A (zh) * | 2018-04-28 | 2018-08-21 | 电子科技大学 | 一种基于分段路由技术的服务功能链寻路方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114363249A (zh) * | 2020-09-30 | 2022-04-15 | 瞻博网络公司 | 针对多路径分段路由的带宽约束 |
CN114363249B (zh) * | 2020-09-30 | 2023-09-12 | 瞻博网络公司 | 针对多路径分段路由的带宽约束 |
US11818032B2 (en) | 2020-09-30 | 2023-11-14 | Juniper Networks, Inc. | Bandwidth constraint for multipath segment routing |
WO2022213830A1 (zh) * | 2021-04-09 | 2022-10-13 | 华为技术有限公司 | 确定路径的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108781182B (zh) | 利用bgp协议的sdn控制器之间的通信方法和网元 | |
US8817665B2 (en) | Alternate down paths for directed acyclic graph (DAG) routing | |
WO2020001393A1 (zh) | 发送网络性能参数、计算网络性能的方法和网络节点 | |
US9800493B2 (en) | Routing messages in a computer network using deterministic and probalistic source routes | |
JP5722455B2 (ja) | ネットワークにおけるメッセージおよび計算オーバーヘッドの軽減 | |
US11050657B2 (en) | Method, device and node for message transmission, and computer storage medium | |
US8743866B2 (en) | Method and apparatus to reduce cumulative effect of dynamic metric advertisement in smart grid/sensor networks | |
US20170149685A1 (en) | Address information publishing method and apparatus | |
US9300569B2 (en) | Compressing data packet routing information using bloom filters | |
WO2017211164A1 (zh) | 一种确定跨域标签交换路径隧道的方法、设备和系统 | |
CN105337855A (zh) | 一种处理修改后的报文方法和装置 | |
CN112187649A (zh) | 一种报文转发方法、报文处理方法及装置 | |
CN111464440A (zh) | 一种通信方法及装置 | |
CN102932255B (zh) | 隧道路径选择的方法及装置 | |
CN102546409B (zh) | 一种基于trill网络的处理报文的方法和路由桥 | |
CN105262686B (zh) | 一种网络连通性验证方法和装置 | |
CN111464441A (zh) | 一种通信方法及装置 | |
CN112491709A (zh) | 交叉SR/SRv6路径下发方法和装置、存储介质及电子装置 | |
CN105591932A (zh) | 邻居的识别方法及装置 | |
US20160105357A1 (en) | Method and network apparatus of establishing path | |
CN105960780B (zh) | 一种跨层路径建立方法及装置 | |
WO2022242661A1 (zh) | 通信处理方法及相关设备 | |
CN106656820B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200728 |