CN110855531B - 一种转发路径检测方法及装置 - Google Patents
一种转发路径检测方法及装置 Download PDFInfo
- Publication number
- CN110855531B CN110855531B CN201911213332.7A CN201911213332A CN110855531B CN 110855531 B CN110855531 B CN 110855531B CN 201911213332 A CN201911213332 A CN 201911213332A CN 110855531 B CN110855531 B CN 110855531B
- Authority
- CN
- China
- Prior art keywords
- node
- path
- segment
- forwarding
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- 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]
-
- 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/12—Shortest path evaluation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种转发路径检测方法及装置,应用于转发路径的源节点中,该方法包括:获取待检测的转发路径;确定所述转发路径对应的第一段标签列表和第二段标签列表,所述第一段标签列表包括所述转发路径上所有节点的段标签,所述第二段标签列表包括与所述转发路径的方向相反的返回路径上的至少一个节点的段标签,所述第二段标签列表中的段标签个数小于所述第一段标签列表中的段标签个数;通过所述转发路径发送携带所述第一段标签列表和所述第二段标签列表的双向转发检测回声BFD Echo报文;根据是否通过所述返回路径接收到所述BFD Echo报文确定所述转发路径是否正常。通过该方法可以正确检测转发路径的连通性,且安全性较高。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种转发路径检测方法及装置。
背景技术
双向转发检测(Bidirectional Forwarding Detection,BFD)是一种快速检测两个网络节点之间转发路径连通性的网络协议。实现双向转发检测功能只需要源节点发送BFD回声(Echo)报文,而终点将BFD Echo报文转发回源节点即可。
互联网协议第六版的分段路由(Segment Routing Internet Protocol Version6,SRv6),是互联网协议第六版(Internet Protocol Version 6,IPv6)与分段路由(Segment Routing,SR)技术的结合,通过在源节点为要转发的BFD Echo报文选择一个转发路径,并将转发路径中经过的SR设备的地址标识信息以逆序方式组成段标签列表并插入到数据报文的IPv6头部中,形成IPv6分段扩展头部(Segment Routing Header,SRH),其他网络节点根据数据报文所携带的段标签列表来执行对应的转发指令来进行转发。当返回路径与转发路径不一致时,若返回路径上的有一个节点发生故障,而这个节点不是转发路径上的节点,此时会误判转发路径发生故障。
为了保证不误判转发路径故障,业界提出,在SRv6技术中,生成BFD Echo报文时,在报文扩展头部中携带用于指示转发路径的方向的IPv6段标签,也携带用于指示转发路径的返回方向的IPv6段标签,解决BFD Echo报文的返回路径与所要检测的转发路径不一致的问题,但扩展头部中所包含的IPv6段标签个数过多,即包括转发路径上的总节点数的二倍,会导致信令开销较大。
此外,现有技术中,扩展头部中所包含的IPv6段标签个数过多时,网络设备识别段标签的能力有限,例如每次最多能识别20个段标签,如果段标签个数较多,超出的段标签将无法识别,导致报文无法正常传输。
发明内容
本申请实施例提供一种转发路径检测方法,用以解决现有技术中容易误判转发路径故障的问题。
本申请的技术方案如下:
第一方面,本申请实施例提供一种转发路径检测方法,应用于转发路径的源节点中,所述转发路径还包括至少一个中间节点和终止节点,包括:
获取待检测的转发路径;
确定所述转发路径对应的第一段标签列表和第二段标签列表,所述第一段标签列表包括所述转发路径上所有节点的段标签,所述第二段标签列表包括与所述转发路径的方向相反的返回路径上的至少一个节点的段标签,所述第二段标签列表中的段标签个数小于所述第一段标签列表中的段标签个数;
通过所述转发路径发送携带所述第一段标签列表和所述第二段标签列表的双向转发检测回声BFD Echo报文;
根据是否通过所述返回路径接收到所述BFD Echo报文确定所述转发路径是否正常。
可选的,所述根据是否通过所述返回路径接收到所述BFD报文确定所述转发路径是否正常,包括:
监测是否通过所述返回路径接收到所述BFD Echo报文;
若通过所述返回路径接收到所述BFD Echo报文,则确定所述转发路径正常;
若未通过所述返回路径接收到所述BFD Echo报文,则确定所述转发路径故障。
可选的,所述确定所述转发路径对应的第二段标签列表,包括:
确定所述返回路径上第i个节点与之后的每个节点之间的至少一条最短路径;其中,1≤i<n,n为所述返回路径的终点;
确定所述至少一条最短路径中是否存在满足条件的最短路径;
若确定所述第i个节点与之后的第i+1个节点到第j个节点之间的每个节点之间存在满足条件的最短路径,而所述第i个节点与第j+1个节点之间不存在满足所述条件的最短路径,则将第j个节点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第i个节点到所述第j-1个节点之间的节点的段标签;其中,i<j<n;
所述满足条件的最短路径为存在于所述返回路径上的路径。
可选的,所述方法还包括:
确定所述第j个节点与之后的每个节点之间的至少一条最短路径;
若确定所述第j个节点与之后的第j+1个节点到第m个节点之间的每个节点之间存在满足所述条件的最短路径,但所述第j个节点与第m+1个节点之间不存在满足所述条件的最短路径,则将第m个节点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第j个节点到所述第m个节点之间的节点的段标签,所述第二段标签列表中,所述第m个节点的段标签位于所述第j个节点的段标签之后,j<m<n。
可选的,所述方法还包括:
若确定所述第j个节点与之后的第j+1个节点到第m个节点之间的每个节点之间存在满足所述条件的最短路径,所述第m个节点是所述返回路径的终点,则将所述返回路径的终点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第j个节点与所述返回路径的终点之间的其它节点的段标签,所述返回路径的终点的段标签位于所述第二段标签列表的末尾。
第二方面,本申请实施例提供一种转发路径检测装置,应用于转发路径的源节点中,所述转发路径还包括至少一个中间节点和终止节点,包括:
获取模块,用于获取待检测的转发路径;
处理模块,用于确定所述转发路径对应的第一段标签列表和第二段标签列表,所述第一段标签列表包括所述转发路径上所有节点的段标签,所述第二段标签列表包括与所述转发路径的方向相反的返回路径上的至少一个节点的段标签,所述第二段标签列表中的段标签个数小于所述第一段标签列表中的段标签个数;
通信模块,用于通过所述转发路径发送携带所述第一段标签列表和所述第二段标签列表的双向转发检测回声BFD Echo报文;
所述处理模块,还用于根据是否通过所述返回路径接收到所述BFD Echo报文确定所述转发路径是否正常。
可选的,所述处理模块,用于根据是否通过所述返回路径上接收到所述BFD Echo报文确定所述转发路径是否正常,具体用于:
监测是否通过所述返回路径接收到所述BFD Echo报文;
若通过所述返回路径接收到所述BFD Echo报文,则确定所述转发路径正常;
若未通过所述返回路径接收到所述BFD Echo报文,则确定所述转发路径故障。
可选的,所述处理模块,用于确定所述转发路径对应的第二段标签列表,具体用于:
确定所述返回路径上第i个节点与之后的每个节点之间的至少一条最短路径;其中,1≤i<n,n为所述返回路径的终点;
确定所述至少一条最短路径中是否存在满足条件的最短路径;
若确定所述第i个节点与之后的第i+1个节点到第j个节点之间的每个节点之间存在满足条件的最短路径,而所述第i个节点与第j+1个节点之间不存在满足所述条件的最短路径,则将第j个节点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第i个节点到所述第j-1个节点之间的节点的段标签;其中,i<j<n;
所述满足条件的最短路径为存在于所述返回路径上的路径。
可选的,所述处理模块还用于:
确定所述第j个节点与之后的每个节点之间的至少一条最短路径;
若确定所述第j个节点与之后的第j+1个节点到第m个节点之间的每个节点之间存在满足所述条件的最短路径,但所述第j个节点与第m+1个节点之间不存在满足所述条件的最短路径,则将第m个节点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第j个节点到所述第m个节点之间的节点的段标签,所述第二段标签列表中,所述第m个节点的段标签位于所述第j个节点的段标签之后,j<m<n。
可选的,所述处理模块还用于:
若确定所述第j个节点与之后的第j+1个节点到第m个节点之间的每个节点之间存在满足所述条件的最短路径,所述第m个节点是所述返回路径的终点,则将所述返回路径的终点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第j个节点与所述返回路径的终点之间的其它节点的段标签,所述返回路径的终点的段标签位于所述第二段标签列表的末尾。
第三方面,本申请实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请提供了一种转发路径检测方法,应用于转发路径的源节点中,所述转发路径还包括至少一个中间节点和终止节点,该方法包括:获取待检测的转发路径;确定所述转发路径对应的第一段标签列表和第二段标签列表,所述第一段标签列表包括所述转发路径上所有节点的段标签,所述第二段标签列表包括与所述转发路径的方向相反的返回路径上的至少一个节点的段标签,所述第二段标签列表中的段标签个数小于所述第一段标签列表中的段标签个数;通过所述转发路径发送携带所述第一段标签列表和所述第二段标签列表的双向转发检测回声BFD Echo报文;根据是否通过所述返回路径接收到所述BFD Echo报文确定所述转发路径是否正常。通过该方法可以正确检测转发路径的连通性,且安全性较高。
附图说明
图1为现有技术中的转发路径检测方法场景示意图;
图2为本申请实施例提供的一种转发路径检测方法流程示意图;
图3为本申请提供的实施例1的场景图;
图4为本申请提供的实施例2的场景图;
图5为本申请实施例中一种转发路径检测装置的结构示意图;
图6为本申请实施例中电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了保证在检测SRv6路径时不误判转发路径故障,业界提出,在SRv6技术中,BFDEcho报文生成时,在报文扩展头部中携带用于指示转发路径的方向的IPv6段标签,也携带用于指示转发路径的返回方向的IPv6段标签,解决BFD Echo报文的返回路径与所要检测的转发路径不一致的问题。
参见图1所示,图1为现有技术中的转发路径检测方法场景示意图;如图1所示,待检测的转发路径为A-->B-->C-->D,返回路径为D-->C-->B->A,虽然返回路径上的所有节点均在待检测的转发路径上,节点A能够正常接收到BFD Echo报文,但BFD Echo报文的分段扩展头部(Segment Routing Header,SRH)既携带了转发路径中四个节点的IPv6段标签,又携带了返回路径中四个节点的IPv6段标签,造成了较大的信令开销。且当待检测的转发路径中的节点数量过多时,BFD Echo报文需携带较多标签数容易超出路由设备的识别范围,使得路由设备并无法正常识别。
因此,本申请提供了一种转发路径检测方法,应用于转发路径的源节点中,所述转发路径还包括至少一个中间节点和终止节点,该方法包括:获取待检测的转发路径;确定所述转发路径对应的第一段标签列表和第二段标签列表,所述第一段标签列表包括所述转发路径上所有节点的段标签,所述第二段标签列表包括与所述转发路径的方向相反的返回路径上的至少一个节点的段标签,所述第二段标签列表中的段标签个数小于所述第一段标签列表中的段标签个数;通过所述转发路径发送携带所述第一段标签列表和所述第二段标签列表的双向转发检测回声BFD Echo报文;根据是否通过所述返回路径接收到所述BFDEcho报文确定所述转发路径是否正常。通过该方法可以正确检测转发路径的连通性,且安全性较高。
以图1为例,通过本申请实施例提供的技术方案,可使BFD Echo报文的SRH携带的段标签列表中的IPv6段标签数量将小于8个。
下面介绍本申请实施例提供的技术方案的具体实现过程。
请参见图2所示,图2为本申请实施例提供的一种转发路径检测方法流程示意图,该方法应用于转发路径的源节点中,所述转发路径还包括至少一个中间节点和终止节点,该方法流程包括:
201:获取待检测的转发路径。
应理解,所述转发路径为SRv6路径,确定待检测的转发路径的方式可以是由配置管理员预先配置好或其他方式实现,本申请实施例不做具体的限定。所述SRv6路径上设置有多个节点,每个节点设置有一个路由设备。
例如,源节点检测模块确定所要检测的SRv6路径,假设所要检测的转发路径上的路由设备个数为m个,设备的编号分别为T(1),T(2),T(3)....T(m),其中T(1)为源节点,T(m)为终止节点。
202:确定所述转发路径对应的第一段标签列表和第二段标签列表。
应理解,获取了待检测的转发路径之后,根据待检测的转发路径上的节点的标识确定第一段标签列表。第二段标签列表则根据返回路径来确定,详细的确定过程下文会给出解释。
203:通过所述转发路径发送携带所述第一段标签列表和所述第二段标签列表的双向转发检测回声BFD Echo报文。
应理解,所述BFD Echo报文中携带第一段标签列表和第二段标签列表,所述第一段标签列表包括所述待检测的转发路径上所有节点的段标签,所述第二段标签列表包括返回路径上的一个或多个节点的段标签,所述返回路径是所述待检测的转发路径的反方向路径,所述第二段标签列表中的段标签个数小于所述第一段标签列表中的段标签个数,所述段标签包括用于识别节点的标识。
应理解,本申请中对SRv6路径进行检测,利用BFD Echo报文的双向转发检测功能对待检测的转发路径及其返回路径进行故障检测,其中所述返回路径与所述待检测的转发路径的反方向重合,即返回路径上包括的节点与所述待检测的转发路径一样,返回路径上各节点的相对顺序与待检测的转发路径上各节点的相对顺序正好相反,上述段标签在下文的实施例中为IPv6段标签。
例如,假设要检测的SRv6路径为A-->B-->C-->E-->F-->G,则返回路径为G-->F-->E->E-->B-->A,两者均包括了节点A、节点B、节点C、节点E、节点F、节点G,但返回路径需要的IPv6段标签数少于待检测的转发路径所需的标签数,后面的例子会给出详细的解释说明。
以下介绍确定返回路径所需的标签数即确定第二段标签列表的详细过程。
在一种可能的实施方式中,源节点确定所述转发路径对应的第二段标签列表,包括:确定所述返回路径上第i个节点与之后的每个节点之间的至少一条最短路径;其中,1≤i<n,n为所述返回路径的终点;确定所述至少一条最短路径中是否存在满足条件的最短路径;若确定所述第i个节点与之后的第i+1个节点到第j个节点之间的每个节点之间存在满足条件的最短路径,而所述第i个节点与第j+1个节点之间不存在满足所述条件的最短路径,则将第j个节点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第i个节点到所述第j-1个节点之间的节点的段标签;其中,i<j<n;所述满足条件的最短路径为存在于所述返回路径上的路径。
在一种可能的实施方式中,源节点确定所述第j个节点与之后的每个节点之间的至少一条最短路径;若源节点确定所述第j个节点与之后的第j+1个节点到第m个节点之间的每个节点之间存在满足所述条件的最短路径,但所述第j个节点与第m+1个节点之间不存在满足所述条件的最短路径,则将第m个节点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第j个节点到所述第m个节点之间的节点的段标签,所述第二段标签列表中,所述第m个节点的段标签位于所述第j个节点的段标签之后,j<m<n。
在一种可能的实施方式中,若源节点确定所述第j个节点与之后的第j+1个节点到第m个节点之间的每个节点之间存在满足所述条件的最短路径,所述第m个节点是所述返回路径的终点,则将所述返回路径的终点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第j个节点与所述返回路径的终点之间的其它节点的段标签,所述返回路径的终点的段标签位于所述第二段标签列表的末尾。
应理解,上述源节点根据最短路由算法逐次计算待检测的转发路径的终点到返回路径上各个中间节点的最短路径,并依次判断最短路径是否与待检测的转发路径的反方向重合;源节点还可以根据最短路径算法一次计算出待检测的转发路径的终点到达返回路径上其他节点的最短路径,并依次判断最短路径是否与待检测的转发路径的反方向重合。
源节点确定好返回路径的第二段标签列表后,构造BFD Echo报文,并根据第二段标签列表对BFD Echo报文进行封装,使得所述BFD Echo报文的路由扩展头部携带所述第一段标签列表和所述第二段标签列表,所述BFD Echo报文的外层头部的目的地址为所述待检测的转发路径上第一个节点的段标签地址。
举例来说,当i为1,j为3,n为6时,如图3所示,假设待检测的转发路径为A-->B-->C-->E-->F-->G,返回路径为G-->F-->E-->C-->B-->A,源节点为节点A,即节点A根据最短路由算法确定路径上节点G到节点F、节点E、节点C、节点B、节点A之间的最短路径,最短路径G-->F、G-->F-->E均和待检测的转发路径的反方向重合,但最短路径G-->D-->C与待检测的转发路径的反方向不重合,将节点E的段标签作为返回路径的第一个段标签;节点A根据最短路由算法确定路径上节点E到节点C、节点B、节点A之间的最短路径,最短路径E-->C和待检测的转发路径的反方向重合,但最短路径E-->B均与待检测的转发路径的反方向不重合,将节点C的段标签作为返回路径的第二个段标签;节点A根据最短路由算法确定路径上节点C到节点B、节点A之间的最短路径,最短路径C-->B和待检测的转发路径的反方向重合,但最短路径C-->B-->A均与待检测的转发路径的反方向重合,但节点A为转发路径上的源节点,将节点A的段标签作为返回路径的最后一个段标签。
204:根据是否通过所述返回路径上接收到所述BFD Echo报文确定所述转发路径是否正常。
示例性的,构造好BFD Echo报文之后,源节点根据BFD Echo报文中的扩展头部SRH携带的第一段标签列表和第二段标签列表,对BFD Echo报文进行转发来回检测待检测的SRv6路径;若源节点在返回路径上接收到BFD Echo报文,则说明待检测的SRv6路径的连通性正常;若源节点在所述返回路径上没有接收到所述BFD Echo报文,则确定所述待检测的转发路径故障。
下面介绍具体的实施例。
参见图3所示,图3为本申请实施例提供的应用场景示意图,如图3所示,假设节点A~G都支持SRv6,其段标签分别为1000::1~1006::1,其中节点之间链路度量值分别为10。现在需要由节点A建立BFD会话检测SRv6路径的连通性,即检测A-->B-->C-->E-->F-->G的连通性。
实施例1
请参见图3,图3为本申请提供的实施例1的场景图。首先,由节点A根据配置管理员预先设定的配置信息确定待检测的转发路径:A-->B-->C-->E-->F-->G,该转发路径上IPv6段标签列表为[1001::1,1002::1,1004::1,1005::1,1006::1]。
根据要检测的SRv6路径A-->B-->C-->E-->F-->G确定返回路径为G-->F-->E->E-->B-->A,则返回路径包括了节点A、节点B、节点C、节点E、节点F、节点G。
源节点A构建返回路径的段标签列表的详细过程如下:
(1)节点A根据最短路径算法计算出节点G到达返回路径上节点F、节点E、节点C、节点B、节点A的最短路径;得到的最短路径如表1所示;
表1
(2)节点A确定节点G到节点F的最短路径为G-->F,G-->F路径与转发路径的反方向重合,继续步骤(3)。
(3)节点A确定节点G到节点E的最短路径为G-->F-->E,G-->F-->E路径与转发路径的反方向重合,继续步骤(4)。
(4)节点A确定节点G到节点C的最短路径为G-->D-->C,G-->D-->C路径与转发路径的反方向不重合,将上一步骤中节点E作为返回路径上的第一个段标签所属节点R(1),节点E的段标签1004::1作为返回路径的第1个段标签。
(5)节点A根据最短路径算法计算出节点E到达返回路径上节点C、节点B、节点A的最短路径(排除了节点G、节点F、节点E),如表2所示;
表2
节点 | 最短路径 |
S[E,C] | E-->C |
S[E,B] | E-->B |
S[E,A] | E-->B-->A |
(6)节点A确定节点E到节点C的最短路径为E-->C,E-->C路径与转发路径的反方向重合,继续步骤(7)。
(7)节点A确定节点E到节点B的最短路径为E-->B,E-->B路径与转发路径的反方向不重合,将上一步骤中的节点C作为返回路径上的第2个段标签所属节点R(2),其段标签1002::1作为返回路径的第2个段标签。
(8)节点A根据最短路径算法计算出节点C到达返回路径上节点B、节点A的最短路径(排除了节点G、节点F、节点E、节点C),如表3所示;
表3
节点 | 最短路径 |
S[C,B] | C-->B |
S[C,A] | C-->B-->A |
(9)节点A确定节点C到节点B的最短路径为C-->B,C-->B路径与转发路径的反方向重合,路径C-->B-->A与转发路径的反方向重合,但节点A为转发路径的源节点,将节点A作为返回路径上的最后一个段标签所属节点R(3),节点A的段标签1000::1作为返回路径的最后一个段标签。
经过上述步骤后,节点A的返回路径G-->F-->E-->C-->B-->A,所需要段标签列表为[1004::1,1002::1,1000::1]。
节点A生成检测SRv6路径的BFD Echo报文,其中BFD Echo报文的源地址及目的地址设置为节点A的IPv6段标签地址1000::1;节点A将SRv6的BFD Echo报文封装上扩展头部SRH及外层IPv6头部,其中SRH中的携带的段标签列表为[1001::1,1002::1,1004::1,1005::1,1006::1,1004::1,1002::1,1000::1],外层IPv6头部的目的地址为1001::1,并通过IPv6转发出去。
节点A将SRv6的BFD Echo报文首先沿着[1001::1,1002::1,1004::1,1005::1,1006::1]转发至节点G,接着通过返回路径的段标签列表[1004::1,1002::1,1000::1]将BFD Echo报文转发回节点A。
实施例2
请参见图4,图4为本申请提供的实施例2的场景图。首先,由节点A根据配置管理员预先设定的配置信息确定待检测的转发路径:A-->B-->C-->D-->G,该转发路径上IPv6段标签列表为[1001::1,1002::1,1003::1,1006::1]。
根据要检测的SRv6路径为A-->B-->C-->D-->G,则返回路径为G-->D-->C-->B-->A,则返回路径包括了A、B、C、D、G节点。
节点A构建返回路径G-->D-->C-->B-->A的段标签列表的详细过程如下:
节点A根据最短路径算法计算出节点G到达节点D的最短路径;得到节点G到节点D的最短路径为G-->D,G-->D路径与转发路径的反方向重合;节点A确定节点G到节点C的最短路径为G-->C,G-->C路径与转发路径的反方向不重合,将节点D的段标签1003::1作为返回路径上的第一个段标签作为返回路径的第1个段标签。
节点A确定节点D到节点C的最短路径为D-->C,G-->C路径与转发路径的反方向重合;
节点A确定节点D到节点B的最短路径为D-->C-->B,D-->C-->B路径与转发路径的反方向重合。
节点A确定节点D到节点A的最短路径为D-->C-->B-->A,D-->C-->B-->A路径与转发路径的反方向重合;但节点A为待检测的转发路径的源节点,将节点A的段标签1000::1作为返回路径的最后一个段标签。
经过上述步骤后,节点A的返回路径G-->D-->C-->B-->A所需要段标签列表为[1003::1,1000::1]。
节点A生成检测SRv6路径的BFD Echo报文,其中BFD Echo报文的源地址及目的地址设置为节点A的IPv6段标签地址1000::1;节点A将SRv6的BFD Echo报文封装上扩展头部SRH及外层IPv6头部,其中SRH中的携带的段标签列表为[1001::1,1002::1,1003::1,1006::1,1003::1,1000::1],外层IPv6头部的目的地址设置为1001::1,并通过IPv6转发出去。
节点A将SRv6的BFD Echo报文首先沿着[1001::1,1002::1,1003::1,1006::1]转发至节点G,接着通过返回路径的段标签列表[1003::1,1000::1]将BFD Echo报文转发回节点A。
基于同一发明构思,本申请实施例中还提供了一种转发路径检测装置,所述转发路径还包括至少一个中间节点和终止节点,该装置例如可以是前述实施例中的源节点,也可以是硬件结构、软件模块、或硬件结构加软件模块。请参见图5,图5为本申请实施例提供的一种转发路径检测装置示意图,该装置包括:
获取模块501,用于获取待检测的转发路径;
处理模块502,用于确定所述转发路径对应的第一段标签列表和第二段标签列表,所述第一段标签列表包括所述转发路径上所有节点的段标签,所述第二段标签列表包括与所述转发路径的方向相反的返回路径上的至少一个节点的段标签,所述第二段标签列表中的段标签个数小于所述第一段标签列表中的段标签个数;
通信模块503,用于通过所述转发路径发送携带所述第一段标签列表和所述第二段标签列表的双向转发检测回声BFD Echo报文;
所述处理模块502,还用于根据是否通过所述返回路径接收到所述BFDEcho报文确定所述转发路径是否正常。
可选的,所述处理模块502,用于根据是否通过所述返回路径上接收到所述BFDEcho报文确定所述转发路径是否正常,具体用于:
监测是否通过所述返回路径接收到所述BFD Echo报文;
若通过所述返回路径接收到所述BFD Echo报文,则确定所述转发路径正常;
若未通过所述返回路径接收到所述BFD Echo报文,则确定所述转发路径故障。
可选的,所述处理模块502用于确定所述转发路径对应的第二段标签列表,具体用于:
确定所述返回路径上第i个节点与之后的每个节点之间的至少一条最短路径;其中,1≤i<n,n为所述返回路径的终点;
确定所述至少一条最短路径中是否存在满足条件的最短路径;
若确定所述第i个节点与之后的第i+1个节点到第j个节点之间的每个节点之间存在满足条件的最短路径,而所述第i个节点与第j+1个节点之间不存在满足所述条件的最短路径,则将第j个节点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第i个节点到所述第j-1个节点之间的节点的段标签;其中,i<j<n;
所述满足条件的最短路径为存在于所述返回路径上的路径。
可选的,所述处理模块502还用于:
确定所述第j个节点与之后的每个节点之间的至少一条最短路径;
若确定所述第j个节点与之后的第j+1个节点到第m个节点之间的每个节点之间存在满足所述条件的最短路径,但所述第j个节点与第m+1个节点之间不存在满足所述条件的最短路径,则将第m个节点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第j个节点到所述第m个节点之间的节点的段标签,所述第二段标签列表中,所述第m个节点的段标签位于所述第j个节点的段标签之后,j<m<n。
可选的,所述处理模块502还用于:
若确定所述第j个节点与之后的第j+1个节点到第m个节点之间的每个节点之间存在满足所述条件的最短路径,所述第m个节点是所述返回路径的终点,则将所述返回路径的终点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第j个节点与所述返回路径的终点之间的其它节点的段标签,所述返回路径的终点的段标签位于所述第二段标签列表的末尾。
基于上述实施例,参见图6所示为本申请实施例中电子设备的结构示意图。
基于同一发明构思,本申请实施例提供一种设置有检测转发路径功能的电子设备,请参见图6所述,图6为本申请实施例提供的电子设备的结构示意图。该设置有检测转发路径功能的电子设备包括至少一个处理器602,以及与至少一个处理器连接的存储器601,本申请实施例中不限定处理器602与存储器601之间的具体连接介质,图6是以处理器602和存储器601之间通过总线600连接为例,总线600在图6中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不以此为限。总线600可以分为地址总线、数据总线、控制总线等,为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,存储器601存储有可被至少一个处理器602执行的指令,至少一个处理器602通过调用存储器601存储的指令,可以执行前述的使用相册的方法中所包括的步骤。
其中,处理器602是设置有检测转发路径功能的电子设备的控制中心,可以利用各种接口和线路连接整个设置有检测转发路径功能的电子设备的各个部分,通过执行存储在存储器601内的指令,从而实现设置有检测转发路径功能的电子设备的各种功能。可选的,处理器602可包括一个或多个处理单元,处理器602可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器602中。在一些实施例中,处理器602和存储器601可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
存储器601作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器601可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(StaticRandom Access Memory,SRAM)、可编程只读存储器(Programmable Read OnlyMemory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器601是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器601还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
处理器602可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的检测转发路径的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
通过对处理器602进行设计编程,可以将前述实施例中介绍的检测转发路径的方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的检测转发路径的方法的步骤,如何对处理器602进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于上述实施例,本申请实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的转发路径检测方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种转发路径检测方法,应用于转发路径的源节点中,所述转发路径还包括至少一个中间节点和终止节点,其特征在于,包括:
获取待检测的转发路径;
确定所述转发路径对应的第一段标签列表和第二段标签列表,所述第一段标签列表包括所述转发路径上所有节点的段标签,所述第二段标签列表包括与所述转发路径的方向相反的返回路径上的至少一个节点的段标签,所述第二段标签列表中的段标签个数小于所述第一段标签列表中的段标签个数;
通过所述转发路径发送携带所述第一段标签列表和所述第二段标签列表的双向转发检测回声BFD Echo报文;
根据是否通过所述返回路径接收到所述BFD Echo报文确定所述转发路径是否正常;
其中,确定所述转发路径对应的第二段标签列表,包括:
确定所述返回路径上第i个节点与之后的每个节点之间的至少一条最短路径;其中,1≤i<n,n为所述返回路径的终点;
确定所述至少一条最短路径中是否存在满足条件的最短路径;
若确定所述第i个节点与之后的第i+1个节点到第j个节点之间的每个节点之间存在满足条件的最短路径,而所述第i个节点与第j+1个节点之间不存在满足所述条件的最短路径,则将第j个节点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第i个节点到第j-1个节点之间的节点的段标签;其中,i<j<n;
所述满足条件的最短路径为存在于所述返回路径上的路径。
2.如权利要求1所述的方法,其特征在于,所述根据是否通过所述返回路径接收到所述BFD Echo报文确定所述转发路径是否正常,包括:
监测是否通过所述返回路径接收到所述BFD Echo报文;
若通过所述返回路径接收到所述BFD Echo报文,则确定所述转发路径正常;
若未通过所述返回路径接收到所述BFD Echo报文,则确定所述转发路径故障。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述第j个节点与之后的每个节点之间的至少一条最短路径;
若确定所述第j个节点与之后的第j+1个节点到第m个节点之间的每个节点之间存在满足所述条件的最短路径,但所述第j个节点与第m+1个节点之间不存在满足所述条件的最短路径,则将第m个节点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第j个节点到所述第m个节点之间的节点的段标签,所述第二段标签列表中,所述第m个节点的段标签位于所述第j个节点的段标签之后,j<m<n。
4.如权利要求3所述的方法,其特征在于,还包括:
若确定所述第j个节点与之后的第j+1个节点到第m个节点之间的每个节点之间存在满足所述条件的最短路径,所述第m个节点是所述返回路径的终点,则将所述返回路径的终点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第j个节点与所述返回路径的终点之间的其它节点的段标签,所述返回路径的终点的段标签位于所述第二段标签列表的末尾。
5.一种转发路径检测装置,应用于转发路径的源节点中,所述转发路径还包括至少一个中间节点和终止节点,其特征在于,包括:
获取模块,用于获取待检测的转发路径;
处理模块,用于确定所述转发路径对应的第一段标签列表和第二段标签列表,所述第一段标签列表包括所述转发路径上所有节点的段标签,所述第二段标签列表包括与所述转发路径的方向相反的返回路径上的至少一个节点的段标签,所述第二段标签列表中的段标签个数小于所述第一段标签列表中的段标签个数;
通信模块,用于通过所述转发路径发送携带所述第一段标签列表和所述第二段标签列表的双向转发检测回声BFD Echo报文;
所述处理模块,还用于根据是否通过所述返回路径接收到所述BFD Echo报文确定所述转发路径是否正常;
其中,所述处理模块,用于确定所述转发路径对应的第二段标签列表,具体用于:
确定所述返回路径上第i个节点与之后的每个节点之间的至少一条最短路径;其中,1≤i<n,n为所述返回路径的终点;
确定所述至少一条最短路径中是否存在满足条件的最短路径;
若确定所述第i个节点与之后的第i+1个节点到第j个节点之间的每个节点之间存在满足条件的最短路径,而所述第i个节点与第j+1个节点之间不存在满足所述条件的最短路径,则将第j个节点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第i个节点到第j-1个节点之间的节点的段标签;其中,i<j<n;
所述满足条件的最短路径为存在于所述返回路径上的路径。
6.如权利要求5所述的装置,其特征在于,所述处理模块,用于根据是否通过所述返回路径上接收到所述BFD Echo报文确定所述转发路径是否正常,具体用于:
监测是否通过所述返回路径接收到所述BFD Echo报文;
若通过所述返回路径接收到所述BFD Echo报文,则确定所述转发路径正常;
若未通过所述返回路径接收到所述BFD Echo报文,则确定所述转发路径故障。
7.如权利要求5所述的装置,其特征在于,所述处理模块还用于:
确定所述第j个节点与之后的每个节点之间的至少一条最短路径;
若确定所述第j个节点与之后的第j+1个节点到第m个节点之间的每个节点之间存在满足所述条件的最短路径,但所述第j个节点与第m+1个节点之间不存在满足所述条件的最短路径,则将第m个节点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第j个节点到所述第m个节点之间的节点的段标签,所述第二段标签列表中,所述第m个节点的段标签位于所述第j个节点的段标签之后,j<m<n。
8.如权利要求7所述的装置,其特征在于,所述处理模块还用于:
若确定所述第j个节点与之后的第j+1个节点到第m个节点之间的每个节点之间存在满足所述条件的最短路径,所述第m个节点是所述返回路径的终点,则将所述返回路径的终点的段标签添加到所述第二段标签列表中,所述第二段标签列表中不包括所述第j个节点与所述返回路径的终点之间的其它节点的段标签,所述返回路径的终点的段标签位于所述第二段标签列表的末尾。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-4任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911213332.7A CN110855531B (zh) | 2019-12-02 | 2019-12-02 | 一种转发路径检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911213332.7A CN110855531B (zh) | 2019-12-02 | 2019-12-02 | 一种转发路径检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110855531A CN110855531A (zh) | 2020-02-28 |
CN110855531B true CN110855531B (zh) | 2021-09-14 |
Family
ID=69607061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911213332.7A Active CN110855531B (zh) | 2019-12-02 | 2019-12-02 | 一种转发路径检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110855531B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113382452B (zh) * | 2020-03-09 | 2023-04-07 | 中国移动通信有限公司研究院 | 路径建立方法、数据传输方法、装置、网络节点及存储介质 |
CN113472601B (zh) * | 2020-03-31 | 2023-03-28 | 华为技术有限公司 | 连接状态检测方法以及相关设备 |
CN113542118B (zh) * | 2020-04-13 | 2024-01-23 | 中兴通讯股份有限公司 | 分段路由头压缩方法、业务处理方法及装置 |
CN111541575B (zh) * | 2020-04-30 | 2023-06-09 | 重庆富民银行股份有限公司 | 一种用于闭源网络设备的自动化巡检方法及系统 |
CN113973066A (zh) * | 2020-07-24 | 2022-01-25 | 华为技术有限公司 | 对p2mp树连通性检测的方法、设备和系统 |
CN113381933B (zh) * | 2021-06-04 | 2022-08-12 | 烽火通信科技股份有限公司 | SRv6网络中双向转发检测的方法与系统 |
CN115460107A (zh) * | 2021-06-08 | 2022-12-09 | 华为技术有限公司 | 路由检测方法、设备、系统及存储介质 |
CN115695246A (zh) * | 2021-07-29 | 2023-02-03 | 华为技术有限公司 | 一种基于SRv6的隧道质量检测方法和相关装置 |
CN113904972B (zh) * | 2021-11-22 | 2023-12-19 | 迈普通信技术股份有限公司 | 路径检测方法、装置、控制器及pe设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102656843A (zh) * | 2009-12-18 | 2012-09-05 | 阿尔卡特朗讯 | 用于定位沿传输路径发生的故障的方法 |
CN106161246A (zh) * | 2016-06-15 | 2016-11-23 | 杭州华三通信技术有限公司 | 备用路由的实现方法及装置 |
CN106982153A (zh) * | 2017-05-18 | 2017-07-25 | 烽火通信科技股份有限公司 | 一种多段伪线网络连通性检测方法 |
CN106998273A (zh) * | 2016-01-26 | 2017-08-01 | 中兴通讯股份有限公司 | 链路故障检测方法及装置 |
CN108768788A (zh) * | 2018-06-26 | 2018-11-06 | 新华三技术有限公司合肥分公司 | 路径故障检测方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624609A (zh) * | 2012-02-28 | 2012-08-01 | 华为技术有限公司 | 反向bfd报文发送、通知路径的方法及装置 |
US10541904B2 (en) * | 2016-12-14 | 2020-01-21 | Hewlett Packard Enterprise Development Lp | Establishing a network fault detection session |
-
2019
- 2019-12-02 CN CN201911213332.7A patent/CN110855531B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102656843A (zh) * | 2009-12-18 | 2012-09-05 | 阿尔卡特朗讯 | 用于定位沿传输路径发生的故障的方法 |
CN106998273A (zh) * | 2016-01-26 | 2017-08-01 | 中兴通讯股份有限公司 | 链路故障检测方法及装置 |
CN106161246A (zh) * | 2016-06-15 | 2016-11-23 | 杭州华三通信技术有限公司 | 备用路由的实现方法及装置 |
CN106982153A (zh) * | 2017-05-18 | 2017-07-25 | 烽火通信科技股份有限公司 | 一种多段伪线网络连通性检测方法 |
CN108768788A (zh) * | 2018-06-26 | 2018-11-06 | 新华三技术有限公司合肥分公司 | 路径故障检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110855531A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110855531B (zh) | 一种转发路径检测方法及装置 | |
US10868734B2 (en) | Service function chain detection path method and device | |
US6347079B1 (en) | Apparatus and methods for path identification in a communication network | |
CN106878164B (zh) | 一种报文传输方法和装置 | |
CN109495320B (zh) | 一种数据报文的传输方法和装置 | |
CN101536411A (zh) | Pbt网络中的中间节点上的以太网oam | |
WO2017000790A1 (zh) | 网关设备响应网络连通性方法和装置 | |
CN106936655A (zh) | 链路检测方法、装置及网络设备、控制器 | |
CN109873766B (zh) | 报文传输方法和装置 | |
CN110011941B (zh) | 一种报文转发方法及设备 | |
CN113904972B (zh) | 路径检测方法、装置、控制器及pe设备 | |
CN105379201A (zh) | 路径切换的方法和设备 | |
CN109167700B (zh) | 段路由sr隧道的检测方法和装置 | |
CN112994839A (zh) | 灵活以太网开销复帧接收方法、装置、设备及介质 | |
CN113904985B (zh) | 一种段列表获取方法、报文转发方法、装置及电子设备 | |
CN112737856A (zh) | 链路追踪方法和装置、存储介质及电子装置 | |
US20150089047A1 (en) | Cut-through packet management | |
CN102833122B (zh) | 一种环回检测方法及系统 | |
CN107547412B (zh) | 一种stp计算方法和装置 | |
CN109560964B (zh) | 一种设备合规检查方法及装置 | |
CN109150707B (zh) | 路由路径分析方法及设备 | |
CN114827013B (zh) | 配电网站域式快速保护系统数据冗余发送方法及相关装置 | |
CN112751724A (zh) | 检测链路状态的方法及装置 | |
CN114301813A (zh) | 一种ping检测的时延测量方法及装置 | |
CN112669471B (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 |