基础概念:

我们知道,在IBGP 2 设备收到IBGP 1设备传输过来的IBGP路由后,不会将此IBGP路由传递给其它的IBGP设备,所以当其它的IBGP设备需要获得此跳IBGP路由时,就需要与IBGP 1设备建立IBGP邻居关系。

在网络较大的情况下,使用IBGP全互联的话,就会很复杂,所以出现了路由反射器

路由反射器角色:

bgp 双rr 反射规则 bgp反射器应用场景_List

bgp 双rr 反射规则 bgp反射器应用场景_List_02

1.RR-----------路由反射器----允许把从IBGP对等体学来的路由反射到其它IBGP对等体设备

2.Client--------客户机--------与RR形成反射邻居关系的IBGP设备(在AS内只需要与RR直连)

3.Non-Client--非客户机------既不是RR也不是客户机的IBGP设备(在AS内部需要与RR之间、以及所有的非客户机之间仍然需要全互联)

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

5.Cluster-------集群----------路由反射器与客户机的集合(Cluster_List属性用于防止集群间产生路由环路)

路由反射器原理:

1.RR从非客户机学到的路由,会反射给所有的客户机

2.RR从客户机学习到的路由,发布给所有的客户机和非客户机(除了发起此路由的客户机除外)

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

 

路由反射器的防环机制:

Originator_ID-----用于防止集群内产生路由环路

当一条路由第一次被RR反射的时候,RR将Originator_ID属性加入这条路由,标识这条路由的发起设备。如果一条路由中已经存在了Originator_ID属性,则RR将不会创建新的Originator_ID属性。

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

 

Cluster_List-------用于防止集群间产生路由环路---Cluster-ID就类似于OSPF中的Router-id

当一条路由第一次被RR反射的时候,RR会把本地Cluster ID添加到Cluster List的前面。如果没有Cluster_List属性,RR就创建一个。

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

注意:

当一个网络中有多个RR(防止单点故障)时,可以通过此网络中的RR配置相同的集群ID(Cluster_ID)来减少各RR接收的路由数量

 

 

配置:

以下的配置只需要在RR上进行路由反射器的配置(客户机只需要配置与RR做IBGP邻居的配置)

对于客户机来说,客户机是不知道自己时客户机的,只有RR知道

Bgp as号

Peer  reflect-client                   配置自己为RR,并将指定的对等体最为Client

Peer  ip地址   reflect-client      配置此对等体为客户机

reflector cluster-id    _____       配置集群ID