IBGP和EBGP

一、IBGP和EBGP的作用及特点

‌IBGP‌ 和 ‌EBGP‌ 是 BGP 协议的两种运行模式,分别用于自治系统(AS)内部和外部的路由信息交换。

(一)、IBGP(Internal BGP)特点与作用

****‌作用范围‌:****运行于‌同一自治系统(AS)内部‌,用于在 AS 内部传递从 EBGP 学到的外部路由信息,确保 AS 内所有路由器拥有全局一致的路由表。

****‌防环机制‌:****通过‌水平分割规则‌防环,即从一个 IBGP 邻居学到的路由‌不能传递给其他 IBGP 邻居‌,防止 AS 内部形成路由环路。

****‌下一跳处理‌:****传递路由时‌不修改下一跳地址‌(next-hop),保持 EBGP 学来的原始下一跳。为解决非直连问题,通常在边缘路由器上配置 next-hop-self。

****‌全连接需求‌:****IBGP 需要‌全互联拓扑‌(全连接),即所有 IBGP 邻居两两建立会话,否则可能导致路由黑洞。为简化部署,可使用‌路由反射器(Route Reflector)‌ 或‌联盟(Confederation)‌。

****‌属性传递‌:****在 IBGP 会话中,‌Local_Pref‌ 等本地优先级属性会被传递,用于影响出站流量选路。

(二)、EBGP(External BGP)特点与作用

****‌作用范围‌:****运行于‌不同自治系统(AS)之间‌,是互联网上 AS 互联的‌唯一标准外部网关协议‌,用于交换跨 AS 的路由信息。

****‌防环机制‌:****通过 ‌AS_PATH 属性‌防环。当收到一条路由时,若其 AS_PATH 中包含自己的 AS 号,则‌直接丢弃该路由‌,防止跨 AS 环路。

****‌下一跳处理‌:****传递路由时‌会修改下一跳地址‌为自身的接口地址,确保下一跳可达。

‌AS_PATH 操作‌:在传递路由时,EBGP 会将自己的 ‌AS 号添加到 AS_PATH‌ 中,用于标识路由来源并影响选路(AS 路径越短越优先)。

****‌连接方式‌:****通常要求‌直连建立邻居‌,TTL 默认为 1;若非直连,需手动配置 ebgp-multihop 调整最大跳数。

****‌管理距离(AD)‌:****EBGP 的默认管理距离为 ‌20‌,比 IBGP(200)更优先,因此在路径选择中优先选用 EBGP 路由。

****‌属性剥离‌:****向 EBGP 邻居传递路由时,会‌剥离 Local_Pref、Cluster_List、Originator_ID‌ 等仅用于 AS 内部的属性。

(三)、核心区别总结

|------------|--------------|--------------|
| 特性 | IBGP | EBGP |
| 所在范围 | 同一AS内部 | 不同AS之间 |
| AS_Path处理 | 不修改 | 添加本地AS号 |
| TTL默认值 | 无限制 | 1(需直连) |
| 邻居关系 | 可非直连 | 通常直连 |
| 路由传递 | 不能传给其他IBGP邻居 | 可传给所有BGP邻居 |
| 下一跳行为 | 保持不变 | 修改为自身地址 |

二、实验拓扑:

三、实验命令:

R1:

<Huawei>sys

Huaweiundo info-center enable

Huaweisys R1

R1interface g0/0/0

R1-GigabitEthernet0/0/0ip add 12.1.1.1 24

R1-GigabitEthernet0/0/0q

R1interface loopback0

R1-LoopBack0ip address 1.1.1.1 32

R1-LoopBack0q

R1ospf router-id 1.1.1.1

R1-ospf-1area 0

R1-ospf-1-area-0.0.0.0network 1.1.1.1 0.0.0.0

R1-ospf-1-area-0.0.0.0network 12.1.1.0 0.0.0.255

R1-ospf-1-area-0.0.0.0q

R1-ospf-1q

R1bgp 100

R1-bgpundo synchronization

R1-bgpundo summary automatic

R1-bgprouter-id 1.1.1.1

R1-bgppeer 2.2.2.2 as-number 100

R1-bgppeer 2.2.2.2 connect-interface loopback0

R2:

<Huawei>sys

Huaweiundo info-center enable

Huaweisys R2

R2interface g0/0/0

R2-GigabitEthernet0/0/0ip address 23.1.1.2 24

R2-GigabitEthernet0/0/0q

R2interface g0/0/1

R2-GigabitEthernet0/0/1ip address 12.1.1.2 24

R2-GigabitEthernet0/0/1q

R2interface loopback0

R2-LoopBack0ip address 1.1.1.1 32

R2-LoopBack0q

R2ospf router-id 2.2.2.2

R2-ospf-1area 0

R2-ospf-1-area-0.0.0.0network 2.2.2.2 0.0.0.0

R2-ospf-1-area-0.0.0.0network 12.1.1.0 0.0.0.255

R2-ospf-1-area-0.0.0.0q

R2-ospf-1q

R2bgp 100

R2-bgpundo synchronization

R2-bgpundo summary automatic

R2-bgprouter-id 2.2.2.2

R2-bgppeer 1.1.1.1 as-number 100

R2-bgppeer 1.1.1.1 connect-interface LoopBack0

R2-bgppeer 23.1.1.3 as-number 200

R3:

<Huawei>sys

Huaweiundo info-center enable

Huaweisys R3

R3interface g0/0/1

R3-GigabitEthernet0/0/1ip address 23.1.1.3 24

R3-GigabitEthernet0/0/1q

R3interface loopback0

R3-LoopBack0ip add 3.3.3.3 32

R3-LoopBack0q

R3bgp 200

R3-bgpundo summary automatic

R3-bgpundo synchronization

R3-bgprouter-id 3.3.3.3

R3-bgppeer 23.1.1.2 as-number 100

四、实验测试:

在R1上查看tcp连接

  1. ‌TCPCB‌:TCP控制块标识,是设备内部用于管理TCP连接的唯一标识符
  2. ‌Tid/Soid‌:线程ID/套接字ID,标识处理该连接的进程或套接字资源
  3. ‌Local Add:port‌:本地IP地址与端口,即设备自身的连接地址和端口号
  4. ‌Foreign Add:port‌:远程IP地址与端口,即对端设备的连接地址和端口号
  5. ‌VENID‌:虚拟网络标识,用于区分不同虚拟网络环境下的连接
  6. ‌State‌:TCP连接状态,是判断连接是否正常的关键指标

在R2上查看对等体关系,可以看到R2已经与R1和R3建立了对等体

在R1上查看BGP路由表,可以看到路由表里只有ospf里的路由

‌Status codes‌:路由状态码说明

*:有效路由(valid)

>:最优路由(best)

d:被抑制的路由(damped)

h:历史路由(history)

i:内部路由(internal)

s:被抑制的路由(suppressed)

S:过时路由(Stale)

  1. ‌Origin‌:路由起源标识

i:IGP路由(内部网关协议)

e:EGP路由(外部网关协议)

?:起源不完整(incomplete)

在R3上宣告环回接口

R3bgp 200

R3-bgpnetwork 3.3.3.3 32

然后R1上引入路由

R1bgp 100

R1-bgpimport-route ospf 1

再在R1上查看BGP路由表,可以看到R1的BGP路由表上出现了刚刚在R3上宣告的网段

但是通过上面的输出,我们可以发现3.3.3.3不是最优的,如果不优就不会加载进全局路由表,也不会传递给其他路由,这里不优的原因是因为下一跳不可达

所以,我们在R2上给它配置下一跳本地

R2bgp 100

R2-bgppeer 1.1.1.1 next-hop-local

然后在R1上查看BGP路由表,可以看到3.3.3.3的下一跳变成2.2.2.2了

再在R2上查看BGP路由表

通过以上输出,我们可以发现1.1.1.1这条路由虽然下一跳可达,但是不是有效和最优的,其原因为:如果IGP表里面宣告了这条路由,然后再在IBGP里面,路由只能本地有效。

五、总结

‌IBGP用于同一自治系统(AS)内部传递路由,EBGP用于不同自治系统之间交换路由‌。你可以把AS理解为一家公司,IBGP就像公司内部员工之间传递消息,EBGP则是两家公司之间对接合作。

‌IBGP(内部边界网关协议)‌

在同一个网络组织内部使用(如一家大型企业或运营商内部),用来把从外部学到的路由信息同步给内部其他路由器。它通常通过稳定的Loopback接口建立连接,不修改AS_Path路径信息,且不会将从IBGP邻居学到的路由再传给其他IBGP邻居,防止环路。

‌EBGP(外部边界网关协议)‌

用于不同组织之间的路由器通信(比如你的公司网络和阿里云、电信之间)。它默认要求直连,TTL为1,会自动在路由的AS_Path中加入自己的AS号,像"盖章"一样防止路由环路。EBGP学到的路由可以转发给所有BGP邻居,是互联网跨域互联的核心协议。

相关推荐
IpdataCloud15 小时前
担心IP暴露隐私?用安全IP查询工具自查,三步配置网络出口
网络·tcp/ip·安全·ip
xy345316 小时前
wireshark 如何捕获信息
网络·测试工具·渗透测试·wireshark
玖玥拾17 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
一个有温度的技术博主19 小时前
【VulnHub 实战】DC-1 靶机渗透测试笔记(一):信息收集与主机发现
服务器·网络·笔记
白帽小阳19 小时前
2026前端面试题!(附答案及解析)
javascript·网络·python·安全·web安全·网络安全·护网行动
hehelm21 小时前
Linux网络编程—TCP字典翻译系统
linux·开发语言·网络·c++·tcp/ip
持力行21 小时前
D-BUS会话总线
运维·网络
pt104321 小时前
思科网络自动化-API常用数据编码格式(JSON/XML/YAML)课程与实践
linux·服务器·网络
糖果店的幽灵21 小时前
安全测试从入门到精通_网络基础与HTTPS
网络·https·php
Keepingrun1 天前
HTTP基础
网络·网络协议·http