iBGP 环回对等的要点
iBGP 用环回口对等比 eBGP 简单:同一 AS 内没有直连性检查,iBGP 报文 TTL 默认 255,邻居地址不必直连,也不用配 multihop。真正的两个前提是——两端环回地址在 IGP 中互相可达,以及下一跳可达性设计正确。后者是 iBGP 最常见的坑:从 eBGP 学到的路由在 iBGP 中传播时默认不改写下一跳,内部路由器学到路由却解析不出下一跳,表现为路由存在但业务不通。
基本信息
| 配置要点 | neighbor x remote-as 本 AS + update-source Loopback0 |
|---|---|
| 前提条件 | 两端环回在 IGP 中通告,且双向可达 |
| TTL 行为 | iBGP 默认 255,跨多跳无需 multihop |
| 下一跳处理 | 从 eBGP 学来的路由传入 iBGP 时,常用 next-hop-self 改写 |
| 验证入口 | show ip bgp summary 看状态与收发计数 |
| 高可用关系 | 会话本身无冗余,靠底层 IGP 冗余提升生存能力 |
典型使用场景
- AS 内核心设备互联:邻居地址与物理接口解耦,链路切换不影响会话
- 与 RR 配合:客户端与反射器之间统一用环回对等,配置模板一致
- 边界设备与内部设备之间:外部路由传入时配套 next-hop-self 或统一由 RR 处理
- 排查「路由存在但不可用」:下一跳不可达是 iBGP 场景的第一检查点
配置与验证
配置与验证
router bgp 65001
neighbor 10.0.0.5 remote-as 65001 # 对端环回地址,同一 AS
neighbor 10.0.0.5 update-source Loopback0 # 源地址用本端环回
neighbor 10.0.0.5 next-hop-self # 视拓扑决定:外部路由传入时常用
!
show ip bgp summary # 确认会话状态与收发计数
show ip bgp 10.1.0.0 # 看路由的下一跳属性
show ip route <下一跳地址> # 确认下一跳在 IGP 中可达iBGP 与 eBGP 环回对等差异
| 维度 | iBGP 环回对等 | eBGP 环回对等 |
|---|---|---|
| 直连性检查 | 没有 | 有,需要豁免或多跳 |
| TTL 默认 | 255,跨多跳无需额外配置 | 1,跨设备必须开 multihop |
| 路由传播 | 学到的不再传给其他 iBGP 邻居 | 按策略正常传递 |
| 下一跳处理 | 默认保留外部下一跳,常需 next-hop-self | 按需改写 |
| 主要坑点 | 下一跳不可达、环回未进 IGP | 跳数不足、连通性检查 |
iBGP 会话本身没有冗余:两条物理路径上通常只有一条 IGP 路径在使用,IGP 的收敛速度直接决定会话的生存能力。所以「用环回建 iBGP」不等于「会话高可用」,要先确认底层 IGP 的冗余设计与收敛时间。
next-hop-self 通常配在作为 AS 边界的那台设备上,把外部路由以自己为下一跳发给内部邻居;规模较大时更常见的做法是配合 RR 统一处理,避免逐邻居配置不一致带来的下一跳混乱。