抖动抑制的原理
路由抖动抑制(Route Flap Damping,RFC 2439)治的是「不稳定前缀被反复通告放大成更新风暴」这件事:每条前缀维护一个惩罚值,每次撤销累加固定量,之后按半衰期指数衰减;惩罚值超过抑制阈值就被抑制、不再向外通告,衰减到重用阈值以下才恢复。代价是合法恢复也会被一起延迟,所以参数是否合适比是否开启更重要。
四参数与作用
| 半衰期 | 惩罚值衰减到一半所需时间,IOS 默认 15 分钟 |
|---|---|
| 重用阈值 | 惩罚值降到该值以下前缀重新通告,IOS 默认 750 |
| 抑制阈值 | 惩罚值升到该值以上开始抑制,IOS 默认 2000 |
| 最大抑制时间 | 处于抑制状态的最长时间,IOS 默认 60 分钟 |
| 参数约束 | 重用阈值必须小于抑制阈值,否则前缀得不到重用 |
| 启用范围 | 可在 BGP 进程中全局启用,也可按地址族或邻居单独启用 |
典型使用场景
- 边缘抖动链路:接入侧频繁闪断时,避免明细前缀反复冲刷核心设备
- eBGP 多宿主出口:抑制从同一邻居反复收到的撤销,减少收敛扰动
- 故障排查对照:业务不通时先确认前缀是否被抑制,而不是直接怀疑链路
- 内部 IBGP 域通常保持关闭:域内拓扑与 IGP 收敛可控,抑制的收益有限
- 关键业务线路不启用或把阈值放宽:承载大流量的前缀被抑制等价于业务中断
配置与查看
配置与查看
router bgp 65001
bgp dampening 15 750 2000 60 # 半衰期/重用阈值/抑制阈值/最大抑制时间
!
show ip bgp dampening parameters # 查看当前生效的四参数
show ip bgp dampening flap-statistics # 看有抖动历史的前缀与惩罚值
show ip bgp dampening dampened-paths # 看当前被抑制的前缀
clear ip bgp dampening 10.1.0.0 # 只复位单个前缀的抑制状态
clear ip bgp dampening # 复位全部抑制状态,影响面大,谨慎执行参数调大调小的效果
| 参数 | 调大 | 调小 |
|---|---|---|
| 半衰期 | 惩罚衰减更慢,被抑制前缀恢复更晚 | 衰减更快,恢复快但也更容易再次触发抑制 |
| 抑制阈值 | 需要更多次抖动才被抑制,抗扰动能力变弱 | 少量抖动就被抑制,误伤正常链路的概率上升 |
| 重用阈值 | 惩罚更快降到线下,被抑制前缀更早恢复 | 恢复更晚,抑制持续时间被拉长 |
| 最大抑制时间 | 极端抖动场景下可能长时间不通 | 抑制时长可预测,但对更新风暴的保护减弱 |
抑制机制只看抖动频率、不看业务影响:一条承载大量流量的前缀被抑制,业务侧表现就是中断。关键线路要么不开启,要么把阈值调到只有持续异常抖动才会触发。
华为 VRP 在 BGP 视图或地址族下有对应的 dampening 配置,查看用 display bgp routing-table dampened 与 display bgp routing-table flap-info;各厂商默认参数不一致,调参前先看设备当前生效值,命令名与参数顺序以对应版本手册为准。