BFD协议原理
引入背景
随着网络应用的广泛部署,网络发生中断可能影响业务正常运行并造成重大损失。为了减小链路、设备故障对业务的影响,提高网络的可靠性,网络设备需要尽快检测到与相邻设备间的通信故障,以便及时采取措施,保证业务正常进行。
双向转发检测BFD(Bidirectional Forwarding Detection)提供了一个通用的标准化的介质无关和协议无关的快速故障检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。
不使用BFD带来的问题
OSPF感知慢
现在SWB和SWC之间的链路断裂了,设备环境是OSPF,广播状态下Hello时间是10s,Dead时间是40s,如果要等待40s,那时间就太长了。
VRRP产生次优路径
在这里如果不使用BFD可能会导致数据丢包,但是开启BFD之后可以快速切换链路。
BFD技术简介
一种全网统一、检测迅速、监控网络中链路或者IP路由的双向转发连通状况,并为上层应用提供服务的技术。
BFD会话建立方式和检测机制
分别在本段和对端设置标识符,相互进行设置,然后周期性的发送消息即可。
BFD会话建立过程
首先都是在Down状态,然后向对端发送消息,包含自身的Down状态,收到对端含有Down状态的信息之后,就会变为Init状态,当在Init状态收到对端含有Init状态的信息之后就会变为UP状态,然后再进行后续的转发。
BFD工作流程
- OSPF邻居建立->BFD会话建立
- 链路故障->BFD会话Down->OSPF邻居关系中断
BFD的单臂回声
当对端设备不支持BFD的时候,可以开启BFD的单臂回声功能,就好像蝙蝠一样,也就是本应发送给对端的消息,现在发送给了自己,只要自己能够持续的收到自己发送的BFD消息,就可以证明是没有问题的。
BFD默认参数以及调整方法
总结
说白了,BFD就是可以和各种各样的协议进行联动,加快感知故障,为什么是BFD呢?因为它独特的机制,毫秒级的收敛,可以加快其它协议的收敛速度,加快感知链路故障,可以算是协议的一个附属品。