HCIE Datacom-02.3 BGP高级特性-RR路由反射器组网

本文最后更新于 2024年3月26日 下午

路由反射器简介

引入路由反射器,可以简化IBGP全互联的需求和配置,也可以减轻网络和CPU的负担、和不必要的BGP Update。

相对于BGP联盟也更利于排错。

PS:iBGP全互联是因为iBGP的水平分割防环机制。

引入路由反射器之后存在3种角色:

RR(Route Reflector): 路由反射器

Client:客户机

Non-Client:非客户机
PS:是否为客户机,是由RR指定的。

RR会将学习的路由反射出去,从而使得IBGP路由在AS内传播无需建立IBGP全互联。

当RR收到对等体发来的路由,首先使用BGP选路策略来选择最佳路由。在向IBGP邻居发布学习到的路由信息时,RR会按照一定规则来发布路由。

路由反射器相关角色:

RR:允许把从IBGP对等体学到的路由反射到其他IBGP对等体的BGP设备,类似OSPF网络中的DR。

Client:与RR形成反射邻居关系的IBGP设备。在AS内部客户机只需要与RR直连。

Non-Client:既不是RR也不是客户机的IBGP设备。在AS内部非客户机与RR之间,以及所有的非客户机之间仍然必须建立全互联关系。

Originator(始发者):在AS内部始发路由的设备。Originator_ID属性用于防止集群内产生路由环路。

Cluster(集群):路由反射器及其客户机的集合。Cluster_List属性用于防止集群间产生路由环路。

PS:将一台BGP路由器指定为RR的同时,还需要指定其Client。至于Client本身,无需做任何RR相关配置,它并不知晓网络中存在RR。

RR发布路由规则:

从非客户机IBGP对等体学到的路由,发布给此RR的所有客户机。

从客户机学到的路由,发布给此RR的所有非客户机和客户机。

从EBGP对等体学到的路由,发布给所有的非客户机和客户机。

PS:非客户端不传非客户端,其他都传。

路由反射器防环机制:Originator ID与Cluster List

一、Originator ID

  1. 该属性属于BGP的可选非过渡属性;

  2. Originator ID由RR产生,使用的Router ID的值标识路由的发送者,用于防止集群内产生路由环路;

  3. 当一条路由第一次被RR反射的时候,RR将Originator ID属性加入这条路由,标识这条路由的起始设备。如果一条路由中已经存在了Originator ID屡性,则RR将不会创建新的Originator ID属性(此时的Originator ID 指的是将该路由传递给RR的路由器的Router ID,不是RR的Router ID);

  4. 当设备接收到这条路由的时候,将比较收到的Originator ID和本地的Router ID,如果两个ID相同则不接收此路由。

二、Cluster List

  1. 该属性属于BGP的可选非过渡属性,用于集群间的防环,由每个路由反射器 (RR)产生,记录反射路由经过的集群;

  2. 路由反射器和它的客户机组成一个集群 (Cluster)。在一个AS内,每个路由反射器便用唯一的ClusterlD作为集群标识。缺省情况下,每个路由反射器使用自己的Router ID作为集群ID;

  3. 为了防止集群间产生路由环路,路由反射器便用Cluster List属性,记示路由经过的所有集群的Cluster ID;

  4. 当RR在它的客户机之间或客户机与非客户机之间反射路由时,RR会把本地Cluster ID添加到Cluster List的前面,如果Cluster List为空,RR就创建一个;

  5. 当RR接收到一条更新路由时,RR会检查Cluster List。 如果Cluster List中已经有本地Cluster ID,则丢弃该路由;如果Cluster List中没有本地Cluster ID,则将其加入Cluster List,然后反射该路由。

常见组网:备份RR组网

  • 为增加网络的可靠性,防止单点故障对网络造成影响,有时需要在一个集群中配置一个以上的RR。

  • 转发路径上的路由器与所有RR均建立IBGP关系,任意一个RR均有完整的BGP路由。

  • RR1和RR2在同一个集群内,配置了相同的Cluster ID

  • 单级RR组网路由反射原理(图示以RR1的反射路径为例):

  1. 当客户机Client1从EBGP对等体接收到一条更新路由,它将通过IBGP向RR1和RR2通告这条路由。

  2. RR1和RR2在接收到该更新路由后,将本地Cluster ID添加到Cluster List前面,然后向其他的客户机(Client2)反射,同时相互反射。

  3. RR1和RR2在接收到该反射路由后,检查Cluster List,发现自己的Cluster ID已经包含在Cluster List中。于是RR1和RR2丢弃该更新路由,从而降低BGP的内存占用。(RR之间根据Cluster List 防环)

PS:Cluster ID很类似于使用AS Path防环

常见组网:多集群RR组网 (1)

  • 一个AS中可以存在多个集群,各个集群的RR之间建立IBGP对等体。

  • 当RR所处的网络层相同时,可以将不同集群的RR全互联,形成同级RR。

  • 一个骨干网AS可能被分成多个集群。各集群的RR互为非客户机关系,并建立IBGP全互联。

  • 此时虽然每个客户机只与所在集群的RR建立IBGP连接,但所有RR和客户机都能收到全部路由信息。

  • 如图所示:四个RR分别处于Cluster1、Cluster2、Cluster3、Cluster4中,它们之间互相建立IBGP连接,而每个客户机只与所在集群内的RR建立IBGP连接。

常见组网:多集群RR组网 (2)

  • 一个AS中可以存在多个集群,各个集群的RR之间建立IBGP对等体。

  • 当RR所处的网络层不同时,可以将较低网络层次的RR配成客户机,形成分级RR。

在实际的RR部署中,常用的是分级RR的场景。

如图所示,AS 101内部分为三个集群:

其中Cluster1内的四台设备是核心路由器,采用备份RR的形式保证可靠性。Cluster1部署了两个1级RR,其余两台路由器作为1级RR的客户机。

Cluster2和Cluster3中分别部署了一个2级RR,而2级RR同时也是1级RR的客户机。两个2级RR之间无需建立IBGP连接关系。

分级RR与单级RR的路由发布规则相同。

分级RR设计需要考虑两个因素:

顶层全互联的拓扑大小:如果IBGP全互联数量已经多到难以管理了,则可考虑引入RR分级部署。

可替代路径的数量:该因素影响负载分担和资源消耗。越多的层次越会减少负载分担链路的数量,但需要的路由器资源更少。

单集群问题

  • 为了在基于RR的架构中提供所期望的冗余,正确的集群划分是非常重要的。

场景描述:

如图AS 101采用备份RR组网,RR1和RR2使用相同的Cluster ID,两台RR为R1访问10.1.5.5/32提供了冗余链路。

R4通告了10.1.5.5/32路由后,两台RR向R1通告,并相互之间通告。由于RR1和RR2有相同的Cluster ID,因此RR之间的更新消息会被丢弃。

IBGP会话失效导致冗余失效:

假设R3和R4间的IBGP会话失效(如:错误配置),由于R3忽略R2通告的10.1.5.5/32的路由,因此R1访问10.1.5.5/32就没有了冗余链路。

多集群设计-解决问题

  • 多集群设计不仅提供了针对链路失效的物理冗余,同时提供了针对客户机与RR之间的IBGP会话失效的逻辑冗余。

如图:将R2和R4划入Cluster1中,将R3和R4划入Cluster2中。

当R3和R4间的IBGP会话失效后,R3仍然可以继续转发流量,因为R3会学习R2通告的10.1.5.5/32路由。

配置命令

1
2
3
4
5
6
7
8
9
10
11
# RouterB RR的配置
bgp 100
router-id 2.2.2.2
peer 10.1.2.1 as-number 100
peer 10.1.3.2 as-number 100
#
ipv4-family unicast
undo synchronization
peer 10.1.2.1 enable
peer 10.1.3.2 enable
peer 10.1.3.2 reflect-client //配置RR及其客户机

思考题

(判断题)BGP的备份RR组网中,主备RR收到对方反射的路由会丢弃,避免路由环路。( )

  1. 正确

  2. 错误

答案:

Show 正确 因为主备RR配置一样的Cluster ID,如果Cluster List有自己的ID会丢弃路由

参考文档:

https://support.huawei.com/enterprise/zh/doc/EDOC1100130778/404b3fd6

https://support.huawei.com/enterprise/zh/doc/EDOC1100112408/ba3d67a5

https://blog.csdn.net/tushanpeipei/article/details/112788723


HCIE Datacom-02.3 BGP高级特性-RR路由反射器组网
https://songxwn.com/BGP-RR/
作者
Song
发布于
2024年3月7日
更新于
2024年3月26日
许可协议