BFD(双向转发检测)是一个简单的“Hello”协议,主要用于对相邻转发引擎之间通道故障提供轻负荷、持续时间短的检测,并将检测结果及时通知IGP。
在很多方面,它与普通路由协议的邻居检测功能类似,一对系统在邻居间的会话通道上周期性的发送检测报文,如果超过dead time的时间内没有收到对端的hello报文,则认为链路发生故障,并发布拓扑变更信息,启动网络收敛过程。当然,为了减少负荷,系统之间的发送和接收速率需要协商。
然而,与以往的其他“Hello”检测机制相比,BFD只检测下一跳设备连接状态,具有轻负荷、灵敏度高、适应范围广的检测特点。BFD能够在系统之间的任何类型通道上进行故障检测,这些通道包括直接的物理链路、虚电路、隧道、MPLS LSP、多跳路由通道,以及非直接的通道(如跨接二层以太网)。同时正是由于BFD实现故障检测的简单、单一性,致使BFD能够专注于转发故障的快速检测,帮助网络以良好QoS实现各类业务的传输。
BFD的定位是更多的绑定到转发平面,从而脱离具体的网络协议,使网络快速检测缺陷、实现电信级倒换成为可能;加上BFD处理的低开销使得BFD具有很好的扩展性和更广的适用性。
目前BFD支撑OSPF、ISIS、BGP等全部主流路由协议。当邻居关系建立后,路由器将告诉BFD协议去检测邻接连接状态。BFD检测报文在路由器的FIB表中具有高的优先级,并且通过unicast形式相互传播,可保证监测链路拥塞时也不会影响BFD报文的传送。
BFD协议可分为两种工作模式:异步模式、查询模式,另外还有一种辅助回声功能,它可以与这两种模式结合起来使用。异步模式和查询模式的本质区别在于检测的位置不同,异步模式下本端按一定的发送周期发送BFD控制报文,需要在远端检测本端系统发送的BFD控制报文;而在查询模式下检测本端发送的BFD控制报文是在本端系统进行的。
BFD已实现协议国际标准化,现在使用版本是draft-ietf-bfd-base-02.txt,目前主流网络设备已基本全部支撑,并可实现不同厂家设备间协议互通
|