GR 配置与验证
Graceful Restart(GR)让控制面重启或短暂中断时,转发面继续按旧路由转发的机制:重启方通告自己还能保留多久,邻居在此期间保留从它学到的路由并标记为陈旧。要生效需要两端都支持并协商成功,还要在地址族级别配置,默认重启时间与陈旧路径保留时间也需要按自身的收敛能力设置。
基本信息
| 配置位置 | BGP 进程级启用 GR,并在邻居或地址族级确认参与 |
|---|---|
| 协商 | 通过能力协商决定邻居是否支持,未协商成功则不生效 |
| 时间参数 | restart-time 与陈旧路径保留时间按实际收敛速度设定 |
| 验证命令 | show ip bgp neighbors <ip> | include Graceful |
| 标准依据 | RFC 4724(GR)、RFC 8538(GR 通知) |
典型使用场景
- 控制面升级或进程重启:减少路由撤回带来的断流时间
- 主控切换演练:验证切换期间业务是否保持转发
- 与对端协商部署:确认双方都启用并成功协商,否则只是单侧配置
- 收敛能力评估:根据实测的收敛时间调整保留时长
- 变更窗口评估:明确 GR 能覆盖哪些中断类型,避免过度期待
配置与核查
配置与核查
router bgp 65001
bgp graceful-restart # 启用能力协商(参数名随平台与版本不同)
!
# 核对协商结果:是否显示 Graceful restart
show ip bgp neighbors 10.0.0.2 | include Graceful
# 观察重启期间路由是否被保留(而非立即撤回)
show ip bgp summary
show ip route 10.10.0.0/16核对要点
| 要点 | 说明 | 异常表现 |
|---|---|---|
| 协商结果 | 两端都显示支持并按协商生效 | 单侧配置时看不到 GR 标记,功能实际不生效 |
| 地址族配置 | GR 可按地址族分别启用 | 只配了 IPv4 时 IPv6 不会获得保护 |
| 重启存活时间 | 协商出的等待时长,参数名与默认值随版本不同 | 设置过长时邻居等待过久,切换不及时 |
| 陈旧路径保留时间 | 保留旧路由的时长 | 过长会保留已失效路由,影响选路质量 |
GR 需要设备与软件栈支持,且只覆盖控制面类中断:链路中断、单板故障等场景它无能为力,不要把它当成通用冗余方案。上线前用演练验证真实收益。