AS 号不匹配的表现
BGP 在 OPEN 报文里携带本端 AS 号,双方都会校验收到的 AS 号是否与本地为该邻居配置的 remote-as 一致,不一致就发通知报文并断开连接。这是邻居起不来的高频原因:现象上会话通常停在 OpenSent 或 OpenConfirm 反复重试,日志里有明确的通知报文与原因码。核对方法很简单——两端各看一次配置与日志,确认「我配的 remote-as」等于「对端真实的 AS 号」。
基本信息
| 校验机制 | OPEN 报文携带 AS 号,双方与本地 remote-as 比对 |
|---|---|
| 不一致后果 | 发送通知报文并断开,会话反复重建 |
| 典型状态 | 在 Active/Idle/OpenSent 之间循环,日志含 AS 不匹配提示 |
| 日志线索 | 通知报文中有 AS 号不匹配的原因说明 |
| 抓包核对 | 在 OPEN 报文中直接查看 AS 字段,比猜配置更直接 |
| 排查方法 | 两端各看配置与日志,逐项对照 AS 号 |
| 易错点 | iBGP 误写第三方 AS、ASN 变更后一端未同步 |
典型使用场景
- 新增邻居对接:割接前核对双方 AS 号与 remote-as 配置
- iBGP 场景:确认 remote-as 写的是本地 AS 号,而不是对端设备所在的其他 AS
- ASN 迁移与合并:一方改了 AS 号后,另一端必须同步更新
- 排查卡在 OpenSent:把 AS 号核对排在认证与能力协商之前
- 批量模板下发:同一模板套用到多个邻居时容易串号,需要逐个核对
核对命令
核对命令
show ip bgp neighbors 10.0.0.2 # 看状态机、错误码与最近通知原因
show ip bgp summary # 看邻居当前状态与 AS 号显示
show log | include 10.0.0.2 # 找 AS 号不匹配的通知报文记录
show run | section router bgp # 核对本端 remote-as 配置
clear ip bgp 10.0.0.2 # 配置修正后再复位,否则只是重复失败AS 号相关故障对照
| 现象 | 可能原因 | 核对动作 |
|---|---|---|
| 停在 OpenSent 反复循环 | remote-as 与对端真实 AS 不符 | 两端各看一次配置与日志 |
| iBGP 邻居起不来 | remote-as 写成了别的 AS 号 | 确认应为本地 AS 号 |
| ASN 变更后邻居全断 | 一端改了 AS,另一端未同步 | 逐邻居核对 remote-as |
| 个别邻居异常、其余正常 | 该邻居配置串号或被覆盖 | 对比同批邻居的配置差异 |
| 日志给出通知原因码 | 协议层已明确说明原因 | 直接按原因码定位 |
AS 号不匹配属于协议层主动报错,比 TCP 层问题好定位:通知报文会直接说明原因。遇到反复重试的邻居,先把日志读完再决定是否清会话。
华为 VRP 侧对应配置是 peer x as-number,排查思路一致。跨厂商对接时还要注意 4 字节 ASN 与 asdot 显示的写法差异,不要把显示格式当成配置写错。