为什么要在聚合上叠加 BFD
二层聚合靠 LACP 检测链路,最快的周期也在秒级;三层聚合互联场景要求更快切换时,可以在三层聚合口上承载 BFD 会话,把故障检测压到毫秒级,并与路由协议或 VRRP 联动。需要注意的是:BFD 检测的是三层可达性,它解决的是「多久发现故障」,不解决「为什么故障」。
基本信息
| 适用场景 | 三层聚合互联链路,对切换时间敏感 |
|---|---|
| 检测粒度 | 毫秒级,由发送间隔与检测倍数决定 |
| 对比 LACP | LACP 快档为秒级 |
| 联动对象 | 路由协议、VRRP 等,实现快速切换 |
| 前提条件 | 两端参数一致,会话才能正常建立 |
典型使用场景
- 数据中心互联:要求故障切换在一秒以内完成
- 核心与汇聚三层聚合链路,承载对中断敏感的业务
- 与路由协议联动,缩短路由收敛前的黑洞时间
- 与 VRRP 联动,加快主备网关切换
- 链路质量长期不佳的场景中作为劣化发现手段
BFD 会话配置
BFD 会话配置
bfd # 华为:全局使能 BFD
interface Eth-Trunk 1 # 华为:在三层聚合口上配置
bfd min-tx-interval 100 min-rx-interval 100 detect-multiplier 5
display bfd session all # 华为:查看会话状态与检测时间
# 思科对照
interface Port-channel1
bfd interval 100 min_rx 100 multiplier 5 # 思科:接口级参数
show bfd neighbors # 思科:查看 BFD 邻居状态检测机制对比
| 机制 | 检测对象 | 典型时间尺度 |
|---|---|---|
| LACP | 二层链路与聚合成员 | 秒级 |
| BFD | 三层可达性 | 毫秒级,可调 |
| 接口状态 | 物理链路 UP/DOWN | 随物理事件 |
| 路由协议 Hello | 协议邻居 | 秒级至几十秒 |
故障判定时间约等于发送间隔乘以检测倍数(示例 100 毫秒乘 5 约 500 毫秒);两端参数必须一致,否则会话无法建立;会话联动路由或 VRRP 可把切换压进亚秒级。参数调得过小会增加两端设备负担,也更容易被瞬时抖动触发切换。
二层聚合链路用 LACP 自身检测即可,无需叠加 BFD。BFD 的价值在三层互联与快速切换,叠加在纯二层聚合上没有额外收益。
BFD 会放大瞬时抖动的后果:链路轻微劣化就可能触发会话中断并引发路由切换,反而造成业务抖动。参数设置要与链路质量匹配。