BGP水平分割

一、BGP水平分割的作用及特点:

‌BGP水平分割的核心作用是防止路由环路,保障网络稳定,特点是分层防环、兼顾可靠性同时存在扩展限制‌,具体整理如下:

(一)、核心作用

  1. ‌最核心作用:防止路由环路‌:避免路由信息在不同自治系统(AS)之间、AS内部反复循环传递,导致路由计算错误、网络瘫痪。
  2. ‌减少资源浪费‌:阻断无效循环的路由更新,降低路由器CPU、带宽资源的无效消耗。
  3. ‌维持路由拓扑稳定‌:保证互联网庞大的路由体系始终保持无环状态,让数据包可以正常转发不迷路。

(二)、主要特点

  1. ‌分层设计,分场景防环‌:分为EBGP(跨AS)和IBGP(同AS内部)两种水平分割,分别解决不同场景下的环路问题:
  2. EBGP水平分割靠路由自带的AS_PATH路径标签防环,逻辑简单可靠
  3. IBGP水平分割因为同AS内无法靠标签防环,直接采用"从内部学的路由不再传给其他内部邻居"的规则,从传播层面阻断环路
  4. ‌规则简单可靠‌:实现逻辑清晰,防环有效性经过大规模互联网验证,是BGP默认开启的基础机制。
  5. ‌存在扩展性局限‌:IBGP水平分割会带来"路由无法完整传递"的问题,想要在大型AS内部署BGP,必须配合路由反射器或者BGP联邦才能使用。
  6. ‌兼容性强‌:和BGP其他机制(如路由聚合、选路规则)可以兼容工作,不会干扰其他功能的运行。

二、实验拓扑:

三、实验命令:

R1:

<Huawei>sys

Huaweiundo in en

Huaweisys R1

R1interface g0/0/0

R1-GigabitEthernet0/0/0ip add 12.1.1.1 24

R1-GigabitEthernet0/0/0quit

R1interface loopback 0

R1-LoopBack0ip address 1.1.1.1 32

R1-LoopBack0quit

R1ospf router-id 1.1.1.1

R1-ospf-1area 0

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

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

R1-ospf-1-area-0.0.0.0quit

R1-ospf-1q

R1bgp 123

R1-bgpundo summary automatic

R1-bgpundo synchronization

R1-bgprouter-id 1.1.1.1

R1-bgppeer 2.2.2.2 as-number 123

R1-bgppeer 2.2.2.2 connect-interface loopback

R1-bgpquit

R2:

<Huawei>sys

Huaweiun in en

Huaweisys R2

R2interface g0/0/1

R2-GigabitEthernet0/0/1ip add 12.1.1.2 24

R2-GigabitEthernet0/0/1quit

R2interface g0/0/0

R2-GigabitEthernet0/0/0ip add 23.1.1.2 24

R2-GigabitEthernet0/0/0quit

R2interface loopback 0

R2-LoopBack0ip address 2.2.2.2 32

R2-LoopBack0quit

R2ospf router-id 2.2.2.2

R2-ospf-1area 0

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

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

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

R2-ospf-1-area-0.0.0.0quit

R2-ospf-1q

R2bgp 123

R2-bgpundo synchronization

R2-bgpundo summary automatic

R2-bgppeer 1.1.1.1 as-number 123

R2-bgppeer 1.1.1.1 connect-interface loopback 0

R2-bgppeer 3.3.3.3 as-number 123

R2-bgppeer 3.3.3.3 connect-interface loopback 0

R2-bgpquit

R3:

<Huawei>sys

Huaweiundo info-center enable

Huaweisys R3

R3interface g0/0/1

R3-GigabitEthernet0/0/1ip add 23.1.1.3 24

R3-GigabitEthernet0/0/1quit

R3interface loopback 0

R3-LoopBack0ip add 3.3.3.3 32

R3-LoopBack0quit

R3ospf router-id 3.3.3.3

R3-ospf-1area 0

R3-ospf-1-area-0.0.0.0network 23.1.1.0 0.0.0.255

R3-ospf-1-area-0.0.0.0network 3.3.3.3 0.0.0.0

R3-ospf-1-area-0.0.0.0quit

R3-ospf-1q

R3bgp 123

R3-bgpundo synchronization

R3-bgpundo summary automatic

R3-bgprouter-id 3.3.3.3

R3-bgppeer 2.2.2.2 as-number 123

R3-bgppeer 2.2.2.2 connect-interface loopback 0

R3-bgpquit

四、实验测试:

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

在R1上创建一个环回接口,IP地址为100.100.100.100并宣告

R1interface loopback 100

R1-LoopBack100ip address 100.100.100.100 32

R1-LoopBack100quit

R1bgp 123

R1-bgpnetwork 100.100.100.100 32

R1-bgpquit

然后分别在R1,R2和R3上查看BGP路由表,可以看到R1和R2上的BGP路由表都有刚宣告的环回接口,R3上没有

R3上的路由表为空,这是因为BGP水平分割导致的,水平分割是从一个IBGP邻居学到的路由,不会再通告给其他IBGP邻居‌(俗称"内内不相传"),以此避免AS内部形成路由环路

下面我们在R2上使用路由反射来解决BGP水平分割的问题

R2bgp 123

R2-bgppeer 1.1.1.1 reflect-client

R2-bgpquit

然后再在R3上查看BGP路由表,可以看到R3上的BGP路由表里已经获取到了宣告的环回接口

五、总结:

‌BGP水平分割简单说就是BGP里防止路由绕圈子出bug的规则,一句话讲就是"不让消息绕回出发地"‌,分两种情况:

  1. 不同大网络(AS自治系统)之间

就像你给隔壁公司发通知,对方又把写了你的公司名的通知发回来给你,你一看这本来就是我发的,直接扔了不收------这就是靠路由自带的"路过名单"防绕圈,就是EBGP水平分割。

  1. 同一个大网络内部

就像公司里,你从同事A那收到了消息,不能再把这个消息转给另一个同事B,避免传来传去绕出死循环------本来要求公司所有人都得直接拿到消息,得每个人都互相打招呼,人多了根本忙不过来,后面就有了路由反射器(专门的消息中转站)来解决这个问题,这就是IBGP水平分割。

路由反射就是‌选一个人当"消息中转站"‌:所有人只需要跟这个中转站传递消息,中转站再把收到的消息转发给所有人,其他人不用挨个开会了,这个中转站就是路由反射器,来中转站传话的人就是‌客户端‌。

相关推荐
0+1117 分钟前
Linux --应用层协议HTTP
网络·网络协议·http
紫神14 分钟前
DDS 通信技术说明
网络·云原生·容器·k8s·dds·弱网
洋不写bug28 分钟前
网络编程(二)TCP回显服务器与客户端通信详解
服务器·网络·tcp/ip·tcp·网络通信·javaee·回显服务器
K成长日志39 分钟前
BLE Host层L2CAP--数据包格式
网络·物联网·无线通信·蓝牙·iot·ble
liangshanbo12151 小时前
主系统登录后,子系统怎么实现自动登录?
java·网络·数据库
谢亮_vipxieliang1 小时前
Go 并发安全性保障
服务器·网络·golang
袁章根2 小时前
基于瑞昱RTL8367S交换机电路设计(一)
网络·嵌入式硬件·硬件架构·硬件工程
洋不写bug2 小时前
网络原理(一)应用层协议、传输层UDP/TCP报文格式解析
网络·tcp/ip·udp·tcp·应用层·javaee·传输层
时间的拾荒人3 小时前
Qt 网络编程与音视频开发实战:从 UDP/TCP 到 HTTP 与多媒体
网络·qt·音视频
盟接之桥15 小时前
当大模型遇见线束制造:不是通用AI,而是行业AI
大数据·网络·人工智能·安全·制造