首页/网络/BGP 与广域网速查/优雅重启(Graceful Restart)概念
BGP 基础与邻居89 条

优雅重启(Graceful Restart)概念

GR 让控制面重启期间数据面继续转发:邻居侧保留路由一段时间(Rib/Forwarding State),缩短收敛中断。

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

优雅重启解决什么问题

BGP 进程重启或控制面切换时,如果邻居立刻撤销从本设备学到的路由,全网都要重新收敛,会造成秒级甚至更长的中断。优雅重启(Graceful Restart,RFC 4724)的做法是:重启方在能力协商中声明支持的地址族与预计重启时间,邻居侧在此期间保留该邻居的路由并标记为过期(stale),等重启方重新建立会话并完成更新后再撤销未被重申的条目。

基本信息

协商方式Open 报文中按地址族声明 GR 能力与重启时间
重启方声明重启时间与重启标志,重启后重发全部路由
helper 侧保留 stale 路由,超时后按协商时间清理未重申条目
结束标志重启方发送 End-of-RIB 表示更新结束,此时才开始清理
相关机制NSF 依赖硬件与邻居配合,NSR 不依赖邻居、由本机双控制面实现

典型使用场景

  • 计划内升级:进程重启期间数据面继续转发,避免全网重新收敛
  • 主备控制面切换:配合硬件能力实现控制面切换不掉会话
  • 入口设备维护:结合优雅关闭,让对端先完成路径切换再重启
  • 双出口冗余:单侧重启时流量由另一侧承担,减少业务抖动
  • 验收测试:在实验环境模拟进程重启,测量业务中断时长为零的条件是否成立

查看协商结果

查看协商结果
show ip bgp neighbors 10.0.0.2
# 关注段落:
#   Graceful Restart Capability: advertised and received
#   Restart Time: 120(协商值)
#   Address families: ipv4 unicast
# 只有双方都声明支持时,能力才显示为同时具备
!
show ip bgp neighbors 10.0.0.2 | include Graceful

三种保护机制对比

机制依赖条件覆盖场景
GR两端都支持并协商该能力控制面重启,如进程重启与主备倒换
NSF硬件转发面独立于控制面与 GR 配合应对控制面故障
NSR本机双控制面,邻居无需支持本机控制面切换,不涉及邻居行为

重启前后的观察点

重启前后的观察点
# 重启前记录基线
show ip bgp summary
show ip bgp neighbors 10.0.0.2 | include Graceful
#
# 重启过程中观察是否出现 stale 标记
show ip bgp 10.100.0.0/16
#
# 重启后确认条目被重申且 stale 清除
show ip bgp summary
show logging | include BGP
GR 只保护控制面重启这一类场景:设备硬断电、转发面失效或链路中断时,路由仍然会立即撤销。把 GR 当成「重启无感」的保证容易在真实故障中误判预期。

易错点

  • 两端能力不匹配:只有一端声明 GR 时协商结果为不具备,重启仍会引起撤销与收敛
  • 把 stale 保留时间设得过长:重启方未按时返回时,邻居长时间保留失效路由,流量继续被黑洞
  • 依赖 GR 覆盖硬故障:断电与链路中断不受 GR 保护,需要有其它冗余手段配合
  • 忽略地址族粒度:GR 能力按地址族声明,某一族未包含时该族路由不会被保留
  • 未观察到 End-of-RIB 就判断恢复完成:清理动作在更新结束后才发生,验证要看最终表项

数据来源与参考

  • RFC 4724: Graceful Restart
  • 厂商: GR/NSF 配置指南
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌