首页/网络/BGP 与广域网速查/BGP 卡在 Idle/Active/Connect 的含义
广域网排障60 条

BGP 卡在 Idle/Active/Connect 的含义

邻居长期不 Established:Active 表示本端在重试但没收到有效响应,Idle 常见于被关闭或无路由,Connect 表示 TCP 正在建立。

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

三个状态各代表什么

BGP 邻居建立要经过 Idle、Connect、Active、OpenSent、OpenConfirm、Established 六个状态,卡在前三个通常意味着 TCP 连接都没建起来,后面的参数协商根本还没开始。Idle 是最初状态,也可能是邻居被 shutdown 或等待重试计时;Connect 表示本端已发出 TCP SYN,正在等握手完成;Active 的名字容易误导,它表示本端在主动重试连接但没收到对端的有效响应,也就是「一直在敲门没人应」。理解这三者的区别,能把排查方向直接锁定在可达性与 TCP 179 上,而不是去比对 BGP 参数。

基本信息

Idle初始态,或被管理关闭、等待重试
ConnectTCP 三次握手进行中
Active主动重试连接但无有效响应
OpenSent 起TCP 已建立,进入参数协商
默认端口TCP 179,双向都需要放行
被动侧配置 passive 后不主动发起,需对端先连

典型使用场景

  • 邻居长期不建立:先看状态判断是否属于 TCP 层问题
  • 双端都是被动:两端互相等待,邻居永远停在 Idle 或 Connect
  • 直连可达但邻居仍 Active:检查 ACL 或防火墙是否拦了 179
  • 一端带源地址连接另一端不带:单方向可达会造成只有一侧能发起
  • 邻居刚配置完处于 Idle:确认是否仍在重试等待窗口内,不要过早下结论

分层排查顺序

分层排查顺序
# 1. 指定源地址验证三层可达性
ping 203.0.113.2 source 198.51.100.1
# 2. 看邻居状态与最近一次原因
show ip bgp neighbors 203.0.113.2
show ip bgp summary
# 3. 确认 TCP 179 是否被本地 ACL 拦截
show ip access-lists | include 179
# 4. 华为侧对照
 display bgp peer
 display acl all

状态与常见原因

状态含义常见原因与处置
Idle未开始连接邻居 shutdown、无路由、重试等待中
ConnectTCP 握手中路径不通或中间设备拦截 SYN
Active反复重试无响应对端未监听 179、ACL 拦截、源地址错误
OpenSent已发 OPEN进入参数协商,问题转向 AS 号与能力
Established邻居就绪仍不通则查通告与路由策略
Active 与 Connect 会来回切换,这不是新问题而是重试周期在起作用;看状态时要结合 uptime 与日志时间戳判断持续了多久。
两端都用 passive 属于常见自锁:只要有一侧配置了被动,另一侧就必须主动发起,否则邻居永远建不起来。

易错点

  • 看到 Active 就去改 BGP 定时器或 AS 号:TCP 都没建起来,改这些参数毫无作用
  • 只 ping 通就认定没问题:ping 走的是 ICMP,与 TCP 179 被 ACL 拦截是两回事
  • 忽略源地址:多出口设备上用错源地址发起连接,对端按另一地址回包,握手永远不完成
  • 两端都配了 passive:互相等待,日志里看不到明显报错,排查时最容易漏
  • 把重试等待时间当成故障持续时长:状态切换周期会让人误判问题已经存在很久

数据来源与参考

  • RFC 4271: 状态机
  • Cisco: BGP 邻居状态
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌