首页/网络/BGP 与广域网速查/OpenSent:已发出 Open 等待对端
BGP 基础与邻居89 条

OpenSent:已发出 Open 等待对端

OpenSent:TCP 已建立、Open 报文已发出:卡在该状态说明对端未回 Open 或 Open 参数不被接受。

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

OpenSent 是什么

OpenSent 表示 TCP 已建立、本机已经把 Open 报文发出去,正在等待对端回应的阶段。卡在这里说明对端没有回 Open,或者回了一个 Notification 表示不接受我方参数。此时问题已经不在网络可达性,而在两端的会话参数上:AS 号、版本、hold time、router-id 与认证。

基本信息

状态含义已发出 Open,等待对端响应
卡住原因对端未回 Open,或参数不匹配回 Notification
核对项两端 AS 号、hold time、router-id、认证配置
证据debug 输出与日志中的 Notification 错误码
抓包过滤 TCP 端口 179 查看 Open 报文字段
正常流转收到对端 Open 后进入 OpenConfirm

典型排查动作

  • 核对两端 AS 号:remote-as 是否互指正确(最常见错误)
  • 核对认证:TCP MD5 或 TCP-AO 密钥是否完全一致
  • 核对 hold time 取值是否合法(0、1、2 等值会导致协商失败)
  • 核对 router-id 是否合法且唯一
  • 查看日志与 debug 中的 Notification 错误码定位具体项

抓包与核对

抓包与核对
# 抓包看 Open 报文字段(AS 号、hold time、能力)
# tcpdump -i eth0 -nn 'tcp port 179'
!
show ip bgp neighbors 10.0.0.2            # 当前状态与最近复位原因
show ip bgp neighbors 10.0.0.2 | include password
show log | include BGP                     # 日志中的通知与错误码
show ip bgp summary                        # 两端对照状态

常见原因与定位

原因表现定位动作
AS 号互指错误本端 OpenSent、对端同样异常两端核对 remote-as 配置
认证密钥不一致反复握手失败后回到初始态核对密钥内容、大小写与特殊字符
hold time 非法参数协商被拒改为合法值或保持默认
router-id 冲突或非法参数校验不通过手工指定唯一标识
版本或能力不兼容对端回通知报文查看错误码并在两端确认实现版本
Notification 的错误码与子码能直接指向 Open 报文的哪一项不匹配,遇到这个阶段的故障应优先读取它。
此阶段 TCP 已经建立,说明网络可达,不要再把排查重点放在 ACL 或路由上,而应转向会话参数比对。

核对两端参数

核对两端参数
show ip bgp neighbors 10.0.0.2 | include remote AS   # 对端 AS 号
show ip bgp neighbors 10.0.0.2 | include hold          # 定时器协商值
show ip bgp neighbors 10.0.0.2 | include password      # 是否配置认证
show ip bgp summary                                     # 与对端输出逐项比对
两端的配置需要互相对应:本机的 remote-as 应等于对端的实际 AS 号,对端的 remote-as 应等于本机 AS 号;只检查一端经常看不出问题所在。

易错点

  • 两端 remote-as 互相写错时,Open 阶段报错容易被忽略:细读日志错误码
  • 认证在 Open 阶段参与校验:密钥不一致会在此暴露
  • 仍在查网络连通性:此阶段 TCP 已通,继续查链路方向就错了
  • 复位前不记录日志:错误码丢失后只能靠猜,定位成本成倍上升

数据来源与参考

  • RFC 4271: OpenSent 状态与 Open 报文
  • 厂商: BGP 调试指南
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌