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邻居,是互联网跨域互联的核心协议。

相关推荐
稳联技术老娜1 小时前
Profinet从转DeviceNet主网关在1500PLC与那智机器人通信应用纪实
网络·机器人
智慧光迅AINOPOL1 小时前
全光网与PON网络区别对比分析
网络·全光网解决方案·全光网·校园全光网·校园全光网解决方案
shuxiaohua1 小时前
一次现网问题定位-websocket断连问题
网络·websocket·网络协议
handler011 小时前
【Linux 网络】:poll/epoll 底层机制与 Reactor 并发模型
linux·运维·服务器·网络·c++·多路转接·多路复用
Cloud_Shy6181 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第二章 Item 10 - 12)
c语言·开发语言·网络·人工智能·windows·python·编辑器
做个文艺程序员1 小时前
第03篇:K8s 网络深度解析:Ingress、Service Mesh 与 CoreDNS——Java 微服务通信全链路剖析(生产级实战)
网络·kubernetes·service_mesh
@卓越俊逸_角立杰出@1 小时前
深度拆解跨境支付系统架构:从资金流、账本系统到全球清算网络设计
网络·系统架构
被考核重击1 小时前
前端高频面试题总结_性能_工程化_网络
前端·网络·性能优化·工程化
Multipath7121 小时前
多卡多链路聚合路由器的原理、关键技术分析
网络·5g·安全·智能路由器·无人机·实时音视频