CN113472653B - 路径一致性的检测方法及装置 - Google Patents
路径一致性的检测方法及装置 Download PDFInfo
- Publication number
- CN113472653B CN113472653B CN202110569222.5A CN202110569222A CN113472653B CN 113472653 B CN113472653 B CN 113472653B CN 202110569222 A CN202110569222 A CN 202110569222A CN 113472653 B CN113472653 B CN 113472653B
- Authority
- CN
- China
- Prior art keywords
- node
- address
- sid
- message
- bfd
- 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 72
- 230000004044 response Effects 0.000 claims description 9
- 230000037361 pathway Effects 0.000 claims 2
- 238000001514 detection method Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 20
- 230000006855 networking Effects 0.000 description 18
- 238000007906 compression Methods 0.000 description 12
- 238000005538 encapsulation Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000006835 compression Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 238000003556 assay Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/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/70—Routing based on monitoring results
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提供一种路径一致性的检测方法及装置,该方法包括:向第三节点发送去程BFD报文,该去程BFD报文包括第一节点的本地SID地址以及第一SID列表;接收第三节点转发的第二节点发送的回程BFD报文,该回程BFD报文包括内层目的地址以及第二SID列表,内层目的地址为第一节点的本地SID地址;根据内层目的地址以及第二SID列表,确定去程BFD报文途经的转发路径与回程BFD报文途经的转发路径一致。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种路径一致性的检测方法及装置。
背景技术
段路由(英文:Segment Routing,简称:SR)采用源节点路径选择机制,预先在源节点封装路径所要经过段的段标识(英文:Segment Identifier,简称:SID),当业务报文经过SR节点时,该节点根据SID对业务报文进行转发。IPv6段路由(英文:IPv6 SegmentRouting,简称:SRv6)是指在IPv6网络中使用SR机制,将IPv6地址作为SID对业务报文进行转发。
在SRv6中,源节点接收控制器根据算路约束计算出的SRv6转发路径信息。源节点在对业务报文进行转发时,在业务报文的外层封装SRv6扩展头,SRv6扩展头包括IPv6头部以及IPv6 SR头部(英文:Segment Routing Header,简称:SRH头部)。其中,SRH头部内封装SID列表,该SID列表存储转发路径所要经过的每个SR节点的SID。如此,SRv6扩展头的封装长度为:40bit(IPv6基本头部)+8bit(SRH固定头部)+16*Nbit(SID列表)。随着SID数量的增加,SRv6扩展头的开销也逐渐增大。
为了解决上述问题,可通过支持SRv6和压缩SRv6等多种网络混合编程的广义SRv6(英文:Generalized SRv6,简称:G-SRv6)方案对SRv6扩展头进行优化。
G-SRv6定义32bit的压缩G-SID格式,该G-SID由128bit SID中的节点标识(NodeID)和功能标识(Function ID)组成。如图1所示,图1为支持压缩的SRv6 SID格式示意图。
其中,128bit的SID格式称为完整SID,其定义沿用SRv6 SID;32bit的SID格式称为广义段标识(英文:Generalized Segment Identifier,简称:G-SID),其是完整SID的变化部分。完整SID与通用SID的转换关系如下公式:
完整SID=B(Block,即公用前缀(Common Prefix))字段+N(节点标识)字段+F(功能标识)字段+A(Args)字段+Padding字段,其中,A字段、Padding字段为可选字段;G-SID=N字段+F字段。
当128bit SRv6 SID与32bit G-SID在广义SRH(英文:Generalized SegmentRouting Header,简称:G-SRH)头部中混编时,其编码示例如图2所示,图2为G-SRH SID列表示意图。其中,压缩路径1的SID列表中包括128bit可压缩SRv6 SID与多个32bit G-SID的混编状态。
在实际应用中,可将G-SRv6应用在段路由流量工程策略(英文:Segment RoutingTraffic Engineering Policy,简称:SRv6 TE Policy)无缝双向转发检测(英文:SeamlessBidirectional Forwarding Detection,简称:SBFD)场景下,以实现SBFD报文顺利到达检测设备。如图3所示,图3为SRv6 TE-Policy SBFD检测过程示意图。
在图3中,N0节点为源节点(也可称之为Initiator),N4节点为目的节点(也可称之为Reflector),N1节点-N3节点为中间转发节点。当N0节点需检测自身与N4节点之间SRv6TE-Policy的可达性时,N0节点生成并发送包括G-SRH头部的去程SBFD报文,同时,将SRv6TE-Policy包括的Endpoint的地址(该Endpoint的地址为N4节点的地址)存储至G-SRH头部的G-SID[0]处。中间转发节点依据现有G-SRv6的转发原则对去程SBFD报文进行转发。
去程SBFD报文到达N4节点后,N4节点获取G-SRH头部中G-SID[0]处存储的Endpoint。N4节点确定该Endpoint为本机地址,则N4接收去程SBFD报文,N4生成并发送回程SBFD报文。
在现有实现中,N4节点生成的回程SBFD报文未包括G-SRH头部,回程SBFD报文包括的IPv6头部中的目的地址为去程SBFD报文中IPv6头部中的源地址,即N0节点的IPv6地址。回程SBFD报文包括的IPv6头部中的源地址为前述G-SRH头部中G-SID[0]处存储的Endpoint,即N4节点的IPv6地址。
若中间路径、中间转发节点或者目的节点异常,则N0节点无法接收到回程SBFD报文,则N0节点确定当前存在异常,并进行异常处理。
在现有SRv6 TE-policy SBFD检测过程中,当N0节点与N4节点之间存在多条路径时,现有实现无法保证N4节点发送的回程SBFD所经过的回程路径与N0节点发送的去程SBFD所经过的去程路径一致。
发明内容
有鉴于此,本申请提供了一种路径一致性的检测方法及装置,用以解决节点之间存在多条路径时,无法保证回程SBFD所经过的回程路径与去程SBFD所经过的去程路径一致的问题。
第一方面,本申请提供了一种路径一致性的检测方法,所述方法应用于第一节点,所述第一节点内已配置所述第一节点与第二节点之间的第一SRv6TE-Policy,所述第一SRv6 TE-Policy包括用于指示所述第一节点与所述第二节点之间转发路径的第一SID列表,所述方法包括:
向第三节点发送去程BFD报文,所述去程BFD报文包括所述第一节点的本地SID地址以及所述第一SID列表,以使得所述第三节点根据所述第一SID列表向所述第二节点转发所述去程BFD报文;
接收所述第三节点转发的所述第二节点发送的回程BFD报文,所述回程BFD报文包括内层目的地址以及第二SID列表,所述内层目的地址为所述第一节点的本地SID地址,所述第二节点内已配置所述第二节点与第一节点之间的第二SRv6TE-Policy,所述第二SRv6TE-Policy包括用于指示所述第二节点与第一节点之间转发路径的第二SID列表;
根据所述内层目的地址以及所述第二SID列表,确定所述去程BFD报文途经的转发路径与所述回程BFD报文途经的转发路径一致。
第二方面,本申请提供了一种路径一致性的检测方法,所述方法应用于第一节点,所述第一节点内已配置所述第一节点与第二节点之间的第一SRv6TE-Policy,所述第一SRv6 TE-Policy包括用于指示所述第一节点与所述第二节点之间转发路径的第一SID列表,所述方法包括:
接收第三节点发送的去程BFD报文,所述去程BFD报文包括所述第二节点的本地SID地址以及第二SID列表,所述第二节点内已配置所述第二节点与第一节点之间的第二SRv6 TE-Policy,所述第二SRv6 TE-Policy包括用于指示所述第二节点与第一节点之间转发路径的第二SID列表;
根据所述第二节点的本地SID,获取与所述第二节点的本地SID匹配的第一路由表项,所述第一路由表项包括目的地址以及出接口,所述目的地址为所述第二节点的本地SID地址,所述出接口为所述第一SID列表;
向所述第三节点发送回程BFD报文,所述回程BFD报文包括内层目的地址以及所述第一SID列表,所述内层目的地址为所述第二节点的本地SID地址,以使得所述第三节点向所述第二节点转发所述回程BFD报文,所述第二节点根据所述内层目的地址以及所述第一SID列表,确定所述去程BFD报文途经的转发路径与所述回程BFD报文途经的转发路径一致。
第三方面,本申请提供了一种路径一致性的检测装置,所述装置应用于第一节点,所述第一节点内已配置所述第一节点与第二节点之间的第一SRv6TE-Policy,所述第一SRv6 TE-Policy包括用于指示所述第一节点与所述第二节点之间转发路径的第一SID列表,所述装置包括:
发送单元,用于向第三节点发送去程BFD报文,所述去程BFD报文包括所述第一节点的本地SID地址以及所述第一SID列表,以使得所述第三节点根据所述第一SID列表向所述第二节点转发所述去程BFD报文;
接收单元,用于接收所述第三节点转发的所述第二节点发送的回程BFD报文,所述回程BFD报文包括内层目的地址以及第二SID列表,所述内层目的地址为所述第一节点的本地SID地址,所述第二节点内已配置所述第二节点与第一节点之间的第二SRv6 TE-Policy,所述第二SRv6 TE-Policy包括用于指示所述第二节点与第一节点之间转发路径的第二SID列表;
确定单元,用于根据所述内层目的地址以及所述第二SID列表,确定所述去程BFD报文途经的转发路径与所述回程BFD报文途经的转发路径一致。
第四方面,本申请提供了一种路径一致性的检测装置,所述方法应用于第一节点,所述第一节点内已配置所述第一节点与第二节点之间的第一SRv6TE-Policy,所述第一SRv6 TE-Policy包括用于指示所述第一节点与所述第二节点之间转发路径的第一SID列表,所述装置包括:
接收单元,用于接收第三节点发送的去程BFD报文,所述去程BFD报文包括所述第二节点的本地SID地址以及第二SID列表,所述第二节点内已配置所述第二节点与第一节点之间的第二SRv6 TE-Policy,所述第二SRv6 TE-Policy包括用于指示所述第二节点与第一节点之间转发路径的第二SID列表;
获取单元,用于根据所述第二节点的本地SID,获取与所述第二节点的本地SID匹配的第一路由表项,所述第一路由表项包括目的地址以及出接口,所述目的地址为所述第二节点的本地SID地址,所述出接口为所述第一SID列表;
发送单元,用于向所述第三节点发送回程BFD报文,所述回程BFD报文包括内层目的地址以及所述第一SID列表,所述内层目的地址为所述第二节点的本地SID地址,以使得所述第三节点向所述第二节点转发所述回程BFD报文,所述第二节点根据所述内层目的地址以及所述第一SID列表,确定所述去程BFD报文途经的转发路径与所述回程BFD报文途经的转发路径一致。
第五方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第一方面所提供的方法。
第六方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第二方面所提供的方法。
因此,通过应用本申请提供的路径一致性的检测方法及装置,第一节点向第三节点发送去程BFD报文,该去程BFD报文包括第一节点的本地SID地址以及第一SID列表,以使得第三节点根据第一SID列表向第二节点转发去程BFD报文;第一节点接收第三节点转发的第二节点发送的回程BFD报文,该回程BFD报文包括内层目的地址以及第二SID列表,内层目的地址为第一节点的本地SID地址,第二节点内已配置第二节点与第一节点之间的第二SRv6 TE-Policy,第二SRv6 TE-Policy包括用于指示第二节点与第一节点之间转发路径的第二SID列表;根据内层目的地址以及第二SID列表,确定去程BFD报文途经的转发路径与回程BFD报文途经的转发路径一致。
如此,通过在回程BFD报文中封装IPv6头部以及SRH头部,解决了节点之间存在多条路径时,无法保证回程SBFD所经过的回程路径与去程SBFD所经过的去程路径一致的问题。
附图说明
图1为支持压缩的SRv6 SID格式示意图;
图2为G-SRH SID列表示意图;
图3为SRv6 TE-policy SBFD检测过程示意图;
图4为本申请实施例提供的一种路径一致性的检测方法的流程图;
图5为本申请实施例提供的另一种路径一致性的检测方法的流程图;
图6为本申请实施例提供的一种路径一致性的检测组网示意图;
图7为本申请实施例提供的另一种路径一致性的检测组网示意图;
图8为本申请实施例提供的一种路径一致性的检测装置结构图;
图9为本申请实施例提供的另一种路径一致性的检测装置结构图;
图10为本申请实施例提供的网络设备硬件结构体。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本申请实施例提供的路径一致性的检测方法进行详细地说明。参见图4,图4为本申请实施例提供的一种路径一致性的检测方法的流程图。该方法应用于第一节点,本申请实施例提供的路径一致性的检测方法可包括如下所示步骤。
步骤410、向第三节点发送去程BFD报文,所述去程BFD报文包括所述第一节点的本地SID地址以及所述第一SID列表,以使得所述第三节点根据所述第一SID列表向所述第二节点转发所述去程BFD报文。
具体地,第一节点、第二节点以及第三节点均处于SRv6 TE-Policy BFD组网内或处于SRv6 TE-Policy SBFD组网内,上述组网内的各个节点均配置G-SRv6。
第一节点可具体源节点(也可称之为Initiator),第二节点可具体为目的节点(也可称之为Reflector),第三节点可具体为中间转发节点。第三节点的数量可根据实际路径组成确定。
第一节点内已配置自身与第二节点之间的第一SRv6 TE-Policy,该第一SRv6TE-Policy包括用于指示第一节点与第二节点之间转发路径的第一SID列表。
可以理解的是,第一SRv6 TE-Policy还包括BSID、Color、End-point以及候选路径。其中,BSID表示入节点的SID、Color用于在相同的源节点、目的节点之间区分多个SRv6TE-Policy、End-point为SRv6 TE-Policy目的节点的IPv6地址。候选路径中存储第一SID列表。
当第一节点需检测自身与第二节点之间SRv6 TE-Policy的可达性时,第一节点生成去程双向转发检测(英文:Bidirectional Forwarding Detection,简称:BFD)报文,该去程BFD报文包括第一节点的本地SID地址(或称为Local-address,该Local-address为SID地址,本地SID地址可由第一节点自主分配或者可由控制器分配)以及第一SID列表。
其中,可根据具体的BFD报文类型,将第一节点的本地SID地址存储在外层源地址处,或者内层源地址处以及内层目的地址处。
第一节点根据第一SID列表,向自身的下一跳,即第三节点发送去程BFD报文,以使得第三节点根据第一SID列表向第二节点转发去程BFD报文。
可以理解的是,第三节点接收到去程BFD报文后,可按现有SRv6协议对去程BFD报文进行转发处理,包括但不限于,更新IPv6头部包括的目的地址、G-SRH头部包括的SL等过程。
在本申请实施例中,去程BFD报文可具体为SBFD报文,或者,BFD echo报文。在后续实施例中,结合具体的组网图对去程BFD报文的封装格式进行详细说明,在此仅简单说明。
去程BFD报文还包括内层报文,该内层报文具体为BFD报文。
其中,当去程BFD报文为SBFD报文时,该去程BFD报文包括IPv6头部、G-SRH头部以及内层报文。
该IPv6头部包括外层源地址以及外层目的地址,外层源地址为第一节点的本地SID地址,外层目的地址为第一节点的下一跳节点的SID,即第三节点的SID;G-SRH头部包括第一SID列表。
该内层报文包括UDP头部以及负载,负载为SBFD报文。
当去程BFD报文为BFD回声(echo)报文时,该去程BFD报文包括IPv6头部、G-SRH头部以及内层报文。
该IPv6头部包括外层源地址以及外层目的地址,外层源地址为第一节点的本地SID地址,外层目的地址为第一节点的下一跳节点的SID,即第三节点的SID;G-SRH头部包括第一SID列表。
该内层报文包括内层源地址、内层目的地址、UDP头部以及负载,内层源地址以及内层目的地址均为第一节点的本地SID地址;负载为BFD报文。
步骤420、接收所述第三节点转发的所述第二节点发送的回程BFD报文,所述回程BFD报文包括内层目的地址以及第二SID列表,所述内层目的地址为所述第一节点的本地SID地址,所述第二节点内已配置所述第二节点与第一节点之间的第二SRv6 TE-Policy,所述第二SRv6 TE-Policy包括用于指示所述第二节点与第一节点之间转发路径的第二SID列表。
具体地,根据步骤420的描述,第二节点接收到第三节点发送的去程BFD报文后,从去程BFD报文中获取外层源地址、外层目的地址以及第一SID列表。第二节点确定外层源地址为第一节点的本地SID地址,外层目的地址为自身的IPv6地址,且根据第一SID列表,确定自身为转发路径中的最后一跳。
第二节点对去程BFD报文进行解封装处理,获取内层报文。当内层报文为SBFD报文时,第二节点根据外层源地址,从本地获取与该外层源地址匹配的第一路由表项。
当内层报文还包括内层源地址、内层目的地址时,第二节点获取内层源地址以及内层目的地址,并确定内层源地址以及内层目的地址均为第一节点的本地SID地址,UDP头部表示该去程BFD报文为BFD echo报文。第二节点根据内层目的地址,从本地获取与该内层目的地址匹配的第一路由表项。
前述第一路由表项用于表示第二节点到达第一节点的转发路径。该第一路由表项包括目的地址以及出接口,其中,目的地址为第一节点的本地SID地址,出接口为第二SID列表。
在本申请实施例中,第二节点内已配置自身与第一节点之间的第二SRv6TE-Policy,该第二SRv6 TE-Policy包括用于指示第二节点与第一节点之间转发路径的第二SID列表。
第二节点对负载进行BFD处理后,生成回程BFD报文,该回程BFD报文包括外层头部以及内层报文。其中,外层头部具体为IPv6头部以及G-SRH头部。上述两个头部的封装过程可参考现有SRv6协议,在此不再复述。第二SID列表存储在G-SRH头部。内层报文具体为BFD报文,内层报文包括内层报文头部以及负载,内层报文头部包括内层目的地址,内层目的地址为第一节点的本地SID地址,即第一节点的Local-address。
第二节点向第三节点发送回程BFD报文,第三节点接收到回程BFD报文后,可按现有SRv6协议对回程BFD报文进行转发处理,包括但不限于,更新IPv6头部包括的目的地址、G-SRH头部包括的SL等过程。
第三节点向第一节点发送回程BFD报文。
在本申请实施例中,回程BFD报文可具体为SBFD报文,或者,BFD echo报文。在后续实施例中,结合具体的组网图对回程BFD报文的封装格式进行详细说明,在此仅简单说明。
其中,当回程BFD报文为SBFD报文时,该回程BFD报文包括IPv6头部、G-SRH头部以及内层报文。
该IPv6头部包括外层源地址以及外层目的地址,外层源地址为第二节点的IPv6地址,外层目的地址为第二节点的下一跳节点的SID,即第三节点的SID;G-SRH头部包括第二SID列表。
内层报文包括内层源地址、内层目的地址、UDP头部以及负载,内层源地址为第二节点的IPv6地址,内层目的地址为第一节点的本地SID地址;负载为SBFD报文。
当回程BFD报文为BFD echo报文时,该回程BFD报文包括IPv6头部、G-SRH头部以及内层报文。
该IPv6头部包括外层源地址以及外层目的地址,外层源地址为第二节点的IPv6地址,外层目的地址为第二节点的下一跳节点的SID,即第三节点的SID;G-SRH头部包括第二SID列表。
内层报文包括内层源地址、内层目的地址、UDP头部以及负载,内层源地址以及内层目的地址均为第一节点的本地SID地址;负载为BFD报文。
需要说明的是,在本申请实施例中,第一节点到达第二节点之间的转发路径(记为第一转发路径)与第二节点到达第一节点之间的转发路径(记为第二转发路径)被标记为不同的转发路径。但是,第一转发路径与第二转发路径途径相同的节点,也即是第一转发路径为正向路径,第二转发路径为第一转发路径的逆向路径。
例如,N0节点、N1节点、N2节点、N3节点、N4节点构成第一转发路径。其中,N0节点为源节点、N4节点为目的节点。N4节点、N3节点、N2节点、N1节点、N0节点构成第二转发路径。其中,N4节点为源节点、N0节点为目的节点。
由于第一节点与第二节点之间的转发路径为两条,各个节点针对不同的转发路径分配不同的SID,因此,在本申请实施例中,第一SID列表、第二SID列表中存储的表示各个节点的SID是不同的。例如,N0节点在第一转发路径中的SID表示为1,而N0节点在第二转发路径中的SID表示为6。
同理,其他节点依次类推,在后续实施例中,结合具体的组网图对每个节点的SID、第一SID列表、第二SID列表进行详细说明,在此仅简单说明。
步骤430、根据所述内层目的地址以及所述第二SID列表,确定所述去程BFD报文途经的转发路径与所述回程BFD报文途经的转发路径一致。
具体地,根据步骤420的描述,第一节点接收到回程BFD报文后,从回程BFD报文中获取外层源地址、外层目的地址以及第二SID列表。
第一节点确定外层源地址为第二节点的IPv6地址,外层目的地址为自身的IPv6地址,且根据第二SID列表,确定自身为转发路径中的最后一跳。
第一节点对回程BFD报文进行解封装处理,得到内层报文,根据内层目的地址确定为自身的本地SID地址。第一节点获取UDP头部以及负载,并根据UDP头部确定该负载为第二节点响应的BFD报文。
同时,根据内层目的地址以及第二SID列表,第一节点确定去程BFD报文途经的转发路径与回程BFD报文途经的转发路径一致。
因此,通过应用本申请提供的路径一致性的检测方法,第一节点向第三节点发送去程BFD报文,该去程BFD报文包括第一节点的本地SID地址以及第一SID列表,以使得第三节点根据第一SID列表向第二节点转发去程BFD报文;第一节点接收第三节点转发的第二节点发送的回程BFD报文,该回程BFD报文包括内层目的地址以及第二SID列表,内层目的地址为第一节点的本地SID地址,第二节点内已配置第二节点与第一节点之间的第二SRv6 TE-Policy,第二SRv6TE-Policy包括用于指示第二节点与第一节点之间转发路径的第二SID列表;根据内层目的地址以及第二SID列表,确定去程BFD报文途经的转发路径与回程BFD报文途经的转发路径一致。
如此,通过在回程BFD报文中封装IPv6头部以及SRH头部,解决了节点之间存在多条路径时,无法保证回程SBFD所经过的回程路径与去程SBFD所经过的去程路径一致的问题。
可选地,在本申请实施例中,在包括第一节点配置自身本地SID地址或者由控制器配置第一节点的本地SID地址、并根据本地SID地址生成第一路由表项的过程。
具体地,第一SRv6 TE-Policy还包括本地地址字段以及远端地址字段,该本地地址字段为第一节点的本地SID地址,该远端地址字段为第二节点的本地SID地址。
根据第一SID列表以及第二节点的本地SID地址,第一节点生成第一节点到达第二节点的第一路由表项,该第一路由表项包括目的地址以及出接口,目的地址为第二节点的本地SID地址,出接口为第一SID列表。
进一步地,第一节点生成第一路由表项之前,第一节点接收控制器下发的第一配置指令,该第一配置指令包括第一SRv6 TE-Policy,第一SRv6 TE-Policy包括第一SID列表、第一节点的本地SID地址以及第二节点的本地SID地址;
或者,
第一节点生成第一路由表项之前,第一节点接收用户输入的第二配置指令,该第二配置指令包括第一SRv6 TE-Policy,第一SRv6 TE-Policy包括第一SID列表、第一节点的本地SID地址以及第二节点的本地SID地址。
更进一步地,在第一节点接收控制器下发的第一配置指令之前,第一节点生成边界网关协议(英文:Border Gateway Protocol,简称:BGP)报文(例如,BGP链路状态报文),该BGP报文包括第一节点为自身分配的本地SID地址。
第一节点向控制器发送BGP报文,控制器接收到BGP报文后,从中获取第一节点的本地SID。同理,控制器也会接收到第二节点发送的BGP报文,并从中获取第二节点的本地SID。控制器根据收集的网络拓扑,将第一节点的本地SID地址与第二节点的本地SID地址关联,并分别向第一节点、第二节点发送第一配置指令,以使得第一节点、第二节点根据第一配置指令生成第一路由表项。
可以理解的是,每个节点分配第一类SID,该第一类SID用于在当前组网内标识节点。每个节点通过BGP链路状态报文将第一类SID上报控制器。同时,每个节点还可分配第二类SID,该第二类SID具体为节点的本地SID地址,每个节点通过BGP链路状态报文将第二类SID上报控制器。其中,第一类SID与第二类SID不同。在此仅对第一类SID、第二类SID进行简要说明,在后续实施例中,结合具体的组网图对第一类SID、第二类SID进行详细说明。
根据收集的各个节点的第一类SID,控制器生成网络拓扑。根据网络拓扑,控制器为每个节点生成SRv6 TE-Policy。同时,控制器根据网络拓扑,将转发路径中的源节点的本地SID地址与目的的本地SID地址关联。控制器分别向各个节点发送第一配置指令,以使得各个节点根据第一配置指令生成第一路由表项。
更进一步地,第二类SID也可为控制器分配,并通过第一配置指令下发。控制器向节点发送通知消息,以获取节点的地址段信息。控制器根据地址段信息向转发路径中的源节点、目的节点分配本地SID地址。
需要说明的是,在本申请实施例中,可通过对现有SRv6 TE-Policy进行扩展,以使得SRv6 TE-Policy携带节点的本地SID地址。例如,在SID列表中增加子TLV(Sub-TLV),该子TLV随着SRv6 TE-Policy下发至节点。该子TLV包括类型(Type)字段、长度(Length)字段、标志(Flags)字段、保留(Reserve)字段、本地地址(Local-address)字段以及远端地址(Remote-address)字段。
下面对本申请实施例提供的路径一致性的检测方法进行详细地说明。参见图5,图5为本申请实施例提供的另一种路径一致性的检测方法的流程图。该方法应用于第一节点,本申请实施例提供的路径一致性的检测方法可包括如下所示步骤。
步骤510、接收第三节点发送的去程BFD报文,所述去程BFD报文包括所述第二节点的本地SID地址以及第二SID列表,所述第二节点内已配置所述第二节点与第一节点之间的第二SRv6 TE-Policy,所述第二SRv6 TE-Policy包括用于指示所述第二节点与第一节点之间转发路径的第二SID列表。
具体地,第一节点、第二节点以及第三节点均处于SRv6 TE-Policy BFD组网内或处于SRv6 TE-Policy SBFD组网内,上述组网内的各个节点均配置G-SRv6。
根据前述实施例的描述可知,前述实施例中的第一节点在本实施例中为第二节点,前述实施例中的第二节点在实施例中为第一节点。第一节点可具体目的节点(也可称之为Reflector),第二节点可具体为源节点(也可称之为InitiatorReflector),第三节点可具体为中间转发节点。第三节点的数量可根据实际路径组成确定。
第一节点内已配置自身与第一节点之间的第一SRv6 TE-Policy,该第一SRv6TE-Policy包括用于指示第一节点与第二节点之间转发路径的第一SID列表。
可以理解的是,第一SRv6 TE-Policy还包括BSID、Color、End-point以及候选路径。其中,BSID表示入节点的SID、Color用于在相同的源节点、目的节点之间区分多个SRv6TE-Policy、End-point为SRv6 TE-Policy目的节点的IPv6地址。候选路径中存储第一SID列表。
当第二节点需检测自身与第一节点之间SRv6 TE-Policy的可达性时,第二节点生成去程BFD报文,该去程BFD报文包括第二节点的本地SID地址(或称为Local-address,该Local-address为SID地址,本地SID地址可由第二节点自主分配或者可由控制器分配)以及第二SID列表。
其中,可根据具体的BFD报文类型,将第二节点的本地SID地址存储在外层源地址处,或者内层源地址处以及内层目的地址处。
第二节点根据第二SID列表,向自身的下一跳,即第三节点发送去程BFD报文,以使得第三节点根据第一SID列表向第一节点转发去程BFD报文。
在本申请实施例中,去程BFD报文可具体为SBFD报文,或者,BFD echo报文。在后续实施例中,结合具体的组网图对去程BFD报文的封装格式进行详细说明,在此仅简单说明。
去程BFD报文还包括内层报文,该内层报文具体为BFD报文。
第二节点生成的去程BFD报文在前述实施例中已经说明,在此不再复述。在本实施例中,当第三节点接收到去程BFD报文后,第三节点根据第二SID列表,更新IPv6头部包括的目的地址、G-SRH头部包括的SL。
第三节点向第一节点发送去程BFD报文。在本实施例中,当去程BFD报文为SBFD报文时,该去程BFD报文包括IPv6头部、G-SRH头部以及内层报文。
该IPv6头部包括外层源地址以及外层目的地址,外层源地址为第一节点的本地SID地址,外层目的地址为第一节点IPv6地址;G-SRH头部包括第一SID列表。
该内层报文包括UDP头部以及负载,负载为SBFD报文。
当去程BFD报文为BFD echo报文时,该去程BFD报文包括IPv6头部、G-SRH头部以及内层报文。
该IPv6头部包括外层源地址以及外层目的地址,外层源地址为第一节点的本地SID地址,外层目的地址为第一节点的IPv6地址;G-SRH头部包括第一SID列表。
该内层报文包括内层源地址、内层目的地址、UDP头部以及负载,内层源地址以及内层目的地址均为第一节点的本地SID地址;负载为BFD报文。
步骤520、根据所述第二节点的本地SID,获取与所述第二节点的本地SID匹配的第一路由表项,所述第一路由表项包括目的地址以及出接口,所述目的地址为所述第二节点的本地SID地址,所述出接口为所述第一SID列表。
具体地,根据步骤510的描述,第一节点接收到第三节点发送的去程BFD报文后,从去程BFD报文中获取外层源地址、外层目的地址以及第一SID列表。第一节点确定外层源地址为第二节点的本地SID地址,外层目的地址为自身的IPv6地址,且根据第二SID列表,确定自身为转发路径中的最后一跳。
第一节点对去程BFD报文进行解封装处理,获取内层报文。当内层报文为SBFD报文时,第一节点根据外层源地址,从本地获取与该外层源地址匹配的第一路由表项。
当内层报文还包括内层源地址、内层目的地址时,第一节点获取内层源地址以及内层目的地址,并确定内层源地址以及内层目的地址均为第二节点的本地SID地址,UDP头部表示该去程BFD报文为BFD echo报文。第一节点根据内层目的地址,从本地获取与该内层目的地址匹配的第一路由表项。
前述该第一路由表项用于表示第一节点到达第二节点的转发路径。该第一路由表项包括目的地址以及出接口,其中,目的地址为第二节点的本地SID地址,出接口为第一SID列表。
步骤530、向所述第三节点发送回程BFD报文,所述回程BFD报文包括内层目的地址以及所述第一SID列表,所述内层目的地址为所述第二节点的本地SID地址,以使得所述第三节点向所述第二节点转发所述回程BFD报文,所述第二节点根据所述内层目的地址以及所述第一SID列表,确定所述去程BFD报文途经的转发路径与所述回程BFD报文途经的转发路径一致。
具体地,根据步骤520的描述,第一节点获取第一路由表项后,第一节点对负载进行BFD处理并生成回程BFD报文,该回程BFD报文包括外层头部以及内层报文。其中,外层头部具体为IPv6头部以及G-SRH头部。上述两个头部的封装过程可参考现有SRv6协议,在此不再复述。第一SID列表存储在G-SRH头部。内层报文具体为BFD报文,内层报文包括内层报文头部以及负载,内层报文头部包括内层目的地址,内层目的地址为第二节点的本地SID地址,即第二节点的Local-address。
在本申请实施例中,回程BFD报文可具体为SBFD报文,或者,BFD echo报文。在后续实施例中,结合具体的组网图对回程BFD报文的封装格式进行详细说明,在此仅简单说明。
其中,当回程BFD报文为SBFD报文时,该回程BFD报文包括IPv6头部、G-SRH头部以及内层报文。
该IPv6头部包括外层源地址以及外层目的地址,外层源地址为第一节点的IPv6地址,外层目的地址为第一节点的下一跳节点的SID,即第三节点的SID;G-SRH头部包括第一SID列表。
内层报文包括内层源地址、内层目的地址、UDP头部以及负载,内层源地址为第一节点的IPv6地址,内层目的地址为第二节点的本地SID地址;负载为SBFD报文。
当回程BFD报文为BFD echo报文时,该回程BFD报文包括IPv6头部、G-SRH头部以及内层报文。
该IPv6头部包括外层源地址以及外层目的地址,外层源地址为第一节点的IPv6地址,外层目的地址为第二节点的下一跳节点的SID,即第三节点的SID;G-SRH头部包括第一SID列表。
内层报文包括内层源地址、内层目的地址、UDP头部以及负载,内层源地址以及内层目的地址均为第二节点的本地SID地址;负载为BFD报文。
需要说明的是,在本申请实施例中,第一节点到达第二节点之间的转发路径(记为第二转发路径)与第二节点到达第一节点之间的转发路径(记为第一转发路径)被标记为不同的转发路径。但是,第一转发路径与第二转发路径途径相同的节点,也即是第一转发路径为正向路径,第二转发路径为第一转发路径的逆向路径。
例如,N0节点、N1节点、N2节点、N3节点、N4节点构成第一转发路径。其中,N0节点为源节点、N4节点为目的节点。N4节点、N3节点、N2节点、N1节点、N0节点构成第二转发路径。其中,N4节点为源节点、N0节点为目的节点。
由于第一节点与第二节点之间的转发路径为两条,各个节点针对不同的转发路径分配不同的SID,因此,在本申请实施例中,第一SID列表、第二SID列表中存储的表示各个节点的SID是不同的。例如,N0节点在第一转发路径中的SID表示为1,而N0节点在第二转发路径中的SID表示为6。
同理,其他节点依次类推,在后续实施例中,结合具体的组网图对每个节点的SID、第一SID列表、第二SID列表进行详细说明,在此仅简单说明。
第一节点向第三节点发送回程BFD报文,第三节点接收到回程BFD报文后,可按现有SRv6协议对回程BFD报文进行转发处理,包括但不限于,更新IPv6头部包括的目的地址、G-SRH头部包括的SL等过程。
第三节点向第二节点发送回程BFD报文。第二节点接收到回程BFD报文后,从回程BFD报文中获取外层源地址、外层目的地址以及第一SID列表。
第二节点确定外层源地址为第一节点的IPv6地址,外层目的地址为自身的IPv6地址,且根据第一SID列表,确定自身为转发路径中的最后一跳。
第二节点对回程BFD报文进行解封装处理,得到内层报文,根据内层目的地址确定为自身的本地SID地址。第二节点获取UDP头部以及负载,并根据UDP头部确定该负载为第一节点响应的BFD报文。
同时,根据内层目的地址以及第一SID列表,第二节点确定去程BFD报文途经的转发路径与回程BFD报文途经的转发路径一致。
因此,通过应用本申请提供的路径一致性的检测方法,第一节点接收第三节点发送的去程BFD报文,该去程BFD报文包括第二节点的本地SID地址以及第二SID列表,第二节点内已配置第二节点与第一节点之间的第二SRv6 TE-Policy,第二SRv6 TE-Policy包括用于指示第二节点与第一节点之间转发路径的第二SID列表;根据第二节点的本地SID,第一节点获取与第二节点的本地SID匹配的第一路由表项,该第一路由表项包括目的地址以及出接口,目的地址为第二节点的本地SID地址,出接口为第一SID列表;第一节点向第三节点发送回程BFD报文,该回程BFD报文包括内层目的地址以及第一SID列表,内层目的地址为第二节点的本地SID地址,以使得第三节点向第二节点转发回程BFD报文,第二节点根据内层目的地址以及第一SID列表,确定去程BFD报文途经的转发路径与回程BFD报文途经的转发路径一致。
如此,通过在回程BFD报文中封装IPv6头部以及SRH头部,解决了节点之间存在多条路径时,无法保证回程SBFD所经过的回程路径与去程SBFD所经过的去程路径一致的问题。
可选地,在本申请实施例中,在包括第一节点配置自身本地SID地址或者由控制器配置第一节点的本地SID地址、并根据本地SID地址生成第一路由表项的过程。
具体地,第一SRv6 TE-Policy还包括本地地址字段以及远端地址字段,该本地地址字段为第一节点的本地SID地址,该远端地址字段为第二节点的本地SID地址。
根据第一SID列表以及第二节点的本地SID地址,第一节点生成第一节点到达第二节点的第一路由表项,该第一路由表项包括目的地址以及出接口,目的地址为第二节点的本地SID地址,出接口为第一SID列表。
进一步地,第一节点生成第一路由表项之前,第一节点接收控制器下发的第一配置指令,该第一配置指令包括第一SRv6 TE-Policy,第一SRv6 TE-Policy包括第一SID列表、第一节点的本地SID地址以及第二节点的本地SID地址;
或者,
第一节点生成第一路由表项之前,第一节点接收用户输入的第二配置指令,该第二配置指令包括第一SRv6 TE-Policy,第一SRv6 TE-Policy包括第一SID列表、第一节点的本地SID地址以及第二节点的本地SID地址。
更进一步地,在第一节点接收控制器下发的第一配置指令之前,第一节点生成BGP报文(例如,BGP链路状态报文),该BGP报文包括第一节点为自身分配的本地SID地址。
第一节点向控制器发送BGP报文,控制器接收到BGP报文后,从中获取第一节点的本地SID。同理,控制器也会接收到第二节点发送的BGP报文,并从中获取第二节点的本地SID。控制器根据收集的网络拓扑,将第一节点的本地SID地址与第二节点的本地SID地址关联,并分别向第一节点、第二节点发送第一配置指令,以使得第一节点、第二节点根据第一配置指令生成第一路由表项。
可以理解的是,每个节点分配第一类SID,该第一类SID用于在当前组网内标识节点。每个节点通过BGP链路状态报文将第一类SID上报控制器。同时,每个节点还可分配第二类SID,该第二类SID具体为节点的本地SID地址,每个节点通过BGP链路状态报文将第二类SID上报控制器。其中,第一类SID与第二类SID不同。在此仅对第一类SID、第二类SID进行简要说明,在后续实施例中,结合具体的组网图对第一类SID、第二类SID进行详细说明。
根据收集的各个节点的第一类SID,控制器生成网络拓扑。根据网络拓扑,控制器为每个节点生成SRv6 TE-Policy。同时,控制器根据网络拓扑,将转发路径中的源节点的本地SID地址与目的的本地SID地址关联。控制器分别向各个节点发送第一配置指令,以使得各个节点根据第一配置指令生成第一路由表项。
更进一步地,第二类SID也可为控制器分配,并通过第一配置指令下发。控制器向节点发送通知消息,以获取节点的地址段信息。控制器根据地址段信息向转发路径中的源节点、目的节点分配本地SID地址。
需要说明的是,在本申请实施例中,可通过对现有SRv6 TE-Policy进行扩展,以使得SRv6 TE-Policy携带节点的本地SID地址。例如,在SID列表中增加子TLV(Sub-TLV),该子TLV随着SRv6 TE-Policy下发至节点。该子TLV包括类型(Type)字段、长度(Length)字段、标志(Flags)字段、保留(Reserve)字段、本地地址(Local-address)字段以及远端地址(Remote-address)字段。
下面对本申请实施例提供的路径一致性的检测方法进行详细地说明。参见图6,图6为本申请实施例提供的一种路径一致性的检测组网示意图。
在图6中,N0节点、N1节点、N2节点、N3节点、N4节点构成第一转发路径。其中,N0节点为源节点、N4节点为目的节点。N4节点、N3节点、N2节点、N1节点、N0节点构成第二转发路径。其中,N4节点为源节点、N0节点为目的节点。
在第一转发路径中,每个节点为自身分配第一类SID。例如,N0节点的SID为A:0:1::、N1节点的SID为A:1:1::、N2节点的SID为A:2:1::、N3节点的SID为A:3:1::、N4节点的SID为A:4:2::。
在第二转发路径中,每个节点为自身分配第一类SID。例如,N4节点的SID为A:4:7::、N3节点的SID为A:3:7::、N2节点的SID为A:2:7::、N1节点的SID为A:1:7::、N0节点的SID为A:0:8::。
根据前述实施例可知,控制器向N0节点下发第一SRv6 TE-Policy,该第一SRv6TE-Policy包括End-point以及候选路径。其中,End-point为N4节点的IPv6地址,即,5000::1,候选路径中存储第一SID列表,该第一SID列表包括第一转发路径中各节点的SID。
同时,在第一SID列表中还包括本地地址字段以及远端地址字段,该本地地址字段为N0节点的本地SID地址,即,A:0:3::,该远端地址字段为N4节点的本地SID地址,即,A:4:3::。
控制器还向N4节点下发第二SRv6 TE-Policy,该第二SRv6 TE-Policy包括End-point以及候选路径。其中,End-point为N0节点的IPv6地址,即1000::1,候选路径中存储第二SID列表,该第二SID列表包括第二转发路径中各节点的SID。
同时,在第二SID列表中还包括本地地址字段以及远端地址字段,该本地地址字段为N4节点的本地SID地址,即,A:4:3::,该远端地址字段为N0节点的本地SID地址,即,A:0:3::。
其中,N0、N4节点的本地SID地址,可由节点自身分配并配置,或者,由控制器分配后配置。N0、N4节点根据各自的SID列表以及远端地址字段中存储的节点的本地SID地址,生成第一路由表项。该第一路由表项包括目的地址以及出接口,目的地址为远端地址字段中存储的节点的本地SID地址,出接口为各自的SID列表。
当N0节点需检测自身与N4节点之间SRv6 TE-Policy的可达性时,N0节点生成去程BFD报文。该去程BFD报文包括IPv6头部、G-SRH头部以及内层报文。
该IPv6头部包括外层源地址以及外层目的地址,外层源地址为N0节点的本地SID地址,即,A:0:3::,外层目的地址为N1节点的SID,即,A:1:1::,G-SRH头部包括第一SID列表。可以理解的是,G-SRH头部内包括128bit可压缩SRv6SID与多个32bit G-SID的混编状态。该G-SRH头部的压缩过程与现有压缩过程相同,在此不再复述。
该内层报文包括UDP头部以及负载,负载为SBFD报文。
N0节点向N1节点发送去程BFD报文。N1节点接收到去程BFD报文后,可按现有SRv6协议对去程BFD报文进行转发处理,包括但不限于,更新IPv6头部包括的目的地址、G-SRH头部包括的SL等过程。
N1节点向N2节点发送去程BFD报文。N2节点接收到去程BFD报文后,可按现有SRv6协议对去程BFD报文进行转发处理,包括但不限于,更新IPv6头部包括的目的地址、G-SRH头部包括的SL等过程。
N2节点向N3节点发送去程BFD报文。N3节点接收到去程BFD报文后,可按现有SRv6协议对去程BFD报文进行转发处理,包括但不限于,更新IPv6头部包括的目的地址、G-SRH头部包括的SL等过程。
N3节点向N4节点发送去程BFD报文。N4节点接收到去程BFD报文后,从去程BFD报文中获取外层源地址、外层目的地址以及第一SID列表。N4节点确定外层源地址为N0节点的本地SID地址,外层目的地址为自身的IPv6地址,且根据第一SID列表,确定自身为转发路径中的最后一跳。
N4节点对去程BFD报文进行解封装处理,获取内层报文。当UDP头部表示该去程BFD报文为SBFD报文时,N4节点根据外层源地址,从本地获取与该外层源地址匹配的第一路由表项,该第一路由表项包括目的地址以及出接口,其中,目的地址为N0节点的本地SID地址,即,A:0:3::,出接口为第二SID列表。
N4节点对负载进行SBFD处理后,生成回程BFD报文,该回程BFD报文包括IPv6头部、G-SRH头部以及内层报文。
该IPv6头部包括外层源地址以及外层目的地址,外层源地址为N4节点的IPv6地址,即,5000::1,外层目的地址为N3节点的SID,即,A:3:7::,G-SRH头部包括第二SID列表。可以理解的是,G-SRH头部内包括128bit可压缩SRv6 SID与多个32bit G-SID的混编状态。该G-SRH头部的压缩过程与现有压缩过程相同,在此不再复述。
内层报文包括内层源地址、内层目的地址、UDP头部以及负载,内层源地址为N4节点的IPv6地址,即,5000::1,内层目的地址为N0节点的本地SID地址,即,A:0:3::,负载为SBFD报文。
N4节点向N3节点发送回程BFD报文。N3节点接收到回程BFD报文后,可按现有SRv6协议对去程BFD报文进行转发处理,包括但不限于,更新IPv6头部包括的目的地址、G-SRH头部包括的SL等过程。
N3节点向N2节点发送回程BFD报文。N2节点接收到回程BFD报文后,可按现有SRv6协议对去程BFD报文进行转发处理,包括但不限于,更新IPv6头部包括的目的地址、G-SRH头部包括的SL等过程。
N2节点向N1节点发送回程BFD报文。N1节点接收到回程BFD报文后,可按现有SRv6协议对去程BFD报文进行转发处理,包括但不限于,更新IPv6头部包括的目的地址、G-SRH头部包括的SL等过程。
N1节点向N0节点发送回程BFD报文。N0节点接收到回程BFD报文后,从回程BFD报文中获取外层源地址、外层目的地址以及第二SID列表。
N0节点确定外层源地址为N4节点的IPv6地址,外层目的地址为自身的IPv6地址,且根据第二SID列表,确定自身为转发路径中的最后一跳。
N0节点对回程BFD报文进行解封装处理,得到内层报文,根据内层目的地址确定为自身的本地SID地址。N0节点获取UDP头部以及负载,并根据UDP头部确定该负载为N4节点响应的SBFD报文。
同时,根据内层目的地址以及第二SID列表,N0节点确定去程BFD报文途经的转发路径与回程BFD报文途经的转发路径一致。
下面对本申请实施例提供的路径一致性的检测方法进行详细地说明。参见图7,图7为本申请实施例提供的另一种路径一致性的检测组网示意图。
在图7中,N0节点、N1节点、N2节点、N3节点、N4节点构成第一转发路径。其中,N0节点为源节点、N4节点为目的节点。N4节点、N3节点、N2节点、N1节点、N0节点构成第二转发路径。其中,N4节点为源节点、N0节点为目的节点。
在第一转发路径中,每个节点为自身分配第一类SID。例如,N0节点的SID为A:0:1::、N1节点的SID为A:1:1::、N2节点的SID为A:2:1::、N3节点的SID为A:3:1::、N4节点的SID为A:4:2::。
在第二转发路径中,每个节点为自身分配第一类SID。例如,N4节点的SID为A:4:7::、N3节点的SID为A:3:7::、N2节点的SID为A:2:7::、N1节点的SID为A:1:7::、N0节点的SID为A:0:8::。
根据前述实施例可知,控制器向N0节点下发第一SRv6 TE-Policy,该第一SRv6TE-Policy包括End-point以及候选路径。其中,End-point为N4节点的IPv6地址,即,5000::1,候选路径中存储第一SID列表,该第一SID列表包括第一转发路径中各节点的SID。
同时,在第一SID列表中还包括本地地址字段以及远端地址字段,该本地地址字段为N0节点的本地SID地址,即,A:0:3::,该远端地址字段为N4节点的本地SID地址,即,A:4:3::。
控制器还向N4节点下发第二SRv6 TE-Policy,该第二SRv6 TE-Policy包括End-point以及候选路径。其中,End-point为N0节点的IPv6地址,即,1000::1,候选路径中存储第二SID列表,该第二SID列表包括第二转发路径中各节点的SID。
同时,在第二SID列表中还包括本地地址字段以及远端地址字段,该本地地址字段为N4节点的本地SID地址,即,A:4:3::A:0:3::,该远端地址字段为N0节点的本地SID地址,即,A:0:3::。
其中,N0、N4节点的本地SID地址,可由节点自身分配并配置,或者,由控制器分配后配置。N0、N4节点根据各自的SID列表以及远端地址字段中存储的节点的本地SID地址,生成第一路由表项。该第一路由表项包括目的地址以及出接口,目的地址为远端地址字段中存储的节点的本地SID地址,出接口为各自的SID列表。
当N0节点需检测自身与N4节点之间SRv6 TE-Policy的可达性时,N0节点生成去程BFD报文。该去程BFD报文包括IPv6头部、G-SRH头部以及内层报文。
该IPv6头部包括外层源地址以及外层目的地址,外层源地址为N0节点的本地SID地址,即,A:0:3::,外层目的地址为N1节点的SID,即,A:1:1::,G-SRH头部包括第一SID列表。可以理解的是,G-SRH头部内包括128bit可压缩SRv6SID与多个32bit G-SID的混编状态。该G-SRH头部的压缩过程与现有压缩过程相同,在此不再复述。
该内层报文包括内层源地址、内层目的地址、UDP头部以及负载,内层源地址以及内层目的地址均为N0节点的本地SID地址,即,A:0:3::,负载为BFD报文。
N0节点向N1节点发送去程BFD报文。N1节点接收到去程BFD报文后,可按现有SRv6协议对去程BFD报文进行转发处理,包括但不限于,更新IPv6头部包括的目的地址、G-SRH头部包括的SL等过程。
N1节点向N2节点发送去程BFD报文。N2节点接收到去程BFD报文后,可按现有SRv6协议对去程BFD报文进行转发处理,包括但不限于,更新IPv6头部包括的目的地址、G-SRH头部包括的SL等过程。
N2节点向N3节点发送去程BFD报文。N3节点接收到去程BFD报文后,可按现有SRv6协议对去程BFD报文进行转发处理,包括但不限于,更新IPv6头部包括的目的地址、G-SRH头部包括的SL等过程。
N3节点向N4节点发送去程BFD报文。N4节点接收到去程BFD报文后,从去程BFD报文中获取外层源地址、外层目的地址以及第一SID列表。N4节点确定外层源地址为N0节点的本地SID地址,外层目的地址为自身的IPv6地址,且根据第一SID列表,确定自身为转发路径中的最后一跳。
N4节点对去程BFD报文进行解封装处理,获取内层报文。该内层报文包括内层源地址、内层目的地址、UDP头部以及负载。N4节点确定内层源地址以及内层目的地址均为N0节点的本地SID地址。当UDP头部表示该去程BFD报文为BFD echo报文时,N4节点根据内层目的地址(可以理解的是,N4节点还可根据外层源地址,获取第一路由表项),从本地获取与该内层目的地址匹配的第一路由表项,该第一路由表项包括目的地址以及出接口,其中,目的地址为N0节点的本地SID地址,即A:0:3::,出接口为第二SID列表。
N4节点对负载进行BFD echo处理后,生成回程BFD报文,该回程BFD报文包括IPv6头部、G-SRH头部以及内层报文。
该IPv6头部包括外层源地址以及外层目的地址,外层源地址为N4节点的IPv6地址,即5000::1,外层目的地址为N3节点的SID,即A:3:7::,G-SRH头部包括第二SID列表。可以理解的是,G-SRH头部内包括128bit可压缩SRv6 SID与多个32bit G-SID的混编状态。该G-SRH头部的压缩过程与现有压缩过程相同,在此不再复述。
内层报文包括内层源地址、内层目的地址、UDP头部以及负载,内层源地址以及内层目的地址均为N0节点的本地SID地址,即A:0:3::,负载为BFD报文。
N4节点向N3节点发送回程BFD报文。N3节点接收到回程BFD报文后,可按现有SRv6协议对去程BFD报文进行转发处理,包括但不限于,更新IPv6头部包括的目的地址、G-SRH头部包括的SL等过程。
N3节点向N2节点发送回程BFD报文。N2节点接收到回程BFD报文后,可按现有SRv6协议对去程BFD报文进行转发处理,包括但不限于,更新IPv6头部包括的目的地址、G-SRH头部包括的SL等过程。
N2节点向N1节点发送回程BFD报文。N1节点接收到回程BFD报文后,可按现有SRv6协议对去程BFD报文进行转发处理,包括但不限于,更新IPv6头部包括的目的地址、G-SRH头部包括的SL等过程。
N1节点向N0节点发送回程BFD报文。N0节点接收到回程BFD报文后,从回程BFD报文中获取外层源地址、外层目的地址以及第二SID列表。
N0节点确定外层源地址为N4节点的IPv6地址,外层目的地址为自身的IPv6地址,且根据第二SID列表,确定自身为转发路径中的最后一跳。
N0节点对回程BFD报文进行解封装处理,得到内层报文,根据内层目的地址确定为自身的本地SID地址。N0节点获取UDP头部以及负载,并根据UDP头部确定该负载为N4节点响应的BFD echo报文。
同时,根据内层目的地址以及第二SID列表,N0节点确定去程BFD报文途经的转发路径与回程BFD报文途经的转发路径一致。
基于同一发明构思,本申请实施例还提供了与路径一致性的检测方法对应的路径一致性的检测装置。参见图8,图8为本申请实施例提供的一种路径一致性的检测装置结构图。所述装置应用于第一节点,所述第一节点内已配置所述第一节点与第二节点之间的第一SRv6 TE-Policy,所述第一SRv6 TE-Policy包括用于指示所述第一节点与所述第二节点之间转发路径的第一SID列表,所述装置包括:
发送单元810,用于向第三节点发送去程BFD报文,所述去程BFD报文包括所述第一节点的本地SID地址以及所述第一SID列表,以使得所述第三节点根据所述第一SID列表向所述第二节点转发所述去程BFD报文;
接收单元820,用于接收所述第三节点转发的所述第二节点发送的回程BFD报文,所述回程BFD报文包括内层目的地址以及第二SID列表,所述内层目的地址为所述第一节点的本地SID地址,所述第二节点内已配置所述第二节点与第一节点之间的第二SRv6 TE-Policy,所述第二SRv6 TE-Policy包括用于指示所述第二节点与第一节点之间转发路径的第二SID列表;
确定单元830,用于根据所述内层目的地址以及所述第二SID列表,确定所述去程BFD报文途经的转发路径与所述回程BFD报文途经的转发路径一致。
可选地,所述第一SRv6 TE-Policy还包括本地地址字段以及远端地址字段,所述本地地址字段为所述第一节点的本地SID地址,所述远端地址字段为所述第二节点的本地SID地址;
所述装置还包括:生成单元(图中未示出),用于根据所述第一SID列表以及所述第二节点的本地SID地址,生成所述第一节点到达所述第二节点的第一路由表项,所述第一路由表项包括目的地址以及出接口,所述目的地址为所述第二节点的本地SID地址,所述出接口为所述第一SID列表。
可选地,所述接收单元820还用于,接收控制器下发的第一配置指令,所述第一配置指令包括所述第一SRv6 TE-Policy,所述第一SRv6 TE-Policy包括所述第一SID列表、所述第一节点的本地SID地址以及所述第二节点的本地SID地址;
或者,
所述接收单元820还用于,接收用户输入的第二配置指令,所述第二配置指令包括所述第一SRv6 TE-Policy,所述第一SRv6 TE-Policy包括所述第一SID列表、所述第一节点的本地SID地址以及所述第二节点的本地SID地址。
可选地,所述发送单元810还用于,向所述控制器发送BGP报文,所述BGP报文包括所述第一节点为自身分配的本地SID地址;
或者,
所述接收单元820还用于,接收所述控制器下发的通知消息;
所述发送单元810还用于,根据所述通知消息,向所述控制器发送响应消息,所述响应消息包括所述第一节点的地址段信息,以使得所述控制器根据所述地址段信息为所述第一节点分配所述第一节点的本地SID地址。
可选地,所述去程BFD报文以及所述回程BFD报文均为SBFD报文;
所述回程BFD报文包括IPv6头部、G-SRH头部以及内层报文;
所述IPv6头部包括外层源地址以及外层目的地址,所述外层源地址为所述第二节点的IPv6地址,所述外层目的地址为所述第二节点的下一跳节点的SID;
所述G-SRH头部包括所述第二SID列表;
所述内层报文包括内层源地址以及内层目的地址,所述内层源地址为所述第二节点的IPv6地址,所述内层目的地址为所述第一节点的本地SID地址。
可选地,所述去程BFD报文以及所述回程BFD报文均为BFD echo报文;
所述去程BFD报文包括IPv6头部、G-SRH头部以及内层报文;
所述IPv6头部包括所述外层源地址以及外层目的地址,所述外层源地址为所述第一节点的本地SID地址,所述外层目的地址为所述第三节点的SID;
所述G-SRH头部包括所述第一SID列表;
所述内层报文包括内层源地址以及内层目的地址,所述内层源地址以及所述内层目的地址均为所述第一节点的本地SID地址;
所述回程BFD报文包括IPv6头部、G-SRH头部以及内层报文;
所述IPv6头部包括外层源地址以及外层目的地址,所述外层源地址为所述第二节点的IPv6地址,所述外层目的地址为所述第二节点的下一跳节点的SID;
所述G-SRH头部包括所述第二SID列表;
所述内层报文包括内层源地址以及内层目的地址,所述内层源地址以及所述内层目的地址均为所述第一节点的本地SID地址。
因此,通过应用本申请提供的路径一致性的检测装置,第一节点向第三节点发送去程BFD报文,该去程BFD报文包括第一节点的本地SID地址以及第一SID列表,以使得第三节点根据第一SID列表向第二节点转发去程BFD报文;第一节点接收第三节点转发的第二节点发送的回程BFD报文,该回程BFD报文包括内层目的地址以及第二SID列表,内层目的地址为第一节点的本地SID地址,第二节点内已配置第二节点与第一节点之间的第二SRv6 TE-Policy,第二SRv6TE-Policy包括用于指示第二节点与第一节点之间转发路径的第二SID列表;根据内层目的地址以及第二SID列表,确定去程BFD报文途经的转发路径与回程BFD报文途经的转发路径一致。
如此,通过在回程BFD报文中封装IPv6头部以及SRH头部,解决了节点之间存在多条路径时,无法保证回程SBFD所经过的回程路径与去程SBFD所经过的去程路径一致的问题。
基于同一发明构思,本申请实施例还提供了与路径一致性的检测方法对应的路径一致性的检测装置。参见图9,图9为本申请实施例提供的另一种路径一致性的检测装置结构图。所述装置应用于第一节点,所述第一节点内已配置所述第一节点与第二节点之间的第一SRv6 TE-Policy,所述第一SRv6 TE-Policy包括用于指示所述第一节点与所述第二节点之间转发路径的第一SID列表,所述装置包括:
接收单元910,用于接收第三节点发送的去程BFD报文,所述去程BFD报文包括所述第二节点的本地SID地址以及第二SID列表,所述第二节点内已配置所述第二节点与第一节点之间的第二SRv6 TE-Policy,所述第二SRv6 TE-Policy包括用于指示所述第二节点与第一节点之间转发路径的第二SID列表;
获取单元920,用于根据所述第二节点的本地SID,获取与所述第二节点的本地SID匹配的第一路由表项,所述第一路由表项包括目的地址以及出接口,所述目的地址为所述第二节点的本地SID地址,所述出接口为所述第一SID列表;
发送单元930,用于向所述第三节点发送回程BFD报文,所述回程BFD报文包括内层目的地址以及所述第一SID列表,所述内层目的地址为所述第二节点的本地SID地址,以使得所述第三节点向所述第二节点转发所述回程BFD报文,所述第二节点根据所述内层目的地址以及所述第一SID列表,确定所述去程BFD报文途经的转发路径与所述回程BFD报文途经的转发路径一致。
可选地,所述第一SRv6 TE-Policy还包括本地地址字段以及远端地址字段,所述本地地址字段为所述第一节点的本地SID地址,所述远端地址字段为所述第二节点的本地SID地址;
所述装置还包括:生成单元(图中未示出),用于根据所述第一SID列表以及所述第二节点的本地SID地址,生成所述第一路由表项。
可选地,所述接收单元910还用于,接收控制器下发的第一配置指令,所述第一配置指令包括所述第一SRv6 TE-Policy,所述第一SRv6 TE-Policy包括所述第一SID列表、所述第一节点的本地SID地址以及所述第二节点的本地SID地址;
或者,
所述接收单元910还用于,接收用户输入的第二配置指令,所述第二配置指令包括所述第一SRv6 TE-Policy,所述第一SRv6 TE-Policy包括所述第一SID列表、所述第一节点的本地SID地址以及所述第二节点的本地SID地址。
可选地,所述发送单元930还用于,向所述控制器发送BGP报文,所述BGP报文包括所述第一节点为自身分配的本地SID地址;
或者,
所述接收单元910还用于,接收所述控制器下发的通知消息;
所述发送单元930还用于,根据所述通知消息,向所述控制器发送响应消息,所述响应消息包括所述第一节点的地址段信息,以使得所述控制器根据所述地址段信息为所述第一节点分配所述第一节点的本地SID地址。
可选地,所述去程BFD报文以及所述回程BFD报文均为SBFD报文;
所述回程BFD报文包括IPv6头部、G-SRH头部以及内层报文;
所述IPv6头部包括外层源地址以及外层目的地址,所述外层源地址为所述第二节点的IPv6地址,所述外层目的地址为所述第一节点的IPv6地址;
所述G-SRH头部包括所述第二SID列表;
所述内层报文包括内层源地址以及内层目的地址,所述内层源地址为所述第二节点的IPv6地址,所述内层目的地址为所述第二节点的本地SID地址。
可选地,所述去程BFD报文以及所述回程BFD报文均为BFD echo报文;
所述去程BFD报文包括IPv6头部、G-SRH头部以及内层报文;
所述IPv6头部包括外层源地址以及外层目的地址,所述外层源地址为所述第二节点的本地SID地址,所述外层目的地址为所述第一节点的IPv6地址;
所述SRH头部包括所述第一SID列表;
所述内层报文包括内层源地址以及内层目的地址,所述内层源地址以及所述内层目的地址均为所述第一节点的本地SID地址;
所述回程BFD报文包括IPv6头部、G-SRH头部以及内层报文;
所述IPv6头部包括所述外层源地址以及外层目的地址,所述外层源地址为所述第一节点的IPv6地址,所述外层目的地址为所述第三节点的SID;
所述G-SRH头部包括所述第二SID列表;
所述内层报文包括内层源地址以及内层目的地址,所述内层源地址以及所述内层目的地址均为所述第一节点的本地SID地址。
因此,通过应用本申请提供的路径一致性的检测装置,第一节点接收第三节点发送的去程BFD报文,该去程BFD报文包括第二节点的本地SID地址以及第二SID列表,第二节点内已配置第二节点与第一节点之间的第二SRv6 TE-Policy,第二SRv6 TE-Policy包括用于指示第二节点与第一节点之间转发路径的第二SID列表;根据第二节点的本地SID,第一节点获取与第二节点的本地SID匹配的第一路由表项,该第一路由表项包括目的地址以及出接口,目的地址为第二节点的本地SID地址,出接口为第一SID列表;第一节点向第三节点发送回程BFD报文,该回程BFD报文包括内层目的地址以及第一SID列表,内层目的地址为第二节点的本地SID地址,以使得第三节点向第二节点转发回程BFD报文,第二节点根据内层目的地址以及第一SID列表,确定去程BFD报文途经的转发路径与回程BFD报文途经的转发路径一致。
如此,通过在回程BFD报文中封装IPv6头部以及SRH头部,解决了节点之间存在多条路径时,无法保证回程SBFD所经过的回程路径与去程SBFD所经过的去程路径一致的问题。
基于同一发明构思,本申请实施例还提供了一种网络设备,如图10所示,包括处理器1010、收发器1020和机器可读存储介质1030,机器可读存储介质1030存储有能够被处理器1010执行的机器可执行指令,处理器1010被机器可执行指令促使执行本申请实施例所提供的路径一致性的检测方法。前述图8、图9所示的路径一致性的检测装置,可采用如图10所示的网络设备硬件结构实现。
上述计算机可读存储介质1030可以包括随机存取存储器(英文:Random AccessMemory,简称:RAM),也可以包括非易失性存储器(英文:Non-volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,计算机可读存储介质1030还可以是至少一个位于远离前述处理器1010的存储装置。
上述处理器1010可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例中,处理器1010通过读取机器可读存储介质1030中存储的机器可执行指令,被机器可执行指令促使能够实现处理器1010自身以及调用收发器1020执行前述本申请实施例描述的路径一致性的检测方法。
另外,本申请实施例提供了一种机器可读存储介质1030,机器可读存储介质1030存储有机器可执行指令,在被处理器1010调用和执行时,机器可执行指令促使处理器1010自身以及调用收发器1020执行前述本申请实施例描述的路径一致性的检测方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
对于路径一致性的检测装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (14)
1.一种路径一致性的检测方法,其特征在于,所述方法应用于第一节点,所述第一节点内已配置所述第一节点与第二节点之间的第一SRv6 TE-Policy,所述第一SRv6 TE-Policy包括用于指示所述第一节点与所述第二节点之间转发路径的第一SID列表,所述方法包括:
向第三节点发送去程BFD报文,所述去程BFD报文包括所述第一节点的本地SID地址以及所述第一SID列表,以使得所述第三节点根据所述第一SID列表向所述第二节点转发所述去程BFD报文;
接收所述第三节点转发的所述第二节点发送的回程BFD报文,所述回程BFD报文包括内层目的地址以及第二SID列表,所述内层目的地址为所述第一节点的本地SID地址,所述第二节点内已配置所述第二节点与所述第一节点之间的第二SRv6 TE-Policy,所述第二SRv6TE-Policy包括用于指示所述第二节点与所述第一节点之间转发路径的第二SID列表;
根据所述内层目的地址以及所述第二SID列表,确定所述去程BFD报文途经的转发路径与所述回程BFD报文途经的转发路径一致;
其中,所述第一节点与所述第二节点之间的转发路径途径的节点和所述第二节点与所述第一节点之间的转发路径途径的节点相同。
2.根据权利要求1所述的方法,其特征在于,所述第一SRv6 TE-Policy还包括本地地址字段以及远端地址字段,所述本地地址字段为所述第一节点的本地SID地址,所述远端地址字段为所述第二节点的本地SID地址;
所述向第三节点发送去程BFD报文之前,所述方法还包括:
根据所述第一SID列表以及所述第二节点的本地SID地址,生成所述第一节点到达所述第二节点的第一路由表项,所述第一路由表项包括目的地址以及出接口,所述目的地址为所述第二节点的本地SID地址,所述出接口为所述第一SID列表。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一SID列表以及所述第二节点的本地SID地址,生成所述第一节点到达所述第二节点的第一路由表项之前,所述方法还包括:
接收控制器下发的第一配置指令,所述第一配置指令包括所述第一SRv6TE-Policy,所述第一SRv6 TE-Policy包括所述第一SID列表、所述第一节点的本地SID地址以及所述第二节点的本地SID地址;
或者,
接收用户输入的第二配置指令,所述第二配置指令包括所述第一SRv6TE-Policy,所述第一SRv6 TE-Policy包括所述第一SID列表、所述第一节点的本地SID地址以及所述第二节点的本地SID地址。
4.根据权利要求3所述的方法,其特征在于,所述接收控制器下发的第一配置指令之前,所述方法还包括:
向所述控制器发送BGP报文,所述BGP报文包括所述第一节点为自身分配的本地SID地址;
或者,
接收所述控制器下发的通知消息;
根据所述通知消息,向所述控制器发送响应消息,所述响应消息包括所述第一节点的地址段信息,以使得所述控制器根据所述地址段信息为所述第一节点分配所述第一节点的本地SID地址。
5.根据权利要求1所述的方法,其特征在于,所述去程BFD报文以及所述回程BFD报文均为SBFD报文;
所述回程BFD报文包括IPv6头部、G-SRH头部以及内层报文;
所述IPv6头部包括外层源地址以及外层目的地址,所述外层源地址为所述第二节点的IPv6地址,所述外层目的地址为所述第二节点的下一跳节点的SID;
所述G-SRH头部包括所述第二SID列表;
所述内层报文包括内层源地址以及内层目的地址,所述内层源地址为所述第二节点的IPv6地址,所述内层目的地址为所述第一节点的本地SID地址。
6.根据权利要求1所述的方法,其特征在于,所述去程BFD报文以及所述回程BFD报文均为BFD echo报文;
所述去程BFD报文包括IPv6头部、G-SRH头部以及内层报文;
所述IPv6头部包括外层源地址以及外层目的地址,所述外层源地址为所述第一节点的本地SID地址,所述外层目的地址为所述第三节点的SID;
所述G-SRH头部包括所述第一SID列表;
所述内层报文包括内层源地址以及内层目的地址,所述内层源地址以及所述内层目的地址均为所述第一节点的本地SID地址;
所述回程BFD报文包括IPv6头部、G-SRH头部以及内层报文;
所述IPv6头部包括所述外层源地址以及外层目的地址,所述外层源地址为所述第二节点的IPv6地址,所述外层目的地址为所述第二节点的下一跳节点的SID;
所述G-SRH头部包括所述第二SID列表;
所述内层报文包括内层源地址以及内层目的地址,所述内层源地址以及所述内层目的地址均为所述第一节点的本地SID地址。
7.一种路径一致性的检测方法,其特征在于,所述方法应用于第一节点,所述第一节点内已配置所述第一节点与第二节点之间的第一SRv6 TE-Policy,所述第一SRv6 TE-Policy包括用于指示所述第一节点与所述第二节点之间转发路径的第一SID列表,所述方法包括:
接收第三节点发送的去程BFD报文,所述去程BFD报文包括所述第二节点的本地SID地址以及第二SID列表,所述第二节点内已配置所述第二节点与所述第一节点之间的第二SRv6 TE-Policy,所述第二SRv6 TE-Policy包括用于指示所述第二节点与所述第一节点之间转发路径的第二SID列表;
根据所述第二节点的本地SID,获取与所述第二节点的本地SID匹配的第一路由表项,所述第一路由表项包括目的地址以及出接口,所述目的地址为所述第二节点的本地SID地址,所述出接口为所述第一SID列表;
向所述第三节点发送回程BFD报文,所述回程BFD报文包括内层目的地址以及所述第一SID列表,所述内层目的地址为所述第二节点的本地SID地址,以使得所述第三节点向所述第二节点转发所述回程BFD报文,所述第二节点根据所述内层目的地址以及所述第一SID列表,确定所述去程BFD报文途经的转发路径与所述回程BFD报文途经的转发路径一致;
其中,所述第一节点与所述第二节点之间的转发路径途径的节点和所述第二节点与所述第一节点之间的转发路径途径的节点相同。
8.根据权利要求7所述的方法,其特征在于,所述第一SRv6 TE-Policy还包括本地地址字段以及远端地址字段,所述本地地址字段为所述第一节点的本地SID地址,所述远端地址字段为所述第二节点的本地SID地址;
所述接收第三节点发送的去程BFD报文之前,所述方法还包括:
根据所述第一SID列表以及所述第二节点的本地SID地址,生成所述第一路由表项。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第一SID列表以及所述第二节点的本地SID地址,生成所述第一路由表项之前,所述方法还包括:
接收控制器下发的第一配置指令,所述第一配置指令包括所述第一SRv6TE-Policy,所述第一SRv6 TE-Policy包括所述第一SID列表、所述第一节点的本地SID地址以及所述第二节点的本地SID地址;
或者,
接收用户输入的第二配置指令,所述第二配置指令包括所述第一SRv6TE-Policy,所述第一SRv6 TE-Policy包括所述第一SID列表、所述第一节点的本地SID地址以及所述第二节点的本地SID地址。
10.根据权利要求8所述的方法,其特征在于,所述接收控制器下发的第一配置指令之前,所述方法还包括:
向所述控制器发送BGP报文,所述BGP报文包括所述第一节点为自身分配的本地SID地址;
或者,
接收所述控制器下发的通知消息;
根据所述通知消息,向所述控制器发送响应消息,所述响应消息包括所述第一节点的地址段信息,以使得所述控制器根据所述地址段信息为所述第一节点分配所述第一节点的本地SID地址。
11.根据权利要求7所述的方法,其特征在于,所述去程BFD报文以及所述回程BFD报文均为SBFD报文;
所述回程BFD报文包括IPv6头部、G-SRH头部以及内层报文;
所述IPv6头部包括外层源地址以及外层目的地址,所述外层源地址为所述第二节点的IPv6地址,所述外层目的地址为所述第一节点的IPv6地址;
所述G-SRH头部包括所述第二SID列表;
所述内层报文包括内层源地址以及内层目的地址,所述内层源地址为所述第二节点的IPv6地址,所述内层目的地址为所述第二节点的本地SID地址。
12.根据权利要求7所述的方法,其特征在于,所述去程BFD报文以及所述回程BFD报文均为BFD echo报文;
所述去程BFD报文包括IPv6头部、G-SRH头部以及内层报文;
所述IPv6头部包括外层源地址以及外层目的地址,所述外层源地址为所述第二节点的本地SID地址,所述外层目的地址为所述第一节点的IPv6地址;
所述SRH头部包括所述第一SID列表;
所述内层报文包括内层源地址以及内层目的地址,所述内层源地址以及所述内层目的地址均为所述第一节点的本地SID地址;
所述回程BFD报文包括IPv6头部、G-SRH头部以及内层报文;
所述IPv6头部包括所述外层源地址以及外层目的地址,所述外层源地址为所述第一节点的IPv6地址,所述外层目的地址为所述第三节点的SID;
所述G-SRH头部包括所述第二SID列表;
所述内层报文包括内层源地址以及内层目的地址,所述内层源地址以及所述内层目的地址均为所述第一节点的本地SID地址。
13.一种路径一致性的检测装置,其特征在于,所述装置应用于第一节点,所述第一节点内已配置所述第一节点与第二节点之间的第一SRv6 TE-Policy,所述第一SRv6 TE-Policy包括用于指示所述第一节点与所述第二节点之间转发路径的第一SID列表,所述装置包括:
发送单元,用于向第三节点发送去程BFD报文,所述去程BFD报文包括所述第一节点的本地SID地址以及所述第一SID列表,以使得所述第三节点根据所述第一SID列表向所述第二节点转发所述去程BFD报文;
接收单元,用于接收所述第三节点转发的所述第二节点发送的回程BFD报文,所述回程BFD报文包括内层目的地址以及第二SID列表,所述内层目的地址为所述第一节点的本地SID地址,所述第二节点内已配置所述第二节点与所述第一节点之间的第二SRv6 TE-Policy,所述第二SRv6 TE-Policy包括用于指示所述第二节点与所述第一节点之间转发路径的第二SID列表;
确定单元,用于根据所述内层目的地址以及所述第二SID列表,确定所述去程BFD报文途经的转发路径与所述回程BFD报文途经的转发路径一致;
其中,所述第一节点与所述第二节点之间的转发路径途径的节点和所述第二节点与所述第一节点之间的转发路径途径的节点相同。
14.一种路径一致性的检测装置,其特征在于,所述装置应用于第一节点,所述第一节点内已配置所述第一节点与第二节点之间的第一SRv6 TE-Policy,所述第一SRv6 TE-Policy包括用于指示所述第一节点与所述第二节点之间转发路径的第一SID列表,所述装置包括:
接收单元,用于接收第三节点发送的去程BFD报文,所述去程BFD报文包括所述第二节点的本地SID地址以及第二SID列表,所述第二节点内已配置所述第二节点与所述第一节点之间的第二SRv6 TE-Policy,所述第二SRv6 TE-Policy包括用于指示所述第二节点与所述第一节点之间转发路径的第二SID列表;
获取单元,用于根据所述第二节点的本地SID,获取与所述第二节点的本地SID匹配的第一路由表项,所述第一路由表项包括目的地址以及出接口,所述目的地址为所述第二节点的本地SID地址,所述出接口为所述第一SID列表;
发送单元,用于向所述第三节点发送回程BFD报文,所述回程BFD报文包括内层目的地址以及所述第一SID列表,所述内层目的地址为所述第二节点的本地SID地址,以使得所述第三节点向所述第二节点转发所述回程BFD报文,所述第二节点根据所述内层目的地址以及所述第一SID列表,确定所述去程BFD报文途经的转发路径与所述回程BFD报文途经的转发路径一致;
其中,所述第一节点与所述第二节点之间的转发路径途径的节点和所述第二节点与所述第一节点之间的转发路径途径的节点相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110569222.5A CN113472653B (zh) | 2021-05-25 | 2021-05-25 | 路径一致性的检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110569222.5A CN113472653B (zh) | 2021-05-25 | 2021-05-25 | 路径一致性的检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113472653A CN113472653A (zh) | 2021-10-01 |
CN113472653B true CN113472653B (zh) | 2022-11-18 |
Family
ID=77871250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110569222.5A Active CN113472653B (zh) | 2021-05-25 | 2021-05-25 | 路径一致性的检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113472653B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013026336A1 (zh) * | 2011-08-24 | 2013-02-28 | 中兴通讯股份有限公司 | 一种路径检测的实现方法及节点 |
CN109587009A (zh) * | 2018-12-28 | 2019-04-05 | 北京华为数字技术有限公司 | 配置无缝双向转发检测sbfd机制的方法和装置 |
CN111935014A (zh) * | 2020-10-19 | 2020-11-13 | 网络通信与安全紫金山实验室 | 基于SRv6网络的报文转发方法、装置、存储介质及电子设备 |
WO2021043086A1 (zh) * | 2019-09-05 | 2021-03-11 | 华为技术有限公司 | 一种sbfd会话的建立方法、设备及系统 |
CN112491926A (zh) * | 2020-12-11 | 2021-03-12 | 迈普通信技术股份有限公司 | SRv6路径质量测量方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10069708B2 (en) * | 2015-03-02 | 2018-09-04 | Cisco Technology, Inc. | Monitoring through S-BFD (seamless bidirectional forwarding detection) |
CN106411738A (zh) * | 2015-07-30 | 2017-02-15 | 中兴通讯股份有限公司 | Ipv6报文封装的处理方法和装置 |
CN109167700B (zh) * | 2018-08-21 | 2020-06-09 | 新华三技术有限公司 | 段路由sr隧道的检测方法和装置 |
CN109257279B (zh) * | 2018-10-26 | 2021-03-26 | 新华三技术有限公司 | 一种报文转发方法及装置 |
-
2021
- 2021-05-25 CN CN202110569222.5A patent/CN113472653B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013026336A1 (zh) * | 2011-08-24 | 2013-02-28 | 中兴通讯股份有限公司 | 一种路径检测的实现方法及节点 |
CN109587009A (zh) * | 2018-12-28 | 2019-04-05 | 北京华为数字技术有限公司 | 配置无缝双向转发检测sbfd机制的方法和装置 |
WO2020134739A1 (zh) * | 2018-12-28 | 2020-07-02 | 华为技术有限公司 | 配置无缝双向转发检测sbfd机制的方法和装置 |
WO2021043086A1 (zh) * | 2019-09-05 | 2021-03-11 | 华为技术有限公司 | 一种sbfd会话的建立方法、设备及系统 |
CN111935014A (zh) * | 2020-10-19 | 2020-11-13 | 网络通信与安全紫金山实验室 | 基于SRv6网络的报文转发方法、装置、存储介质及电子设备 |
CN112491926A (zh) * | 2020-12-11 | 2021-03-12 | 迈普通信技术股份有限公司 | SRv6路径质量测量方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113472653A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109873760B (zh) | 处理路由的方法和装置、以及数据传输的方法和装置 | |
US20220360527A1 (en) | EVPN Packet Processing Method, Device, and System | |
US10348672B2 (en) | Using a virtual internet protocol address to represent dually connected hosts in an internet protocol overlay network | |
CN113794637B (zh) | Sid列表的处理方法及装置 | |
CN112087386B (zh) | 一种报文处理的方法、设备和系统 | |
CN103858391B (zh) | 在转发层面针对无连接的mpls网络使mpls路径环回 | |
CN108574616A (zh) | 一种处理路由的方法、设备及系统 | |
CN111510386B (zh) | 用于处理报文的方法和装置 | |
CN109728962A (zh) | 一种发送报文的方法和设备 | |
KR20230101903A (ko) | Bier 패킷 포워딩 방법, 디바이스 및 시스템 | |
WO2021143279A1 (zh) | 段路由业务处理方法和装置、路由设备及存储介质 | |
WO2017058908A1 (en) | Generating service-optimized paths based on enhanced eigrp telemetry | |
CN114650256A (zh) | 报文处理方法、节点及计算机可读存储介质 | |
CN111740907A (zh) | 一种报文传输方法、装置、设备及机器可读存储介质 | |
CN112104547B (zh) | Evpn多归属组网避免环路的方法及装置 | |
CN107682261B (zh) | 流量转发方法及装置 | |
CN113810288B (zh) | 一种报文回程方法及装置 | |
CN108462637A (zh) | 一种路由回切方法、控制器及系统 | |
CN113472653B (zh) | 路径一致性的检测方法及装置 | |
JP7273125B2 (ja) | BIERv6パケットを送信するための方法および第1のネットワークデバイス | |
CN113542126B (zh) | 广义SRv6全路径压缩方法及装置 | |
CN115499888A (zh) | 通信方法及装置 | |
CN114124753B (zh) | 一种报文发送方法及设备 | |
CN112737946B (zh) | 用于IPv6网络的路由通告方法、装置、存储介质和系统 | |
CN113746715A (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 |