在传统的IBGP网络中,为了避免产生环路,规定一个IBGP设备从他的IBGP邻居学到的路由,不能继续传递给下一个IBGP邻居。为了保证IBGP对等体之间的连通性,需要在IBGP之间建立逻辑全连接关系。当设备数量很多时,对网络资源以及CPU资源的消耗都非常大。在IBGP对等体之间使用RR可以解决上述问题,使建立的连接数降为N-1,有效降低对网络以及设备CPU资源的占用。
RR(Route Reflector)作为一种特殊的IBGP路由器,可以作为全网路由条目存储和转发的中心点,可将路由信息重新分发给其他IBGP路由器。
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的配置方法:只需在RR上指定客户端即可。
neighbor 1.1.1.1 route-reflector-client
RR的防环:RR中引入了两个属性一个是起源者ID Originator ,簇列表 Cluster list
Cluster list 路由每经过一个RR,就会在Cluster list里加上RR的router id,当RR收到的路由中Cluster list中有自己的ROUTER ID就拒收。
Originator 每一条路由都会携带发起者的ROUTER ID,当发起者收到Originator 是自己时就拒收。
如下图:R2 R3 R4都配置为RR与其直连的路由器为其客户端,R1上宣告100.1.1.1/32
可以看到每台客户端都收到来自RR的反射的路由条目,含有的Cluster list都不会含有自身的RID。
当拓扑为如下结构,R2 R3 R4都配置为RR与其直连的路由器为其客户端,R1上宣告100.1.1.1/32
R1将拒收Originator为自己ID的路由条目。
达到了防环的目的。