让静态路由感知逻辑故障
静态路由只在出接口 down 或下一跳不可达时才会失效。现实中更常见的是链路物理状态正常、对端设备也在,但路径中间断了或者对端不再转发——这就是逻辑故障,静态路由完全感知不到,流量会被丢进黑洞。解决办法是给静态路由挂一个检测机制:华为与 H3C 常用 BFD 会话联动,思科用 IP SLA 配合 track。检测到故障后路由立即失效,备份路由接管,倒换时间可以做到毫秒到秒级。
基本信息
| 适用场景 | 主备链路快速倒换、跨运营商双出口 |
|---|---|
| 华为联动 | ip route-static ... bfd enable,或 track nqa |
| 思科联动 | ip sla + track + 路由上挂 track |
| H3C 联动 | ip route-static ... bfd control-packet |
| 检测机制差异 | BFD 需双端建会话,IP SLA 单端探测 |
典型使用场景
- 双运营商出口:主链路逻辑故障时,默认路由快速切换到备用出口
- 主备专线:链路看似 up 但实际不通的场景,需要更灵敏的检测
- 跨设备对接非自有设备:无法要求对端开启协议时,用单端探测更现实
- 割接保障:临时加装检测机制,确保过渡期出现异常能自动倒换
- 抖动治理:链路频繁瞬断影响业务时,用检测联动缩短故障感知时间
华为 VRP
华为 VRP
[Huawei] bfd
[Huawei] ip route-static 0.0.0.0 0 192.168.1.1 bfd enable ! 与下一跳建立 BFD 会话
! 也支持 NQA 联动:
[Huawei] ip route-static 0.0.0.0 0 192.168.1.1 track nqa <admin> <name>
<Huawei> display bfd session all ! 确认会话已 up思科 IOS 与 H3C
思科 IOS 与 H3C
! 思科 IOS:IP SLA + track
SW(config)# ip sla 1
SW(config-ip-sla)# icmp-echo 192.168.1.1 source-interface GigabitEthernet1/0/1
SW(config-ip-sla)# frequency 5
SW(config)# ip sla schedule 1 life forever start-time now
SW(config)# track 1 ip sla 1 reachability
SW(config)# ip route 0.0.0.0 0.0.0.0 192.168.1.1 track 1
! H3C Comware
[H3C] ip route-static 0.0.0.0 0 192.168.1.1 bfd control-packet
[H3C] display bfd session两种检测方式对比
| 对比项 | BFD | IP SLA |
|---|---|---|
| 检测粒度 | 毫秒级 | 通常秒级,取决于探测频率 |
| 对端要求 | 需对端也配置 BFD | 单端探测即可,无需对端配合 |
| 配置位置 | 路由命令直接联动 | 先建探测与 track,再由路由引用 |
| 适用场景 | 两端都可控、追求快速倒换 | 跨厂商或对端不可控的环境 |
| 常见失误 | 对端没配导致会话起不来 | 忘记 schedule 导致 track 恒为 down |
BFD 会话必须双端都配置才能建立。只有一端开启时,会话状态不会 up,路由上的联动自然不生效,链路故障时也无法倒换。
思科 IP SLA 创建后必须执行 schedule 才会开始探测。漏掉这一步时 track 状态始终为 down,表现为备份路由一直生效或者路由被直接撤销,现象与预期完全相反。