首页> 中国专利> 分段路由故障检测方法、装置、第一分段路由及目的路由

分段路由故障检测方法、装置、第一分段路由及目的路由

摘要

本发明是关于一种分段路由故障检测方法、装置、第一分段路由及目的路由,涉及网络和数据通讯技术领域,本发明方法包括:接收到上一路由的SRH包后,对与第一分段路由连接的至少一个第二分段路由的连接状态进行检测,得到至少一个第二分段路由的检测结果;将至少一个第二分段路由的检测结果置于SRH包得到新的SRH包,并根据目的路由,确定传输路径;基于传输路径,将新的SRH包传递给下一路由,以使目的路由基于收到的SRH包中的检测结果确定发生故障的分段路由。由于本发明实施例能够在SRH包传递过程中,检测并记录两个分段路由之间的连接状态的检测结果,确定分段路由的故障情况,能够精确定位到具体的故障路由,提高了服务质量。

著录项

  • 公开/公告号CN113179189A

    专利类型发明专利

  • 公开/公告日2021-07-27

    原文格式PDF

  • 申请/专利权人 锐捷网络股份有限公司;

    申请/专利号CN202110575218.X

  • 发明设计人 陈小龙;陈源权;

    申请日2021-05-26

  • 分类号H04L12/24(20060101);H04L12/26(20060101);

  • 代理机构11291 北京同达信恒知识产权代理有限公司;

  • 代理人刘新月

  • 地址 350002 福建省福州市仓山区金山大道618号桔园州工业园19#楼

  • 入库时间 2023-06-19 12:00:51

说明书

技术领域

本发明涉及网络和数据通讯技术领域,尤其涉及一种分段路由故障检测方法、装置、第一分段路由及目的路由。

背景技术

分段路由(Segment Routing,SR)技术是一种在网络入口部署转发路径的路由技术。SR是基于源路由的理念而设计的在网络中转发数据包的一种协议。SR将网络路径划分为一个个段,为这些段或节点分配段标识(英文全称:Segment ID,英文简称:SID),通过在数据包中携带依次排列的段标识,能够让数据包通过段标识指示的转发路径传输。基于互联网协议第6版(internet protocol version 6,IPv6)的分段路由(SRv6)是指将SR技术与IPv6协议结合起来,按照IPv6地址的格式定义为实例化的SID,基于IPv6的转发面来实现SR的功能。

目前,信息在网络中传递时,如果遇到故障的分段路由会重新确定路径,直到发给目的路由,只有当目的路由处于失效的状态,用户才会意识到发生故障,现有方式,无法定位端到端中间的多个分段路由的失效情况,无法精准定位到具体故障节点,如果故障长时间未解决,会导致服务质量、可用性下降问题。

发明内容

本发明提供一种分段路由故障检测方法、装置、第一分段路由及目的路由,在SRH包传递过程中,经过每个分段路由时,都会检测与该分段路由连接的分段路由的连接状态,从而能够确定分段路由的故障情况,精确定位到具体的故障路由,提高了服务质量。

第一方面,本发明实施例提供的一种分段路由故障检测方法,应用于第一分段路由,包括:

接收到上一路由的SRH包后,对与所述第一分段路由连接的至少一个第二分段路由的连接状态进行检测,得到至少一个第二分段路由的检测结果;

将至少一个所述第二分段路由的检测结果置于所述SRH包得到新的SRH包,并根据目的路由,确定传输路径;

基于所述传输路径,将所述新的SRH包传递给下一路由,以使所述目的路由基于收到的SRH包中的检测结果确定发生故障的分段路由。

上述方法,能够在SRH包传输到哪个分段路由时,该分段路由就对与自己连接的至少一个第二分段路由的连接状态进行检测,得到至少一个第二分段路由的检测结果,并将结果置于SRH包得到新的SRH包,这样当SRH包传输到目的路由后,目的路由可以得到多个分段路由的检测结果,并根据检测结果确定发生故障的分段路由,从而实现精确定位到具体的故障路由,提高了服务质量和可用性。

在一种可能的实现方式中,将至少一个所述第二分段路由的检测结果置于所述SRH包得到新的SRH包,还包括:

针对每个第二分段路由,将所述第一分段路由的segment段列表顺序、所述第二分段路由的段标识和所述第二分段路由的检测结果进行绑定,将绑定后的segment段列表顺序、段标识和检测结果作为TLV属性置于所述SRH包,得到新的SRH包。

上述方法,由于分段路由在网络中会有至少一个与之连接的分段路由,第一分段路由的segment段列表顺序代表第一分段路由,第二分段路由的段标识,代表第二分段路由,将这些与检测结果进行绑定时,能够确定检测结果是哪两个分段路由之间的连接状态的检测结果,同时,将该检测结果置于TLV属性中,由于TLV属性无需使用TLV处理策略就可以得到,提高了SRH包的处理速度。

在一种可能的实现方式中,对与所述第一分段路由连接的至少一个第二分段路由的连接状态进行检测,得到至少一个第二分段路由的检测结果之前,所述方法还包括:

确定所述SRH包中的标志位为检测标志位。

上述方法,能够通过检测SRH包的标志位的方式,确定SRH包的用途为故障检测,从而能够提高SRH包的处理效率。

在一种可能的实现方式中,对与所述第一分段路由连接的至少一个第二分段路由的连接状态进行检测,得到至少一个第二分段路由的检测结果,包括:

针对每个第二分段路由,在预设时间段内给所述第二分段路由发送第一预设个数的心跳探测报文;

将接收到的有效的心跳探测响应报文的个数,作为所述第二分段路由的检测结果;其中,接收到所述有效的心跳探测响应报文和发送对应的心跳探测报文之间的时长在预设接收时长内。

上述方法,通过发生心跳探测报文的方式检测第一分段路由与自己连接的第二分段路由的连接状态,得到检测结果,实现连接状态的检测。

第二方面,本发明实施例提供的一种分段路由故障检测方法,应用于目的路由,包括:

接收到SRH包后,从所述SRH包中获取至少一个检测结果;其中,至少一个检测结果为第一分段路由对与所述第一分段路由连接的至少一个第二分段路由的连接状态进行检测后,置于所述SRH包并传输到所述目的路由的;

根据每个检测结果,判断目标分段路由是否发生故障,其中,所述目标分段路由包括第一分段路由和/或第二分段路由。

在一种可能的实现方式中,从所述SRH包中获取至少一个检测结果之前,所述方法还包括:

确定所述SRH包中的标志位为检测标志位。

在一种可能的实现方式中,根据每个检测结果,判断目标分段路由是否发生故障之后,所述方法还包括:

根据发生故障的目标分段路由的信息,生成故障信息,将所述故障信息发送给所述目的路由所在的网络中的每个路由,以使每个路由在进行报文传递时避免将报文传递给故障的目标分段路由。

在一种可能的实现方式中,从所述SRH包中获取至少一个检测结果,包括:

根据从所述SRH包的TLV属性中的segment列表顺序、段标识和检测结果的绑定关系,确定包含所述段标识所属的分段路由的检测结果。

在一种可能的实现方式中,根据每个检测结果,判断目标分段路由是否发生故障,包括:

针对包含目标分段路由的每个检测结果,若所述检测结果中包含的有效的心跳探测响应报文的个数超过第二预设个数,则确定连接结果为所述检测结果对应的两个分段路由之间处于连接状态;其中,所述心跳探测响应报文是目标分段路由发送给连接的分段路由的,且所述连接的分段路由接收到所述有效的心跳探测响应报文和发送对应的心跳探测报文之间的时长在预设接收时长内;或

若所述有效的心跳探测响应报文的个数未超过第二预设个数,则确定所述连接结果为所述检测结果对应的两个分段路由处于未连接状态;

根据包含目标分段路由的每个检测结果确定的连接结果,确定所述目标分段路由是否发生故障。

第三方面,本发明实施例提供的一种分段路由故障检测装置,应用于第一分段路由,包括:

接收模块,用于接收到上一路由的SRH包后,对与所述第一分段路由连接的至少一个第二分段路由的连接状态进行检测,得到至少一个第二分段路由的检测结果;

记录模块,用于将至少一个所述第二分段路由的检测结果置于所述SRH包得到新的SRH包,并根据目的路由,确定传输路径;

传递模块,用于基于所述传输路径,将所述新的SRH包传递给下一路由,以使所述目的路由基于收到的SRH包中的检测结果确定发生故障的分段路由。

第四方面,本发明实施例提供的一种分段路由故障检测装置,应用于目的路由,包括:

接收模块,用于接收到SRH包后,从所述SRH包中获取至少一个检测结果;其中,至少一个检测结果为第一分段路由对与所述第一分段路由连接的至少一个第二分段路由的连接状态进行检测后,置于所述SRH包并传输到所述目的路由的;

判断模块,用于根据每个检测结果,判断目标分段路由是否发生故障,其中,所述目标分段路由包括第一分段路由和/或第二分段路由。

第五方面,本发明实施例提供的一种第一分段路由,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现如第一方面实施例任一项所述的分段路由故障检测方法。

第六方面,本发明实施例提供的一种目的路由,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现如第二方面实施例任一项所述的分段路由故障检测方法。

第七方面,本申请还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述多系统启动方法的步骤,或实现第二方面所述多系统启动方法的步骤。

另外,第二方面和第七方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理,并不构成对本发明的不当限定。

图1是根据本发明实施例提供的一种网络链路的结构图;

图2是根据本发明实施例提供的一种SRH包的结构图;

图3是根据本发明实施例提供的一种TLV的结构图;

图4是根据本发明实施例提供的一种TLV属性的结构图;

图5是根据本发明实施例提供的一种分段路由故障检测方法的流程图;

图6是根据本发明实施例提供的另一种分段路由故障检测方法的流程图;

图7是根据本发明实施例提供的一种分段路由故障检测装置的结构图;

图8是根据本发明实施例提供的另一种分段路由故障检测装置的结构图。

具体实施方式

为了使本领域普通人员更好地理解本发明的技术方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

针对名称进行解释:

1、SRH包,在应用SRv6技术时,数据包头部有一个额外的Segment Routing Header(SRH,段路由头),与经典的Routing Headers(定义于RFC 8200)类似,SRH中也有下一报头、扩展报头长度、路由类型等字段。另外SRH中还包含剩余Segment(段)和首Segment,另外还包含Segment列表,排列顺序按照剩余Segment确定,例如剩余Segment为0时,SegmentList[0]就指示了最后一跳要去往的节点,同时,SRH还包含多个类型-长度-值(type-length-value,TLV),不同的TLV携带不同的指示信息。

2、第一分段路由,SRH包从源路由到目的路由的过程中,经过的分段路由称为第一分段路由。

现有技术中,在信息流通过程中无法精确定位故障路由。

在本发明实施例中,首先在源路由中制作用于故障检测的SRH包,在SRH包中设定有目的路由,然后SRH包从源路由出发经过多个第一分段路由传输到目的路由的过程中,对于每经过的一个第一分段路由,都会检测与第一分段路由连接的第二分段路由的连接状态,得到第二分段路由的检测结果,并把检测结果置于SRH包中,直到发送给目的路由,由目的路由解析SRH包,根据SRH包的检测结果,判断分段路由是否发生故障。

针对于SRH包从源路由到目的路由的所有第一分段路由来说,在接收到SRH包之后的具体过程包括:接收到上一路由的SRH包后,对与该第一分段路由连接的至少一个第二分段路由的连接状态进行检测,得到至少一个第二分段路由的检测结果;将至少一个第二分段路由的检测结果置于SRH包得到新的SRH包,并根据目的路由,确定传输路径;基于传输路径,将新的SRH包传递给下一路由,以使目的路由基于收到的SRH包中的检测结果确定发生故障的分段路由。

其中,接收到上一路由的SRH包的步骤中,上一路由可以为源路由,也可以是上一个第一分段路由。

其中,对于每一个第二分段路由来说,都会得到一个对应的检测结果,将该检测结果置于SRH包中继续向下传递,直到传递到目的路由为止。

同时,对于每个第一分段路由来说,传递的SRH包的下一路由,可以是第二分段路由中的一个,也可以是目的路由。

具体来说:如果第二分段路由中包含目的路由,则直接传输目的路由;

如果第二分段路由中不包含目的路由,则根据最短传输路径原则和目的路由,从第二分段路由中选择一个路由作为下一个路由,将SRH包传输给该下一个路由。

若SRH包传输给下一个路由之后,下一个路由是故障的,则SRH包回馈给该第一分段路由,该第一分段路由会根据最短传输路径原则、目的路由和传输路径,重新确定新的传输路径,根据新的传输路径,重新选择下一个路由,将SRH包发送给重新选择的下一个路由。

以图1中的网络结构为例,路由11为源路由,即发起SRH包的路由,路由11连接的分段路由为分段路由1、分段路由5,与分段路由1连接的分段路由包括源路由11、分段路由2、分段路由4、分段路由5,与分段路由2连接的分段路由包括分段路由1、分段路由4、分段路由3,与分段路由3连接的分段路由包括分段路由2、分段路由4、分段路由7、目的路由12,与分段路由4连接的分段路由包括分段路由1、分段路由2、分段路由3、分段路由5、分段路由6、分段路由7,与分段路由5连接的分段路由包括分段路由1、分段路由4、分段路由6、源路由11,与分段路由6连接的分段路由包括分段路由5、分段路由4、分段路由7,与分段路由7连接的分段路由包括分段路由6、分段路由4、分段路由3、目的路由12。

其中,SRH包从路由11到目的路由12经过的分段路由称为第一分段路由,当SRH包的传输路径为从路由11、经过分段路由1、分段路由4、分段路由6、分段路由7,达到目的路由12,那么分段路由1、分段路由4、分段路由6、分段路由7均是本发明定义的第一分段路由。

与第一分段路由连接的分段路由称为第二分段路由,对于分段路由4来说,分段路由1、分段路由2、分段路由3、分段路由5、分段路由6、分段路由7均为本发明定义的第二分段路由。

具体故障检测过程包括:SRH包从源路由11传递到分段路由1后,分段路由1分别对与自己连接的分段路由2、分段路由4、分段路由5的连接状态进行检测,分别得到分段路由2、分段路由4、分段路由5的检测结果;将分段路由2、分段路由4、分段路由5的检测结果置于SRH包得到新的SRH包,根据目的路由12,确定传输路径,传输路径可以为分段路由4、分段路由6、分段路由7,则将SRH包传输给分段路由4;

分段路由4分别对与自己连接的分段路由2、分段路由3、分段路由5、分段路由6、分段路由7的连接状态进行检测,分别得到分段路由2、分段路由3、分段路由5、分段路由6、分段路由7的检测结果,将分段路由2、分段路由3、分段路由5、分段路由6、分段路由7的每个检测结果置于SRH包得到新的SRH包,根据目的路由12,确定传输路径,传输路径可以为分段路由6、分段路由7,将SRH包发送给分段路由6;其中,由于SRH包在分段路由1中已经检测到与分段路由4的连接状态,所以,在SRH包中传输到分段路由4时,可以不用检测与分段路由1的连接状态,当然也可以进行检测,对此本发明做不具体限制。

分段路由6分别对与自己连接的分段路由5、分段路由7的连接状态进行检测,分别得到分段路由5、分段路由7的检测结果,将分段路由5、分段路由7的每个检测结果置于SRH包得到新的SRH包,根据目的路由12,确定传输路径,传输路径可以为分段路由7,将SRH包发送给分段路由7;

分段路由7分别对与自己连接的分段路由3的连接状态进行检测,分别得到分段路由3的检测结果,将分段路由3的每个检测结果置于SRH包得到新的SRH包,根据目的路由12,确定传输路径,传输路径可以为目的路由12,将SRH包发送给目的路由12。

在传输时,如果分段路由4是故障的,则在分段路由1传输给分段路由4后,被分段路由4退回,在分段路由1中,根据最短传输路径原则确定出来的传输路径为分段路由4、分段路由6、分段路由7,最后传递到目的路由12,如果分段路由4发生故障,那么能够传输给分段路由6最快的路径为先传给分段路由5,所以,分段路由1会将SRH包传递给分段路由5,分段路由5在接收到SRH包后,检测与自己连接的分段路由1、分段路由4、分段路由6的连接状态,得到检测结果,并将检测结果置于SRH包中,将SRH包发送给分段路由6,并继续向下传。

需要说明的是,在整个网络中并非所有的分段路由均可以执行本发明中提到的第一分段路由所执行的方法,可以根据实际需求,在整个网络中设置部分分段路由执行本发明提到的方法,本发明对此并不做具体限制。例如,分段路由4不执行本发明提到的方法时,在分段路由1传输给分段路由4后,分段路由4直接转发给分段路由6,并不会对与分段路由4连接的第二分段路由的连接状态进行检测,以及记录检测结果的过程。

由于第一分段路由要处理的SRH包有很多,而想要确定SRH包的作用,需要从SRH包中解析TLV后,再去识别TLV是否为用于检测故障检测,这样降低了处理SRH包的速度,对此,本发明实施例提出了一种方式,将SRH包中的标志位记为检测标志位,由于标志位在SRH包的首Segment后面的字段上,并非封装到SRH包的TLV中,这样当第一分段路由接收到SRH包后,就可以查看到标志位,就能够确定SRH包的用途可以为故障检测,无需处理TLV,从而提高了第一分段路由处理SRH包的速度。

进一步的,SRH包经过每个第一分段路由时,可以在segment列表中加入该第一分段路由的128位IPv6地址,所以,本发明实施例中,第一分段路由记录检测结果时,可以针对每个第二分段路由,将所述第一分段路由的segment段列表顺序、所述第二分段路由的段标识和所述第二分段路由的检测结果进行绑定,将绑定后的segment段列表顺序、段标识和检测结果作为一个TLV属性置于所述SRH包,得到新的SRH包。由于从segment段列表顺序可以知道segment列表中分段路由的128位IPv6地址,也就是第一分段路由的身份,段标识能够确认第二分段路由的身份,所以绑定后的检测结果就可以知道是哪两个分段路由之间的连接状态的检测结果了。同时由于TLV属性可以在解析完成SRH包后,无需在通过TLV处理方法处理TLV,就可以直接获取到TLV属性,从而简化了处理SRH包的过程,提高了处理速度。

例如,第一分段路由为分段路由4,分段路由4分别得到分段路由2、分段路由3、分段路由5、分段路由6、分段路由7的检测结果,将分段路由4的segment列表顺序、分段路由2的段标识和分段路由2的检测结果进行绑定,将分段路由4的segment列表顺序、分段路由3的段标识和分段路由3的检测结果进行绑定,将分段路由4的segment列表顺序、分段路由5的段标识和分段路由5的检测结果进行绑定,将分段路由4的segment列表顺序、分段路由6的段标识和分段路由6的检测结果进行绑定,将分段路由4的segment列表顺序、分段路由7的段标识和分段路由7的检测结果进行绑定,将绑定后的分段路由4的segment列表顺序、分段路由2的段标识和检测结果,绑定后的分段路由4的segment列表顺序、分段路由3的段标识和检测结果,绑定后的分段路由4的segment列表顺序、分段路由5的段标识和检测结果,绑定后的分段路由4的segment列表顺序、分段路由6的段标识和检测结果,绑定后的分段路由4的segment列表顺序、分段路由7的段标识和检测结果,作为TLV属性置于SRH包中,得到新的SRH包。

在进行连接状态检测时,第一分段路由,具体用于针对每个第二分段路由,在预设时间段内给第二分段路由发送第一预设个数的心跳探测报文;将接收到的有效的心跳探测响应报文的个数,作为第二分段路由的检测结果;其中,接收到有效的心跳探测响应报文和发送对应的心跳探测报文之间的时长在预设接收时长内。

例如,第一分段路由为分段路由1,第二分段路由为分段路由4,分段路由1检测自己与分段路由4的连接状态时,在预设时间段内给分段路由4发送第一预设个数的心跳探测报文,第一预设个数例如为5个,分段路由1发送第一个心跳探测报文给分段路由4,将第一个心跳探测报文发送给分段路由4后开始计时,在预设接收时长内,如果接收到分段路由4反馈的心跳探测响应报文,则记数1,如果没有在预设接收时长内接收到分段路由4反馈的心跳探测响应报文,则不计数,以此类比,相应发送第二个心跳探测报文给分段路由4、发送第三个心跳探测报文给分段路由4,发送第四个心跳探测报文给分段路由4,发送给第五个心跳探测报文给分段路由5,同时进行计数,然后将具体的数值作为检测结果。

基于上述公开的内容,以下列举一个示例进行说明:

结合图2所示,本发明实施例提供了一个SRH包的结构的示意图,SRH包的结构包括下一报头、扩展报头长度、路由类型、剩余segments、首segment、检测标志位、保留、segment列表的内容,segment列表[0]记录128位IPv6地址,该记录的128位IPv6地址表示源路由的IPv6地址;segment列表[n]记录128位IPv6地址,该记录的128位IPv6地址表示目的路由的IPv6地址;中间的segment列表中记录SRH包经过的第一分段路由的128位IPv6地址,每经过一个分段路由,就记录该分段路由的128位IPv6地址。

进一步的,对连接的至少一个第二分段路由的连接状态进行检测的方法可以通过心跳探测报文的方式实现,同时,为了避免对现有的分段路由改进的地方比较大,本发明实施例提出在SRH包中封装心跳探测报文,可选的,可以将心跳探测报文作为SRH包的一个TLV,在SRH包经过每个第一分段路由时,可以解析TLV,获取到心跳探测报文,并通过心跳探测报文,获取到检测结果。具体心跳探测报文可以为双向心跳探测报文。在segment列表[n]后增加可选TLV对象,结合图3所示,该可选TLV对象封装心跳探测报文,具体结构为type(类型)、Length(长度)、Variable length data,其中,Variable length data为心跳探测报文。

当第一分段路由接收到图2中的SRH结构时,确定首segment字节后的标志位为检测标志位后,从SRH包的TLV中获取心跳探测报文,通过心跳探测报文探测与第一分段路由连接的第二分段路由的连接状态,得到第二分段路由的检测结果,在segment列表中增加该第一分段路由的128位IPv6地址,将该第一分段路由的segment列表的顺序、第二分段路由的段标识、以及第二分段路由的检测结果进行绑定,并将绑定后的该第一分段路由的segment列表的顺序、第二分段路由的段标识、以及第二分段路由的检测结果作为TVL属性加入到SRH包中,加入完成后,得到一个新的SRH包发送给下一个路由。

例如,第一分段路由为分段路由4,分段路由4分别得到分段路由2、分段路由3、分段路由5、分段路由6、分段路由7的检测结果。由于SRH包经过的源路由为11、分段路由1、分段路由4,所以,segment列表[0]为路由11的IPv6地址,segment列表[1]为分段路由1的IPv6地址,segment列表[2]为分段路由4的IPv6地址;在TLV属性中记录有,经过分段路由1的检测结果,具体为分段路由1与分段路由2连接状态对应的检测结果和分段路由2的段标识的绑定关系、分段路由1与分段路由4连接状态对应的检测结果和分段路由4的段标识的绑定关系、分段路由1与分段路由5连接状态对应的检测结果和分段路由5的段标识的绑定关系,以及segment列表[1]与分段路由2的段标识、分段路由4的段标识、分段路由5的段标识的绑定关系;

在TLV属性中记录还有经过分段路由4的检测结果,具体为分段路由4与分段路由2连接状态对应的检测结果和分段路由2的段标识的绑定关系、分段路由4与分段路由3连接状态对应的检测结果和分段路由3的段标识的绑定关系、分段路由4与分段路由5连接状态对应的检测结果和分段路由5的段标识的绑定关系、分段路由4与分段路由6连接状态对应的检测结果和分段路由6的段标识的绑定关系、分段路由4与分段路由7连接状态对应的检测结果和分段路由7的段标识的绑定关系,以及segment列表[2]与分段路由2的段标识、分段路由3的段标识、分段路由5的段标识、分段路由6的段标识、分段路由7的段标识的绑定关系。

示例性的,在TLV属性封装时,TLV属性中包括以下部分或全部:标识检测标志位、源路由的心跳值、目的路由的心跳值、标识心跳、TLV条目属性、标识TLV条目属性判断;

结合图4所示,其中,为了能够快速能够识别该TLV属性的作用,则将检测标志位添加到TLV属性中;

源路由的心跳值,即源路由的有效的心跳探测响应报文的个数;目的路由的心跳值,即目的路由的有效的心跳探测响应报文的个数。

标识心跳,用于指示之后的内容为分段路由的段标识和检测结果的绑定关系;

TLV条目属性,为上述提到的segment列表顺序、分段路由的段标识和检测结果的绑定关系;

标识TLV条目属性判断,为指示之前的内容为分段路由的段标识和检测结果的绑定关系,可以根据之前的内容判断分段路由的故障情况。

对于SRH包输入到目的路由时,目的路由的具体流程包括:接收到SRH包后,从SRH包中获取至少一个检测结果;其中,检测结果为第一分段路由对与第一分段路由连接的至少一个第二分段路由的连接状态进行检测后,置于SRH包并传输到目的路由的;根据每个检测结果,判断目标分段路由是否发生故障,其中,目标分段路由为第一分段路由和/或第二分段路由。

对于目的路由来说,由于SRH包经过每个第一分段路由,就会记录与该第一分段路由连接的第二分段路由的检测结果,所以,目的路由在接收到SRH包后,从SRH包中获取到这些检测结果,根据这些检测结果,对目标分段路由是否发生故障一一进行判断。

结合图1所示,当SRH包通过分段路由1、分段路由4、分段路由6、分段路由7时,目的路由12接收到SRH包后,从SRH包中获取分段路由1与分段路由2之间的连接状态的检测结果、分段路由1与分段路由4之间的连接状态的检测结果、分段路由1与分段路由5之间的连接状态的检测结果;

分段路由4与分段路由2之间的连接状态的检测结果、分段路由4与分段路由3之间的连接状态的检测结果、分段路由4与分段路由5之间的连接状态的检测结果、分段路由4与分段路由6之间的连接状态的检测结果、分段路由4与分段路由7之间的连接状态的检测结果;

分段路由6与分段路由5之间的连接状态的检测结果、分段路由6与分段路由7之间的连接状态的检测结果;

分段路由7与分段路由3之间的连接状态的检测结果、分段路由7与分段路由4之间的连接状态的检测结果。

根据分段路由1与分段路由2之间的连接状态的检测结果、分段路由4与分段路由2之间的连接状态的检测结果,判断分段路由2之间的连接状态是否发生故障。

然后根据上述记录的内容,分别判断分段路由2、分段路由5、分段路由4、分段路由6、分段路由3、分段路由7是否发生故障。

同样的,对于目的路由中也存在会处理多个SRH包,为了提高处理速度,本发明实施例在目的路由接收到SRH包后,检测SRH包中的标志位为检测标志位后,从SRH包中获取检测结果。如果不是检测标志位,那么SRH包的用途就不为检测故障,所以,不需要从SRH包中获取到检测结果。

进一步的,根据从所述SRH包的TLV属性中的segment列表顺序、段标识和检测结果的绑定关系,确定段标识所属的分段路由对应的检测结果。

由于,同一个分段路由在网络中可能与多个第二分段路由具有连通关系,所以,知道TLV属性中的segment列表顺序,也就知道第一分段路由的身份,然后通过段标识,知道第二分段路由的身份,所以可以根据segment列表顺序、段标识和检测结果的绑定关系,可以知道绑定关系中的检测结果是哪两个分段路由之间的连接状态的检测结果。

例如,结合图1所示,segment列表顺序为segment[2],TLV属性记为L[2],则可知segment[2]为分段路由4时,segment列表顺序、段标识和检测结果的绑定关系可以记为L[2]:SID(1)和检测结果a,SID(2)和检测结果b,SID(3)和检测结果c,SID(5)和检测结果d,SID(6)和检测结果e,SID(7)和检测结果f,SID(1)为分段路由1的段标识,SID(2)为分段路由2的段标识、SID(3)为分段路由3的段标识、SID(5)为分段路由5的段标识、SID(6)为分段路由6的段标识、SID(7)为分段路由7的段标识。

那么通过segment列表顺序、段标识和检测结果的绑定关系,可知,检测结果a为分段路由4和分段路由1之间连接状态的检测结果,检测结果b为分段路由4和分段路由2之间连接状态的检测结果,检测结果c为分段路由4和分段路由3之间连接状态的检测结果,检测结果d为分段路由4和分段路由5之间连接状态的检测结果,检测结果e为分段路由4和分段路由6之间连接状态的检测结果,检测结果f为分段路由4和分段路由7之间连接状态的检测结果。

结合图1所示,由于分段路由4分别与分段路由1、分段路由2、分段路由3、分段路由5、分段路由6、分段路由7连接,那么需要根据分段路由1与分段路由4之间的连通状态的检测结果、分段路由2与分段路由4之间的连通状态的检测结果、分段路由3与分段路由4之间的连通状态的检测结果、分段路由5与分段路由4之间的连通状态的检测结果、分段路由6与分段路由4之间的连通状态的检测结果、分段路由7与分段路由4之间的连通状态的检测结果,确定分段路由4是否发生故障。

其中,目的路由具体的判断过程为,针对包含目标分段路由的每个检测结果,若检测结果中包含的有效的心跳探测响应报文的个数超过第二预设个数,则确定连接结果为该检测结果对应的两个分段路由之间处于连接状态;其中,心跳探测响应报文是目标分段路由发送给连接的分段路由的,且所述连接的分段路由接收到有效的心跳探测响应报文和发送对应的心跳探测报文之间的时长在预设接收时长内;或

若有效的心跳探测响应报文的个数未超过第二预设个数,则确定连接结果为该检测结果对应的两个分段路由处于未连接状态;

根据包含目标分段路由的每个检测结果确定的连接结果,确定目标分段路由是否发生故障。

具体来说,检测结果为两个分段路由的连接状态的检测结果,针对包含目标分段路由的每个检测结果,即该检测结果对应的两个分段路由,有一个是目标分段路由的,另一个是与目标分段路由相连的分段路由。

例如,该目标分段路由为分段路由4,上述例子中,记录包含目标分段路由4的检测结果为分段路由4和分段路由1之间的检测结果、分段路由4和分段路由2之间的检测结果、分段路由4和分段路由3之间的检测结果、分段路由4和分段路由5之间的检测结果、分段路由4和分段路由6之间的检测结果、分段路由4和分段路由7之间的检测结果。

针对上述几个检测结果,分别判断有效的心跳探测响应报文的个数是否超过第二预设个数。具体来说:

分段路由1与分段路由4之间的连通状态的检测结果中有效的心跳探测响应报文的个数是否超过第二预设个数,如果超过,则确定分段路由4与分段路由1之间处于连接状态;如果不超过,则确定分段路由4与分段路由1之间处于未连接状态;

分段路由2与分段路由4之间的连通状态的检测结果中有效的心跳探测响应报文的个数是否超过第二预设个数,如果超过,则确定分段路由4与分段路由2之间处于连接状态;如果不超过,则确定分段路由4与分段路由2之间未处于连接状态;

分段路由3与分段路由4之间的连通状态的检测结果中有效的心跳探测响应报文的个数是否超过第二预设个数,如果超过,则确定分段路由4与分段路由3之间处于连接状态;如果不超过,则确定分段路由4与分段路由3之间处于未连接状态;

分段路由5与分段路由4之间的连通状态的检测结果中有效的心跳探测响应报文的个数是否超过第二预设个数,如果超过,则确定分段路由4与分段路由5之间处于连接状态;如果不超过,则确定分段路由4与分段路由5之间处于未连接状态;

分段路由6与分段路由4之间的连通状态的检测结果中有效的心跳探测响应报文的个数是否超过第二预设个数,如果超过,则确定分段路由4与分段路由6之间处于连接状态;如果不超过,则确定分段路由4与分段路由6之间处于未连接状态;

分段路由7与分段路由4之间的连通状态的检测结果中有效的心跳探测响应报文的个数是否超过第二预设个数,如果超过,则确定分段路由4与分段路由7之间处于连接状态;如果不超过,则确定分段路由4与分段路由7之间处于未连接状态。

对于判断出分段路由故障的检测结果可能出现误差的情况,所以,本发明采用故障个数与阈值进行比较的方式进行判断。具体来说,如果包含分段路由4的检测结果确定的连接结果判断出的未连接状态的个数超过阈值,则说明分段路由4故障,如果包含分段路由4的检测结果判断出的故障个数不超过阈值,则说明分段路由4不故障。

目的路由还用于在根据每个检测结果,判断每个检测结果对应的第一分段路由是否发生故障之后,根据发生故障的目标分段路由的信息,生成故障信息,将故障信息发送给目的路由所在的网络中的每个路由,以使每个路由在进行报文传递时避免将报文传递给故障的目标分段路由。

在本发明实施例中,若分段路由4发生故障,那么将segment列表顺序、分段路由4的段标识以及分段路由4的IPv6地址生成故障信息,该故障信息可以封装到TLV属性中,将故障信息发送给目的路由所在的网络中的每个路由,以使每个路由在进行报文传递时避免将报文传递给故障的路由。

结合图5所示,本发明实施例提供了一种分段路由故障检测方法,应用于第一分段路由,包括:

S500:接收到上一路由的SRH包后,对与第一分段路由连接的至少一个第二分段路由的连接状态进行检测,得到至少一个第二分段路由的检测结果;

S501:将至少一个第二分段路由的检测结果置于SRH包得到新的SRH包,并根据目的路由,确定传输路径;

S502:基于传输路径,将新的SRH包传递给下一路由,以使目的路由基于收到的SRH包中的检测结果确定发生故障的分段路由。

可选的,将至少一个第二分段路由的检测结果置于所述SRH包得到新的SRH包,还包括:

针对每个第二分段路由,将所述第一分段路由的segment段列表顺序、所述第二分段路由的段标识和所述第二分段路由的检测结果进行绑定,将绑定后的segment段列表顺序、段标识和检测结果作为TLV属性置于所述SRH包,得到新的SRH包。

可选的,对与所述第一分段路由连接的至少一个第二分段路由的连接状态进行检测,得到至少一个第二分段路由的检测结果之前,所述方法还包括:

确定所述SRH包中的标志位为检测标志位。

可选的,对与所述第一分段路由连接的至少一个第二分段路由的连接状态进行检测,得到至少一个第二分段路由的检测结果,包括:

针对每个第二分段路由,在预设时间段内给所述第二分段路由发送第一预设个数的心跳探测报文;

将接收到的有效的心跳探测响应报文的个数,作为第二分段路由的检测结果;其中,接收到所述有效的心跳探测响应报文和发送对应的心跳探测报文之间的时长在预设接收时长内。

结合图6所示,本发明实施例提供了一种分段路由故障检测方法,应用于目的路由,包括:

S600:接收到SRH包后,从SRH包中获取至少一个检测结果;其中,至少一个检测结果为第一分段路由对与第一分段路由连接的至少一个第二分段路由的连接状态进行检测后,置于SRH包并传输到目的路由的;

S601:根据每个检测结果,判断目标分段路由是否发生故障,其中,目标分段路由包括第一分段路由和/或第二分段路由。

可选的,从所述SRH包中获取至少一个检测结果之前,所述方法还包括:

确定所述SRH包中的标志位为检测标志位。

可选的,根据每个检测结果,判断目标分段路由是否发生故障之后,所述方法还包括:

根据发生故障的目标分段路由的信息,生成故障信息,将所述故障信息发送给所述目的路由所在的网络中的每个路由,以使每个路由在进行报文传递时避免将报文传递给故障的目标分段路由。

可选的,从所述SRH包中获取至少一个检测结果,包括:

根据从所述SRH包的TLV属性中的segment列表顺序、段标识和检测结果的绑定关系,确定包含所述段标识所属的分段路由的检测结果。

可选的,根据每个检测结果,判断目标分段路由是否发生故障,包括:

针对包含目标分段路由的每个检测结果,若所述检测结果中包含的有效的心跳探测响应报文的个数超过第二预设个数,则确定连接结果为所述检测结果对应的两个分段路由之间处于连接状态;其中,所述心跳探测响应报文是目标分段路由发送给连接的分段路由的,且所述连接的分段路由接收到所述有效的心跳探测响应报文和发送对应的心跳探测报文之间的时长在预设接收时长内;或

若所述有效的心跳探测响应报文的个数未超过第二预设个数,则确定连接结果为所述检测结果对应的两个分段路由处于未连接状态;

根据包含目标分段路由的每个检测结果确定的连接结果,确定所述目标分段路由是否发生故障。

结合图7所示,本发明实施例提供了一种分段路由故障检测装置,应用于第一分段路由,包括:

接收模块700,用于接收到上一路由的SRH包后,对与所述第一分段路由连接的至少一个第二分段路由的连接状态进行检测,得到至少一个第二分段路由的检测结果;

记录模块701,用于将至少一个所述第二分段路由的检测结果置于所述SRH包得到新的SRH包,并根据目的路由,确定传输路径;

传递模块702,用于基于所述传输路径,将所述新的SRH包传递给下一路由,以使所述目的路由基于收到的SRH包中的检测结果确定发生故障的分段路由。

可选的,记录模块701,还用于:

针对每个第二分段路由,将所述第一分段路由的segment段列表顺序、所述第二分段路由的段标识和所述第二分段路由的检测结果进行绑定,将绑定后的segment段列表顺序、段标识和检测结果作为TLV属性置于所述SRH包,得到新的SRH包。

可选的,所示装置还包括:

确定模块,用于确定所述SRH包中的标志位为检测标志位。

可选的,接收模块700,具体用于:

针对每个第二分段路由,在预设时间段内给所述第二分段路由发送第一预设个数的心跳探测报文;

将接收到的有效的心跳探测响应报文的个数,作为所述第二分段路由的检测结果;其中,接收到所述有效的心跳探测响应报文和发送对应的心跳探测报文之间的时长在预设接收时长内。

结合图8所示,本发明实施例提供了一种分段路由故障检测装置,应用于目的路由,包括:

接收模块800,用于接收到SRH包后,从所述SRH包中获取至少一个检测结果;其中,检测结果为第一分段路由对与所述第一分段路由连接的至少一个第二分段路由的连接状态进行检测后,置于所述SRH包并传输到所述目的路由的;

判断模块801,用于根据每个检测结果,判断目标分段路由是否发生故障,其中,所述目标分段路由包括第一分段路由和/或第二分段路由。

可选的,所述装置还包括确定模块:

确定模块,用于确定所述SRH包中的标志位为检测标志位。

可选的,所述装置还用于:

广播模块,用于根据发生故障的目标分段路由的信息,生成故障信息,将所述故障信息发送给所述目的路由所在的网络中的每个路由,以使每个路由在进行报文传递时避免将报文传递给故障的目标分段路由。

可选的,接收模块800,具体用于:

根据从所述SRH包的TLV属性中的segment列表顺序、段标识和检测结果的绑定关系,确定包含所述段标识所属的分段路由的检测结果。

可选的,判断模块801,具体用于:

针对包含目标分段路由的每个检测结果,若所述检测结果中包含的有效的心跳探测响应报文的个数超过第二预设个数,则确定连接结果为所述检测结果中的两个分段路由之间处于连接状态;其中,所述心跳探测响应报文是目标分段路由发送给连接的分段路由的,且所述连接的分段路由接收到所述有效的心跳探测响应报文和发送对应的心跳探测报文之间的时长在预设接收时长内;或

若所述有效的心跳探测响应报文的个数未超过第二预设个数,则确定连接结果为所述检测结果中的两个分段路由处于未连接状态;

根据包含目标分段路由的每个检测结果确定的连接结果,确定所述目标分段路由是否发生故障。

本发明实施例提供了一种第一分段路由,包括:处理器;用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现如上述应用于第一分段路由的任一项所述的分段路由故障检测方法。

在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器,上述指令可由第一分段路由的处理器执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本发明实施例提供了一种目的路由,包括:处理器;用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现如应用于目的路由中任一项所述的分段路由故障检测方法。

在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器,上述指令可由目的路由的处理器执行以完成上述方法。

本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在第一分段路由上运行时,使得所述第一分段路由执行实现本发明实施例上述任意一项应用于第一分段路由的分段路由故障检测方法。

本发明实施例还提供另一种计算机程序产品,当所述计算机程序产品在目的路由上运行时,使得所述目的路由执行实现本发明实施例上述任意一项应用于目的路由的分段路由故障检测方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、电子设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理电子设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理电子设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理电子设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理电子设备上,使得在计算机或其他可编程电子设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程电子设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号