SBFD for SR-MPLS
BFD技术相对成熟,但当配置大量BFD会话进行链路检测时,BFD现有状态机的协商时间会变长,成为整个系统的一个瓶颈。SBFD(Seamless Bidirectional Forwarding Detection)是BFD的一种简化机制,SBFD简化了BFD的状态机,缩短了协商时间,提高了整个网络的灵活性,能够支撑SR隧道检测。
SBFD工作原理
发起端做为检测端,有SBFD状态机机制和检测机制。发起端状态机只有Up和Down状态,发出的报文也只有Up和Down状态,只能接收Up或Admin Down状态报文。
SBFD报文由发起端首先向反射端发送,报文初始状态为Down,报文目的端口号为7784。
反射端无SBFD状态机,无检测机制,不会主动发送SBFD Echo报文,仅用于构造环回SBFD报文。
反射端接收到发起端的SBFD报文,检查报文中SBFD描述符是否与本地配置的全局SBFD描述符匹配,不匹配则丢弃;如果匹配并且反射端处于工作状态,则构造环回SBFD报文,反射端不处于工作状态,则将报文状态置为Admin Down。
SBFD发起端状态机
- 初始状态:SBFD报文由发起端首先向反射端发送,发起端初始状态为Down。
- 状态迁移:发起端收到反射端发回的Up报文则将本地状态置为Up。发起端收到反射端返回Admin Down报文,则将状态置为Down。发起端在定时器超时前收不到返回报文,也将状态置为Down。
- 状态保持:发起端处于Up状态,如果收到反射端返回的Up报文,则本地状态持续维持在Up状态。发起端处于Down状态,如果收到反射端返回的Admin Down报文或者在定时器超时前收不到返回报文,则本地状态持续维持在Down状态。
SBFD典型应用
SBFD应用到SR场景检测时,主要有SBFD for SR LSP(SR-MPLS BE)和SBFD for SR-MPLS TE两种场景。在SBFD检测SR-MPLS场景,SBFD发起端到反射端路径走MPLS标签转发,反射端向发起端回程路径走多跳IP路径。
SBFD for SR LSP
下面以VPN迭代到SR LSP为例,描述SBFD for SR LSP的应用场景,具体如图2-69所示。
假设图2-69中所有PE和P设备上SRGB范围都是[16000-16100]。A、CE1、CE2、E部署在同一个的VPN中,CE2发布一条到E的路由。PE2为到E的路由分配VPN标签,然后通过MP-BGP邻居发布给PE1,PE1接收携带VPN标签的VPN路由,并将路由下发到转发表。
当A发送目的地为E的报文时,报文在PE1节点根据报文所属VPN封装VPN标签,根据报文目的地址迭代SR LSP,然后封装SR标签16100,之后报文沿着主路径PE1->P4->P3->PE2进行逐跳转发。
应用了SBFD检测后,当主路径某条链路或者某台P设备发生故障时,PE1会快速检测到故障发生,使数据流量切换到备份SR LSP。
SBFD for SR-MPLS TE LSP
下面以VPN迭代到SR-MPLS TE LSP为例,描述SBFD for SR-MPLS TE LSP的应用场景,具体如图2-70所示。
A、CE1、CE2、E部署在同一个的VPN中,CE2发布一条到E的路由。PE2为E分配VPN标签。PE1安装到E的路由,VPN标签。
PE1到PE2的SR-MPLS TE Tunnel的路径为PE1->P4->P3->PE2,标签栈为{9004,9003,9005}。当A发送目的地为E的报文时,报文在PE1时根据9004找到出接口,发出时被打上三层标签,9003、9005和最内层的VPN标签为PE2分配的。应用了SBFD检测后,当主路径某条链路或者某台P设备发生故障时,PE1会快速检测到故障发生,并将数据流量切换到备份SR-MPLS TE LSP。
SBFD for SR-MPLS TE Tunnel
SR-MPLS TE隧道状态要结合SBFD for SR-MPLS TE Tunnel与SBFD for SR-MPLS TE LSP检测。
如果不配置SBFD for SR-MPLS TE Tunnel,Tunnel默认状态只为UP,Tunnel的真实状态不确定。
如果配置了SBFD for SR-MPLS TE Tunnel,但是SBFD的状态被置为管理Down,则SBFD实际未工作,隧道接口状态是unknown。
如果配置了SBFD for SR-MPLS TE Tunnel,且SBFD没有被置为管理Down,则隧道接口状态与BFD状态一致。