CN115037675B - 一种报文转发方法及装置 - Google Patents
一种报文转发方法及装置 Download PDFInfo
- Publication number
- CN115037675B CN115037675B CN202210604521.2A CN202210604521A CN115037675B CN 115037675 B CN115037675 B CN 115037675B CN 202210604521 A CN202210604521 A CN 202210604521A CN 115037675 B CN115037675 B CN 115037675B
- Authority
- CN
- China
- Prior art keywords
- network node
- sid
- information
- mpls
- node
- 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
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000004806 packaging method and process Methods 0.000 claims abstract description 5
- 238000005538 encapsulation Methods 0.000 claims description 17
- 101100033336 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) REC107 gene Proteins 0.000 description 28
- 101100076570 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) MER1 gene Proteins 0.000 description 27
- 238000010586 diagram Methods 0.000 description 9
- 230000006855 networking Effects 0.000 description 5
- 101100394003 Butyrivibrio fibrisolvens end1 gene Proteins 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
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/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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文转发方法及装置。该方法应用于SRv6网络中的任一主路径上的源节点,且包括:根据获取到的SRv6网络中的除源节点之外的其他网络节点的段标识信息和链路段标识信息,确定该主路径对应的TI‑LFA FRR路径和该TI‑LFA FRR路径对应的约束路径信息;在接收到业务报文、且监测到该主路径发生故障时,若该约束路径信息中存在至少一个支持MPLS SR但不支持SRv6的指定网络节点的段标识信息和/或链路段标识信息,则根据该约束路径信息和预设的封装规则,对业务报文进行封装,并将封装后的业务报文转发给下一跳网络节点。本申请可解决主路径发生故障时出现的丢包问题,提高了网络体验。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文转发方法及装置。
背景技术
段路由(Segment Routing,SR)是基于源路由的理念而设计的在网络中转发数据包的一种协议。SR将网络路径划分为一个个段,为这些段或节点分配段标识(SegmentIdentifier,SID),通过在数据包中携带依次排列的段标识,能够让数据包通过段标识指示的转发路径传输。
段路由与互联网协议第六版(Segment Routing Internet Protocol version6,SRv6是指将SR技术与互联网协议第六版(internet protocol version 6,IPv6) 协议结合起来,按照IPv6地址的格式定义为实例化的SRv6 SID,基于IPv6 的转发面来实现SR的功能。
在SRv6网络中,任一条主路径上的源节点在需要确定该路径对应的 TI-LFA FRR(Topology-IndepEndent Loop-free Alternate Fast Reroute,拓扑无关无环备份快速重路由)路径时,需要获取到整个SRv6网络中的各个网络节点的END SID(即,既支持多协议标签交换(Multiprotocol Label Switching, MPLS)段路由(Segment Routing with MPLS,MPLS SR)又支持SRv6的网络节点的段标识)和端点三层交叉连接段标识(Endpoint withLayer-3cross-connect,End.X SID,即,支持SRv6的网络节点对应的链路段标识),才能确定出该路径对应的TI-LFA FRR路径。
但是,在SRv6网络中存在个别的网络节点支持MPLS SR但不支持SRv6 的情形下,由于无法提供相应的END SID和End.X SID,上述源节点就无法确定出该路径对应的TI-LFAFRR路径,这样一来,在上述源节点使用上述主路径转发业务报文时,一旦上述主路径发生故障,例如,上述主路径上的某个网络节点或者某条链路出现故障,由于没有相应的备用路径,上述源节点需要重新确定新的转发路径,然后使用新的转发路径转发业务报文,这就会出现较长时间的丢包问题,进而导致网络体验较差。
发明内容
为克服相关技术中存在的问题,本申请提供了一种报文转发方法及装置。
根据本申请实施例的第一方面,提供一种报文转发方法,所述方法应用于 SRv6网络中的任一主路径上的源节点,所述方法包括:
根据获取到的所述SRv6网络中的除所述源节点之外的其他网络节点的段标识信息和链路段标识信息,确定该主路径对应的TI-LFA FRR路径和该 TI-LFA FRR路径对应的约束路径信息,其中,在任一其他网络节点既支持 MPLS SR又支持SRv6时,该其他网络节点的段标识信息为该其他网络节点的 End SID,该其他网络节点的链路段标识信息为该其他网络节点的End.X SID;在任一其他网络节点支持MPLS SR但不支持SRv6时,该其他网络节点的段标识信息为该其他网络节点的Node SID,该其他网络节点的链路段标识信息为该其他网络节点的Adj SID,该约束路径信息中包括有该TI-LFA FRR路径上的至少一个指定网络节点的段标识信息和/或链路段标识信息,且所有指定网络节点的总数量不大于3个,所有指定网络节点中不包括所述源节点和该主路径上的目的节点;
在接收到业务报文、且监测到该主路径发生故障时,若该约束路径信息中存在至少一个支持MPLS SR但不支持SRv6的指定网络节点的段标识信息和/ 或链路段标识信息,则根据该约束路径信息和预设的封装规则,对所述业务报文进行封装,并将封装后的业务报文转发给下一跳网络节点,其中,所述下一跳网络节点为所述源节点基于该TI-LFA FRR路径对应的备份转发表确定出的。
根据本申请实施例的第二方面,提供一种报文转发装置,所述装置应用于 SRv6网络中的任一主路径上的源节点,所述装置包括:
确定模块,用于根据获取到的所述SRv6网络中的除所述源节点之外的其他网络节点的段标识信息和链路段标识信息,确定该主路径对应的TI-LFA FRR 路径和该TI-LFAFRR路径对应的约束路径信息,其中,在任一其他网络节点既支持MPLS SR又支持SRv6时,该其他网络节点的段标识信息为该其他网络节点的End SID,该其他网络节点的链路段标识信息为该其他网络节点的End.X SID;在任一其他网络节点支持MPLS SR但不支持SRv6时,该其他网络节点的段标识信息为该其他网络节点的Node SID,该其他网络节点的链路段标识信息为该其他网络节点的Adj SID,该约束路径信息中包括有该TI-LFA FRR路径上的至少一个指定网络节点的段标识信息和/或链路段标识信息,且所有指定网络节点的总数量不大于3个,所有指定网络节点中不包括所述源节点和该主路径上的目的节点;
第一封装转发模块,用于在接收到业务报文、且监测到该主路径发生故障时,若该约束路径信息中存在至少一个支持MPLS SR但不支持SRv6的指定网络节点的段标识信息和/或链路段标识信息,则根据该约束路径信息和预设的封装规则,对所述业务报文进行封装,并将封装后的业务报文转发给下一跳网络节点,其中,所述下一跳网络节点为所述源节点基于该TI-LFA FRR路径对应的备份转发表确定出的。
本申请的实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,在SRv6网络中存在个别的网络节点支持MPLS SR 但不支持SRv6的情形下,对于任一主路径上的源节点而言,可以基于SRv6 网络中的既支持MPLS SR又支持SRv6的网络节点的End SID和End.X SID,以及支持MPLS SR但不支持SRv6的网络节点的Node SID和/或Adj SID,确定出该路径对应的TI-LFA FRR路径,以便于在该主路径发生故障的情形下,源节点可以及时地使用该路径对应的TI-LFA FRR路径对应的约束路径信息转发相关业务报文,不会出现丢包问题,从而提高了网络体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本申请的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种报文转发方法的流程示意图;
图2A为本申请实施例提供的SRv6网络的组网示意图之一;
图2B为本申请实施例提供的业务报文在图2A所示的组网中的网络节点 A1、网络节点MER2和网络节点MER1侧的报文格式示意图;
图3A为本申请实施例提供的SRv6网络的组网示意图之二;
图3B为本申请实施例提供的业务报文在图3A所示的组网中的网络节点 A1、网络节点A3、网络节点MER2和网络节点MER1侧的报文格式示意图;
图4A为本申请实施例提供的SRv6网络的组网示意图之三;
图4B为本申请实施例提供的业务报文在图4A所示的组网中的网络节点A1、网络节点A3、网络节点MER2和网络节点MER1侧的报文格式示意图;
图5为本申请实施例提供的一种报文转发方法的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”或者“若”可以被解释成为“在……时”或“当……时”。
接下来对本申请实施例进行详细说明。
本申请实施例提供了一种报文转发方法,该方法应用于SRv6网络中的任一主路径上的源节点,如图1所示,该方法可以包括如下步骤:
S11、根据获取到的SRv6网络中的除源节点之外的其他网络节点的段标识信息和链路段标识信息,确定该主路径对应的TI-LFA FRR路径和该TI-LFA FRR路径对应的约束路径信息。
在本步骤中,在任一其他网络节点既支持MPLS SR又支持SRv6时,该其他网络节点的段标识信息为该其他网络节点的End SID,该其他网络节点的链路段标识信息为该其他网络节点的End.X SID。
在任一其他网络节点支持MPLS SR但不支持SRv6时,该其他网络节点的段标识信息为该其他网络节点的Node SID,该其他网络节点的链路段标识信息为该其他网络节点的Adj SID。
另外,在本步骤中,该约束路径信息中包括有该TI-LFA FRR路径上的至少一个指定网络节点的段标识信息和/或链路段标识信息,且所有指定网络节点的总数量不大于3个,所有指定网络节点中不包括所述源节点和该主路径上的目的节点,并且,该约束路径信息中包括的该TI-LFA FRR路径上的所有的指定网络节点的段标识信息和/或链路段标识信息按照该TI-LFA FRR路径上的所有的指定网络节点从近到远的顺序排列。
在这里,对于该约束路径信息中的任一指定网络节点,一旦该TI-LFA FRR路径确定下来,那么,该约束路径信息中包括的该指定网络节点的相关信息也就确定下来了,可能是该指定网络节点的段标识信息,也可能是该指定网络节点的链路段标识信息,还可能是该指定网络节点的段标识信息和链路段标识信息。
S12、在接收到业务报文、且监测到该主路径发生故障时,若该约束路径信息中存在至少一个支持MPLS SR但不支持SRv6的指定网络节点的段标识信息和/或链路段标识信息,则根据该约束路径信息和预设的封装规则,对业务报文进行封装,并将封装后的业务报文转发给下一跳网络节点。
在本步骤中,下一跳网络节点为源节点基于该TI-LFA FRR路径对应的备份转发表确定出的。
需要说明的是,在本申请实施例中,对于上述源节点而言,可以通过解析邻居网络节点发送过来的标签交换路径(Label Switched Path,LSP)报文,获取到SRv6网络中的除源节点之外的其他网络节点的段标识信息和链路段标识信息。
并且,对于既支持MPLS SR又支持SRv6的其他网络节点,该源节点可以获取到此其他网络节点的End SID和End.X SID、以及Node SID和Adj SID;对于支持MPLS SR但不支持SRv6的其他网络节点,该源节点可以获取到此其他网络节点的Node SID和Adj SID。
后续该源节点在确定该主路径对应的TI-LFA FRR路径和该TI-LFA FRR 路径对应的约束路径信息时,使用既支持MPLS SR又支持SRv6的其他网络节点的End SID和End.XSID、以及支持MPLS SR但不支持SRv6的其他网络节点的Node SID和Adj SID来确定,具体的确定过程与现有的仅使用相关既支持MPLS SR又支持SRv6的网络节点的End SID和End.XSID确定相应的TI-LFA FRR路径和相关约束路径信息的确定过程类似,在此不再详述。
在这里,该TI-LFA FRR路径的链路总开销(Cost)值最小,且对应的约束路径信息(也称为Repair List),该约束路径信息中记录了至少一个可以精准地引导业务报文到达相应的目的节点的指定网络节点的段标识信息和 /或链路段标识信息。
具体地,在上述步骤S12中,在所有的指定节点的总数量为1个时,上述源节点可以通过以下方式对业务报文进行封装:
在根据该约束路径信息确定出该约束路径信息中包括的指定网络节点支持 MPLSSR但不支持SRv6,则为业务报文封装第一MPLS标签信息,得到封装后的业务报文,其中,第一MPLS标签信息包括该约束路径信息中包括的指定网络节点的Node SID和/或Adj SID。
需要说明的是,在本申请实施例中,对于该约束路径信息中包括的任一指定网络节点,如果该约束路径信息中的该指定网络节点的段标识信息和/或链路段标识信息为该指定网络节点的End SID和/或End.X SID,则判定该指定网络节点既支持MPLS SR又支持SRv6;如果该指定网络节点的段标识信息和/或链路段标识信息为该指定网络节点的NodeSID和/或Adj SID,则判定该指定网络节点支持MPLS SR但不支持SRv6。
在这里,封装后的业务报文用于指示此指定网络节点在接收到该封装后的业务报文时,弹出第一MPLS标签信息之后再转发给相应的目的节点。
在所有的指定节点的总数量为2个时,上述源节点可以通过以下方式对业务报文进行封装:
针对该约束路径信息中的第一个指定网络节点和第二个指定网络节点,若根据该约束路径信息确定出该第一个指定网络节点既支持MPLS SR又支持SRv6、且该第二个指定网络节点支持MPLS SR但不支持SRv6,则为业务报文封装第一IPv6头、第一路由扩展头(Segment Routing Header,SRH)头和第二MPLS标签信息,得到封装后的业务报文,其中,第一IPv6头中的源IPv6 地址为源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第一个指定网络节点的End SID和/或End.X SID,第一SRH头中的段列表信息包括有该第一个指定网络节点的End SID和/或End.X SID,第二MPLS标签信息包括该约束路径信息中包括的该第二个指定网络节点的Node SID和/或Adj SID,第二MPLS标签信息位于第一SRH头的后面;在这里,第一SRH头中还包括有剩余分段数量(Segment Left,SL)值等信息,第一SRH头中的SL值=0,第一SRH头中的段列表信息可以具体为Segment List[0]=该第一个指定网络节点的End SID和/或End.X SID;
若根据该约束路径信息确定出该第一个指定网络节点支持MPLS SR但不支持SRv6、且该第二个指定网络节点既支持MPLS SR又支持SRv6,则为业务报文封装第三MPLS标签信息、第二IPv6头和第二SRH头,得到封装后的业务报文,其中,第三MPLS标签信息包括该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,第二IPv6头中的源IPv6地址为源节点的 IPv6地址,目的IPv6地址为该约束路径信息中包括的该二个指定网络节点的End SID和/或End.X SID,第二SRH头中的段列表信息包括有该第二个指定网络节点的End SID和/或End.X SID,第三MPLS标签信息位于第二SRH头的前面;在这里,第二SRH头中还包括有SL值等信息,第二SRH头中的SL值=0,第二SRH头中的段列表信息可以具体为Segment List[0]=该第二个指定网络节点的End SID和/或End.X SID;
若根据该约束路径信息确定出该第一个指定网络节点和该第二个指定网络节点均支持MPLS SR但不支持SRv6,则为业务报文封装第四MPLS标签信息,其中,第四MPLS标签信息中依次包括有:该约束路径信息中包括的该第一个指定网络节点的Node SID和/或AdjSID,以及该第二个指定网络节点的Node SID和/或Adj SID。
在这种方式中,对于上述源节点而言,在根据该约束路径信息确定出该第一个指定网络节点既支持MPLS SR又支持SRv6、且该第二个指定网络节点支持 MPLS SR但不支持SRv6的情形下,封装后的报文可以指示第一个指定网络节点对封装后的报文进行SRv6解封装,将解封装后的报文(携带有相关MPLS 标签信息)进一步转发至第二个指定网络节点,由第二个指定网络节点弹出解封装后的报文中的相关MPLS标签信息之后,再转发至相应的目的节点。
在根据该约束路径信息确定出该第一个指定网络节点支持MPLS SR但不支持SRv6、且该第二个指定网络节点既支持MPLS SR又支持SRv6的情形下,封装后的报文可以指示第一个指定网络节点弹出封装后的报文中的相关MPLS 标签信息,然后转发至第二个指定网络节点,由第二个指定网络节点进行SRv6 解封装以后再转发至相应的目的节点。
在根据该约束路径信息确定出该第一个指定网络节点和该第二个指定网络节点均支持MPLS SR但不支持SRv6的情形下,封装后的报文可以指示第一个指定网络节点弹出封装后的报文中的第一层MPLS标签信息,然后转发至第二个指定网络节点,由第二个指定网络节点弹出第二层MPLS标签信息以后再转发至相应的目的节点。
在所有的指定节点的总数量为3个时,根据该约束路径信息和预设的封装规则,对业务报文进行封装,具体包括:
针对该约束路径信息中的第一个指定网络节点、第二个指定网络节点和第三个指定网络节点,若根据该约束路径信息确定出该第一个指定网络节点既支持MPLS SR又支持SRv6、该第二个指定网络节点支持MPLS SR但不支持SRv6、且该第三个指定网络节点既支持MPLS SR又支持SRv6,则为业务报文封装第三IPv6头、第三SRH头、第五MPLS标签信息、第四IPv6头和第四SRH头,得到封装后的业务报文,其中,第三IPv6头的源IPv6地址为源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第一个指定网络节点的End SID和/或End.X SID,第三SRH头中的段列表信息包括有该第一个指定网络节点的 End SID和/或End.X SID,第五MPLS标签信息包括该约束路径信息中包括的该第二个指定网络节点的Node SID和/或Adj SID,第四IPv6头的源IPv6地址为源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第三个指定网络节点的End SID和/或End.X SID,第四SRH头中的段列表信息包括有该第三个指定网络节点的End SID和/或End.X SID,第五MPLS标签信息位于第四IPv6 头的前面,且位于第三SRH头的后面;在这里,第三SRH头和第四SRH头中均还包括有SL值等信息,第三SRH头和第四SRH头中的SL值=0,第三 SRH头中的段列表信息可以具体为Segment List[0]=该第一个指定网络节点的End SID和/或End.X SID,第四SRH头中的段列表信息可以具体为Segment List[0]=该第三个指定网络节点的End SID和/或End.X SID;
若根据该约束路径信息确定出该第一个指定网络节点和该第二个指定网络节点既支持MPLS SR又支持SRv6、且第三个指定网络节点支持MPLS SR但不支持SRv6,则为业务报文封装第五IPv6头、第五SRH头和第六MPLS标签信息,得到封装后的业务报文,其中,第五IPv6头的源IPv6地址为源节点的IPv6 地址,目的IPv6地址为该约束路径信息中包括的该第一个指定网络节点的End SID和/或End.X SID,第五SRH头中依次包括有:该第二个指定网络节点的End SID和/或End.X SID,以及该第一个指定网络节点的End SID和/或End.XSID,第六MPLS标签信息包括该约束路径信息中包括的该第三个指定网络节点的 Node SID和/或Adj SID,第六MPLS标签信息位于第五SRH头的后面;在这里,第五SRH头中还包括有SL值等信息,第五SRH头中的SL值=1,第五SRH 头中的段列表信息可以具体为:Segment List[0]=该第二个指定网络节点的 End SID和/或End.X SID,Segment List[1]=该第一个指定网络节点的End SID 和/或End.X SID;
若根据该约束路径信息确定出该第一个指定网络节点既支持MPLS SR又支持SRv6、且该第二个指定网络节点和该第三个指定网络节点均支持MPLS SR 但不支持SRv6,则为业务报文封装第六IPv6头、第六SRH头和第七MPLS标签信息,得到封装后的业务报文,其中,第六IPv6头的源IPv6地址为源节点的 IPv6地址,目的IPv6地址为该约束路径信息中包括的该第一个指定网络节点的 End SID和/或End.X SID,第六SRH头中的段列表信息包括有该第一个指定网络节点的End SID和/或End.X SID,第七MPLS标签信息中依次包括有:该约束路径信息中包括的该第二个指定网络节点的Node SID和/或Adj SID、以及该第三个指定网络节点的Node SID和/或Adj SID,第七MPLS标签信息位于第六 SRH头的后面;在这里,第六SRH头中还包括有SL值等信息,第六SRH头中的SL值=0,第六SRH头中的段列表信息可以具体为Segment List[0]=该第一个指定网络节点的End SID和/或End.X SID;
若根据该约束路径信息确定出该第一个指定网络节点支持MPLS SR但不支持SRv6、该第二个指定网络节点和该第三个指定网络节点均既支持MPLS SR 又支持SRv6,则为业务报文封装第八MPLS标签信息、第七IPv6头和第七SRH 头,得到封装后的业务报文,其中,第八MPLS标签信息包括该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,第七IPv6头的源 IPv6地址为源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第二个指定网络节点的End SID和/或End.X SID,第七SRH头中依次包括有:该约束路径信息中包括的该第三个指定网络节点的End SID和/或End.X SID,以及该第二个指定网络节点的End SID和/或End.X SID,第八MPLS标签信息位于第七IPv6头的前面;在这里,第七SRH头中还包括有SL值等信息,第七 SRH头中的SL值=1,第七SRH头中的段列表信息可以具体为:Segment List[0]=该第三个指定网络节点的End SID和/或End.XSID,Segment List[1]=该第二个指定网络节点的End SID和/或End.X SID;
若根据该约束路径信息确定出该第一个指定网络节点支持MPLS SR但不支持SRv6、该第二个指定网络节点既支持MPLS SR又支持SRv6、且该第三个指定网络节点支持MPLS SR但不支持SRv6,则为业务报文封装第九MPLS标签信息、第八IPv6头、第八SRH头和第十MPLS标签信息,得到封装后的业务报文,其中,第九MPLS标签信息包括该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,第八IPv6头的源IPv6地址为源节点的IPv6 地址,目的IPv6地址为该约束路径信息中包括的该第二个指定网络节点的EndSID和/或End.X SID,第八SRH头中的段列表信息包括有该第二个指定网络节点的End SID和/或End.X SID,第十MPLS标签信息包括该约束路径信息中包括的该第三个指定网络节点的Node SID和/或AdjSID,第九MPLS标签信息位于第八IPv6头的前面,且第十MPLS标签信息位于第八SRH头的前面;在这里,第八SRH头中还包括有SL值等信息,第八SRH头中的SL值=0,第八 SRH头中的段列表信息可以具体为Segment List[0]=该第二个指定网络节点的End SID和/或End.X SID;
若根据该约束路径信息确定出该第一个指定网络节点和该第二个指定网络节点均支持MPLS SR但不支持SRv6、且该第三个指定网络节点既支持MPLS SR 又支持SRv6,则为业务报文封装第十一MPLS标签信息、第九IPv6头和第九 SRH头,得到封装后的业务报文,其中,第十一MPLS标签信息中依次包括有:该约束路径信息中包括的该第一个指定网络节点的Node SID和/或AdjSID,以及该第二个指定网络节点的Node SID和/或AdjSID,第九IPv6头的源IPv6地址为源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第三个指定网络节点的End SID和/或End.X SID第九SRH头中的段列表信息包括有该第三个指定网络节点的End SID和/或End.X SID,第十一MPLS标签信息位于第九IPv6头的前面;在这里,第九SRH头中还包括有SL值等信息,第九SRH 头中的SL值=0,第九SRH头中的段列表信息可以具体为Segment List[0]=该第三个指定网络节点的End SID和/或End.X SID;
若根据该约束路径信息确定出该第一个指定网络节点、该第二个指定网络节点和该第三个指定网络节点均支持MPLS SR但不支持SRv6,则为业务报文封装第十二MPLS标签信息,得到封装后的业务报文,其中,第十二MPLS标签信息中依次包括有:该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,该约束路径信息中包括的该第二个指定网络节点的Node SID 和/或Adj SID,以及该约束路径信息中包括的该第三个指定网络节点的Node SID 和/或Adj SID。
在这种方式中,对于上述源节点而言,在根据该约束路径信息确定出该第一个指定网络节点既支持MPLS SR又支持SRv6、该第二个指定网络节点支持 MPLS SR但不支持SRv6、且该第三个指定网络节点既支持MPLS SR又支持 SRv6的情形下,封装后的报文可以指示第一个指定网络节点对封装后的报文进行一次SRv6解封装,将解封装后的报文进一步转发至第二个指定网络节点,由第二个指定网络节点弹出解封装后的报文中的相关MPLS标签信息之后,再转发至第三个指定网络节点,由第三个指定网络节点再进行一次SRv6解封装,将这次解封装后的报文转发至相应的目的节点。
在根据该约束路径信息确定出该第一个指定网络节点和该第二个指定网络节点既支持MPLS SR又支持SRv6、且第三个指定网络节点支持MPLS SR但不支持SRv6的情形下,封装后的报文可以指示第一个指定网络节点对封装后的业务报文进行更改(更改相应的IPv6头中的目的地址和相应的SRH头中的 SL的值)之后转发至第二个指定网络节点,由第二个指定网络节点对更改后的报文进行SRv6解封装,将解封装后的报文进一步转发至第三个指定网络节点,由第三个指定网络节点弹出解封装后的报文中的相关MPLS标签信息之后,再转发至相应的目的节点。
在根据该约束路径信息确定出该第一个指定网络节点既支持MPLS SR又支持SRv6、且该第二个指定网络节点和该第三个指定网络节点均支持MPLS SR 但不支持SRv6的情形下,封装后的报文可以指示第一个指定网络节点对封装后的业务报文进行SRv6解封装,将解封装后的报文进一步转发至第二个指定网络节点,由第二个指定网络节点弹出第一层MPLS标签信息之后,进一步转发至第三个指定网络节点,由第三个指定网络节点弹出第二层MPLS标签信息之后,再转发至相应的目的节点。
在根据该约束路径信息确定出该第一个指定网络节点支持MPLS SR但不支持SRv6、该第二个指定网络节点和该第三个指定网络节点均既支持MPLS SR 又支持SRv6的情形下,封装后的报文可以指示第一个指定网络节点弹出封装后的业务报文中的相关MPLS标签信息之后,将其进一步转发至第二个指定网络节点,由第二个指定网络节点对其进行更改(更改相应的IPv6头中的目的地址和相应的SRH头中的SL的值)之后转发至第三个指定网络节点,由第三个指定网络节点对更改后的报文进行SRv6解封装之后,再转发至相应的目的节点。
在根据该约束路径信息确定出该第一个指定网络节点支持MPLS SR但不支持SRv6、该第二个指定网络节点既支持MPLS SR又支持SRv6、且该第三个指定网络节点支持MPLS SR但不支持SRv6的情形下,封装后的报文可以指示第一个指定网络节点弹出封装后的业务报文中的相关MPLS标签信息之后,将其进一步转发至第二个指定网络节点,由第二个指定网络节点对其进行SRv6解封装之后转发至第三个指定网络节点,由第三个指定网络节点弹出解封装后的报文中的相关MPLS标签信息之后,再转发至相应的目的节点。
在根据该约束路径信息确定出该第一个指定网络节点和该第二个指定网络节点均支持MPLS SR但不支持SRv6、且该第三个指定网络节点既支持MPLS SR又支持SRv6的情形下,封装后的报文可以指示第一个指定网络节点弹出封装后的业务报文中的第一层MPLS标签信息之后,将其进一步转发至第二个指定网络节点,由第二个指定网络节点继续弹出第二层MPLS标签信息之后转发至第三个指定网络节点,由第三个指定网络节点对其进行SRv6解封装之后转发至相应的目的节点。
在根据该约束路径信息确定出该第一个指定网络节点、该第二个指定网络节点和该第三个指定网络节点均支持MPLS SR但不支持SRv6的情形下,封装后的报文可以指示第一个指定网络节点弹出封装后的业务报文中的第一层MPLS 标签信息之后,将其进一步转发至第二个指定网络节点,由第二个指定网络节点继续弹出第二层MPLS标签信息之后转发至第三个指定网络节点,由第三个指定网络节点继续弹出第三层MPLS标签信息之后转发至相应的目的节点。
进一步地,在本申请实施例中,对于上述源节点而言,在接收到业务报文、且监测到该主路径发生故障时,若该约束路径信息中不存在支持MPLS SR但不支持SRv6的指定网络节点的段标识信息和/或链路段标识信息,则仍然按照现有流程处理,即,为业务报文封装第十IPv6头和第十SRH头,得到封装后的业务报文;其中,第十IPv6头的源IPv6地址为源节点的IPv6地址,目的 IPv6地址为该约束路径信息中包括的第一个指定网络节点的EndSID和/或 End.X SID,第十SRH头中包括有该约束路径信息中包括的所有的指定网络节点的End SID和/或End.X SID,所有的指定网络节点的End SID和/或End.X SID按照该TI-LFAFRR路径上的所有的指定网络节点从远到近的顺序排列。
下面结合具体实施例对上述报文转发方法进行详细说明。
实施例一
如图2A所示,假设网络节点MER1(图2A中示为MER1)、网络节点 A1(图2A中示为A1)和网络节点A2(图2A中示为A2)均既支持MPLS SR又支持SRv6;假设网络节点MER2(图2A中示为MER2)支持MPLS SR 但不支持SRv6。
假设主路径为网络节点A1->网络节点MER1。并且,假设网络节点A1 为源节点,假设网络节点A1根据网络节点A2的End SID和End.X SID、网络节点MER2的Node SID和AdjSID、以及网络节点MER1的End SID和End.X SID,确定出该主路径对应的TI-LFA FRR路径为网络节点A1->网络节点 A2->网络节点MER2,对应的约束路径信息中包括有网络节点MER2的 Node SID和Adj SID。
假设在某个时刻,网络节点A1接收到业务报文,并且此时发现该主路径发生故障,例如,网络节点A1与网络节点MER1之间的链路出现故障,在这种情形下,网络节点A1根据该约束路径信息中的内容,可以确定出该约束路径信息中包括的指定网络节点(即,网络节点MER2)支持MPLS SR但不支持SRv6,此时,网络节点A1为业务报文封装包括有网络节点MER2的 Node SID和Adj SID的MPLS标签信息,并将封装后的报文转发至下一跳网络节点(即,网络节点A2)。
在这里,该业务报文的具体报文格式可如图2B所示。在图2B中,该业务报文的源IPv6地址(即,网络节点A1的IPv6地址)用A1来表示的,该业务报文的目的IPv6地址(即,网络节点MER1的IPv6地址)用MER1来表示的,该业务报文的载荷内容为IP data。
网络节点A2在接收到封装后的报文后,发现封装后的报文中携带有不为自身的Node SID和Adj SID的MPLS标签信息,此时,网络节点A2基于 MPLS转发表将封装后的报文转发至网络节点MER2。
网络节点MER2收到封装后的报文(具体报文格式可如图2B所示)后,发现封装后的报文中携带有包括有自身的Node SID和Adj SID的MPLS标签信息,此时,网络节点MER2弹出封装后的报文中携带的Node SID和Adj SID,得到该业务报文,然后基于Adj SID确定业务报文的出接口,并将业务报文通过确定出的出接口转发至网络节点MER1。在这里,到达网络节点MER1侧的业务报文的报文格式可如图2B所示。
实施例二
如图3A所示,假设网络节点MER1(图3A中示为MER1)、网络节点 A1(图3A中示为A1)、网络节点A2(图3A中示为A2)和网络节点MER2 (图3A中示为MER2)均既支持MPLS SR又支持SRv6;假设网络节点A3 (图3A中示为A3)支持MPLS SR但不支持SRv6。
假设主路径为网络节点A1->网络节点MER1。并且,假设网络节点A1 为源节点,假设网络节点A1根据网络节点A2的End SID和End.X SID、网络节点A3的Node SID(例如,Node1 SID)和Adj SID(例如,Adj1 SID)、网络节点MER2的End SID和End.X SID(例如,End2.x)、以及网络节点MER1 的End SID和End.X SID,确定出该主路径对应的TI-LFA FRR路径为网络节点A1->网络节点A3->网络节点MER2->网络节点MER1,对应的约束路径信息中包括有网络节点A3的Node SID和Adj SID、以及网络节点MER2 的End.X SID(即,End2.x)。
假设在某个时刻,网络节点A1接收到业务报文,并且此时发现该主路径发生故障,例如,网络节点A1与网络节点MER1之间的链路出现故障,在这种情形下,网络节点A1根据该约束路径信息中的内容,可以确定出该约束路径信息中包括的第一个指定网络节点(即,网络节点A3)支持MPLS SR但不支持SRv6,第二个指定网络节点(即,网络节点MER2)既支持MPLS SR 又支持SRv6,此时,网络节点A1为业务报文封装包括有Node1 SID和Adj1 SID的MPLS标签信息、IPv6头和SRH头,并将封装后的报文转发至下一跳网络节点(即,网络节点A3)。
在这里,该业务报文的具体报文格式可如图3B所示。在图3B中,该业务报文的源IPv6地址(即,网络节点A1的IPv6地址)用A1来表示,该业务报文的目的IPv6地址(即,网络节点MER1的IPv6地址)用MER1来表示,该业务报文的载荷内容为IP data。
另外,上述IPv6头中的源IPv6地址为网络节点A1的IPv6地址,目的IPv6 地址为网络节点MER2的End.X SID(即,End2.x)。上述SRH头中的段列表信息为Segment List[0]=网络节点MER2的End.X SID(即,End2.x),上述SRH头中的SL值=0。
网络节点A3在接收到封装后的报文(具体报文格式可如图3B所示)后,发现封装后的报文中携带有包括有自身的Node1 SID和Adj 1SID的MPLS标签信息,此时,网络节点A3弹出封装后的报文中携带的Node1 SID和Adj1 SID,之后,基于Adj 1SID确定弹出后的报文的出接口,并将弹出后的报文通过确定出的出接口转发至网络节点MER2。
网络节点MER2在接收到弹出后的报文(具体报文格式可如图3B所示) 后,发现IPv6头中的目的IPv6地址为自己的End.X SID、且SRH头中的SL 值=0,此时,网络节点MER2对弹出后的报文进行SRv6解封装,得到该业务报文,并基于End.X SID确定该业务报文的出接口,将该业务报文通过确定出的出接口转发至网络节点MER1。在这里,到达网络节点MER1侧的业务报文的报文格式可如图3B所示。
实施例三
如图4A所示,假设网络节点MER1(图4A中示为MER1)、网络节点 A1(图4A中示为A1)、网络节点A2(图4A中示为A2)和网络节点A3 (图4A中示为A3)均既支持MPLS SR又支持SRv6;假设网络节点MER2 (图4A中示为MER2)支持MPLS SR但不支持SRv6。
假设主路径为网络节点A1->网络节点MER1。并且,假设网络节点A1 为源节点,假设网络节点A1根据网络节点A2的End SID和End.X SID、网络节点A3的End SID和End.X SID(例如,End1.x)、网络节点MER2的Node SID(例如,Node2 SID)和Adj SID(例如,Adj2 SID)、以及网络节点MER1 的End SID和End.X SID,确定出该主路径对应的TI-LFA FRR路径为网络节点A1->网络节点A3->网络节点MER2->网络节点MER1,对应的约束路径信息中包括有网络节点A3的End.X SID(即,End1.x)、以及网络节点MER2的Node SID和Adj SID。
假设在某个时刻,网络节点A1接收到业务报文,并且此时发现该主路径发生故障,例如,网络节点A1与网络节点MER1之间的链路出现故障,在这种情形下,网络节点A1根据该约束路径信息中的内容,可以确定出该约束路径信息中包括的第一个指定网络节点(即,网络节点A3)既支持MPLS SR 又支持SRv6,第二个指定网络节点(即,网络节点MER2)支持MPLSSR 但不支持SRv6,此时,网络节点A1为业务报文封装IPv6头、SRH头和包括有Node2 SID和Adj2 SID的MPLS标签信息,并将封装后的报文转发至下一跳网络节点(即,网络节点A3)。
在这里,该业务报文的具体报文格式可如图4B所示。在图4B中,该业务报文的源IPv6地址(即,网络节点A1的IPv6地址)用A1来表示,该业务报文的目的IPv6地址(即,网络节点MER1的IPv6地址)用MER1来表示,该业务报文的载荷内容为IP data。
另外,上述IPv6头中的源IPv6地址为网络节点A1的IPv6地址,目的IPv6 地址为网络节点A3的End.X SID(即,End1.x)。上述SRH头中的段列表信息为Segment List[0]=网络节点A3的End.X SID(即,End1.x),且上述SRH 头中的SL值=0。
网络节点A3在接收到封装后的报文(具体报文格式可如图4B所示)后,发现封装后的报文中的IPv6头中的目的IPv6地址为自己的End.X SID、且且SRH头中的SL值=0,此时,网络节点A3对封装后的报文进行SRv6解封装,并基于End.X SID确定解封装后的报文的出接口,将解封装后的报文通过确定出的出接口转发至网络节点MER2。
网络节点MER2在接收到解封装后的报文(具体报文格式可如图4B所示) 后,发现解封装后的报文中携带有包括有自身的Node2 SID和Adj2 SID的 MPLS标签信息,此时,网络节点MER2弹出解封装后的报文中携带的Node2 SID和Adj2 SID,得到该业务报文,基于Adj1 SID确定该业务报文的出接口,并将该业务报文通过确定出的出接口转发至网络节点MER1。在这里,到达网络节点MER1侧的业务报文的报文格式可如图4B所示。
由以上技术方案可以看出,在本申请实施例中,在SRv6网络中存在个别的网络节点支持MPLS SR但不支持SRv6的情形下,对于任一主路径上的源节点而言,可以基于SRv6网络中的既支持MPLS SR又支持SRv6的网络节点的End SID和End.X SID,以及支持MPLS SR但不支持SRv6的网络节点的 Node SID和/或Adj SID,确定出该路径对应的TI-LFA FRR路径,以便于在该主路径发生故障的情形下,源节点可以及时地使用该路径对应的TI-LFA FRR路径对应的约束路径信息转发相关业务报文,不会出现丢包问题,从而提高了网络体验。
基于同一发明构思,本申请还提供了一种报文转发装置,所述装置应用于SRv6网络中的任一主路径上的源节点,其结构示意图如图5所示,具体包括:
确定模块51,用于根据获取到的所述SRv6网络中的除所述源节点之外的其他网络节点的段标识信息和链路段标识信息,确定该主路径对应的TI-LFA FRR路径和该TI-LFAFRR路径对应的约束路径信息,其中,在任一其他网络节点既支持MPLS SR又支持SRv6时,该其他网络节点的段标识信息为该其他网络节点的End SID,该其他网络节点的链路段标识信息为该其他网络节点的End.X SID;在任一其他网络节点支持MPLS SR但不支持SRv6时,该其他网络节点的段标识信息为该其他网络节点的Node SID,该其他网络节点的链路段标识信息为该其他网络节点的Adj SID,该约束路径信息中包括有该TI-LFA FRR 路径上的至少一个指定网络节点的段标识信息和/或链路段标识信息,且所有指定网络节点的总数量不大于3个,所有指定网络节点中不包括所述源节点和该主路径上的目的节点;
第一封装转发模块52,用于在接收到业务报文、且监测到该主路径发生故障时,若该约束路径信息中存在至少一个支持MPLS SR但不支持SRv6的指定网络节点的段标识信息和/或链路段标识信息,则根据该约束路径信息和预设的封装规则,对所述业务报文进行封装,并将封装后的业务报文转发给下一跳网络节点,其中,所述下一跳网络节点为所述源节点基于该TI-LFA FRR 路径对应的备份转发表确定出的。
优选地,所述第一封装转发模块,具体用于:
在所有的指定节点的总数量为1个、且根据该约束路径信息确定出该约束路径信息中包括的指定网络节点支持MPLS SR但不支持SRv6时,为所述业务报文封装第一MPLS标签信息,得到封装后的业务报文,其中,所述第一 MPLS标签信息包括该约束路径信息中包括的指定网络节点的Node SID和/ 或Adj SID。
优选地,所述第一封装转发模块,具体用于:
在所有的指定节点的总数量为2个时,针对该约束路径信息中的第一个指定网络节点和第二个指定网络节点,若根据该约束路径信息确定出该第一个指定网络节点既支持MPLS SR又支持SRv6、且该第二个指定网络节点支持MPLS SR但不支持SRv6,则为所述业务报文封装第一IPv6头、第一SRH头和第二 MPLS标签信息,得到封装后的业务报文,其中,所述第一IPv6头中的源IPv6 地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第一个指定网络节点的End SID和/或End.X SID,所述第一SRH头中的段列表信息包括有该第一个指定网络节点的End SID和/或End.X SID,所述第二MPLS 标签信息包括该约束路径信息中包括的该第二个指定网络节点的Node SID和/ 或Adj SID,所述第二MPLS标签信息位于所述第一SRH头的后面;
若根据该约束路径信息确定出该第一个指定网络节点支持MPLS SR但不支持SRv6、且该第二个指定网络节点既支持MPLS SR又支持SRv6,则为所述业务报文封装第三MPLS标签信息、第二IPv6头和第二SRH头,得到封装后的业务报文,其中,所述第三MPLS标签信息包括该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,所述第二IPv6头中的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该二个指定网络节点的End SID和/或End.X SID,所述第二SRH头中的段列表信息包括有该第二个指定网络节点的End SID和/或End.X SID,所述第三MPLS标签信息位于所述第二SRH头的前面;
若根据该约束路径信息确定出该第一个指定网络节点和该第二个指定网络节点均支持MPLS SR但不支持SRv6,则为所述业务报文封装第四MPLS标签信息,其中,所述第四MPLS标签信息中依次包括有:该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,以及该第二个指定网络节点的Node SID和/或Adj SID。
优选地,所述第一封装转发模块,具体用于:
在所有的指定节点的总数量为3个时,针对该约束路径信息中的第一个指定网络节点、第二个指定网络节点和第三个指定网络节点,若根据该约束路径信息确定出该第一个指定网络节点既支持MPLS SR又支持SRv6、该第二个指定网络节点支持MPLS SR但不支持SRv6、且该第三个指定网络节点既支持 MPLS SR又支持SRv6,则为所述业务报文封装第三IPv6头、第三SRH头、第五MPLS标签信息、第四IPv6头和第四SRH头,得到封装后的业务报文,其中,所述第三IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第一个指定网络节点的End SID和/或End.X SID,所述第三SRH头中的段列表信息包括有该第一个指定网络节点的End SID和/ 或End.X SID,所述第五MPLS标签信息包括该约束路径信息中包括的该第二个指定网络节点的Node SID和/或Adj SID,所述第四IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第三个指定网络节点的End SID和/或End.X SID,所述第四SRH头中的段列表信息包括有该第三个指定网络节点的End SID和/或End.X SID,所述第五MPLS标签信息位于所述第四IPv6头的前面,且位于所述第三SRH头的后面;
若根据该约束路径信息确定出该第一个指定网络节点和该第二个指定网络节点既支持MPLS SR又支持SRv6、且第三个指定网络节点支持MPLS SR但不支持SRv6,则为所述业务报文封装第五IPv6头、第五SRH头和第六MPLS标签信息,得到封装后的业务报文,其中,所述第五IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第一个指定网络节点的End SID和/或End.X SID,所述第五SRH头中依次包括有:该第二个指定网络节点的End SID和/或End.X SID,以及该第一个指定网络节点的EndSID和/或End.X SID,所述第六MPLS标签信息包括该约束路径信息中包括的该第三个指定网络节点的Node SID和/或Adj SID,所述第六MPLS标签信息位于所述第五SRH头的后面;
若根据该约束路径信息确定出该第一个指定网络节点既支持MPLS SR又支持SRv6、且该第二个指定网络节点和该第三个指定网络节点均支持MPLS SR 但不支持SRv6,则为所述业务报文封装第六IPv6头、第六SRH头和第七MPLS 标签信息,得到封装后的业务报文,其中,所述第六IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第一个指定网络节点的End SID和/或End.X SID,所述第六SRH头中的段列表信息包括有该第一个指定网络节点的End SID和/或End.X SID,所述第七MPLS标签信息中依次包括有:该约束路径信息中包括的该第二个指定网络节点的Node SID和 /或Adj SID,以及该第三个指定网络节点的Node SID和/或Adj SID,所述第七 MPLS标签信息位于所述第六SRH头的后面;
若根据该约束路径信息确定出该第一个指定网络节点支持MPLS SR但不支持SRv6、该第二个指定网络节点和该第三个指定网络节点均既支持MPLS SR 又支持SRv6,则为所述业务报文封装第八MPLS标签信息、第七IPv6头和第七SRH头,得到封装后的业务报文,其中,所述第八MPLS标签信息包括该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,所述第七IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第二个指定网络节点的End SID和/或End.X SID,所述第七 SRH头中依次包括有:该约束路径信息中包括的该第三个指定网络节点的EndSID和/或End.X SID,以及该第二个指定网络节点的End SID和/或End.X SID,所述第八MPLS标签信息位于所述第七IPv6头的前面;
若根据该约束路径信息确定出该第一个指定网络节点支持MPLS SR但不支持SRv6、该第二个指定网络节点既支持MPLS SR又支持SRv6、且该第三个指定网络节点支持MPLS SR但不支持SRv6,则为所述业务报文封装第九MPLS 标签信息、第八IPv6头、第八SRH头和第十MPLS标签信息,得到封装后的业务报文,其中,所述第九MPLS标签信息包括该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,所述第八IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第二个指定网络节点的End SID和/或End.X SID,所述第八SRH头中的段列表信息包括有该第二个指定网络节点的End SID和/或End.X SID,所述第十MPLS标签信息包括该约束路径信息中包括的该第三个指定网络节点的Node SID和/或Adj SID,所述第九MPLS标签信息位于所述第八IPv6头的前面,且所述第十MPLS 标签信息位于所述第八SRH头的前面;
若根据该约束路径信息确定出该第一个指定网络节点和该第二个指定网络节点均支持MPLS SR但不支持SRv6、且该第三个指定网络节点既支持MPLS SR 又支持SRv6,则为所述业务报文封装第十一MPLS标签信息、第九IPv6头和第九SRH头,得到封装后的业务报文,其中,所述第十一MPLS标签信息中依次包括有:该约束路径信息中包括的该第一个指定网络节点的Node SID和/或 Adj SID,以及该第二个指定网络节点的Node SID和/或AdjSID,所述第九IPv6 头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第三个指定网络节点的End SID和/或End.X SID所述第九SRH头中的段列表信息包括有该第三个指定网络节点的End SID和/或End.X SID,所述第十一MPLS标签信息位于所述第九IPv6头的前面;
若根据该约束路径信息确定出该第一个指定网络节点、该第二个指定网络节点和该第三个指定网络节点均支持MPLS SR但不支持SRv6,则为所述业务报文封装第十二MPLS标签信息,得到封装后的业务报文,其中,所述第十二 MPLS标签信息中依次包括有:该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,该约束路径信息中包括的该第二个指定网络节点的 Node SID和/或Adj SID,以及该约束路径信息中包括的该第三个指定网络节点的Node SID和/或Adj SID。
优选地,所述装置还包括:
第二封装转发模块(图5中未示出),用于在接收到所述业务报文、且监测到该主路径发生故障时,若该约束路径信息中不存在支持MPLS SR但不支持SRv6的指定网络节点的段标识信息和/或链路段标识信息,则为所述业务报文封装第十IPv6头和第十SRH头,得到封装后的业务报文;
其中,所述第十IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6 地址为该约束路径信息中包括的第一个指定网络节点的End SID和/或End.X SID,所述第十SRH头中包括有该约束路径信息中包括的所有的指定网络节点的End SID和/或End.X SID,所有的指定网络节点的End SID和/或End.X SID 按照该TI-LFA FRR路径上的所有的指定网络节点从远到近的顺序排列。
由以上技术方案可以看出,由以上技术方案可以看出,在本申请实施例中,在SRv6网络中存在个别的网络节点支持MPLS SR但不支持SRv6的情形下,对于任一主路径上的源节点而言,可以基于SRv6网络中的既支持MPLS SR又支持SRv6的网络节点的End SID和End.X SID,以及支持MPLS SR但不支持SRv6的网络节点的Node SID和/或Adj SID,确定出该路径对应的TI-LFA FRR路径,以便于在该主路径发生故障的情形下,源节点可以及时地使用该路径对应的TI-LFA FRR路径对应的约束路径信息转发相关业务报文,不会出现丢包问题,从而提高了网络体验。
本申请实施例还提供了一种电子设备,如图6所示,包括处理器61和机器可读存储介质62,所述机器可读存储介质62存储有能够被所述处理器61 执行的机器可执行指令,所述处理器61被所述机器可执行指令促使:实现上述报文转发方法的步骤。
上述的机器可读存储介质可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array, FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述报文转发方法的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种报文转发方法,其特征在于,所述方法应用于段路由与互联网协议第六版SRv6网络中的任一主路径上的源节点,所述方法包括:
根据获取到的所述SRv6网络中的除所述源节点之外的其他网络节点的段标识信息和链路段标识信息,确定该主路径对应的拓扑无关无环备份快速重路由TI-LFA FRR路径和该TI-LFA FRR路径对应的约束路径信息,其中,在任一其他网络节点既支持多协议标签交换段路由MPLS SR又支持SRv6时,该其他网络节点的段标识信息为该其他网络节点的端点段标识End SID,该其他网络节点的链路段标识信息为该其他网络节点的端点三层交叉连接段标识End.XSID;在任一其他网络节点支持MPLS SR但不支持SRv6时,该其他网络节点的段标识信息为该其他网络节点的节点段标识Node SID,该其他网络节点的链路段标识信息为该其他网络节点的邻接段标识Adj SID,该约束路径信息中包括有该TI-LFA FRR路径上的至少一个指定网络节点的段标识信息和/或链路段标识信息,且所有指定网络节点的总数量不大于3个,所有指定网络节点中不包括所述源节点和该主路径上的目的节点;
在接收到业务报文、且监测到该主路径发生故障时,若该约束路径信息中存在至少一个支持MPLS SR但不支持SRv6的指定网络节点的段标识信息和/或链路段标识信息,则根据该约束路径信息和预设的封装规则,对所述业务报文进行封装,并将封装后的业务报文转发给下一跳网络节点,其中,所述下一跳网络节点为所述源节点基于该TI-LFA FRR路径对应的备份转发表确定出的。
2.根据权利要求1所述的方法,其特征在于,在所有的指定节点的总数量为1个时,根据该约束路径信息和预设的封装规则,对所述业务报文进行封装,具体包括:
在根据该约束路径信息确定出该约束路径信息中包括的指定网络节点支持MPLS SR但不支持SRv6时,为所述业务报文封装第一多协议标签交换MPLS标签信息,得到封装后的业务报文,其中,所述第一MPLS标签信息包括该约束路径信息中包括的指定网络节点的NodeSID和/或Adj SID。
3.根据权利要求1所述的方法,其特征在于,在所有的指定节点的总数量为2个时,根据该约束路径信息和预设的封装规则,对所述业务报文进行封装,具体包括:
针对该约束路径信息中的第一个指定网络节点和第二个指定网络节点,若根据该约束路径信息确定出该第一个指定网络节点既支持MPLS SR又支持SRv6、且该第二个指定网络节点支持MPLS SR但不支持SRv6,则为所述业务报文封装第一互联网协议第6版IPv6头、第一路由扩展头SRH头和第二MPLS标签信息,得到封装后的业务报文,其中,所述第一IPv6头中的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第一个指定网络节点的End SID和/或End.X SID,所述第一SRH头中的段列表信息包括有该第一个指定网络节点的End SID和/或End.X SID,所述第二MPLS标签信息包括该约束路径信息中包括的该第二个指定网络节点的Node SID和/或Adj SID,所述第二MPLS标签信息位于所述第一SRH头的后面;
若根据该约束路径信息确定出该第一个指定网络节点支持MPLS SR但不支持SRv6、且该第二个指定网络节点既支持MPLS SR又支持SRv6,则为所述业务报文封装第三MPLS标签信息、第二IPv6头和第二SRH头,得到封装后的业务报文,其中,所述第三MPLS标签信息包括该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,所述第二IPv6头中的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该二个指定网络节点的End SID和/或End.X SID,所述第二SRH头中的段列表信息包括有该第二个指定网络节点的End SID和/或End.X SID,所述第三MPLS标签信息位于所述第二SRH头的前面;
若根据该约束路径信息确定出该第一个指定网络节点和该第二个指定网络节点均支持MPLS SR但不支持SRv6,则为所述业务报文封装第四MPLS标签信息,其中,所述第四MPLS标签信息中依次包括有:该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,以及该第二个指定网络节点的Node SID和/或Adj SID。
4.根据权利要求1所述的方法,其特征在于,在所有的指定节点的总数量为3个时,根据该约束路径信息和预设的封装规则,对所述业务报文进行封装,具体包括:
针对该约束路径信息中的第一个指定网络节点、第二个指定网络节点和第三个指定网络节点,若根据该约束路径信息确定出该第一个指定网络节点既支持MPLS SR又支持SRv6、该第二个指定网络节点支持MPLS SR但不支持SRv6、且该第三个指定网络节点既支持MPLSSR又支持SRv6,则为所述业务报文封装第三IPv6头、第三SRH头、第五MPLS标签信息、第四IPv6头和第四SRH头,得到封装后的业务报文,其中,所述第三IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第一个指定网络节点的End SID和/或End.X SID,所述第三SRH头中的段列表信息包括有该第一个指定网络节点的End SID和/或End.X SID,所述第五MPLS标签信息包括该约束路径信息中包括的该第二个指定网络节点的Node SID和/或Adj SID,所述第四IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第三个指定网络节点的End SID和/或End.X SID,所述第四SRH头中的段列表信息包括有该第三个指定网络节点的End SID和/或End.XSID,所述第五MPLS标签信息位于所述第四IPv6头的前面,且位于所述第三SRH头的后面;
若根据该约束路径信息确定出该第一个指定网络节点和该第二个指定网络节点既支持MPLS SR又支持SRv6、且第三个指定网络节点支持MPLS SR但不支持SRv6,则为所述业务报文封装第五IPv6头、第五SRH头和第六MPLS标签信息,得到封装后的业务报文,其中,所述第五IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第一个指定网络节点的End SID和/或End.X SID,所述第五SRH头中依次包括有:该第二个指定网络节点的End SID和/或End.X SID,以及该第一个指定网络节点的End SID和/或End.X SID,所述第六MPLS标签信息包括该约束路径信息中包括的该第三个指定网络节点的Node SID和/或Adj SID,所述第六MPLS标签信息位于所述第五SRH头的后面;
若根据该约束路径信息确定出该第一个指定网络节点既支持MPLS SR又支持SRv6、且该第二个指定网络节点和该第三个指定网络节点均支持MPLS SR但不支持SRv6,则为所述业务报文封装第六IPv6头、第六SRH头和第七MPLS标签信息,得到封装后的业务报文,其中,所述第六IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第一个指定网络节点的End SID和/或End.X SID,所述第六SRH头中的段列表信息包括有该第一个指定网络节点的End SID和/或End.X SID,所述第七MPLS标签信息中依次包括有:该约束路径信息中包括的该第二个指定网络节点的Node SID和/或Adj SID,以及该第三个指定网络节点的Node SID和/或Adj SID,所述第七MPLS标签信息位于所述第六SRH头的后面;
若根据该约束路径信息确定出该第一个指定网络节点支持MPLS SR但不支持SRv6、该第二个指定网络节点和该第三个指定网络节点均既支持MPLS SR又支持SRv6,则为所述业务报文封装第八MPLS标签信息、第七IPv6头和第七SRH头,得到封装后的业务报文,其中,所述第八MPLS标签信息包括该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,所述第七IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第二个指定网络节点的End SID和/或End.X SID,所述第七SRH头中依次包括有:该约束路径信息中包括的该第三个指定网络节点的End SID和/或End.X SID,以及该第二个指定网络节点的End SID和/或End.X SID,所述第八MPLS标签信息位于所述第七IPv6头的前面;
若根据该约束路径信息确定出该第一个指定网络节点支持MPLS SR但不支持SRv6、该第二个指定网络节点既支持MPLS SR又支持SRv6、且该第三个指定网络节点支持MPLS SR但不支持SRv6,则为所述业务报文封装第九MPLS标签信息、第八IPv6头、第八SRH头和第十MPLS标签信息,得到封装后的业务报文,其中,所述第九MPLS标签信息包括该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,所述第八IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第二个指定网络节点的End SID和/或End.X SID,所述第八SRH头中的段列表信息包括有该第二个指定网络节点的End SID和/或End.X SID,所述第十MPLS标签信息包括该约束路径信息中包括的该第三个指定网络节点的Node SID和/或Adj SID,所述第九MPLS标签信息位于所述第八IPv6头的前面,且所述第十MPLS标签信息位于所述第八SRH头的前面;
若根据该约束路径信息确定出该第一个指定网络节点和该第二个指定网络节点均支持MPLS SR但不支持SRv6、且该第三个指定网络节点既支持MPLS SR又支持SRv6,则为所述业务报文封装第十一MPLS标签信息、第九IPv6头和第九SRH头,得到封装后的业务报文,其中,所述第十一MPLS标签信息中依次包括有:该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,以及该第二个指定网络节点的Node SID和/或Adj SID,所述第九IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第三个指定网络节点的End SID和/或End.X SID所述第九SRH头中的段列表信息包括有该第三个指定网络节点的End SID和/或End.X SID,所述第十一MPLS标签信息位于所述第九IPv6头的前面;
若根据该约束路径信息确定出该第一个指定网络节点、该第二个指定网络节点和该第三个指定网络节点均支持MPLS SR但不支持SRv6,则为所述业务报文封装第十二MPLS标签信息,得到封装后的业务报文,其中,所述第十二MPLS标签信息中依次包括有:该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,该约束路径信息中包括的该第二个指定网络节点的Node SID和/或Adj SID,以及该约束路径信息中包括的该第三个指定网络节点的Node SID和/或Adj SID。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到所述业务报文、且监测到该主路径发生故障时,若该约束路径信息中不存在支持MPLS SR但不支持SRv6的指定网络节点的段标识信息和/或链路段标识信息,则为所述业务报文封装第十IPv6头和第十SRH头,得到封装后的业务报文;
其中,所述第十IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的第一个指定网络节点的End SID和/或End.XSID,所述第十SRH头中包括有该约束路径信息中包括的所有的指定网络节点的End SID和/或End.X SID,所有的指定网络节点的End SID和/或End.X SID按照该TI-LFA FRR路径上的所有的指定网络节点从远到近的顺序排列。
6.一种报文转发装置,其特征在于,所述装置应用于段路由与互联网协议第六版SRv6网络中的任一主路径上的源节点,所述装置包括:
确定模块,用于根据获取到的所述SRv6网络中的除所述源节点之外的其他网络节点的段标识信息和链路段标识信息,确定该主路径对应的拓扑无关无环备份快速重路由TI-LFAFRR路径和该TI-LFA FRR路径对应的约束路径信息,其中,在任一其他网络节点既支持多协议标签交换段路由MPLS SR又支持SRv6时,该其他网络节点的段标识信息为该其他网络节点的目的段标识End SID,该其他网络节点的链路段标识信息为该其他网络节点的端点三层交叉连接段标识End.X SID;在任一其他网络节点支持MPLS SR但不支持SRv6时,该其他网络节点的段标识信息为该其他网络节点的节点段标识Node SID,该其他网络节点的链路段标识信息为该其他网络节点的邻接段标识Adj SID,该约束路径信息中包括有该TI-LFAFRR路径上的至少一个指定网络节点的段标识信息和/或链路段标识信息,且所有指定网络节点的总数量不大于3个,所有指定网络节点中不包括所述源节点和该主路径上的目的节点;
第一封装转发模块,用于在接收到业务报文、且监测到该主路径发生故障时,若该约束路径信息中存在至少一个支持MPLS SR但不支持SRv6的指定网络节点的段标识信息和/或链路段标识信息,则根据该约束路径信息和预设的封装规则,对所述业务报文进行封装,并将封装后的业务报文转发给下一跳网络节点,其中,所述下一跳网络节点为所述源节点基于该TI-LFA FRR路径对应的备份转发表确定出的。
7.根据权利要求6所述的装置,其特征在于,所述第一封装转发模块,具体用于:
在所有的指定节点的总数量为1个、且根据该约束路径信息确定出该约束路径信息中包括的指定网络节点支持MPLS SR但不支持SRv6时,为所述业务报文封装第一多协议标签交换MPLS标签信息,得到封装后的业务报文,其中,所述第一MPLS标签信息包括该约束路径信息中包括的指定网络节点的Node SID和/或Adj SID。
8.根据权利要求6所述的装置,其特征在于,所述第一封装转发模块,具体用于:
在所有的指定节点的总数量为2个时,针对该约束路径信息中的第一个指定网络节点和第二个指定网络节点,若根据该约束路径信息确定出该第一个指定网络节点既支持MPLSSR又支持SRv6、且该第二个指定网络节点支持MPLS SR但不支持SRv6,则为所述业务报文封装第一互联网协议第6版IPv6头、第一路由扩展头SRH头和第二MPLS标签信息,得到封装后的业务报文,其中,所述第一IPv6头中的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第一个指定网络节点的End SID和/或End.X SID,所述第一SRH头中的段列表信息包括有该第一个指定网络节点的End SID和/或End.X SID,所述第二MPLS标签信息包括该约束路径信息中包括的该第二个指定网络节点的Node SID和/或Adj SID,所述第二MPLS标签信息位于所述第一SRH头的后面;
若根据该约束路径信息确定出该第一个指定网络节点支持MPLS SR但不支持SRv6、且该第二个指定网络节点既支持MPLS SR又支持SRv6,则为所述业务报文封装第三MPLS标签信息、第二IPv6头和第二SRH头,得到封装后的业务报文,其中,所述第三MPLS标签信息包括该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,所述第二IPv6头中的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该二个指定网络节点的End SID和/或End.X SID,所述第二SRH头中的段列表信息包括有该第二个指定网络节点的End SID和/或End.X SID,所述第三MPLS标签信息位于所述第二SRH头的前面;
若根据该约束路径信息确定出该第一个指定网络节点和该第二个指定网络节点均支持MPLS SR但不支持SRv6,则为所述业务报文封装第四MPLS标签信息,其中,所述第四MPLS标签信息中依次包括有:该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,以及该第二个指定网络节点的Node SID和/或Adj SID。
9.根据权利要求6所述的装置,其特征在于,所述第一封装转发模块,具体用于:
在所有的指定节点的总数量为3个时,针对该约束路径信息中的第一个指定网络节点、第二个指定网络节点和第三个指定网络节点,若根据该约束路径信息确定出该第一个指定网络节点既支持MPLS SR又支持SRv6、该第二个指定网络节点支持MPLS SR但不支持SRv6、且该第三个指定网络节点既支持MPLS SR又支持SRv6,则为所述业务报文封装第三IPv6头、第三SRH头、第五MPLS标签信息、第四IPv6头和第四SRH头,得到封装后的业务报文,其中,所述第三IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第一个指定网络节点的End SID和/或End.X SID,所述第三SRH头中的段列表信息包括有该第一个指定网络节点的End SID和/或End.X SID,所述第五MPLS标签信息包括该约束路径信息中包括的该第二个指定网络节点的Node SID和/或Adj SID,所述第四IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第三个指定网络节点的End SID和/或End.X SID,所述第四SRH头中的段列表信息包括有该第三个指定网络节点的End SID和/或End.X SID,所述第五MPLS标签信息位于所述第四IPv6头的前面,且位于所述第三SRH头的后面;
若根据该约束路径信息确定出该第一个指定网络节点和该第二个指定网络节点既支持MPLS SR又支持SRv6、且第三个指定网络节点支持MPLS SR但不支持SRv6,则为所述业务报文封装第五IPv6头、第五SRH头和第六MPLS标签信息,得到封装后的业务报文,其中,所述第五IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第一个指定网络节点的End SID和/或End.X SID,所述第五SRH头中依次包括有:该第二个指定网络节点的End SID和/或End.X SID,以及该第一个指定网络节点的End SID和/或End.X SID,所述第六MPLS标签信息包括该约束路径信息中包括的该第三个指定网络节点的Node SID和/或Adj SID,所述第六MPLS标签信息位于所述第五SRH头的后面;
若根据该约束路径信息确定出该第一个指定网络节点既支持MPLS SR又支持SRv6、且该第二个指定网络节点和该第三个指定网络节点均支持MPLS SR但不支持SRv6,则为所述业务报文封装第六IPv6头、第六SRH头和第七MPLS标签信息,得到封装后的业务报文,其中,所述第六IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第一个指定网络节点的End SID和/或End.X SID,所述第六SRH头中的段列表信息包括有该第一个指定网络节点的End SID和/或End.X SID,所述第七MPLS标签信息中依次包括有:该约束路径信息中包括的该第二个指定网络节点的Node SID和/或Adj SID,以及该第三个指定网络节点的Node SID和/或Adj SID,所述第七MPLS标签信息位于所述第六SRH头的后面;
若根据该约束路径信息确定出该第一个指定网络节点支持MPLS SR但不支持SRv6、该第二个指定网络节点和该第三个指定网络节点均既支持MPLS SR又支持SRv6,则为所述业务报文封装第八MPLS标签信息、第七IPv6头和第七SRH头,得到封装后的业务报文,其中,所述第八MPLS标签信息包括该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,所述第七IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第二个指定网络节点的End SID和/或End.X SID,所述第七SRH头中依次包括有:该约束路径信息中包括的该第三个指定网络节点的End SID和/或End.X SID,以及该第二个指定网络节点的End SID和/或End.X SID,所述第八MPLS标签信息位于所述第七IPv6头的前面;
若根据该约束路径信息确定出该第一个指定网络节点支持MPLS SR但不支持SRv6、该第二个指定网络节点既支持MPLS SR又支持SRv6、且该第三个指定网络节点支持MPLS SR但不支持SRv6,则为所述业务报文封装第九MPLS标签信息、第八IPv6头、第八SRH头和第十MPLS标签信息,得到封装后的业务报文,其中,所述第九MPLS标签信息包括该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,所述第八IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第二个指定网络节点的End SID和/或End.X SID,所述第八SRH头中的段列表信息包括有该第二个指定网络节点的End SID和/或End.X SID,所述第十MPLS标签信息包括该约束路径信息中包括的该第三个指定网络节点的Node SID和/或Adj SID,所述第九MPLS标签信息位于所述第八IPv6头的前面,且所述第十MPLS标签信息位于所述第八SRH头的前面;
若根据该约束路径信息确定出该第一个指定网络节点和该第二个指定网络节点均支持MPLS SR但不支持SRv6、且该第三个指定网络节点既支持MPLS SR又支持SRv6,则为所述业务报文封装第十一MPLS标签信息、第九IPv6头和第九SRH头,得到封装后的业务报文,其中,所述第十一MPLS标签信息中依次包括有:该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,以及该第二个指定网络节点的Node SID和/或Adj SID,所述第九IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的该第三个指定网络节点的End SID和/或End.X SID所述第九SRH头中的段列表信息包括有该第三个指定网络节点的End SID和/或End.X SID,所述第十一MPLS标签信息位于所述第九IPv6头的前面;
若根据该约束路径信息确定出该第一个指定网络节点、该第二个指定网络节点和该第三个指定网络节点均支持MPLS SR但不支持SRv6,则为所述业务报文封装第十二MPLS标签信息,得到封装后的业务报文,其中,所述第十二MPLS标签信息中依次包括有:该约束路径信息中包括的该第一个指定网络节点的Node SID和/或Adj SID,该约束路径信息中包括的该第二个指定网络节点的Node SID和/或Adj SID,以及该约束路径信息中包括的该第三个指定网络节点的Node SID和/或Adj SID。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二封装转发模块,用于在接收到所述业务报文、且监测到该主路径发生故障时,若该约束路径信息中不存在支持MPLS SR但不支持SRv6的指定网络节点的段标识信息和/或链路段标识信息,则为所述业务报文封装第十IPv6头和第十SRH头,得到封装后的业务报文;
其中,所述第十IPv6头的源IPv6地址为所述源节点的IPv6地址,目的IPv6地址为该约束路径信息中包括的第一个指定网络节点的End SID和/或End.XSID,所述第十SRH头中包括有该约束路径信息中包括的所有的指定网络节点的End SID和/或End.X SID,所有的指定网络节点的End SID和/或End.X SID按照该TI-LFA FRR路径上的所有的指定网络节点从远到近的顺序排列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210604521.2A CN115037675B (zh) | 2022-05-31 | 2022-05-31 | 一种报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210604521.2A CN115037675B (zh) | 2022-05-31 | 2022-05-31 | 一种报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115037675A CN115037675A (zh) | 2022-09-09 |
CN115037675B true CN115037675B (zh) | 2024-09-06 |
Family
ID=83122169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210604521.2A Active CN115037675B (zh) | 2022-05-31 | 2022-05-31 | 一种报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115037675B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118251871A (zh) * | 2022-10-24 | 2024-06-25 | 新华三技术有限公司 | 一种节点保护方法、装置、电子设备及介质 |
CN118214705B (zh) * | 2024-05-22 | 2024-08-23 | 南京大学 | 一种基于源路由的存储转发方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110120914A (zh) * | 2019-05-13 | 2019-08-13 | 何梓菁 | 一种基于sr-te隧道的节点保护方法和本地修复节点 |
CN113381933A (zh) * | 2021-06-04 | 2021-09-10 | 烽火通信科技股份有限公司 | SRv6网络中双向转发检测的方法与系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8462621B2 (en) * | 2009-07-27 | 2013-06-11 | At&T Intellectual Property I, L.P. | Systems and methods of multicast reconfiguration using cross-layer information |
US10063463B2 (en) * | 2014-12-16 | 2018-08-28 | Cisco Technology, Inc. | Node protection for segment routing adjacency segments |
CN113691445B (zh) * | 2020-05-18 | 2022-12-02 | 华为技术有限公司 | 报文转发备份路径确定方法及相关设备 |
CN113472658B (zh) * | 2021-06-29 | 2022-11-18 | 新华三信息安全技术有限公司 | 一种报文封装方法、报文转发方法及装置 |
-
2022
- 2022-05-31 CN CN202210604521.2A patent/CN115037675B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110120914A (zh) * | 2019-05-13 | 2019-08-13 | 何梓菁 | 一种基于sr-te隧道的节点保护方法和本地修复节点 |
CN113381933A (zh) * | 2021-06-04 | 2021-09-10 | 烽火通信科技股份有限公司 | SRv6网络中双向转发检测的方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115037675A (zh) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11979322B2 (en) | Method and apparatus for providing service for traffic flow | |
US11374848B2 (en) | Explicit routing with network function encoding | |
CN109873760B (zh) | 处理路由的方法和装置、以及数据传输的方法和装置 | |
US11218408B2 (en) | Packet processing method, device, and system | |
US7599303B2 (en) | System and methods for sending trace messages | |
CN101573913B (zh) | 用于多播路由选择的方法和设备 | |
WO2016165492A1 (zh) | 一种实现业务功能链的方法和装置 | |
US20080101241A1 (en) | Ethernet OAM at intermediate nodes in a PBT network | |
CN112054959A (zh) | 一种bier报文的发送方法和装置 | |
CN115037675B (zh) | 一种报文转发方法及装置 | |
CN108667709B (zh) | 一种报文转发方法及装置 | |
US10110487B1 (en) | Signaling priority information for encapsulated packets | |
CN113056891B (zh) | 源路由隧道入节点保护 | |
CN112019433A (zh) | 一种报文转发方法和装置 | |
CN113950811B (zh) | 扩展bgp保护以用于sr路径入口保护 | |
US20240235986A1 (en) | Loop detection method and apparatus | |
US20230216780A1 (en) | Method and apparatus for failure detection and pe device | |
US20240171510A1 (en) | Packet transmission method and related device | |
CN114978985B (zh) | 一种报文处理方法、装置、电子设备及存储介质 | |
EP4425840A1 (en) | Node protection method and apparatus, electrical device, and medium | |
CN111726287B (zh) | 一种环网的保护方法和装置 | |
CN118573619A (zh) | 通信方法及装置 | |
WO2023078144A1 (zh) | 报文处理方法、装置及系统 | |
WO2024000139A1 (zh) | 报文转发 | |
CN115484204A (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 |