BFD(Bidirectional Forwarding Detection)双向转发检测是一种快速检测机制,检测故障的速度达到毫秒级,常用于链路的连通性检测。如果没有BFD的话,设备间的检测时间级别只能是秒级,也就是说中间有几秒时间业务是中断的。通信中断到再次接通,间隔那几秒就是切换时间,而业务中断这几秒时间对于金融、证券等重要行业来说,或将面临巨大损失。
一、BFD有哪些技术优点?
BFD协议提供了一个通用标准化无关介质和协议的快速故障检测机制,可以为各上层协议如路由协议、MPLS等统一快速检测两台路由器间双向转发路径的故障,具备以下优点:
1. 对网络设备间任意类型的双向转发路径进行故障检测,包括直连物理链路、虚电路、隧道、MPLS LSP、多跳路由路径及单向链路等。
2. 可以为不同的上层应用服务,提供一致的快速故障检测时间。
3. 提供小于1秒的检测时间,从而加快网络收敛速度,减少应用中断时间,提高网络的可靠性。
二、BFD协议工作机制
BFD在两台路由器或路由交换机上建立会话,用来监测两台路由器间的双向转发路径,为上层协议服务。
BFD本身并没有发现机制,而是靠被服务的上层协议通知其该与谁建立会话,会话建立后如果在检测时间内没有收到对端的BFD控制报文,则认为已经发生故障,并通知被服务的上层协议进行相应的处理。
以BFD与OSPF路由协议联动为例,简单介绍会话的工作流程:
1. BFD会话建立过程如图1所示:
1)OSPF通过自己的Hello机制发现邻居并建立连接;
2)OSPF在建立了新的邻居关系后,将邻居信息(包括目的地址和源地址等)通告给BFD;
3)BFD根据收到的邻居信息建立会话。
▲图1
2. BFD故障检测处理过程如下:
1)BFD检测到链路/网络故障
2)拆除BFD邻居会话
3)BFD通知本地上层协议进程BFD邻居不可达
4)本地上层协议中止上层协议邻居关系
5)如果网络中存在备用链路,路由器将选择备用路径。
▲图2
3. BFD检测方式
1)单跳检测:BFD单跳检测是指对两个直连系统进行IP连通性检测,这里所说的“单跳”是IP的一跳。
2)多跳检测:BFD可以检测两个系统间的任意路径,这些路径可能跨越很多跳,也可能在某些部分发生重叠。
3)双向检测:BFD通过在双向链路两端同时发送检测报文,检测两个方向上的链路状态,实现毫秒级的链路故障检测(BFD检测LSP是一种特殊情况,只需在一个方向发送BFD控制报文,对端通过其他路径报告链路状况)。
三、BFD控制报文
1. BFD报文方式
控制报文方式:链路两端会话通过控制报文交互监测链路状态。
Echo报文方式:链路某一端通过发送Echo报文由另一端转发回来,实现对链路的双向监测。
2. BFD控制报文包括强制部分和可选认证部分
▲强制部分报文格式
▲可选认证部分格式
BFD控制报文各字段含义
四、BFD会话管理
BFD会话有四种状态:Down、Init、Up和AdminDown。会话状态变化通过BFD报文的State字段传递,系统根据自己本地的会话状态和接收到的对端BFD报文驱动状态改变。
BFD状态机的建立和拆除都采用三次握手机制,以确保两端系统都能得知状态的变化。
下面以以BFD会话建立为例,简单介绍状态机的迁移过程:
1. Router A和Router B的BFD收到上层应用的通知后,发送状态为Down的BFD控制报文;Router B的BFD状态变化同Router A。
2. Router B收到对端状态为Down的BFD控制报文后,本地会话状态由Down迁移到Init,随后发送的BFD控制报文中将Sta字段填为2表明会话状态为Init。Router A的BFD状态变化同Router B。
3. Router A收到对端状态为Init的BFD控制报文后,本地会话状态由Init迁移到UP,随后发送的BFD控制报文中将Sta字段填为3表明会话状态为UP;Router B的BFD状态变化同Router A。
BFD双方状态都为UP,会话成功建立并开始检测链路状态。
五、BFD典型组网应用
1. 路由协议与BFD联动典型组网应用
▲路由协议与BFD联动组网图
两台路由器Router A、Router B通过二层交换机互连,在设备上运行路由协议,网络层相互可达。
由于通过二层交换机相连,Router A与Router B之间的链路故障可能不会导致接口Down,只能通过协议握手去检测。通过在Router A与Router B之间使用BFD就能快速检测出故障,路由协议得到BFD通知后可以尽快计算新的路由,从而缩短收敛时间。
2. 快速重路由与BFD联动典型组网应用
▲快速重路由与BFD联动典型组网图
快速重路由和BFD联动技术通过提前计算备用路径,快速发现主用路径故障,并在主用路径故障时不依赖于控制平面的收敛而直接在转发平面切换至备用路径,极大的缩短了业务中断时间。
3. VRRP与BFD联动典型组网应用
▲VRPP与BFD联动典型组网图
VRRP的协议关键点是当Master出现故障时,Backup能够快速接替Master的转发工作。将BFD应用于Backup对Master的检测,可以实现对Master故障的快速检测,缩短用户流量中断时间。