本文主要是介绍2.4 SBFD for SRv6 TE Policy,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
2.4.1 SBFD由来
2.4.2 SBFD工作原理
SBFD发起端状态机
SBFD for SRv6 TE Policy实现原理
2.4.3 SBFD for SRv6 TE Policy检测过程如下:
SBFD报文回程入Segment List
Insert过程
Encaps模式
2.4.4 SBFD不走本地保护路径
2.4.1 SBFD由来
BFD技术相对成熟,但当配置大量BFD会话进行链路检测时,BFD现有状态机的协商时间会变长,成为整个系统的一个瓶颈。SBFD(Seamless Bidirectional Forwarding Detection)是BFD的一种简化机制,SBFD简化了BFD的状态机,缩短了协商时间,提高了整个网络的灵活性,能够支撑SRv6 TE Policy检测。
2.4.2 SBFD工作原理
SBFD分为发起端和反射端,在链路检测之前,发起端和反射端通过互相发送SBFD控制报文(SBFD Control Packet)通告SBFD描述符(Discriminator)等信息。链路检测时,发起端主动发送SBFD报文,反射端根据本端情况环回此报文,发起端根据反射报文决定本端状态。
-
发起端作为检测端,有SBFD状态机机制和检测机制。发起端状态机只有Up和Down状态,发出的报文也只有Up和Down状态,只能接收Up或Admin Down状态报文。
SBFD报文由发起端首先向反射端发送,报文初始状态为Down,报文目的端口号为7784。
-
反射端无SBFD状态机,无检测机制,不会主动发送SBFD Echo报文,仅用于构造环回SBFD报文。
反射端接收到发起端的SBFD报文,检查报文中SBFD描述符是否与本地配置的全局SBFD描述符匹配,不匹配则丢弃;如果匹配并且反射端处于工作状态,则构造环回SBFD报文,反射端不处于工作状态,则将报文状态置为Admin Down。
SBFD发起端状态机
SBFD发起端状态机只有Up和Down两个状态,也只能在这两个状态间转变
- 初始状态:SBFD报文由发起端首先向反射端发送,发起端初始状态为Down。
- 状态迁移:发起端收到反射端发回的Up报文则将本地状态置为Up。发起端收到反射端返回Admin Down报文,则将状态置为Down。发起端在定时器超时前收不到返回报文,也将状态置为Down。
- 状态保持:发起端处于Up状态,如果收到反射端返回的Up报文,则本地状态持续维持在Up状态。发起端处于Down状态,如果收到反射端返回的Admin Down报文或者在定时器超时前收不到返回报文,则本地状态持续维持在Down状态。
SBFD for SRv6 TE Policy实现原理
与RSVP-TE可以通过转发器相互发送Hello消息维持隧道状态不同,SRv6 TE Policy不会通过转发器之间互相发送消息来维持自身状态。只要头节点SID栈下发,SRv6 TE Policy就会建立成功,且除了撤销SID栈之外,SRv6 TE Policy不会出现Down的情况。所以SRv6 TE Policy故障检测需要依靠部署SBFD检测,通过SBFD故障检测切换备份路径。SBFD for SRv6 TE Policy是一种端到端的快速检测机制,用于快速检测SRv6 TE Policy所经过的链路中所发生的故障。
·
2.4.3 SBFD for SRv6 TE Policy检测过程如下:
-
头节点使能SBFD for SRv6 TE Policy后,头节点需要配置目的IPv6地址和描述符的映射关系。SRv6 TE Policy下存在多个Segment List时,则多个SBFD会话的远端描述符相同。
-
头节点对外发送SBFD报文,SBFD报文封装SRv6 TE Policy对应的SID栈。
由于SBFD返程走IPv6转发,所以当两点间有多个SRv6 TE Policy主路径因为约束条件各不相同的时候,SBFD检测报文返程走的路径却是共路的,返程的路径故障容易引起所有经过的SBFD报Down,进而导致两点间的所有SRv6 TE Policy Down。同一个SRv6 TE Policy下多个Segment List的SBFD会话存在同样问题。
默认情况下,如果SRv6 TE Policy没有使能HSB保护,SBFD仅检测SRv6 TE Policy里优先级最高的Candidate Path里的所有Segment List。使能HSB保护以后,SBFD可以同时检测SRv6 TE Policy里优先级最高和次高的两条Candidate Path里的所有Segment List,如果优先级最高的Candidate Path里所有Segment List都产生故障,将触发HSB切换。
SBFD报文回程入Segment List
针对SBFD for SRv6 TE Policy走IPv6路由带来的问题,提出了SBFD报文回程入Segment List的解决方案。
SBFD报文回程入Segment List的配置阶段如下图所示。具体配置要求是:
- 在SRv6 TE Policy的首尾节点建立双向共路的两个SRv6 TE Policy,两个SRv6 TE Policy下的正反向Segment List经过的路径一致。
- 为双向共路的Segment List指定BSID(Binding SID)和反向Reverse BSID,其中,反向Segment List的BSID做为正向Segment List的Reverse BSID,反之亦然。
使能SBFD回程入Segment List后,为Segment List发起SBFD会话检测时,携带Segment List的Reverse BSID,该Reverse BSID通过BFD检测报文携带到对端;在对端根据携带的BSID,找到对应的Segment List,回程走Segment List规划的路径。
根据设备D上为SRv6 TE Policy配置的封装模式,回程报文也区分为Insert和Encaps两种模式。
Insert过程
Encaps模式
2.4.4 SBFD不走本地保护路径
部署SBFD for SRv6 TE Policy时,主用Candidate Path的Segment List故障后,如果存在本地保护路径(例如TI-LFA或TE FRR路径),则SBFD仍旧保持为Up状态,数据流量会绕行到TI-LFA/TE FRR路径。但是TI-LFA/TE FRR路径有可能带宽/时延等不稳定,无法满足高价值专线业务的严格SLA要求。为了解决上述问题,可以使能SBFD不走本地保护路径的功能,这样当主用Candidate Path的Segment List故障后,SBFD状态切换为Down,进而联动该Candidate Path状态为Down,触发流量切换到备份Candidate Path或其他SRv6 TE Policy。
这篇关于2.4 SBFD for SRv6 TE Policy的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!