首页/网络/BGP 与广域网速查/EBGP 与 IBGP 的区别
BGP 基础与邻居89 条

EBGP 与 IBGP 的区别

同 AS 内为 IBGP、跨 AS 为 EBGP:IBGP 不改变下一跳、不修改属性、需要全互联或 RR;EBGP 每跳改 AS_PATH 与下一跳。

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

两种会话的分工

同一个 AS 之内建立的对等会话叫 IBGP,跨 AS 建立的叫 EBGP。两者的差别不止「内外」:EBGP 每跳都会改写 AS_PATH 与下一跳、默认只允许直连;IBGP 保留原有属性、不追加 AS_PATH、也不改下一跳,因此需要额外机制解决可达性与规模问题。

对比项

项EBGPIBGP
默认 TTL1(直连),多跳需配置255
AS_PATH离开时追加本 AS不追加
下一跳默认改为自身(除非第三方下一跳)保持不变(常用 next-hop-self 修改)
属性修改MED 等随更新改变不改写,原样传递
回环口对等常需 multihop + update-sourceupdate-source + IGP 可达
全互联不需要需要全互联或 RR/联盟
防环靠 AS_PATH靠不通过 IBGP 再学的规则

基本信息

判定依据配置里的 remote-as 是否等于本机 AS 号
EBGP 默认跳数TTL 1,仅直连
IBGP 下一跳默认不变,内网需能到达该地址
IBGP 路由传递只传给其他 IBGP 邻居,不再重分发进 IGP
典型规模方案全互联适用于少量设备,规模大时用 RR 或联盟

典型使用场景

  • 与运营商互联:使用 EBGP,按策略控制发布与接收集合
  • 企业内多台边界设备之间:使用 IBGP 同步从外部学到的路由
  • 双边界双出口:IBGP 让两台设备都掌握出口可用性
  • 跨域扩展:设备数量增加时用 RR 替代两两全互联
  • 数据中心内以 IBGP 承载 EVPN 或 VPN 地址族

两类会话的典型写法

两类会话的典型写法
# EBGP:直连对等,AS 号不同
router bgp 65001
 neighbor 10.0.0.2 remote-as 65002
!
# IBGP:同 AS,用环回口对等并配合 IGP 可达
router bgp 65001
 neighbor 10.0.0.9 remote-as 65001
 neighbor 10.0.0.9 update-source Loopback0
 neighbor 10.0.0.9 next-hop-self      # 给内网邻居改写下一跳
!
show ip bgp summary                    # 两种邻居同表显示,注意 AS 列与状态列
IBGP 的规则是「不把从 IBGP 学到的路由再传给其他 IBGP 邻居」,这条规则保证了无环,也是必须全互联或引入 RR 的根本原因。
IBGP 下一跳默认不改写:如果内网设备没有到外部下一跳的路由,路由会出现在 BGP 表却不可用,表现为「有路由但不通」。
判断会话类型看 show ip bgp summary 的 AS 列:与本机 AS 相同的是 IBGP,不同的是 EBGP。同一台设备上两种邻居可以并存,策略需要分别核对。

易错点

  • IBGP 下一跳不变导致路由可用性判定失败:内网设备需能到达该下一跳
  • IBGP 未全互联或未部署 RR 却期待全量路由:缺少反射节点会导致部分路由器学不到
  • EBGP 用环回口对等时忘记 ebgp-multihop:TTL 为 1,报文在第二跳被丢弃
  • 把 IBGP 邻居当成重分发来源:IBGP 学到的路由不会再传给其他 IBGP 邻居,需靠 RR 或全互联解决

数据来源与参考

  • RFC 4271: IBGP 行为
  • 厂商: BGP 部署指南
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌