BFD Echo
BFD Echo(BFD 回声功能),是由本地发送 BFD Echo 报文,远端系统将报文环回的一种检测机制。
支持 BFD 功能的设备主动发起回声请求功能,不支持 BFD 功能的设备接收到该报文后直接将其环回,从而实现转发链路的连通性检测功能。
原理简述
发送端的 BFD 报文使用相同的源目地址
特性说明
1)不要求远端支持 BFD 特性,仅本端支持 BFD 特性便能完成链路检测;
2)当不能用于多跳:数据包不会发送到远端,在送达远端前便被中间系统转发回来(RFC 5883/Section 3);
应用场景
在两台直接相连的设备中,R1 支持 BFD 功能,R2 不支持 BFD 功能,只支持基本的网络层转发。为了能够快速的检测这两台设备之间的故障,可以在 R1 上创建 One-Arm-Echo(单臂回声)功能的 BFD 会话。
联动功能
联动,是指 BFD 与其他协议共同工作。例如 BFD 与 OSPF 联动就,是将 BFD 和 OSPF 关联起来, BFD 将链路故障的快速检测结果告知 OSPF 协议(否则依赖 OSPF Hello 报文检测会需要很久才能发现链路故障)。
原理简述
当 BFD 会话建立后,会周期性地快速发送 BFD 报文。如果在检测时间内没有收到 BFD 报文则认为该双向转发路径发生故障,通知被服务的上层应用进行相应的处理。
联动功能由三部分组成:
1)监测模块:负责对链路状态、网络性能等进行监测,并将探测结果通知给追踪模块;
2)追踪模块:当收到监测模块的探测结果后,将及时改变追踪项的状态,并通知应用模块;
3)应用模块:根据追踪项的状态,进行相应的处理,从而实现联动;
场景:与 Static Routing 联动
静态路由自身没有检测机制,如果静态路由存在冗余路径,通过静态路由与 BFD 联动,当主用路径故障时,实现静态路由的快速切换 。
如下图,当通往 ISP1 的链路出现故障的时候,BFD会话能够快速感知,并通知路由器将流量切换到指向 ISP2 的链路: