首页/云/云网络与负载均衡速查/BFD 与专线快速故障切换

BFD 与专线快速故障切换

BFD 用高频探测报文检测链路健康,配合 BGP 在专线劣化时加速路由收敛。部署要点:两端都支持并开启、检测间隔与倍数按业务容忍度设置,过于激进反而会因抖动频繁误切。

BFD 与快速故障切换是什么

BFD(双向转发检测)用高频、轻量的探测报文在两端之间持续心跳,一旦在约定时间内收不到报文就判定链路失效,并通知 BGP 立即撤销邻居,从而把收敛时间从默认的几十秒压到毫秒级。它解决的是「链路坏了但路由不知道」的问题。代价是灵敏度与稳定性需要权衡:检测过于激进时,链路短暂抖动就会触发切换,反而制造了不稳定。

基本信息

作用毫秒级探测,缩短路由收敛时间
配合协议与 BGP 联动做快速切换(按产品支持情况)
关键参数探测间隔与乘法系数,检测时间约等于间隔乘以倍数
参数取舍越灵敏越容易误判抖动,越保守收敛越慢
前提条件两端都支持并开启,参数需可匹配
前置规划备用链路必须能承载切换后的流量

典型使用场景

  • 双专线主备:故障时希望秒级内完成切换
  • 专线质量劣化(丢包、时延突增)需要被快速感知
  • 金融类业务对中断时间有明确上限
  • 多线路负载分担,需要快速摘除失效路径
  • 与 BGP 配合缩短收敛时间,替代仅靠 Hold 计时器的方案

参数与效果对照

参数取向检测速度风险
激进毫秒级链路抖动触发频繁切换,路由震荡
均衡百毫秒到秒级兼顾感知速度与稳定性,多数场景适用
保守数秒以上接近普通 BGP 收敛,收益有限
未开启依赖协议默认超时故障感知慢,业务中断时间长

BFD 参数示意(设备侧)

BFD 参数示意(设备侧)
# 设备侧示意,语法以厂商文档为准
bfd interval 300 min_rx 300 multiplier 3
# 检测时间约为 间隔 × 倍数(此处约 900ms)
# 与 BGP 联动:邻居失效后立即撤销该路径的路由
# 验证:show bfd neighbors / display bfd session all
# 演练:断开主链路,观察路由切换与实际业务恢复时间
只开快速检测不检查备用线路状态,切换可能把问题从一条链路转移到另一条:备用链路要先验证可用、容量足够,并在演练中确认切换后业务指标可接受。
BFD 依赖两端参数匹配:一端激进、一端保守时,实际检测时间由更保守的一侧决定。上线前把参数写进变更文档,避免后续调参时两边越改越不一致。

易错点

  • 检测参数过激,链路抖动引发频繁切换,路由与业务同时震荡
  • 备用线路未预热或容量不足,切换后丢包抖动,业务感受更差
  • 两端参数不匹配,实际检测时间与设计预期不符
  • 只配检测不做演练,真实故障时才发现切换未生效
  • 把 BFD 当万能药,忽略了隧道或中间设备本身能否承载高频探测报文

数据来源与参考

  • 阿里云企业版转发路由器 BFD 文档
  • 华为云 BFD 配置文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌