首页/网络/BGP 与广域网速查/BGP Next-Hop Tracking:加速路径失效感知
广域网排障60 条

BGP Next-Hop Tracking:加速路径失效感知

NHT 让 BGP 跟踪下一跳前缀的 IGP 状态:下一跳失效时立即重算受影响前缀,无需等待会话级超时,是边缘网络常用优化。

BGP 与广域网速查网络更新于 2026-10-13

让下一跳变化尽快传导

BGP 选路时会把下一跳交给内部网关协议去解析,只有当下一跳前缀在路由表中有效时,这条 BGP 路由才会被使用。如果下一跳前缀失效了,但 BGP 不主动跟进,受影响的路由会继续挂在已失效的下一跳上,直到会话层超时或定时器到期。下一跳跟踪让 BGP 订阅下一跳前缀的状态变化,一旦该前缀在路由表中发生变化或被撤销,立即重新评估所有依赖它的路由。它在多出口边缘路由器上价值明显,但效果上限取决于内部网关协议发现底层故障的速度。

基本信息

机制BGP 跟踪下一跳前缀在路由表中的状态变化
收益仅受影响的前缀被重新评估,避免整表重算
依赖内部网关协议侧的检测速度决定整体收敛上限
常见命令启用触发跟踪并设置延迟,查看下一跳跟踪表
适用场景多出口边缘、大量依赖递归下一跳的部署

典型使用场景

  • 多出口边缘:出口链路故障时快速重新选路
  • 递归下一跳部署:大量 BGP 路由依赖同一个下一跳前缀
  • 主备出口:主下一跳失效时尽快切到备份
  • 收敛优化:与快速检测机制配合缩短失效感知时间
  • 排错核对:确认 BGP 是否真的在跟踪下一跳状态

Cisco 配置

Cisco 配置
router bgp 65001
 bgp nexthop trigger enable         # 开启下一跳触发跟踪
 bgp nexthop trigger delay 1        # 触发后延迟重算,单位为秒
!
show ip bgp nexthop                  # 看跟踪表与各下一跳状态
show ip bgp 10.2.2.0                 # 确认受影响路由的选路结果
debug ip bgp nexthop                 # 观察触发事件(排障后及时关闭)

检查项与判断

检查项正常表现异常含义
跟踪表条目包含实际使用的下一跳缺失说明未纳入跟踪范围
触发延迟与实际收敛要求匹配过大时感知快但重算被拖慢
内部网关收敛底层变化能被及时感知底层不动,跟踪再多也无效果
路由选路结果切换后指向可用下一跳仍指向失效下一跳说明触发未生效
触发延迟不是越小越好:设为 0 意味着每次底层变化都立即重算,路由条目多时会造成瞬时压力。
下一跳跟踪只解决下一跳失效的传导问题;如果底层协议本身要靠数十秒才能发现故障,整体收敛时间仍会被这一环限制。

易错点

  • 只看 BGP 不看底层协议:下一跳跟踪再灵敏,也要等底层先感知到故障
  • 触发延迟设置过大:感知很快但重算被拖后,收敛收益被抵消
  • 以为开启后无需其它优化:收敛是整条链路的事,单点优化效果有限
  • 长期开着下一跳调试:调试输出在高路由量下会持续消耗资源

数据来源与参考

  • Cisco: BGP Next-Hop Tracking
  • RFC 4271: BGP-4
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌