CN113691445B - 报文转发备份路径确定方法及相关设备 - Google Patents
报文转发备份路径确定方法及相关设备 Download PDFInfo
- Publication number
- CN113691445B CN113691445B CN202010421270.5A CN202010421270A CN113691445B CN 113691445 B CN113691445 B CN 113691445B CN 202010421270 A CN202010421270 A CN 202010421270A CN 113691445 B CN113691445 B CN 113691445B
- Authority
- CN
- China
- Prior art keywords
- link
- network node
- message
- forwarding
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
-
- 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/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/06—Deflection routing, e.g. hot-potato routing
-
- 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/28—Routing or path finding of packets in data switching networks using route fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种报文转发备份路径确定方法及相关设备,该方法包括:第一网络节点采用第一类型算法计算到达第二网络节点的报文转发备份路径,其中,该第二网络节点为节点保护或链路保护的对象,该报文转发备份路径包括约束路径,该约束路径为显式标识的链路,该第一类型算法为灵活算法Flex‑Algo;该第一网络节点获取该约束路径的第一链路标签,该第一链路标签为基于第二类型算法的链路标签;该第一网络节点生成该报文转发备份路径的转发表项,该转发表项包括该第一链路标签。采用本申请实施例,能够有效节约网络节点的计算资源,减少了节点中标签占用的存储空间。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种报文转发备份路径确定方法及相关设备。
背景技术
段路由(segment routing,SR)是基于源路由理念而设计的在网络上转发报文的一种协议。该协议支持在源节点显式指定数据包的转发路径。SR可以部署在多协议标签交换(multi-protocol label switching,MPLS)和第六版本的互联网协议(internetprotocol version 6,IPv6)等数据转发平面上。当SR部署在MPLS数据转发平面上时称为SR-MPLS,当SR部署在IPv6数据转发平面上时称为SRv6。
SR-MPLS和SRv6的场景中可以通过内部网关协议(interior gateway protocol,IGP)的最短路径算法(shortest path algorithm,SPF)计算报文的转发路径。IGP的SPF包括0-255种类型的算法,其中,算法0至算法127保留了由国际互联网工程任务组(theinternet engineering task force,IETF)的标准。目前在IETF发布的请求评论8402(request for comments8402,RFC 8402)中定义了两个标准算法:算法0(基于IGP链路度量的SPF算法)和算法1(基于IGP链路度量的严格SPF算法)。算法0为SR网络中的默认算法。算法128至255可以由操作员自定义,称为SR IGP灵活算法,简称为Flex-Algo。算法2-127未具体定义。
SR-MPLS和SRv6的场景中可以通过链路标签来引导报文按照计算好的路径进行转发。不同的算法关联的链路标签不同。每个链路标签可以由对应的节点发布并泛洪到整个SR网络。现有技术中,由于算法0为默认算法,SR网络中会默认发布基于算法0的链路标签,但是,为了充分利用网络资源,可以采用Flex-Algo来计算报文的备份转发路径,那么,就需要消耗额外的计算资源来发布基于该Flex-Algo的链路标签,还需要占用网络节点的存储空间来存储这些链路标签。
综上所述,如何在SR网络中采用Flex-Algo来计算报文的备份转发路径时,不需要消耗额外的计算资源和存储资源是本领域人员急需解决的技术问题。
发明内容
本申请实施例公开了一种报文转发备份路径确定方法及相关设备,能够充分利用网络资源的同时,有效节约网络节点的计算资源,减少了节点中标签占用的存储空间。
第一方面,本申请公开了一种报文转发备份路径确定方法,该方法包括:
第一网络节点采用第一类型算法计算到达第二网络节点的报文转发备份路径,其中,所述报文转发备份路径包括约束路径,所述约束路径为显式标识的链路,所述第一类型算法为灵活算法Flex-Algo;
所述第一网络节点获取所述约束路径的第一链路标签,所述第一链路标签为基于第二类型算法的链路标签,所述第二类型算法与所述第一类型算法为不同类型的算法;
所述第一网络节点生成所述报文转发备份路径的转发表项,所述转发表项包括所述第一链路标签。
需要说明的是,上述约束路径的第一链路标签为第一网络节点所在的SR网络中已经发布了的链路标签。
本申请在采用灵活算法计算备份路径时,可以不需要网络节点发布基于该灵活算法的链路标签,而是使用网络中已有的基于其它类型的算法的链路标签得到有效的报文转发备份路径。一方面可以节省网络节点的发布这些链路标签的计算资源;同时,可以使得网络节点不需存储这些链路标识,从而节省存储空间;此外,可以使得网络节点在转发报文时不需要从较多的链路标签中匹配目标链路标签,从而一定程度上减少了报文转发的复杂度。
在其中一种可能的实施方式中,所述第一网络节点获取所述约束路径的第一链路标签,包括:
所述第一网络节点查询所述约束路径的第二链路标签,所述第二链路标签为基于所述第一类型算法的链路标签;
在所述第二链路标签不存在的情况下,所述第一网络节点查询到所述第一链路标签。
在本申请中,只有在对应的灵活算法的链路标签没发布的情况下,才采用其它类型算法的链路标签,如果该对应的灵活算法的链路标签发布了,则可以采用,从而保证了不管在哪种情况下都可以得到有效的报文转发备份路径。
在其中一种可能的实施方式中,所述第二类型算法为基于内部网关协议IGP链路度量的最短路径算法SPF;
或者,所述第一类型算法为第一类型的Flex-Algo,所述第二类型算法为第二类型的Flex-Algo。
在本申请中,该第二类型算法不限于具体为哪一种算法,只要是网络中发布有该算法的链路标识,则可以采用,从而使得即使不发布基于上述第一类型算法的链路标签,也可以计算得到有效的报文转发备份路径。
在其中一种可能的实施方式中,所述方法还包括:
所述第一网络节点接收报文,其中,所述报文的目的节点为所述第二网络节点;
在到达所述第二网络节点的主路径出现故障的情况下,所述第一网络节点通过所述转发表项转发所述报文。
在其中一种可能的实施方式中,所述转发表项包括所述第一网络节点通过所述报文转发备份路径转发所述报文的出接口,所述第一网络节点通过所述转发表项转发所述报文,包括:
所述第一网络节点根据所述转发表项将所述第一链路标签添加到所述报文的报文头中;
所述第一网络节点根据所述出接口向下一跳节点发送添加了所述第一链路标签的所述报文。
在本申请中,可以通过基于上述第二类型算法的链路标签完成报文的转发。
在其中一种可能的实施方式中,所述约束路径包括第三网络节点与第四网络节点之间的第一链路;所述报文到达所述第三网络节点后,所述第三网络节点用于根据所述第一链路的链路标签来转发所述报文。
第二方面,本申请公开了一种报文转发备份路径确定方法,该方法包括:
第三网络节点接收报文,其中,所述报文为第一网络节点在到达第二网络节点的主路径出现故障时通过报文转发备份路径向第三网络节点发送的,所述报文转发备份路径为所述第一网络节点采用第一类型算法计算得到,所述报文转发备份路径包括约束路径,所述约束路径为显式标识的链路,所述约束路径包括第三网络节点与第四网络节点之间的第一链路;所述第一链路的链路标签为基于第二类型算法的链路标签;所述报文的报文头中包括所述第一链路的链路标签,所述第一类型算法为灵活算法Flex-Algo,所述第二类型算法与所述第一类型算法为不同类型的算法;
所述第三网络节点根据所述第一链路的链路标签转发所述报文。
第三方面,本申请公开了一种设备,该设备包括:
计算单元,用于采用第一类型算法计算到达第二网络节点的报文转发备份路径,其中,所述报文转发备份路径包括约束路径,所述约束路径为显式标识的链路,所述第一类型算法为灵活算法Flex-Algo;
获取单元,用于获取所述约束路径的第一链路标签,所述第一链路标签为基于第二类型算法的链路标签,所述第二类型算法与所述第一类型算法为不同类型的算法;
生成单元,用于生成所述报文转发备份路径的转发表项,所述转发表项包括所述第一链路标签。
在其中一种可能的实施方式中,所述获取单元具体用于:
查询所述约束路径的第二链路标签,所述第二链路标签为基于所述第一类型算法的链路标签;
在所述第二链路标签不存在的情况下,查询到所述第一链路标签。
在其中一种可能的实施方式中,所述第二类型算法为基于内部网关协议IGP链路度量的最短路径算法SPF;
或者,所述第一类型算法为第一类型的Flex-Algo,所述第二类型算法为第二类型的Flex-Algo。
在其中一种可能的实施方式中,所述设备还包括:
接收单元,用于接收报文,其中,所述报文的目的节点为所述第二网络节点;
转发单元,用于在到达所述第二网络节点的主路径出现故障的情况下,通过所述转发表项转发所述报文。
在其中一种可能的实施方式中,所述转发表项包括所述设备通过所述报文转发备份路径转发所述报文的出接口,所述转发单元具体用于:
根据所述转发表项将所述第一链路标签添加到所述报文的报文头中;
根据所述出接口向下一跳节点发送添加了所述第一链路标签的所述报文。
在其中一种可能的实施方式中,所述约束路径包括第三网络节点与第四网络节点之间的第一链路;所述报文到达所述第三网络节点后,所述第三网络节点用于根据所述第一链路的链路标签来转发所述报文。
第四方面,本申请公开了一种设备,该设备包括:
接收单元,用于接收报文,其中,所述报文为第一网络节点在到达第二网络节点的主路径出现故障时通过报文转发备份路径向第三网络节点发送的,所述报文转发备份路径为所述第一网络节点采用第一类型算法计算得到,所述报文转发备份路径包括约束路径,所述约束路径为显式标识的链路,所述约束路径包括第三网络节点与第四网络节点之间的第一链路;所述第一链路的链路标签为基于第二类型算法的链路标签;所述报文的报文头中包括所述第一链路的链路标签,所述第一类型算法为灵活算法Flex-Algo,所述第二类型算法与所述第一类型算法为不同类型的算法;
转发单元,用于根据所述第一链路的链路标签转发所述报文。
第五方面,本申请公开了一种设备,该设备包括处理器、接收接口、发送接口和存储器,其中,所述存储器用于存储计算机程序和/或数据,所述处理器用于执行所述存储器中存储的计算机程序,使得所述设备执行如下操作:
采用第一类型算法计算到达第二网络节点的报文转发备份路径,其中,所述报文转发备份路径包括约束路径,所述约束路径为显式标识的链路,所述第一类型算法为灵活算法Flex-Algo;
获取所述约束路径的第一链路标签,所述第一链路标签为基于第二类型算法的链路标签,所述第二类型算法与所述第一类型算法为不同类型的算法;
生成所述报文转发备份路径的转发表项,所述转发表项包括所述第一链路标签。
在其中一种可能的实施方式中,所述获取所述约束路径的第一链路标签,包括:
查询所述约束路径的第二链路标签,所述第二链路标签为基于所述第一类型算法的链路标签;
在所述第二链路标签不存在的情况下,查询到所述第一链路标签。
在其中一种可能的实施方式中,所述第二类型算法为基于内部网关协议IGP链路度量的最短路径算法SPF;
或者,所述第一类型算法为第一类型的Flex-Algo,所述第二类型算法为第二类型的Flex-Algo。
在其中一种可能的实施方式中,所述设备还执行如下操作:
通过所述接收接口接收报文,其中,所述报文的目的节点为所述第二网络节点;
在到达所述第二网络节点的主路径出现故障的情况下,通过所述转发表项从所述发送接口转发所述报文。
在其中一种可能的实施方式中,所述转发表项包括所述设备通过所述报文转发备份路径转发所述报文的出接口,所述通过所述转发表项从所述发送接口转发所述报文,包括:
根据所述转发表项将所述第一链路标签添加到所述报文的报文头中;
根据所述出接口向下一跳节点从所述发送接口发送添加了所述第一链路标签的所述报文。
在其中一种可能的实施方式中,所述约束路径包括第三网络节点与第四网络节点之间的第一链路;所述报文到达所述第三网络节点后,所述第三网络节点用于根据所述第一链路的链路标签来转发所述报文。
第六方面,本申请公开了一种设备,该设备包括处理器、接收接口、发送接口和存储器,其中,所述存储器用于存储计算机程序和/或数据,所述处理器用于执行所述存储器中存储的计算机程序,使得所述设备执行如下操作:
通过所述接收接口接收报文,其中,所述报文为第一网络节点在到达第二网络节点的主路径出现故障时通过报文转发备份路径向第三网络节点发送的,所述报文转发备份路径为所述第一网络节点采用第一类型算法计算得到,所述报文转发备份路径包括约束路径,所述约束路径为显式标识的链路,所述约束路径包括第三网络节点与第四网络节点之间的第一链路;所述第一链路的链路标签为基于第二类型算法的链路标签;所述报文的报文头中包括所述第一链路的链路标签,所述第一类型算法为灵活算法Flex-Algo,所述第二类型算法与所述第一类型算法为不同类型的算法;
根据所述第一链路的链路标签从所述发送接口转发所述报文。
第七方面,本申请公开了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现上述第一方面任意一项所述的方法;或者,所述计算机程序被处理器执行以实现上述第二方面所述的方法。
第八方面,本申请公开了一种计算机程序产品,当该计算机程序产品被计算机读取并执行时,上述第一方面任意一项所述的方法将被执行;或者,上述第二方面所述方法将被执行。
第九方面,本申请公开了一种计算机程序,当该计算机程序在计算机上执行时,将会使所述计算机实现上述第一方面任意一项所述的方法;或者,将会使所述计算机实现上述第二方面所述的方法。
综上所述,本申请在采用灵活算法计算备份路径时,可以不需要网络节点发布基于该灵活算法的链路标签,而是使用网络中已有的基于其它类型的算法的链路标签得到有效的报文转发备份路径。一方面可以节省网络节点的发布这些链路标签的计算资源;同时,可以使得网络节点不需存储这些链路标识,从而节省存储空间;此外,可以使得网络节点在转发报文时不需要从较多的链路标签中匹配目标链路标签,从而一定程度上减少了报文转发的复杂度。
附图说明
下面将对本申请实施例中所需要使用的附图作介绍。
图1所示为本申请实施例提供的一种场景示意图;
图2所示为本申请实施例提供的一种报文转发备份路径确定方法的流程示意图;
图3A至图3C所示本申请实施例提供的算法平面示意图;
图4和图5所示为本申请实施例提供的一种段路由网路示意图;
图6所示为本申请实施例提供的另一种报文转发备份路径确定方法的流程示意图;
图7所示为本申请实施例提供的报文转发流程示意图;
图8为本方案实施例提供的设备的逻辑结构示意图;
图9为本方案实施例提供的另一种设备的逻辑结构示意图;
图10为本方案实施例提供的设备的硬件结构示意图;
图11为本方案实施例提供的另一种设备的硬件结构示意图。
具体实施方式
下面结合附图对本申请的实施例进行描述。
图1所示为本申请实施例的一种可能的应用场景。图1所示为一个SR网络的示意图。该SR网络可以包括多个网络节点,例如包括网络节点101至网络节点109等。这些网络节点为网络中的转发设备,例如可以是路由器或者交换机等。
图1所示的SR网络只是示例,具体实现中的SR网络根据实际情况确定,本方案对此不做限制。
下面介绍本申请实施例提供的一种报文转发备份路径确定方法,该方法可以应用于图1所示场景但不限于图1所示场景。参见图2,该方法可以包括但不限于如下步骤:
S201、第一网络节点采用第一类型算法计算到达第二网络节点的报文转发备份路径,该报文转发备份路径包括约束路径,该约束路径为显式标识的链路,该第一类型算法为灵活算法Flex-Algo。
在具体实施例中,该第一网络节点可以是SR网络中的任意一个网络节点。该第二网络节点可以是从第一网络节点发出的报文需要到达的目的节点。该报文的转发主路径中包括第五网络节点,该第五网络节点可以是该第一网络节点的邻居节点,且该第五网络节点为节点保护或链路保护的对象。在转发该报文时,为了避免因转发主路径出现故障导致报文丢失,第一网络节点可以预先计算好该报文转发的备份路径,从而可以在转发主路径出现故障时,切换到该备份路径转发报文以顺利完成报文的转发。
该转发主路径出现故障的情况,可以是第五网络节点不可达的情况等,例如可以是第五网络节点出现故障,或者第一网络节点和第五网络节点之间的链路出现故障等情况。
可选的,计算报文转发备份路径可以通过无环备份(loop-free alternate,LFA)算法、远端无环备份(remote loop-free alternate,RLFA)算法和拓扑无关无环备份(topology-independent loop-free alternate,TI-LFA)算法等算法来计算。
在上述这些算法中又可以结合灵活算法Flex-Algo来计算报文转发的备份路径。通过Flex-Algo能够减少甚至避免网路资源分配不均等问题,为报文找到优化的备份转发路径。
具体的,将一个SR网络的拓扑划分为多个不同的算法平面,每个算法平面可以对应一种算法,可以在对应的算法平面中采用LFA、RLFA和TI-LFA等算法来计算报文转发的备份路径。为了便于理解,可以参见图3A至图3C。
图3A示例性示出了一个SR网络的拓扑,示例性地,可以将该拓扑划分为三个算法平面。第一个算法平面即为图3A所示的SR网络的拓扑本身。由于拓扑默认的算法类型为IGP的SPF中的算法0,可以说图3A所示的拓扑为算法0的算法平面。即采用LFA、RLFA和TI-LFA等算法在图3A所示的算法平面中计算报文转发的备份路径时,可以说是采用算法0计算该报文转发的备份路径。
上述划分得到的第二个算法平面可以参见图3B,图3B所示的算法平面可以是由图3A中的网络节点A、B、C、D、E和K组成的拓扑。该算法平面对应的可以是IGP的SPF中的灵活算法Flex-Algo128,即采用LFA、RLFA和TI-LFA等算法在图3B所示的算法平面中计算报文转发的备份路径时,可以说是采用Flex-Algo128算法计算该报文转发的备份路径。
上述划分得到的第三个算法平面可以参见图3C,图3C所示的算法平面可以是由图3A中的网络节点A、F、G、K、H和J组成的拓扑。该算法平面对应的可以是IGP的SPF中的灵活算法Flex-Algo129,即采用LFA、RLFA和TI-LFA等算法在图3C所示的算法平面中计算报文转发的备份路径时,可以说是采用Flex-Algo129算法计算该报文转发的备份路径。
上述图3A至图3C所示的SR网络拓扑、划分的算法平面以及算法平面对应的算法都是示例性地,具体的可以根据实际情况确定,本方案对此不做限制。
在本申请实施例中,采用IGP的SPF中的灵活算法来计算报文转发备份路径。下面以TI-LFA算法和Flex-Algo128算法为例,示例性介绍在第五网络节点不可达时报文转发备份路径的计算过程。
TI-LFA主要是利用SR的源路由的机制,这使得源节点(例如上述第一网络节点)可以指定一条不经过故障链路的显式路径作为备份路径。
在介绍具体计算过程之前先介绍一下相关的概念:P空间和Q空间。
P空间的定义:源节点使用最短路径访P节点不会经过故障链路,满足该条件的P节点的集合称为P空间。即对于源节点,至少存在一个非主下一跳的邻居节点满足如下公式,则P节点属于P空间:
Distance(N,P)<Distance(N,S)+Distance(S,P)
其中,N表示非主下一跳的邻居节点,P表示P节点,S表示源节点,在本申请实施例中第一网络节点即为源节点,Distance表示两个节点之间的链路度量。
Q空间的定义:Q节点到目的节点的最短路径不经过故障链路,满足该条件的Q节点的集合成为Q空间。即满足如下公式的Q节点属于Q空间:
Distance(Q,D)<Distance(Q,S)+Distance(S,D)
其中,Q表示Q节点,D表示目的节点。
基于上述相关概念的描述,接下来介绍备份路径的具体计算过程,该过程可以包括:
第一网络节点计算第五网络节点的P空间和Q空间;
根据该P空间和Q空间确定P节点和Q节点,该P、Q节点之间的链路为备份路径的约束路径,该约束路径可以称为显式路径(即明确指定的路径)。一般为了简化备份路径,选取离第一网络节点最远的P节点以及最近的Q节点。
那么最终计算得到的备份路径为:报文从第一网络节点出发经该约束路径到达Q节点,然后再从Q节点计算出的到达目的节点的最短路径到达目的节点。
为了便于理解上述备份路径的具体计算过程,举例说明,可以参见图4。
图4所示为一个SR网络,该SR网络中两个节点之间的数值为该两个节点之间的链路度量。假设节点A为上述第一网络节点(也可以称为源节点),节点B为上述第五网络节点。报文转发的主路径为从源节点A出发经节点B到达目的节点C。节点B为节点保护或链路保护的对象,那么根据上述P空间和Q空间的定义,计算得到P空间包括节点E,计算得到的Q空间包括节点F和G。然后,选取E节点和F节点分别为P节点和Q节点,那么得到备份路径的约束路径即为E节点和F节点之间的链路。那么,最终计算得到的备份路径为:报文从节点A出发经该约束路径到达F节点,然后再从F节点计算出的到达目的节点的最短路径(即F-G-C)到达目的节点C。
S202、该第一网络节点获取该约束路径的第一链路标签,该第一链路标签为基于第二类型算法的链路标签,该第二类型算法与上述第一类型算法为不同类型的算法。
S203、该第一网络节点生成上述报文转发备份路径的转发表项,该转发表项包括上述第一链路标签。
上述第一网络节点计算得到报文转发备份路径之后,需要生成对应的备份路径的转发表项,以用于在主路径出现故障时通过该备份路径的转发表项进行报文的转发,该备份路径的转发表项中需要包括上述约束路径的链路标签。
链路标签可以用于标识SR网络中两个网络节点之间的链路。对于SR-MPLS的场景,两个节点之间的链路标签可以用邻接段标识(adjacency segment identifier,Adj-SID)来表示。对于SRv6的场景,两个节点之间的链路标签可以用END.X SID来表示,END.X SID可以简称END.X,其中END是端点Endpoint的缩写。
下面以SRv6的场景为例进一步介绍,SR-MPLS的场景与SRv6的场景类似,则不多赘述。
在具体实施例,END.X带有算法,即IGP的SPF中不同类型的算法对应的END.X不同。例如可以参见图4,上述算出的备份路径的约束路径(E节点和F节点之间的链路)的链路标签中,基于算法0的链路标签为4::1,基于Flex-Algo128算法的链路标签为44::1。
现有技术中,采用哪个类型的算法就对应使用基于该类型算法的链路标签,即若采用算法0计算得到该备份路径的约束路径,则使用基于算法0的链路标签4::1,若采用Flex-Algo128算法计算得到该备份路径的约束路径,则使用基于Flex-Algo128算法的链路标签44::1。
在SRv6的场景,由于SR网络中默认的算法类型为IGP的SPF中的算法0,因此SR网络的每个节点都发布或者配置有基于算法0链路标签。对于采用灵活算法计算报文的转发备份路径的情况,对应该灵活算法的算法平面中的节点可以发布或者配置有基于该灵活算法的链路标签。例如,参见图4,图4所示的可以是Flex-Algo128的算法平面,所以该平面中的节点可以发布或者配置有基于该Flex-Algo128算法的链路标签,图4中只是示例性给出了节点E和节点F之间的链路标签。由于报文转发的方向是由节点E向节点F的方向进行转发的,所以上述计算得到的约束路径的链路标签可以是由该节点E发布的。
另外,上述SR网络中的链路标签是由相应的节点发布后通过IGP协议扩散或者说泛洪到其它节点,全局可见,但是仅对发布该链路标签的节点本地有效。其它节点学习到这些链路标签之后,将其存储,以便于需要时例如生成备份路径的转发表项时查询获取。
现有技术中,由于链路标签END.X带有算法,为了计算得到有效的报文转发备份路径,算法平面中的节点需要发布基于对应算法的END.X。而算法平面是可以重叠的,例如图3A至图3C中算法0和Flex-Algo128算法的算法平面可以是叠加的,算法0和Flex-Algo129算法的算法平面可以是叠加的。这里只是两种算法平面的叠加,在具体实施例中,可能还存在更多种算法平面的叠加,例如算法0、Flex-Algo128算法和Flex-Algo129算法的算法平面叠加的情况等。这时,叠加部分的节点就需要发布或者配置有分别基于多种算法的END.X,才能最终计算得到有效的报文转发备份路径。在这种情况下,一方面需要发布较多的END.X导致需要消耗较多的计算资源,另一方面生成的END.X会占用节点较多的存储空间,另外,在进行报文转发的时候,需要从较多的END.X中匹配到目标END.X才可以顺利进行转发,一定程度上增加了报文转发的复杂度。
基于上述的描述,在基于某种类型的灵活算法(可以称为第一类型算法)计算报文转发备份路径时,本申请实施例可以不需要节点发布基于该第一类型算法的链路标签,而是可以采用SR网络中已有的基于其它类型的算法(可以称为第二类型算法)的链路标签来确定报文转发备份路径。
可选的,该第二类型算法可以是基于IGP链路度量的最短路径算法SPF,例如可以是上述算法0或者算法1。
或者,可选的,该第二类型算法可以是除了上述第一类型算法之外的其它类型的Flex-Algo。
具体的,在上述步骤201中计算得到报文转发的备份路径之后,第一网络节点可以在自身的存储器中查询该备份路径中的约束路径的链路标签。虽然步骤201中是基于第一类型算法来计算该备份路径的,但是该查询到的约束路径的链路标签可以是基于第二类型算法的链路标签,该链路标签即为上述第一链路标签。
可选的,上述第一网络节点获取该约束路径的第一链路标签,具体包括:首先,查询该约束路径中基于第一类型算法的链路标签,可以称为第二链路标签;在该第二链路标签不存在的情况下,查询到该约束路径中的第一链路标签。
即,如果发布有该约束路径的基于第一类型算法的链路标签并扩散到全局,第一网络节点可以在自身的存储器中查询到该基于第一类型算法的链路标签,那么,第一网络节点可以使用该链路标签来显式标识该约束路径。如果没有发布该约束路径的基于该第一类型算法的链路标签,第一网络节点可以使用该约束路径中基于上述第二类型算法的链路标签代替该基于第一类型算法的链路标签来显式标识该约束路径。
获取到该约束路径的链路标签后,第一网络节点可以根据该链路标签生成备份路径的转发表项,该转发表项中包括第一网络节点通过备份路径转发报文的下一跳出接口和该约束路径的链路标签。
为了便于理解,下面以该第二类型算法为算法0为例,结合图5示例说明。图5所示的网络拓扑与图4相同,相关的描述可以参见前述对图4的描述,此处不再赘述。在前述的描述可知,在图5所示的Flex-Algo128算法平面中计算得到的从节点A到节点C的备份路径为:报文从节点A出发经约束路径(节点E和节点F之间的链路)到达F节点,然后再从F节点计算出的到达目的节点的最短路径(即F-G-C)到达目的节点C。那么,在图5中的E节点没有发布基于Flex-Algo128算法的END.X的情况下,节点A使用基于算法0的END.X来显式标识该约束路径。
另外,由于图5所示为Flex-Algo128算法平面,在图5中还可以看到,每个节点上都配置有基于算法0和基于Flex-Algo128算法的地址(Locator)。同样的,由于算法0为SR网络中的默认算法,所以SR网络中的节点都配置有基于算法0的Locator。节点的Locator具有定位功能,每个节点的Locator一般在SR网络内可以唯一标识一个节点。节点配置Locator之后,会生成一条Locator网段路由,并且通过IGP在SR网络内扩散。SR网络里其他节点通过Locator网段路由就可以定位到该节点,同时该节点发布的所有SRv6 SID也都可以通过该条Locator网段路由扩散。
基于上述的描述,节点A根据上述计算得到的报文转发备份路径生成的备份路径的转发表项可以参见表1。
表1
目的地址前缀(prefix)下一跳出接口(out)段列表(segment list)路径类型(role)
33::接口1-主路径
33::接口2 4::1备份路径
表1中所示还包括报文转发主路径的转发表项。可以看到,转发表项中包括目的地址前缀(prefix)、下一跳出接口(out)、段列表(segment list)和路径类型(role)。
转发表项中通过目的地址前缀来标识目的节点,这是因为在SR网络中,每个节点的地址(Locator)前缀都是不同的,可以用于在SR网络中唯一标识节点,例如图5中所示各个节点的地址,不同节点的地址前缀不同。图5所示中目的节点为节点C,因此,表1中转发表项的目的地址前缀为33::。
转发表项中的下一跳出接口可以根据计算得到的路径来确定得到。在表1中可以看到,节点A包括接口1和接口2,对于报文转发的主路径(A-B-C),下一跳出接口为接口1,对于报文转发的备份路径(A-E-F-G-C),下一跳出接口为接口2。
转发表项中的段列表存放的是报文转发备份路径的约束路径的链路标签。由于主路径一般采用默认的最短路径算法计算得到,不需要显式指定约束路径,因此,主路径的转发表项中不包括段列表的内容。对于,报文转发备份路径,需要显式指定约束路径,因此可以在段列表中注明约束路径的链路标签,以便于转发时使用。在图5中,报文转发备份路径的约束路径为节点E和节点F之间的链路,又因节点E未发布基于Flex-Algo128算法的链路标签,因此,备份路径的转发表项的段列表中注明该约束路径中基于算法0的链路标签4::1。
转发表项中的路径类型主要用于表明是主路径还是备份路径。
需要说明的是,确定的报文转发备份路径中需要显式指定的约束路径可以是一条或多条,具体根据实际情况确定,只是本申请实施例以一条为例介绍,多条的情况与一条的情况类似,也在本申请实施例的保护范围内。至此,确定了报文转发备份路径,当主路径中出现故障时,例如上述第五网络节点不可达时,第一网络节点可以通过该报文转发备份路径进行报文的转发。
在本申请实施例中,为了充分利用网络资源,采用灵活算法计算报文转发的备份路径,同时在网络节点未发布基于该灵活算法的链路标签的情况下,通过采用网络中已有的基于其它类型的算法的链路标签完成了报文转发备份路径的确定。即,本申请在采用灵活算法计算备份路径时,可以不需要网络节点发布基于该灵活算法的链路标签,而是使用网络中已有的基于其它类型的算法的链路标签得到有效的报文转发备份路径。
在本申请实施例中,不需要网络节点发布基于该灵活算法的链路标签,一方面可以节省网络节点的发布这些链路标签的计算资源;同时,可以使得网络节点不需存储这些链路标识,从而节省存储空间;此外,可以使得网络节点在转发报文时不需要从较多的链路标签中匹配目标链路标签,从而一定程度上减少了报文转发的复杂度。
下面介绍一下,在确定上述报文转发备份路径之后,当在报文转发过程中,在转发主路径出现故障时例如转发主路径的第五网络节点不可达时,第一网络节点通过报文转发备份路径转发报文的过程。可以参见图6,该过程可以包括但不限于如下步骤:
步骤601、上述第一网络节点接收报文,其中,该报文的目的节点为上述第二网络节点。
步骤602、在到达该第二网络节点的主路径出现故障的情况下,该第一网络节点通过报文转发备份路径转发该报文。
在具体实施例中,上述第一网络节点接收到需要转发的报文,在检测到到达该第二网络节点的主路径出现故障时,例如该报文转发到第二网络节点的转发主路径需要经过上述第五网络节点,在该第五网络节点不可达时,该第一网络节点启用备份路径的转发表项转发该报文。
在上述的描述可知,备份路径的转发表项中包括目的地址前缀、下一跳出接口和段列表。那么,第一网络节点在采用报文转发备份路径转发报文时,会将备份路径的转发表项的段列表中包括的约束路径的链路标签添加到需要转发的报文的报文头,以用于显式指示报文需要经过的链路。当然,添加到报文头的还可以包括目的地址前缀和下一跳节点的地址前缀。然后,第一网络节点将需要转发的报文重新封装好,根据备份路径的转发表项中的下一跳出接口将重新封装好的报文发往下一跳节点。
可选的,上述约束路径中包括第三网络节点与第四网络节点之间的第一链路,当然,该第三网络节点和第四网络节点为报文转发备份路径中的节点。那么,该第一链路的链路标识是在该第三网络节点发布的,基于前述的描述,该第一链路的链路标识可以是基于上述第二类型算法的链路标识。
报文被转发到第三网络节点后,第三网路节点识别出报文头中第一链路的链路标签为本地标签(即该标签是在该第三网络节点发布的),那么该第三网络节点不需要查表,可以直接根据该链路标签对应的出接口将报文转发给下一跳节点。该下一跳节点为上述第四网络节点。
需要说明的是,链路标签中包括出接口的信息,实际上,链路标签的前缀为发布该链路标签的节点的地址前缀,链路标签中除了前缀部分的内容指示具体的出接口。例如,可以参见前述的图5,节点E和节点F中的链路标签4::1,其中,4::为节点E的地址的前缀,1用于指示从节点E的出接口1转发报文。因为链路标签中携带有出接口的信息,因此,上述第三网络节点不需查表,可以直接根据链路标签将报文转发给下一跳节点。
如果报文转发备份路径中只包括一条约束路径,那么上述报文到达第四网络节点之后,则约束路径已经走完,第四网络节点根据最短路径原则将报文发送到目的节点。如果报文转发备份路径中包括多条约束路径,假设上述第三网络节点与第四网络节点之间的第一链路为需要首先经过一条约束路径,那么上述报文到达第四网络节点之后,继续根据后面需要经过的约束路径的链路标签转发报文(具体的转发过程可以参见前述对报文在第一链路中转发的描述,此处不再赘述),直到发送到目的节点。
为便于理解上述报文转发过程,下面结合图7,以IPv6报文的转发示例说明。图7所示的网络拓扑与图4、图5相同,前述对图4和图5的描述适用于图7,此处不再赘述。
IPv6报文是由IPv6标准头+扩展头+负载(Payload)组成。IPv6扩展头,称作段路由扩展头(segment routing header,SRH),该扩展头指定一个IPv6的显式路径,即前述的约束路径,存储的是IPv6的段列表(Segment List)信息,其作用与SR MPLS里的Segment List一样。
在图7中,在前述的描述中可知,报文转发的主路径为从节点A经节点B到节点C,备份路径为A-E-F-G-C。当保护对象节点B不可达时,节点A采用备份路径转发报文,备份路径的转发表项如表1所示。
节点A将表1中备份路径的转发表项中的段列表和目的地址添加到报文头中,可以参见图7中的报文701,报文701中DA为目的地址(Destination Address),在SRv6中,DA仅标识当前报文的下一个约束路径或目的节点,是不断变换的。因此,在报文701中DA=4::1。SRH为报文的扩展头,该扩展头中的SL为Segment List的缩写,SL的取值为报文转发备份路径中需要显式标识的约束路径的个数。报文扩展头中的(33::,4::1,44::)为添加的目的地址前缀(33::)、约束路径标识(4::1)和下一跳节点的地址前缀(44::)。报文701中的负载可以是需要传输的数据等信息。
需要说明的是,对于报文扩展头中的(33::,4::1,44::),处理的顺序是从右到左处理的,即报文会先经过44::指示的节点E,然后,再经过4::1指示的链路,最后到33::指示的达目的节点C。
那么,节点A添加好报文头后,重新封装好报文,然后根据表1中备份路径的转发表项的下一跳出接口接口2转发报文到达节点E。
节点E接收到报文后,解析报文,获得报文头中的DA=4::1,通过查询本地的段标识表得知4::1为本地END.X类型的链路标识,从而得知可以从4::1指示的出接口接口1转发报文。然后,节点E将报文头中的SL减1,DA修改为目的节点C的地址前缀。由于本例子中,最初SL额取值为1,减1后则SL的取值为0,没有意义,所以扩展头的路径信息已无实际意义,所以节点E将扩展头中的路径信息去除,具体可参见图7中的报文702和报文702’。然后,节点E重新封装好报文。并根据4::1指示的出接口接口1转发报文到节点F。
节点F接收到报文后,解析报文,获得报文中的DA=3::,得知报文的目的地址前缀,然后根据33::查找转发表项得知下一跳节点为节点G,然后向节点G转发该报文。然后,根据最短路径原则一路将报文转发到目的节点C,从而完成了本次报文的转发。节点F向节点G转发的报文以及节点G向节点C转发的报文具体可以参见图7中的报文703和报文704,与报文702’相同,此处不再赘述。
上述主要对本申请实施例提供的报文转发备份路径确定方法进行了介绍。可以理解的是,各个设备为了实现上述对应的功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图8示出了设备的一种可能的逻辑结构示意图,该设备可以是上述的第一网络节点。该设备800包括计算单元801、获取单元802和生成单元803。其中:
计算单元801,用于采用第一类型算法计算到达第二网络节点的报文转发备份路径,其中,该报文转发备份路径包括约束路径,该约束路径为显式标识的链路,该第一类型算法为灵活算法Flex-Algo。
获取单元802,用于获取该约束路径的第一链路标签,该第一链路标签为基于第二类型算法的链路标签,该第二类型算法与该第一类型算法为不同类型的算法。
生成单元803,用于生成该报文转发备份路径的转发表项,该转发表项包括该第一链路标签。
在其中一种可能的实施方式中,该获取单元802具体用于:查询该约束路径的第二链路标签,该第二链路标签为基于该第一类型算法的链路标签。以及,在该第二链路标签不存在的情况下,查询到该第一链路标签。
在其中一种可能的实施方式中,该设备800还包括接收单元和转发单元,其中:
接收单元,用于接收报文,其中,该报文的目的节点为该第二网络节点。
转发单元,用于在到达该第二网络节点的主路径出现故障的情况下,通过该转发表项转发该报文。
在其中一种可能的实施方式中,该转发表项包括该设备800通过该报文转发备份路径转发该报文的出接口,该转发单元具体用于:根据该转发表项将该第一链路标签添加到该报文的报文头中;以及,根据该出接口向下一跳节点发送添加了该第一链路标签的该报文。
图8所示设备中各个单元的具体操作以及有益效果可以参见上述图2所示方法实施例的描述,此处不再赘述。
在采用对应各个功能划分各个功能模块的情况下,图9示出了设备的一种可能的逻辑结构示意图,该设备可以是上述的第三网络节点。该设备900包括接收单元901和转发单元902。
其中:
接收单元901,用于接收报文,其中,该报文为第一网络节点在到达第二网络节点的主路径出现故障时通过报文转发备份路径向第三网络节点发送的,该报文转发备份路径为该第一网络节点采用第一类型算法计算得到,该报文转发备份路径包括约束路径,该约束路径为显式标识的链路,该约束路径包括第三网络节点与第四网络节点之间的第一链路;该第一链路的链路标签为基于第二类型算法的链路标签;该报文的报文头中包括该第一链路的链路标签,该第一类型算法为灵活算法Flex-Algo,该第二类型算法与该第一类型算法为不同类型的算法。
转发单元902,用于根据该第一链路的链路标签转发该报文。
图9所示设备中各个单元的具体操作以及有益效果可以参见上述方法实施例的描述,此处不再赘述。
图10所示为本申请提供的设备的一种可能的硬件结构示意图,该设备可以是上述方法实施例中所述的第一网络节点。该设备1000包括:处理器1001、存储器1002、接收接口1003和发送接口1005。处理器1001、接收接口1003、发送接口1005以及存储器1002可以相互连接或者通过总线1004相互连接。
示例性的,存储器1002用于存储设备1000的计算机程序和数据,存储器1002可以包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-onlymemory,ROM)、可擦除可编程只读存储器(erasable programmable read only memory,EPROM)或便携式只读存储器(compact disc read-only memory,CD-ROM)等。接收接口1003用于接收报文等信息,发送接口1005用于发送报文等信息。
示例性的,处理器1001可以是中央处理器单元、通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。处理器1001可以用于读取上述存储器1002中存储的程序,执行上述图2以及可能的实施方式所述的方法中第一网络节点所做的操作。
图11所示为本申请提供的设备的一种可能的硬件结构示意图,该设备可以是上述方法实施例中所述的第三网络节点。该设备1100包括:处理器1101、存储器1102、接收接口1103和发送接口1105。处理器1101、接收接口1103、发送接口1105以及存储器1102可以相互连接或者通过总线1104相互连接。
示例性的,存储器1102用于存储设备1100的计算机程序和数据,存储器1102可以包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-onlymemory,ROM)、可擦除可编程只读存储器(erasable programmable read only memory,EPROM)或便携式只读存储器(compact disc read-only memory,CD-ROM)等。接收接口1103用于接收报文等信息,发送接口1105用于发送报文等信息。
示例性的,处理器1101可以是中央处理器单元、通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。处理器1101可以用于读取上述存储器1102中存储的程序,执行上述方法中第三网络节点所做的操作。
本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现上述图2以及可能的实施方式所述的方法。
本申请实施例还公开了一种计算机程序产品,当所述计算机程序产品被计算机读取并执行时,上述图2以及可能的实施方式所述的方法将被执行。
本申请实施例还公开了一种计算机程序,当所述计算机程序在计算机上执行时,将会使所述计算机实现上述图2以及可能的实施方式所述的方法。
综上所述,本申请在采用灵活算法计算备份路径时,可以不需要网络节点发布基于该灵活算法的链路标签,而是使用网络中已有的基于其它类型的算法的链路标签得到有效的报文转发备份路径。一方面可以节省网络节点的发布这些链路标签的计算资源;同时,可以使得网络节点不需存储这些链路标识,从而节省存储空间;此外,可以使得网络节点在转发报文时不需要从较多的链路标签中匹配目标链路标签,从而一定程度上减少了报文转发的复杂度。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (22)
1.一种报文转发备份路径确定方法,其特征在于,所述方法包括:
第一网络节点采用第一类型算法计算到达第二网络节点的报文转发备份路径,其中,所述报文转发备份路径包括约束路径,所述约束路径为显式标识的链路,所述第一类型算法为灵活算法Flex-Algo;
所述第一网络节点获取所述约束路径的第一链路标签,所述第一链路标签为基于第二类型算法的链路标签,所述第二类型算法与所述第一类型算法为不同类型的算法;所述第一链路标签为所述第一网络节点所在的SR网络中已经发布的链路标签;
所述第一网络节点生成所述报文转发备份路径的转发表项,所述转发表项包括所述第一链路标签。
2.根据权利要求1所述的方法,其特征在于,所述第一网络节点获取所述约束路径的第一链路标签,包括:
所述第一网络节点查询所述约束路径的第二链路标签,所述第二链路标签为基于所述第一类型算法的链路标签;
在所述第二链路标签不存在的情况下,所述第一网络节点查询到所述第一链路标签。
3.根据权利要求1所述的方法,其特征在于,
所述第二类型算法为基于内部网关协议IGP链路度量的最短路径算法SPF;
或者,所述第一类型算法为第一类型的Flex-Algo,所述第二类型算法为第二类型的Flex-Algo。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
所述第一网络节点接收报文,其中,所述报文的目的节点为所述第二网络节点;
在到达所述第二网络节点的主路径出现故障的情况下,所述第一网络节点通过所述转发表项转发所述报文。
5.根据权利要求4所述的方法,其特征在于,所述转发表项包括所述第一网络节点通过所述报文转发备份路径转发所述报文的出接口,所述第一网络节点通过所述转发表项转发所述报文,包括:
所述第一网络节点根据所述转发表项将所述第一链路标签添加到所述报文的报文头中;
所述第一网络节点根据所述出接口向下一跳节点发送添加了所述第一链路标签的所述报文。
6.根据权利要求5所述的方法,其特征在于,所述约束路径包括第三网络节点与第四网络节点之间的第一链路;所述报文到达所述第三网络节点后,所述第三网络节点用于根据所述第一链路的链路标签来转发所述报文。
7.一种报文转发备份路径确定方法,其特征在于,所述方法包括:
第三网络节点接收报文,其中,所述报文为第一网络节点在到达第二网络节点的主路径出现故障时通过报文转发备份路径向第三网络节点发送的,所述报文转发备份路径为所述第一网络节点采用第一类型算法计算得到,所述报文转发备份路径包括约束路径,所述约束路径为显式标识的链路,所述约束路径包括第三网络节点与第四网络节点之间的第一链路;所述第一链路的链路标签为基于第二类型算法的链路标签;所述报文的报文头中包括所述第一链路的链路标签,所述第一类型算法为灵活算法Flex-Algo,所述第二类型算法与所述第一类型算法为不同类型的算法;所述第一链路的链路标签为所述第一网络节点所在的SR网络中已经发布的链路标签;
所述第三网络节点根据所述第一链路的链路标签转发所述报文。
8.一种网络设备,其特征在于,所述设备包括:
计算单元,用于采用第一类型算法计算到达第二网络节点的报文转发备份路径,其中,所述报文转发备份路径包括约束路径,所述约束路径为显式标识的链路,所述第一类型算法为灵活算法Flex-Algo;
获取单元,用于获取所述约束路径的第一链路标签,所述第一链路标签为基于第二类型算法的链路标签,所述第二类型算法与所述第一类型算法为不同类型的算法;所述第一链路标签为所述网络设备所在的SR网络中已经发布的链路标签;
生成单元,用于生成所述报文转发备份路径的转发表项,所述转发表项包括所述第一链路标签。
9.根据权利要求8所述的设备,其特征在于,所述获取单元具体用于:
查询所述约束路径的第二链路标签,所述第二链路标签为基于所述第一类型算法的链路标签;
在所述第二链路标签不存在的情况下,查询到所述第一链路标签。
10.根据权利要求8所述的设备,其特征在于,
所述第二类型算法为基于内部网关协议IGP链路度量的最短路径算法SPF;
或者,所述第一类型算法为第一类型的Flex-Algo,所述第二类型算法为第二类型的Flex-Algo。
11.根据权利要求8至10任一项所述的设备,其特征在于,所述设备还包括:
接收单元,用于接收报文,其中,所述报文的目的节点为所述第二网络节点;
转发单元,用于在到达所述第二网络节点的主路径出现故障的情况下,通过所述转发表项转发所述报文。
12.根据权利要求11所述的设备,其特征在于,所述转发表项包括所述设备通过所述报文转发备份路径转发所述报文的出接口,所述转发单元具体用于:
根据所述转发表项将所述第一链路标签添加到所述报文的报文头中;
根据所述出接口向下一跳节点发送添加了所述第一链路标签的所述报文。
13.根据权利要求8所述的设备,其特征在于,所述约束路径包括第三网络节点与第四网络节点之间的第一链路;所述报文到达所述第三网络节点后,所述第三网络节点用于根据所述第一链路的链路标签来转发所述报文。
14.一种网络设备,其特征在于,所述设备包括:
接收单元,用于接收报文,其中,所述报文为第一网络节点在到达第二网络节点的主路径出现故障时通过报文转发备份路径向第三网络节点发送的,所述报文转发备份路径为所述第一网络节点采用第一类型算法计算得到,所述报文转发备份路径包括约束路径,所述约束路径为显式标识的链路,所述约束路径包括第三网络节点与第四网络节点之间的第一链路;所述第一链路的链路标签为基于第二类型算法的链路标签;所述报文的报文头中包括所述第一链路的链路标签,所述第一类型算法为灵活算法Flex-Algo,所述第二类型算法与所述第一类型算法为不同类型的算法;所述第一链路的链路标签为所述第一网络节点所在的SR网络中已经发布的链路标签;
转发单元,用于根据所述第一链路的链路标签转发所述报文。
15.一种网络设备,其特征在于,所述设备包括处理器、接收接口、发送接口和存储器,其中,所述存储器用于存储计算机程序和/或数据,所述处理器用于执行所述存储器中存储的计算机程序,使得所述设备执行如下操作:
采用第一类型算法计算到达第二网络节点的报文转发备份路径,其中,所述报文转发备份路径包括约束路径,所述约束路径为显式标识的链路,所述第一类型算法为灵活算法Flex-Algo;
获取所述约束路径的第一链路标签,所述第一链路标签为基于第二类型算法的链路标签,所述第二类型算法与所述第一类型算法为不同类型的算法;所述第一链路标签为所述网络设备所在的SR网络中已经发布的链路标签;
生成所述报文转发备份路径的转发表项,所述转发表项包括所述第一链路标签。
16.根据权利要求15所述的设备,其特征在于,所述获取所述约束路径的第一链路标签,包括:
查询所述约束路径的第二链路标签,所述第二链路标签为基于所述第一类型算法的链路标签;
在所述第二链路标签不存在的情况下,查询到所述第一链路标签。
17.根据权利要求15所述的设备,其特征在于,
所述第二类型算法为基于内部网关协议IGP链路度量的最短路径算法SPF;
或者,所述第一类型算法为第一类型的Flex-Algo,所述第二类型算法为第二类型的Flex-Algo。
18.根据权利要求15至17任一项所述的设备,其特征在于,所述设备还执行如下操作:
通过所述接收接口接收报文,其中,所述报文的目的节点为所述第二网络节点;
在到达所述第二网络节点的主路径出现故障的情况下,通过所述转发表项从所述发送接口转发所述报文。
19.根据权利要求18所述的设备,其特征在于,所述转发表项包括所述设备通过所述报文转发备份路径转发所述报文的出接口,所述通过所述转发表项从所述发送接口转发所述报文,包括:
根据所述转发表项将所述第一链路标签添加到所述报文的报文头中;
根据所述出接口向下一跳节点从所述发送接口发送添加了所述第一链路标签的所述报文。
20.根据权利要求19所述的设备,其特征在于,所述约束路径包括第三网络节点与第四网络节点之间的第一链路;所述报文到达所述第三网络节点后,所述第三网络节点用于根据所述第一链路的链路标签来转发所述报文。
21.一种网络设备,其特征在于,所述设备包括处理器、接收接口、发送接口和存储器,其中,所述存储器用于存储计算机程序和/或数据,所述处理器用于执行所述存储器中存储的计算机程序,使得所述设备执行如下操作:
通过所述接收接口接收报文,其中,所述报文为第一网络节点在到达第二网络节点的主路径出现故障时通过报文转发备份路径向第三网络节点发送的,所述报文转发备份路径为所述第一网络节点采用第一类型算法计算得到,所述报文转发备份路径包括约束路径,所述约束路径为显式标识的链路,所述约束路径包括第三网络节点与第四网络节点之间的第一链路;所述第一链路的链路标签为基于第二类型算法的链路标签;所述报文的报文头中包括所述第一链路的链路标签,所述第一类型算法为灵活算法Flex-Algo,所述第二类型算法与所述第一类型算法为不同类型的算法;所述第一链路的链路标签为所述第一网络节点所在的SR网络中已经发布的链路标签;
根据所述第一链路的链路标签从所述发送接口转发所述报文。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至6任意一项所述的方法;或者,所述计算机程序被处理器执行以实现权利要求7所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010421270.5A CN113691445B (zh) | 2020-05-18 | 2020-05-18 | 报文转发备份路径确定方法及相关设备 |
PCT/CN2021/080775 WO2021232906A1 (zh) | 2020-05-18 | 2021-03-15 | 报文转发备份路径确定方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010421270.5A CN113691445B (zh) | 2020-05-18 | 2020-05-18 | 报文转发备份路径确定方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113691445A CN113691445A (zh) | 2021-11-23 |
CN113691445B true CN113691445B (zh) | 2022-12-02 |
Family
ID=78575591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010421270.5A Active CN113691445B (zh) | 2020-05-18 | 2020-05-18 | 报文转发备份路径确定方法及相关设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113691445B (zh) |
WO (1) | WO2021232906A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116684347A (zh) * | 2022-02-23 | 2023-09-01 | 华为技术有限公司 | 确定路径的方法和装置 |
CN115022235B (zh) * | 2022-05-07 | 2023-05-26 | 烽火通信科技股份有限公司 | 一种基于cspf的链路保护方法及系统 |
CN115037675B (zh) * | 2022-05-31 | 2024-09-06 | 新华三技术有限公司合肥分公司 | 一种报文转发方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105939273A (zh) * | 2015-03-06 | 2016-09-14 | 丛林网络公司 | 路由器方法、路由器以及路由器系统 |
CN109981458A (zh) * | 2019-03-08 | 2019-07-05 | 华为技术有限公司 | 一种确定报文转发路径的方法、网络节点及系统 |
CN110493129A (zh) * | 2019-07-25 | 2019-11-22 | 新华三大数据技术有限公司 | 备份标签路径的更新方法、报文转发方法及装置 |
WO2020001309A1 (zh) * | 2018-06-30 | 2020-01-02 | 华为技术有限公司 | 一种传输路径故障的处理方法、装置及系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7319700B1 (en) * | 2000-12-29 | 2008-01-15 | Juniper Networks, Inc. | Communicating constraint information for determining a path subject to such constraints |
US8004960B2 (en) * | 2006-04-28 | 2011-08-23 | Cisco Technology, Inc. | Method and apparatus for forwarding label distribution protocol multicast traffic during fast reroute |
US9049233B2 (en) * | 2012-10-05 | 2015-06-02 | Cisco Technology, Inc. | MPLS segment-routing |
US9794148B1 (en) * | 2014-12-31 | 2017-10-17 | Juniper Networks, Inc. | Node protection for stacked labels |
CN107517155A (zh) * | 2016-06-15 | 2017-12-26 | 中兴通讯股份有限公司 | 一种软件定义网络、节点、路径计算方法及装置 |
US11050662B2 (en) * | 2017-06-30 | 2021-06-29 | Cisco Technology, Inc. | Malleable routing for data packets |
CN113489641A (zh) * | 2017-12-22 | 2021-10-08 | 华为技术有限公司 | 一种网络中传输报文的方法和节点 |
US10601724B1 (en) * | 2018-11-01 | 2020-03-24 | Cisco Technology, Inc. | Scalable network slice based queuing using segment routing flexible algorithm |
CN112054960B (zh) * | 2019-02-13 | 2024-04-26 | 华为技术有限公司 | 一种路径计算方法、装置及设备 |
CN109889441B (zh) * | 2019-03-21 | 2021-05-14 | 新华三技术有限公司 | 一种数据转发方法及装置 |
-
2020
- 2020-05-18 CN CN202010421270.5A patent/CN113691445B/zh active Active
-
2021
- 2021-03-15 WO PCT/CN2021/080775 patent/WO2021232906A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105939273A (zh) * | 2015-03-06 | 2016-09-14 | 丛林网络公司 | 路由器方法、路由器以及路由器系统 |
WO2020001309A1 (zh) * | 2018-06-30 | 2020-01-02 | 华为技术有限公司 | 一种传输路径故障的处理方法、装置及系统 |
CN109981458A (zh) * | 2019-03-08 | 2019-07-05 | 华为技术有限公司 | 一种确定报文转发路径的方法、网络节点及系统 |
CN110493129A (zh) * | 2019-07-25 | 2019-11-22 | 新华三大数据技术有限公司 | 备份标签路径的更新方法、报文转发方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021232906A1 (zh) | 2021-11-25 |
CN113691445A (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113691445B (zh) | 报文转发备份路径确定方法及相关设备 | |
US11943136B2 (en) | Advanced preferred path route graph features in a network | |
US11431633B2 (en) | Label forwarding entry generation method and apparatus, packet sending method and apparatus, and device | |
US9800493B2 (en) | Routing messages in a computer network using deterministic and probalistic source routes | |
US8576721B1 (en) | Local forwarding bias in a multi-chassis router | |
JP6085263B2 (ja) | 中継ノード及び経路制御方法 | |
US12034632B2 (en) | Fault protection method, node, and storage medium | |
US20220038364A1 (en) | SRv6-Based Data Processing Method and Related Network Device | |
EP3731471B1 (en) | Method and device for segment identifier offset distribution | |
JP2017028698A (ja) | トラフィック切り替え方法、デバイス、およびシステム | |
US11632322B2 (en) | Preferred path route graphs in a network | |
CN112134795B (zh) | 一种发送组播协议报文的方法、装置及系统 | |
US20220224631A1 (en) | Routing Control Method and Apparatus | |
KR20130109154A (ko) | 라우팅 정보 업데이트의 우선 순위 지정 | |
US20230116548A1 (en) | Route Processing Method and Related Device | |
US8811158B1 (en) | Fast reroute for common network routes | |
CN110881006B (zh) | 发送报文的方法、网络设备及计算机存储介质 | |
Lima Filho et al. | TCNet: Trellis coded network—Implementation of QoS-aware routing protocols in WSNs | |
CN113630316A (zh) | 一种数据传输方法及通信装置 | |
US8798050B1 (en) | Re-optimization of loosely routed P2MP-TE sub-trees | |
Kamamura et al. | Autonomous IP fast rerouting with compressed backup flow entries using OpenFlow | |
US8542578B1 (en) | System and method for providing a link-state path to a node in a network environment | |
KR20080075313A (ko) | As 넘버를 이용하여 라우팅하는 bgp 라우팅 장치 및그 제어 방법 | |
CN113411257A (zh) | 传输报文的方法、装置、计算设备和存储介质 | |
CN112804141A (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 |