什么是RR?
在大规模的BGP网络中加入RR(Route Reflector),是用来解决IBGP全连接网络的一种方案。
RR(Route Reflector)作为一种特殊的IBGP路由器,可以作为全网路由条目存储和转发的中心点,可将路由信息重新分发给其他IBGP路由器。
为什么使用RR?
在传统的IBGP网络中,为了避免产生环路,规定一个IBGP设备从他的IBGP邻居学到的路由,不能继续传递给下一个IBGP邻居。为了保证IBGP对等体之间的连通性,需要在IBGP之间建立逻辑全连接关系。
IBGP网络中的IBGP全连接
如上图所示,由于IBGP规定R2不能将它从R1学到的路由传递给R3,为了使R1和R3之前的路由能够相互传递,要在R1和R3之间需要建立IBGP连接(虚线),使其成为IBGP邻居。同理,为保证同一AS内IBGP对等体之间的连通性,R1与R4之间,R3与R4之间也需要建立IBGP连接。假如一个AS内有N台IBGP设备,需要建立的IBGP连接的数量就为N×(N-1)/2。当设备数量很多时,对网络资源以及CPU资源的消耗都非常大。在IBGP对等体之间使用RR可以解决上述问题,使建立的连接数降为N-1,有效降低对网络以及设备CPU资源的占用。
RR的工作原理
如下图所示,在一个存在RR的AS内部有如下几种重要角色:
IBGP网络中存在RR的IBGP连接情况
- 路由反射器RR(Route Reflector):允许把从IBGP对等体学到的路由反射给其他IBGP对等体的BGP设备。
- 客户机(Client):与RR形成反射邻居关系的IBGP设备。
- 集群(Cluster):路由反射器及其客户机的集合。
同一集群内的客户机只需要与该集群的RR直接交换路由信息,因此客户机只需要与RR之间建立IBGP连接,不需要与其他客户机建立IBGP连接,从而减少了IBGP连接数量。如上图所示,在AS65000内R2作为RR,R1、R3、R4设备作为客户机,形成Cluster1,R1可以通过RR获取R3、R4的路由信息,R3、R4同理。此时AS65000中IBGP的连接数从配置RR前的6条减少到3条,不仅简化了设备的配置,也减轻了网络和CPU的负担。
RR突破了“一个IBGP设备从他的IBGP邻居学到的路由,不能继续传递给下一个IBGP邻居”的限制,从客户机学到的路由,RR会将其发布给所有的客户机(发起其路由的客户机除外)。
RR的使用场景
随着对BGP协议的扩展,BGP的使用越来越广泛,RR的实际应用场景也越来越多,近来大火的SD-WAN就是其中之一。
SD-WAN网络拓扑图
如上图所示,RR作为SD-WAN控制层的一部分,负责全网VPN路由与拓扑信息的控制和传播。RR与控制器配合,能够基于用户定义的策略,进行站点间的VPN路由和拓扑信息按需分发,实现不同的站点之间按需互联。
下面将以上图为例,通过讲述SD-WAN如何工作进一步介绍RR的作用。
- 三个站点的设备向控制器注册,建立起管理通道。控制器通过管理通道为每台设备分配其对应的RR,其中站点1、站点2对应的RR就是站点3的设备。
- 站点1、站点2通过管理通道获取RR站点的信息,与RR站点建立连接。
- 站点1、站点2将自身的路由信息通过上一步骤与RR建立的连接通告给RR,RR也将自身的路由信息反向通告给站点1、站点2。随后,两者之间就能建立控制通道,这个通道也被叫做BGP EVPN连接。
- 这时RR站点与站点1、站点2之间已经建立了BGP邻居关系,此时如果控制器需要站点1和站点2之间建立数据通道,便可控制RR将从站点1接收到的路由信息反射给站点2,并将从站点2接收到的路由信息反射给站点1,这样站点1和站点2彼此之间也能获取到对方的路由信息,从而建立起彼此之间的数据隧道。而且当站点1处有新的路由发布时,站点2依然可以通过RR学到站点1新发布的路由。
- 上一节讲到RR会将从客户机学到的路由反射给其他所有的客户机,在SD-WAN中,通过控制器的介入,可以控制RR反射路由信息给特定的非RR站点。例如不让站点1与站点2之间建立数据通道,则可在控制器上修改组网拓扑,控制RR不将站点1的路由信息反射给站点2即可。
综上所述,虽然BGP的拓展协议越来越丰富,其承载的路由信息也越来越丰富,但是RR正如其名路由反射器一样,依然在一个区域中作为中心点,反射接收到的路由信息给其他需要的设备,减少网络管理与传输的开销,提高网络管理效率并提供更好的网络稳定性。
- 作者: 丁恒
- 最近更新: 2023-12-29
- 浏览次数: 20542
- 平均得分: