边界网关协议BGP(八)

继续学习 BGP, 上接 边界网关协议BGP(七)

路由反射

定义

路由反射,Route Reflector(简称“RR”),是为了解决全互联拓扑中邻居数量过多的问题。通过 RR 技术结合部分互联拓扑,能够有效降低邻居数量。

原理

通过反射服务器和反射客户端,实施强制的发行,类似 VTP 中的 client 和 server。

bgp vrrp 管道应用 bgp rr作用_bgp vrrp 管道应用

部署

bgp vrrp 管道应用 bgp rr作用_网络_02


图中拓扑,默认 R1 传递路由到 R2,EBGP 传来的路由一定可以传递给 IBGP,即 R2 将路由条目传递给 R3,此时由于 IBGP 的水平分割原则,R3 不会将来自 R2 的路由再传给 R4。

解决此问题,可以将 R3 指定为路由反射服务器,其他设备按照 VTP 服务器客户端的思路指定为路由反射客户端。当路由反射服务器收到一条来自路由反射客户端的路由条目时,会将其传递给另外的一个路由反射客户端或者非簇客户端(正常路由器)。例如在 R2 、R3、R4 中,将 R3 设为路由反射服务器后,剩下两个任选其一设为路由反射客户端,路由条目就可以正常完整的传递了。此时路由反射客户端和路由反射服务器联合起来,称为反射簇。

R3:// 不要在边界路由器做
router bgp 2345
neighbor 2.2.2.2 route-reflector-client
neighbor 4.4.4.4 route-reflector-client //该条可以不配置

规则

1、反射客户端和服务端组成一个“反射簇”,簇中的路由信息是共享的,逻辑意义上相当于一个大路由器;
2、“大路由器”只有 Server 知道,Client 不知道;
3、反射簇成员数量不受限;
4、服务器 Server 会将路由条目反射给客户端,也会反射给下一跳非簇邻居。

拓展

bgp vrrp 管道应用 bgp rr作用_网关_03


如上图所示,当设备数量超过三个且路由拓扑越来越大时,可以通过多次指服务器客户端的方式,依次将路由传递下去。这种情况叫做二级/多级路由反射。

bgp vrrp 管道应用 bgp rr作用_网络_04


在实际网络中,路由需要一级一级向更核心的网络汇聚,路由层次和数量繁多,做全互联是不可行的,为了使得网络更加简洁,此时可以通过将 对等体组 和 路由反射技术 相结合的方法,来处理大型网络的路由交换。

路由联盟

定义

路由联盟/路由联邦,Route Confederation,是为了解决全互联拓扑中邻居数量过多的问题。通过路由联盟可以逻辑意义上 “切割 AS”,有效降低邻居数。

原理

bgp vrrp 管道应用 bgp rr作用_网关_05


将 AS 边缘和内部设备每两个之间,部署成一个逻辑上的大路由器,以此屏蔽掉三个设备直连或串联的情况。在一个 AS 内部,对外使用同一个 AS 号,对于内部来说,两两路由器组成一小的 AS 号且只供内部路由器识别,无法传递出去。称这种小的 AS 号为联盟 AS,同一个联盟 AS 中的两个路由器为联盟 IBGP 关系,来自两个不同联盟 AS 的路由器称为联盟 EBGP 关系。

这种逻辑意义上的切分,使得如果有外部路由进入 AS,以前会发生 IBGP 水平分割的路由,因为联盟 AS 的划分,会依靠逻辑上的联盟 IBGP 和联盟 EBGP,完整的传递下去。

部署

以 R3 为例:

router bgp 23
 bgp router-id 3.3.3.3
 bgp log-neighbor-changes
 bgp confederation identifier 2345 //宣告所在的总 AS
 bgp confederation peers 45 //宣告联盟AS
 neighbor 2.2.2.2 remote-as 23
 neighbor 2.2.2.2 update-source Loopback1
 neighbor 2.2.2.2 next-hop-self
 neighbor 4.4.4.4 remote-as 45
 neighbor 4.4.4.4 ebgp-multihop 255
 neighbor 4.4.4.4 update-source Loopback1