首页/网络/BGP 与广域网速查/会话震荡的常见原因清单
BGP 基础与邻居89 条

会话震荡的常见原因清单

邻居反复 Up/Down 的排查清单:从物理/链路、底层路由、定时器、前缀超限、认证、CPU 到对端行为逐项核对。

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

震荡排查从时间规律开始

邻居反复 Up/Down 时,最有价值的信息是「多久断一次、断在哪一秒、同时还有什么告警」。是固定周期(可能是 Keepalive 或老化时间相关)、还是随机分布(更像链路抖动或资源竞争)、还是集中在一个时间段(可能对端维护),这三种规律直接指向不同的排查方向。

原因速查

类别线索动作
链路抖动接口频繁 Up/Down 日志检查光模块、线路与错包计数
定时器超时Hold timer expired 记录查丢包、时延、CPU 与 BFD 状态
前缀超限maximum-prefix 触发核对对端发布范围与阈值余量
路由大量撤销更新风暴与 TblVer 频繁变化查对端策略变更与下一跳抖动
参数不匹配Notification 错误码核对 AS、认证、能力与版本
对端维护对端主动关闭记录与对端确认是否存在计划操作
资源紧张CPU 高、内存不足、进程重启查看进程与硬件资源趋势

基本信息

第一手证据邻居状态变化日志与接口日志的时间戳对照
量化指标单位时间内的断开次数与持续时长
关键命令show ip bgp summary、show logging、show interface
辅助手段抓包与 BFD 状态,用于区分「链路断」与「会话断」
记录要求设备需开启 NTP,多设备日志才可对齐

典型使用场景

  • 业务间歇性中断:先定位是否与 BGP 断链时间点重合
  • 割接后异常:确认是变更引入还是既有问题被触发
  • 对端交涉:用日志事实说明断开方向与原因,减少互相推诿
  • 长期治理:把断开频次纳入监控,形成趋势数据
  • 扩容评估:判断震荡是否与邻居数量或表项规模增长相关

排查命令序列

排查命令序列
# 1) 看状态与计时器
show ip bgp summary
# 2) 看历史断开原因
show ip bgp neighbors 10.0.0.2 | include Last
# 3) 看日志时间线
show logging | include BGP
show logging | include GigabitEthernet0/1
# 4) 看接口错误计数
show interface GigabitEthernet0/1 | include error|drops
# 5) 看设备资源
show processes cpu | include BGP

固定周期震荡的判断

固定周期震荡的判断
# 若每隔固定时间断开一次,优先怀疑:
# 1) 中间设备会话老化时间短于 Keepalive 间隔
# 2) Hold Time 协商值过小,对丢包敏感
# 3) 存在会定期刷新的策略或探测导致链路瞬断
show ip bgp neighbors 10.0.0.2 | include hold|keepalive
tcpdump -i eth0 -nn 'tcp port 179' -w bgp.pcap
# 用抓包对比断开前的最后几个报文
不要只在本端找原因:对端维护、对端设备资源不足、对端策略变更都会表现为本端「邻居有问题」。列出断开的主动方(Last reset by 字段)能快速判断是本地还是远端触发。

易错点

  • 只盯 BGP 不看物理层:链路抖动与光模块劣化是高频根因,接口日志往往早于 BGP 日志出现异常
  • 忽略对端因素:把对端维护或对端故障当成自身问题,排查方向从一开始就偏了
  • 不看断开主动方:Last reset 字段能直接指出是谁发起的断开,漏看会让定位绕远
  • 日志时区与时间未统一:多设备关联分析失效,只能凭感觉推测
  • 只看单次事件不看频次:偶发一次与每小时一次的处理优先级完全不同,需要先量化

数据来源与参考

  • 运营商: BGP 震荡排查实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌