BFD的工作原理
BFD 会在两台网络设备之间建立会话,并通过周期性地交换 BFD 控制报文来检测路径的连通性。如果在检测时间内没有收到对方的报文,则视为链路故障,是依赖于路由协议来发现邻居的
故障检测
-
故障检测时间 = 协同接收间隔 * 检测倍数
-
对端在检测到故障时,会在最后一个BFD报文中携带诊断码,告知本端故障的原因
若检测超时,本端会话状态从Up ->Down ,并向上层协议发送故障通知,告知链路不可达,然后上层协议根据故障信息快速收敛(切换路由,删除邻居关系)
单臂回声
BFD是支持单臂回声的,当对端不支持BFD,两端属于不同厂商,或者无权限登陆对端设备
那么就有一个问题,既然对端无法支持BFD,报文是如何回来的呢?“回声”
特殊的BFD报文中,有一种给结构欺骗性设计,IP头部中的目的IP和源IP都是设备本身,在对端接收到后,应该再发回来,本端接收回应后,就可以判断链路是正常的