本公开涉及通信技术领域,尤其涉及一种检测链路的方法和装置。
背景技术:
sr-tepolicy(segmentroutingpolicy,段路由策略)提供了灵活的转发路径选择方法,满足用户不同的转发需求。当segmentrouting网络的源节点和目的节点之间存在多条路径时,合理利用sr-tepolicy选择转发路径,不仅可以方便管理员对网络进行管理和规划,还可以有效地减轻网络设备的转发压力。
sr-tepolicy不会通过设备之间互相发送的消息来维持自身状态,所以sr-tepolicy路径故障检测需要依靠sbfd(seamlessbfd,无缝bfd)完成。通过sbfd可以快速检测到sr-tepolicy路径中所发生的故障。
技术实现要素:
本说明书提供了一种检测链路的方法,该方法应用于段路由策略sr-tepolicy网络中,该方法包括:
接收源节点发送的无缝双向转发检测sbfd报文;
当确定向所述源节点发送第一sbfd应答报文的路径故障时,根据所述源节点确定第二路径发送所述第二sbfd应答报文;
以使所述源节点根据从所述第二路径接收的所述第二sbfd应答报文进行链路检测;
其中,所述第一sbfd应答报文与所述第二sbfd应答报文的本地标识符ld和远端标识符rd相同。
通过上述实施例可以看出,当应答sbfd报文时,可以获取多个到达源节点的路径,当默认的应答路径故障时,可通过其他路径将sbfd应答报文发送给源节点,避免因应答路径故障导致源节点到尾节点的链路中断。
可选的,确定所述第二路径的方法包括:
获取所述sbfd报文中携带的源节点地址信息;
根据所述源节点地址信息计算本地到达所述源节点的其他路径;
将计算出的其他路径作为第二路径。
可选的,所述根据所述源节点地址信息计算本地到达所述源节点的其他路径,具体包括:
获取包括所述源节点地址信息的目标路由信息;
根据所述目标路由信息确定第二路径。
可选的,所述根据所述源节点确定第二路径发送所述第二sbfd应答报文,具体包括:
获取所述第一sbfd应答报文中的ld和rd;
根据所述目标路由信息以及所述ld和rd封装第二sbfd应答报文,并发送所述第二sbfd应答报文。
可选的,所述根据所述源节点地址信息计算本地到达所述源节点的其他路径,具体包括:
获取所述sbfd报文中携带的源节点地址信息;
根据自身地址信息以及所述源节点地址信息进行路由计算获得路由拓扑;
根据所述路由拓扑确定第二路径。
本说明书实施例还提供了一种检测链路的装置,所述装置应用于段路由策略sr-tepolicy网络中的尾节点设备,所述装置包括:
接收模块,用于接收源节点发送的无缝双向转发检测sbfd报文;
处理模块,用于当确定向所述源节点发送第一sbfd应答报文的路径故障时,根据所述源节点确定第二路径发送所述第二sbfd应答报文;
以使所述源节点根据从所述第二路径接收的所述第二sbfd应答报文进行链路检测;
其中,所述第一sbfd应答报文与所述第二sbfd应答报文的本地标识符ld和远端标识符rd相同。
可选的,所述处理模块,还用于获取所述sbfd报文中携带的源节点地址信息,根据所述源节点地址信息计算本地到达所述源节点的其他路径,将计算出的其他路径作为第二路径。
可选的,所述处理模块,还用于获取包括所述源节点地址信息的目标路由信息,根据所述目标路由信息确定第二路径。
可选的,所述接收模块,还用于获取所述第一sbfd应答报文中的ld和rd;
所述处理模块,还用于根据所述目标路由信息以及所述ld和rd封装第二sbfd应答报文,并发送所述第二sbfd应答报文。
可选的,所述接收模块,还用于获取所述sbfd报文中携带的源节点地址信息;
所述处理模块,还用于根据自身地址信息以及所述源节点地址信息进行路由计算获得路由拓扑,根据所述路由拓扑确定第二路径。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1为本公开实施例提供的一种组网示意图;
图2为本公开实施例提供的一种检测链路的方法流程示意图;
图3为本公开实施例提供的一种组网示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
sbfd主要是检测链路连通性,以及决策sr-tepolicy的可用性的,当前srpolicy使用较多,属于运营商和企业网的热门协议,sbfd也因为良好适配sr-tepolicy得到了良好的扩展使用,如图1所示,sbfd的特点主要是单向检测,节点a向节点e发送sbfd检测,但节点a对节点e向自己发送sbfd应答报文的回路并不关心,对于同一源节点和目的节点之间不同的sr-tepolicy,由于sbfd应答报文时根据ip路由表进行转发,所以sbfd应答报文的转发路径是相同的。sbfd应答报文的转发路径故障将引起所有sbfd会话down,进而导致源节点和目的节点间所有sr-tepolicydown。
如图2所示,本说明书实施例提供了一种检测链路的方法,该方法应用于段路由策略sr-tepolicy网络中,该方法包括:
s201接收源节点发送的无缝双向转发检测sbfd报文;
s202当确定向所述源节点发送第一sbfd应答报文的路径故障时,根据所述源节点确定第二路径发送所述第二sbfd应答报文;
以使所述源节点根据从所述第二路径接收的所述第二sbfd应答报文进行链路检测;
其中,所述第一sbfd应答报文与所述第二sbfd应答报文的本地标识符ld和远端标识符rd相同。
在本实施例中,当源节点需要进行sbfd检测时,会根据尾节点地址信息生成sbfd检测报文,并向尾节点发送该sbfd报文。
正常情况下,尾节点收到该sbfd报文后,通过查找ip路由表按照最短路径向源节点发送sbfd应答报文。
然后若尾节点通过最短路径向源节点发送sbfd应答报文时,最短路径出现故障,则源节点无法接收到该sbfd应答报文,但源节点等待sbfd应答报文超时后,则源节点认为到达尾节点的链路出现故障,然而实际上,源节点到达尾节点的路径并未出现故障,所以导致源节点进行了错误的路径切换。
在步骤s202中,当尾节点接收到sbfd检测报文后,可以从sbfd检测报文中获取发送该sbfd检测报文的源地址信息。
一种方式中,可以根据该源节点地址信息确定目标路由信息,具体的,尾节点根据源节点地址信息和自身的路由表,从该路由表中获取包含所述源节点地址信息的路由条目,既目标路由信息,并根据获取的目标路由信息确定第二路径。
另一种方式中,尾节点利用源地址路由信息,通过最短树路径spf得到与源节点、尾节点相关的网络拓扑,并根据网络拓扑获得第二路径。
通过上述两种方式确定第二路径后,可以在尾节点检测到向源节点发送sbfd应答报文失败时,切换第二路径再次发送sbfd应答报文,从而避免因源节点无法接收到尾节点发送的sbfd应答报文而造成错误切换链路的问题发生。
同时,尾节点在通过第二路径发送sbfd应答报文时,可以重新生成第二sbfd报文进行发送,该第二sbfd应答报文对应第二路径,同时为了能够使源节点识别该第二sbfd应答报文,在生成第二sbfd应答报文时,可以经第一sbfd应答报文(首次发送的sbfd应答报文)中,获取ld\rd,并将获取的ld\rd加载在第二sbfd应答报文中。
为了更加清晰明确的对本说明书中的方案进行说明,本说明书还提供了一种实施例,如图3所示,全网使能isis路由协议,若2和4之间建立sbfd会话,2是源节点,4是尾节点,既2是发送sbfd检测报文端,4是发送sbfd应答报文端。
2作为发起端,建立的sbfd,源地址可能选择的是20.1.1.1这个接口地址,若封装报文源地址为20.1.1.1,目的地址为4.4.4.4,ld:100,rd:4.4.4.4。
在一种实施例中,4建立与2会话后,接收到2发送的sbfd检测报文,根据该sbfd检测报文获取2的源地址信息,根据该源地址信息检查自身路由表,可获知还包括2.2.2.2、10.1.1.2两个路由地址可以指向2,进而可根据2.2.2.2、10.1.1.2建立第二路径。
当4向2发送第一sbfd应答报文的路径(2和3间路径)发生故障时,可通过2和5之间的路径发送第二sbfd应答报文。
在另一种实施例中,4根据spf计算得到网络拓扑结构,可知自身相邻的节点有3.6.7,到3的接口为l1,到6的接口为l3,到7的接口为l2,在4上生成到3个节点的策略路由,策略路由为将特定的sbfd回应报文重定向到所有这三个链路中,若4设备到2设备的地址形成了frr如l1为主链路,l3为备份链路,当l1和l3同时发生了故障,4设备查找策略路由表,发现l2仍然可用,于是报文直接回应给l2链路。
通过上述实施例可以看出,当应答sbfd报文时,可以获取多个到达源节点的路径,当默认的应答路径故障时,可通过其他路径将sbfd应答报文发送给源节点,避免因应答路径故障导致源节点到尾节点的链路中断。
基于与上述相同的思想构思,本说明书实施例还提供了一种检测链路的装置,该装置应用于段路由策略sr-tepolicy网络中的尾节点设备,该装置包括:
接收模块,用于接收源节点发送的无缝双向转发检测sbfd报文;
处理模块,用于当确定向所述源节点发送第一sbfd应答报文的路径故障时,根据所述源节点确定第二路径发送所述第二sbfd应答报文;
以使所述源节点根据从所述第二路径接收的所述第二sbfd应答报文进行链路检测;
其中,所述第一sbfd应答报文与所述第二sbfd应答报文的本地标识符ld和远端标识符rd相同。
可选的,所述处理模块,还用于获取所述sbfd报文中携带的源节点地址信息,根据所述源节点地址信息计算本地到达所述源节点的其他路径,将计算出的其他路径作为第二路径。
可选的,所述处理模块,还用于获取包括所述源节点地址信息的目标路由信息,根据所述目标路由信息确定第二路径。
可选的,所述接收模块,还用于获取所述第一sbfd应答报文中的ld和rd;
所述处理模块,还用于根据所述目标路由信息以及所述ld和rd封装第二sbfd应答报文,并发送所述第二sbfd应答报文。
可选的,所述接收模块,还用于获取所述sbfd报文中携带的源节点地址信息;
所述处理模块,还用于根据自身地址信息以及所述源节点地址信息进行路由计算获得路由拓扑,根据所述路由拓扑确定第二路径。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。