首页/网络/BGP 与广域网速查/BGP Notification 错误码解读
广域网排障60 条

BGP Notification 错误码解读

断连原因写在 Notification 报文里:错误码指出类别(消息头、OPEN、UPDATE、状态机),子码进一步定位;日志与抓包都能读到。

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

Notification 报文说什么

BGP 邻居断连时,断开方会发一个 Notification 报文说明原因,报文体里包含错误码(指出大类)与错误子码(指出具体原因)。这是排查断连最快的信息来源:错误码 1 表示消息头问题,通常与帧格式、MTU 或转发异常相关;2 是 OPEN 协商失败,涵盖版本、AS 号、Hold 时间与能力协商;3 是 UPDATE 报文问题,包括报文格式错误、缺少必需属性、非法下一跳;6 是 Cease,属于状态机类原因,比如管理性关闭或达到前缀上限。日志与抓包都能读到这对数字,读出来基本就能确定排查方向。

基本信息

1 消息头帧格式问题,常见于 MTU 与转发异常
2 OPEN协商失败:版本、AS 号、Hold 时间、能力
3 UPDATE报文错误、缺失属性、非法下一跳
4 Hold 超时长时间未收到任何报文
6 Cease状态机类:管理关闭、前缀上限等
获取渠道设备日志与抓包中的 NOTIFICATION 记录

典型使用场景

  • 邻居突然断连:先从日志里找出错误码与子码
  • 频繁闪断:统计断连原因是否集中在同一子码
  • 割接后邻居建立失败:确认是否为 AS 号或版本问题
  • 前缀超限告警:确认是否触发 Cease 类断连
  • 跨厂商对接:用子码判断是参数问题还是报文形态问题

查看方式

查看方式
# 从日志中筛选断连原因
show log | include NOTIFICATION|Cease|BGP-3
# 抓包中可直接看到错误码与子码
# BGP NOTIFICATION (3,2) 表示缺少必需属性
show ip bgp neighbors 203.0.113.2 | include Notification|last reset
# 华为侧对照
 display bgp peer verbose

高频组合

错误码/子码含义处置
2 / 2Bad Peer AS:AS 号不一致核对两端 remote-as
2 / 6Hold Time 不可接受调整 Hold 时间使其在可接受范围
2 / 7能力协商失败确认两端支持的能力集合
3 / 2缺少必需属性检查更新报文属性与厂商兼容性
6 / 1达到前缀上限复核 maximum-prefix 配置与对端通告量
6 / 2管理性关闭确认是否有人执行了 shutdown
报错码反映的是「断开方看到的问题」,因此看到日志的可能是被动一侧;两端都要查,才能确定是本地配置问题还是对端通告问题。
断连原因可能被后续事件覆盖:建议把 BGP 相关日志重定向到缓冲区或日志服务器,便于回溯历史断连。

易错点

  • 只在一端找原因:断开方在对端,日志里可能只有连接被重置的记录
  • 把 Cease 当成协议异常:多数是管理性操作或前缀上限,属于预期行为
  • 忽略消息头类错误:这类问题往往指向 MTU 或转发异常,容易被误判为配置错误
  • 日志缓冲区过小:断连瞬间的报文被后续日志冲掉,失去关键线索
  • 只看错误码不看子码:同一大类下原因完全不同,结论会跑偏

数据来源与参考

  • RFC 4271: 错误码定义
  • RFC 4486: Cease 子码
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌