> **来源:[研报客](https://pc.yanbaoke.cn)** # BFD技术白皮书总结 ## 核心内容 BFD(Bidirectional Forwarding Detection,双向转发检测)是一种用于快速检测网络设备间双向转发路径故障的标准化协议。它不依赖于特定的介质或协议,能够为各种上层应用提供统一的故障检测机制,显著提升网络的可靠性和收敛速度。 ## 主要观点 - BFD 是一种通用的故障检测协议,适用于各种类型的网络路径,包括直连物理链路、虚电路、隧道、MPLS LSP、多跳路由路径和单向链路等。 - BFD 提供小于 1 秒的故障检测时间,相比传统上层协议的检测时间(通常超过 1 秒),大大提升了网络的响应速度。 - BFD 支持两种操作模式:异步模式和查询模式,其中 Comware 仅支持异步模式。 - BFD Echo 报文可用于单跳链路的故障检测,而 BFD 控制报文则适用于多跳链路。 - BFD 使用 UDP 封装,目的端口号分别为 3784(控制报文)和 3785(Echo 报文)。 - BFD 会话建立采用三路握手机制,确保两端设备状态同步。 - 定时器协商是 BFD 快速检测的关键,发送间隔和检测时间由两端设备协商确定。 - BFD 与上层协议(如 OSPF、IS-IS、VRRP)联动,可以实现快速故障恢复和路由切换。 ## 关键信息 ### BFD 报文结构 - **BFD 控制报文**包含强制部分和可选认证部分。 - 强制部分字段包括: - `Vers`:BFD 协议版本号(当前为 1)。 - `Diag`:故障诊断码,用于标识会话 Down 的原因。 - `Sta`:会话状态,取值为 0(AdminDown)、1(Down)、2(Init)、3(Up)。 - `P`:会话参数变化时置位。 - `F`:如果收到的控制报文的 `P` 字段置位,则将 `F` 字段置位作为应答。 - `C`:表示 BFD 实现与控制平面无关。 - `A`:表示报文包含认证部分。 - `D`:表示希望以查询模式运行。 - `Detect Mult`:检测时间倍数。 - `Length`:控制报文长度(单位为字节)。 - `My Discriminator`:发送方的唯一标识。 - `Your Discriminator`:对端发送的 `My Discriminator` 值。 - `Desired Min TX Interval`:发送方希望的最小发送间隔(单位为微秒)。 - `Required Min RX Interval`:接收方要求的最小接收间隔(单位为微秒)。 - `Required Min Echo RX Interval`:接收方要求的最小 Echo 接收间隔(单位为微秒)。 - `Auth Type`:认证类型。 - `Auth Len`:认证部分长度(单位为字节)。 - **BFD Echo 报文**不包含认证部分,主要用于单跳链路检测。发送方将报文通过 UDP 发送到对端,对端将其反向返回。 ### BFD 会话建立流程 1. 上层协议(如 OSPF)发现邻居并建立连接。 2. 上层协议将邻居信息传递给 BFD。 3. BFD 根据收到的邻居信息建立会话。 4. BFD 采用三路握手机制,通过状态字段(Sta)进行状态迁移,最终进入 UP 状态。 ### 定时器协商机制 - BFD 控制报文发送时间间隔为 `Desired Min TX Interval` 与 `Required Min RX Interval` 中的最大值。 - 检测时间为 `Detect Mult` × 协商后的发送时间间隔。 - 定时器可以动态协商修改,但需遵循协商规则,以确保双方同步。 ### 典型组网应用 1. **路由协议与 BFD 联动**:BFD 可用于 OSPF、IS-IS 等路由协议,以加快故障检测和路由收敛速度。 2. **快速重路由与 BFD 联动**:在主用路径故障时,BFD 能够快速通知上层协议,从而在转发平面直接切换至备用路径,减少业务中断时间。 3. **VRRP 与 BFD 联动**:BFD 可用于检测 VRRP 的 Master 节点是否发生故障,同时检测其上行链路是否正常,提升网络的高可用性。 ## 参考文献 - Katz D., Ward D., "Bidirectional Forwarding Detection", draft-ietf-bfd-base-05. - Katz D., Ward D., "Generic Application of BFD", draft-ietf-bfd-generic-02. - Katz D., Ward D., "BFD for IPv4 and IPv6 (Single Hop)", draft-ietf-bfd-v4v6-1hop-05. - Katz D., Ward D., "BFD for Multihop Paths", draft-ietf-bfd-multihop-03. ## 版权声明 本文档版权属于杭州华三通信技术有限公司,未经书面许可,不得擅自摘抄、复制或传播。文档内容可能变动,恕不另行通知。