理解 BFD BFD 概述 BFD(Bidirectional Forwarding Detection,双向转发检测)协议提供一种轻负载、快速检测两台 邻接路由器之间转发路径连通状态的方法。协议邻居通过该方式可以快速检测到转发路径的连 通故障,加快启用备份转发路径,提升现有网络性能。 BFD 报文格式 BFD 报文有两种类型分别是控制报文和回声报文。其中回声报文只有BFD 会话本端系统关心远 端不关心,因此协议没有规定其具体格式。协议只规定了控制报文的格式,目前控制报文格式 有两个版本(版本 0 和版本 1),BFD 会话建立缺省采用版本 1,但如果收到对端系统发送的是版 本 0 的报文,将自动切换到版本 0 来建立会话,可以通过 show bfd neighbors 命令察看采用的 版本。版本 1 的格式如图表 1: BFD 控制报文格式 l Vers:BFD协议版本号,目前为 1 l Diags:给出本地最后一次从 UP 状态转到其他状态的原因,包括: 0—没有诊断信息 1—控制超时检测 2—回声功能失效 3—邻居通告会话 Down
4—转发面复位 5—通道失效 6—连接通道失效 7—管理 Down l Sta:BFD 本地状态,取值为:0 代表 AdminDown,1 代表 Down,2 代表 Init,3 代表 Up; l P:参数发生改变时,发送方在 BFD 报文中置该标志,接收方必须立即响应该报文 l F:响应 P 标志置位的回应报文中必须将 F 标志置位 l C:转发/控制分离标志,一旦置位,控制平面的变化不影响BFD 检测,如:控制平面为 OSPF,当 OSPF 重启/GR 时,BFD 可以继续检测链路状态 l A:认证标识,置位代表会话需要进行验证 l M:用于将来应用点到多点时使用,目前必须设置 0 l Detect Mult:检测超时倍数,用于检测方计算检测超时时间 l Length:报文长度 l My Discreaminator:BFD 会话连接本端标识符 l Your Discreaminator:BFD 会话连接远端标识符 l Desired Min Tx Interval:本地支持的最小 BFD 报文发送间隔 l Required Min RX Interval:本地支持的最小 BFD 报文接收间隔 l Required Min Echo RX Interval:本地支持的最小 Echo 报文接收间隔(如果本地不支持 Echo 功能,则设置 0) l Auth Type:认证类型(可选),目前协议提供有: Simple Password Keyed MD5 MeticulousKeyed MD5 Keyed SHA1 Meticulous Keyed SHA1 l Auth Length:认证数据长度 l Authentication Data:认证数据区 |