文章总结: 文章系统梳理BGP协议原理与实战:先讲AS、ASN、eBGP/iBGP概念,再按Idle到Established六状态拆解邻居建立流程,随后给出R1-R3拓扑的完整配置、验证截图与报文抓包,逐字节解析OPEN、KEEPALIVE、UPDATE、NOTIFICATION格式,演示路由宣告与撤销过程,并总结常见Cease子码,可对照实验复现及排障。 综合评分: 82 文章分类: 网络协议,安全建设,技术标准,解决方案,安全培训
网络协议—BGP协议
原创
老五
老五说网络
2025年12月29日 16:30 陕西
一、基本概念
BGP(Border Gateway Protocol,边界网关协议)是互联网核心的外部网关协议(EGP),用于在不同的自治系统(Autonomous System, AS)之间交换路由信息。它是目前唯一广泛使用的域间路由协议,负责在全球范围内实现互联网的可达性。
- 自治系统(AS):由一个组织或 ISP 管理的一组 IP 前缀和路由器,使用统一的内部路由策略。
- AS 号(ASN):每个 AS 有一个唯一的编号(16 位或 32 位),如 AS15169(Google)、AS13335(Cloudflare)。
- eBGP(External BGP):运行在不同 AS 之间的 BGP,用于交换外部路由。
- iBGP(Internal BGP):运行在同一 AS 内部的 BGP,用于将外部路由在整个 AS 内传播。
二、BGP 报文类型和邻居状态
1、报文类型
- Open:建立邻居关系(包含 ASN、BGP 版本、Hold Time 等)
- Update:通告或撤销路由(携带 NLRI、路径属性等)
- Keepalive:维持 BGP 会话(默认每 60 秒一次)
- Notification:报告错误并关闭连接
- Route-refresh(可选):请求对等体重新发送路由(用于软重配)
2、邻居状态
- Idle(空闲):初始状态,拒绝所有连接;等待启动事件(如配置邻居)
- Connect(连接):尝试 TCP 连接 发起 TCP SYN,等待三次握手完成
- Active(活跃):主动重试连接 TCP 失败后,持续尝试建立连接
- OpenSent(Open 已发送):已发送 Open 报文,等待对方的 Open 报文
- OpenConfirm(Open 已确认):等待 Keepalive 收到对方 Open 后,等待 Keepalive 或 Notification
- Established(已建立):正常运行,可交换 Update、Keepalive 等路由信息。
三、BGP基本配置实验
1、实验拓扑
2、实验配置
R1:
# sysname R1#interface LoopBack0 ip address 1.1.1.1 255.255.255.255#interface LoopBack1 ip address 11.1.1.1 255.255.255.255#interface GigabitEthernet0/0 port link-mode route combo enable copper ip address 12.1.1.1 255.255.255.0#bgp 65501 router-id 1.1.1.1 peer 12.1.1.2 as-number 65502 # address-family ipv4 unicast network 1.1.1.1 255.255.255.255 network 11.1.1.1 255.255.255.255 peer 12.1.1.2 enable#
R2:
# sysname R2#ospf 1 area 0.0.0.0 network 2.2.2.2 0.0.0.0 network 23.1.1.0 0.0.0.255#interface LoopBack0 ip address 2.2.2.2 255.255.255.255#interface GigabitEthernet0/0 port link-mode route combo enable copper ip address 12.1.1.2 255.255.255.0#interface GigabitEthernet0/1 port link-mode route combo enable copper ip address 23.1.1.1 255.255.255.0#bgp 65502 router-id 2.2.2.2 peer 3.3.3.3 as-number 65502 peer 3.3.3.3 connect-interface LoopBack0 peer 12.1.1.1 as-number 65501 # address-family ipv4 unicast import-route direct peer 3.3.3.3 enable peer 12.1.1.1 enable#
R3:
# sysname R3#ospf 1 area 0.0.0.0 network 3.3.3.3 0.0.0.0 network 23.1.1.0 0.0.0.255#interface LoopBack0 ip address 3.3.3.3 255.255.255.255#interface GigabitEthernet0/0 port link-mode route combo enable copper ip address 23.1.1.2 255.255.255.0#bgp 65502 router-id 3.3.3.3 peer 2.2.2.2 as-number 65502 peer 2.2.2.2 connect-interface LoopBack0 # address-family ipv4 unicast peer 2.2.2.2 enable#
3、实验验证
R1:邻居关系以及BGP路由表
R2:邻居关系以及BGP路由表
R3:邻居关系,BGP路由表,连通性测试
四、BGP协议报文分析
上述内容描述两个设备之间的BGP对等体通信,源 IP 和目标 IP 是 12.1.1.1 和 12.1.1.2。这是典型的BGP邻居关系建立过程。
1、OPEN报文:BGP 会话建立流程(正常)
- 双方都发送了 OPEN 消息,表示尝试建立 BGP 会话。
- 通常在收到对方 OPEN 后,如果参数匹配(如 AS 号、版本),就会进入 Established 状态。
说明:BGP 会话已成功建立!
️2、KEEPALIVE报文: 消息频繁交换
- 大量的 KEEPALIVE Message 在双向传输,时间间隔大约为 60 秒左右,符合默认的 Hold Timer = 180s, Keepalive = 60s 的设置。
说明:BGP 会话稳定运行中,没有中断。
3、UPDATE报文:路由更新
- 表示双方交换了路由信息
- 通常在 BGP 建立后,会通过 UPDATE 发送可达路径或撤销路由
说明:BGP 路由已开始同步,网络处于正常工作状态
- 分析新增路由或者撤销路由的报文
注:新增对 IP 地址 3.3.3.3/32 的路由宣告,提供完整路径信息,让对等体知道如何到达该网络。
边界网关协议(BGP) 更新消息(UPDATE Message) 标记:16 字节 长度:48 字节 类型:更新消息(2) 不可达路由长度:0 字节 总路径属性长度:20 字节 路径属性: ORIGIN:IGP(4 字节) 标志:0x40(公认、可传递、完整) 类型码:ORIGIN(1) 长度:1 字节 起源:IGP(0) AS_PATH:65502(9 字节) 标志:0x40(公认、可传递、完整) 类型码:AS_PATH(2) 长度:6 字节 AS 路径:65502 NEXT_HOP:12.1.1.2(7 字节) 标志:0x40(公认、可传递、完整) 类型码:NEXT_HOP(3) 长度:4 字节 下一跳:12.1.1.2(即本设备地址) 网络层可达性信息(NLRI):5 字节 3.3.3.3/32 NLRI 前缀长度:32 NLRI 前缀:3.3.3.3(即 IP 地址 3.3.3.3)
注:撤销了对 IP 地址 3.3.3.3/32 的路由宣告,该网络不可达的报文。
边界网关协议(BGP) 更新消息(UPDATE Message) 标记:16 字节 长度:28 字节 类型:更新消息(2) 不可达路由长度:5 字节 撤销的路由: 3.3.3.3/32 撤销路由前缀长度:32 撤销的前缀:3.3.3.3(即 IP 地址 3.3.3.3) 总路径属性长度:0 字节
4、Notification 报文
通过在R2上进行删除了邻居指向后,12.1.1.2 发送给 12.1.1.1,主动终止 BGP 会话,产生了Notification 报文。具体报文格式如下:
边界网关协议(BGP) 通知消息(NOTIFICATION Message) 标记:16 字节 长度:21 字节 类型:通知消息(3) 错误代码:终止(Cease)(6) 错误子代码:对端未配置(Peer Unconfigured)(3)
小知识:常见的 Cease Subcode
公众号:老五说网络
长按左侧二维码关注
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:老五说网络 老五《网络协议—BGP协议》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论