logo.png/

Datapass

数通
当前位置:首页 > 誉天学堂 > 数通 > 实战复盘:如何让BGP路由“跨设备”无障碍传递?华为设备默认设置藏玄机

实战复盘:如何让BGP路由“跨设备”无障碍传递?华为设备默认设置藏玄机

  • 2025/11/24

上章说到BGP对于路由的生成和转递的规则,遗留下两个问题:

1.从EBGP邻居收到的路由信息,传递给IBGP邻居时,路由会存在哪些问题?

2.因为该路由传递规则的存在,导致AR3不能接收到AR1通告的BGP路由信息,如何解决该问题?


image.png


对于第一个问题,直白点就是因为学习到的路由下一跳不可达。

在AR4上进行路由信息的宣告:

image.png


路由通过EBGP邻居传递给AR3,AR3通过IBGP邻居传递给AR2:

image.png


根据AR2和AR4的BGP路由显示可以看到AR2学习到的路由是不存在*>标识的。

再次查看AR2路由表中针对10.1.34.4地址的匹配路由:

image.png

可以发现AR2的路由表中是不存在10.1.34.4匹配路由的。

为了解决该问题,可以在AR3上针对IBGP邻居传递路由时进行下一跳的更改:


image.png

再次查看AR2的BGP路由信息:

image.png

可以看到路由信息的下一跳变为AR3的更新源地址3.3.3.3,路由变得可达。

对于第二个问题,直白点就是因为规则的存在导致路由不可传递。

在AR1上进行BGP路由宣告,查看BGP路由信息:

image.png

在AR2上进行BGP路由信息的查看:

image.png

在AR3上进行BGP路由信息的查看:

image.png

通过现象可以发现AR1发布的路由信息,不能通过AR2(IBGP邻居)传递给AR3(IBGP邻居)

为了解决该问题,可以让AR1和AR3建立IBGP邻居,AR1直接将路由信息传递给AR3。

在AR1和AR3之间建立IBGP邻居关系:


image.png

邻居建立完成后,AR3再次查看BGP路由信息:

image.png

可以发现AR3能够正常学习到AR1发送的路由信息。

在AR4上查看BGP路由信息:

image.png


发现AR3也可以将路由信息的正常传递。

问题升级:如果AR1和AR2之间不存在IBGP邻居,AR1和AR3建立IBGP邻居,路由信息是否能正常传递。

AR1删除和AR2建立IBGP邻居的配置:

image.png

在AR3上查看BGP路由信息:

image.png

在AR4上查看BGP路由信息:

image.png

到此可以看到AR4可以正常学习到AR3发送的路由信息。但是AR1到AR4之间经过的路由器,AR2是不存在任何BGP路由信息的。这就会导致后续数据转发到达AR2,AR2因为不存在路由信息会直接丢弃掉数据。

为了防止该问题的出现,BGP要求EBGP邻居之间在传递路由信息时,需要检查IGP是否能学习到该路由信息。(BGP与IGP同步)

如果IGP学习到该路由,则EBGP邻居之间正常传递。

如果IBGP没有学习到该路由,则EBGP邻居之间不会传递该路由。

但是由于BGP的路由条目数庞大,IGP不能完全承载。所以对于BGP与IGP同步的特性,BGP是默认关闭的。(华为设备默认关闭,且不能开启)

image.png


对于第二个问题,解决的办法是通过增减建立IBGP邻居的数量来使得路由信息可以正常传递。但是当路由器数量较多,路由条目过大的场景中,会造成邻居数量庞大,报文重复发送。

为了更好的解决该问题,BGP提供了多种路由属性来进行优化。



返回列表
上一篇:
下一篇:
三层VLAN之间的通信
免费试听
姓名
电话
城市
咨询课程