上层协议检测故障需要1秒以上,而语音、视频业务能容忍的中断时间只有几十毫秒——这中间的缺口正是网络故障快速检测技术要填补的空白。新华三集团发布的BFD技术白皮书系统梳理了BFD、SBFD、SRv6 BFD三级技术体系,从路由协议联动到快速重路由,从VRRP上行链路检测到SRv6 TE Policy主备切换,构建了完整的毫秒级故障检测与网络收敛解决方案。
BFD与路由协议联动——OSPF/IS-IS的快速故障感知
BFD可以为不同的上层应用服务,提供一致的快速故障检测时间。以OSPF与BFD联动为例:OSPF通过自己的Hello机制发现邻居并建立连接;OSPF在建立了新的邻居关系后,将邻居信息(包括目的地址和源地址等)通告给BFD;BFD根据收到的邻居信息建立会话。BFD检测到链路故障后,通知本地OSPF进程BFD邻居不可达;本地OSPF进程中断OSPF邻居关系,尽快计算新的路由,从而缩短收敛时间。
典型组网场景中,两台路由器通过二层交换机互连,链路出现故障时,BFD能够快速感知并通知OSPF协议。这种方式将故障检测从上层协议的秒级精度提升到BFD的毫秒级精度。
快速重路由与BFD联动——转发平面直接切换
随着网络的快速发展,IP网络越来越多的承载语音、视频等多种业务,这些业务对网络的高可靠性提出了更高的要求。BFD应用于路由协议以及路由协议快速收敛技术的使用虽然很大程度提高了收敛速度,但还是无法满足语音、视频等新业务对业务中断时间的要求。
快速重路由和BFD联动技术可以很好地满足这种要求。通过提前计算备用路径,快速发现主用路径故障,并在主用路径故障时不依赖于控制平面的收敛而直接在转发平面切换至备用路径,极大缩短了业务中断时间。这代表了从“控制平面收敛”到“转发平面切换”的范式转变。
VRRP与BFD联动——Master故障快速检测与上行链路监控
VRRP的协议关键点是当Master出现故障时,Backup能够快速接管Master的转发工作,保证用户数据流的中断时间尽量短。当Master出现故障时,VRRP依靠Backup设置的超时时间来判断是否应该抢占,切换速度在1秒以上。
将BFD应用于Backup对Master的检测,可以实现对Master故障的快速检测,缩短用户流量中断时间。VRRP还会监视Master的上行链路能否正常工作——Master即使正常工作,但若上行链路故障,用户报文实际上也无法正常转发。VRRP依靠监视接口状态来判断上行链路是否正常,当被监视的接口DOWN掉时,Master主动降低优先级引起切换。这种监视接口的处理方式依赖于接口的协议状态,如果上行链路出现故障而接口不DOWN则无法感知。将BFD应用于VRRP上行链路的检测可以有效解决这个问题。
SBFD——单向检测加速,状态机简化
SBFD(Seamless BFD,无缝BFD)是一种单向的故障检测机制,简化了BFD的状态机(SBFD仅支持UP、DOWN两个状态),缩短了会话协商时间,其检测速度比BFD更快速。SBFD适用于仅一端需要进行链路状态检测的情况。
SBFD会话中,设备的角色分为发起端(Initiator)和响应端(Reflector)。Initiator负责维护SBFD会话状态,周期性发送SBFD控制报文;Reflector监听到达本地节点的SBFD控制报文,并判断是否需要生成SBFD响应报文,无需维护SBFD会话状态。这种设计使得SBFD特别适合SR-MPLS TE Policy等单向路径检测场景。
SRv6 BFD——检测SRv6转发路径
检测SRv6 BE
在SRv6 BE网络中,使用静态BFD会话检测Locator的可达性,能够提升故障切换性能。DeviceA和DeviceC上分别创建静态BFD会话,通过IPv6路由的最短路径周期性发送BFD控制报文。如果在检测时间内收到对端发送的BFD控制报文,则认为SRv6 BE转发路径正常;否则认为故障。
检测SRv6 TE Policy
SBFD和echo报文方式的BFD均可以用来检测SRv6 TE Policy的连通性,为其提供毫秒级的故障检测速度,并实现快速的故障切换。一个SRv6 TE Policy中,优先级最高的有效路径为主路径,优先级次高的有效路径为备份路径。如果主、备路径中存在多个SID列表,SRv6 TE Policy会建立多个SBFD/BFD会话分别用来检测每一个SID列表对应的转发路径。当检测到主路径的所有SID列表均无效时,触发切换到备份路径。
SR-MPLS TE Policy与SBFD联动
SR-MPLS TE Policy不会通过设备之间互相发送的消息来维持自身状态,需要借助SBFD检测SR-MPLS TE Policy路径故障。
源节点开启SR-MPLS TE Policy与SBFD联动功能后,将End-point地址作为SBFD的远端标识符。当SR-MPLS TE Policy中优先级最高的候选路径里存在多个SID列表时,会建立多个SBFD会话分别用来检测每一个SID列表对应的转发路径,所有SBFD会话的远端标识符均相同。
检测过程:源节点发送SBFD报文(封装SR-MPLS TE Policy对应的SID列表);尾节点收到SBFD报文后通过查找IP路由表按照最短路径发送回应报文;源节点如果收到SBFD回应报文则认为该SID列表对应的转发路径正常,否则认为故障。如果一个候选路径下所有SID列表对应的转发路径都发生故障,则SBFD触发候选路径切换。