BGP路由反射器RR

曾子曰:“吾日三省吾身:为人谋而不忠乎?与朋友交而不信乎?传不习乎?”

文章目录

      • 一、拓扑
      • 二、基础配置与分析
      • 三、BGP13条选路原则
      • 四、BGP路由反射器RR
      • 五、备份路由反射器

EBGP 对等体之间是不存在 BGP 路由反射器的概念的。

对于大型网络来说,使用路由反射器可以大大减少 IBGP 对等体关系的数量。路由反射器的使用,会明显减少配置工作量,人为出错的可能性也会大大降低。

一、拓扑

BGP路由反射器RR_第1张图片

二、基础配置与分析

底层配置如图所示,在此不一一列举;

1、所有设备为 BGP 设备

EBGP:AR-8----AR-1;AR-9----AR-2
IBGP:按需建立

2、在 AS-100 配置 RR,AR-2 与 AR-5 作为发射器集群内的 RR

RR:AR-2;AR-5
集群 ID(Cluster-ID):2.2.2.2
Client 客户机:AR-3;AR-4
NO-Client 非客户机:AR-1;AR-6

AR-2

[AR-2-bgp]dis th
[V200R003C00]
#
bgp 100
 router-id 2.2.2.2
 peer 29.1.1.9 as-number 300 
 group RR1 internal                    //创建名称为RR1的IBGP对等体组
 peer RR1 connect-interface LoopBack0  //向名称为RR1的对等体组的成员通告建立邻居时使用环回口作为数据更新源
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 group RR1                //将邻居1.1.1.1加入此BGP对等体组
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 group RR1 
 peer 4.4.4.4 as-number 100 
 peer 4.4.4.4 group RR1 
 peer 5.5.5.5 as-number 100 
 peer 5.5.5.5 group RR1 
 peer 6.6.6.6 as-number 100 
 peer 6.6.6.6 group RR1 
 #
 ipv4-family unicast
  undo synchronization
  reflector cluster-id 2.2.2.2   //指定本设备的集群ID为1.1.1.1(默认集群ID为RR的-RID)
  peer 29.1.1.9 enable
  peer RR1 enable
  peer RR1 reflect-client        //指定此组成员为我的客户端
  peer RR1 next-hop-local        //向名称为RR1的对等体组的成员通告bgp路由的下一跳属性为本端
  peer 1.1.1.1 enable
  peer 1.1.1.1 group RR1 
  peer 3.3.3.3 enable
  peer 3.3.3.3 group RR1 
  peer 3.3.3.3 reflect-client
  peer 4.4.4.4 enable
  peer 4.4.4.4 group RR1 
  peer 4.4.4.4 reflect-client     //指定邻居为我的客户机
  peer 5.5.5.5 enable
  peer 5.5.5.5 group RR1 
  peer 6.6.6.6 enable
  peer 6.6.6.6 group RR1 
#
return

AR-5

[AR-5-bgp]di th
[V200R003C00]
#
bgp 100
 router-id 5.5.5.5
 group RR2 internal
 peer 1.1.1.1 as-number 100 
 peer 1.1.1.1 group RR2 
 peer 2.2.2.2 as-number 100 
 peer 2.2.2.2 group RR2 
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 group RR2 
 peer 4.4.4.4 as-number 100 
 peer 4.4.4.4 group RR2 
 peer 6.6.6.6 as-number 100 
 peer 6.6.6.6 group RR2 
 peer 6.6.6.6 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  reflector cluster-id 5.5.5.5
  peer RR2 enable
  peer RR2 reflect-client
  peer RR2 next-hop-local 
  peer 1.1.1.1 enable
  peer 1.1.1.1 group RR2 
  peer 2.2.2.2 enable
  peer 2.2.2.2 group RR2 
  peer 2.2.2.2 reflect-client
  peer 2.2.2.2 next-hop-local 
  peer 3.3.3.3 enable
  peer 3.3.3.3 group RR2 
  peer 3.3.3.3 reflect-client
  peer 4.4.4.4 enable
  peer 4.4.4.4 group RR2 
  peer 4.4.4.4 reflect-client
  peer 6.6.6.6 enable
  peer 6.6.6.6 group RR2 
#
return

路由刷新

refresh bgp all import            //本BGP设备所有邻居发我的数据重新请求更新
refresh bgp group RR1 import      //对本BGP组为AAA下的所有邻居发我的路由请求更新
refresh bgp 12.1.1.1 import       //针对邻居12.1.1.1发我的路由请求重新更新

3、经图示中的环回口地址宣告进 BGP,确保 所有 BGP 成员获得这些环回口的路由

[AR-8]bgp 200
[AR-8-bgp]net 8.8.8.8 32
AR 4、6、9 设备配置类似

BGP路由反射器RR_第2张图片

BGP 水平割:发出的路由的不再接收
EBGP:不再接收带有自己 AS 号 BGP 路由
IBGP:从 IBGP 邻居学到的路由,不会再发送给其他的 IBGP 邻居

4、BGP配置RR之后是如何防止环路的。

BGP路由反射器RR_第3张图片
在 R2 上关于 Originator 和 Cluster List 这两个属性。Qriginator 属性的作用是防止路由在反射器和客户端/非客户端之间出现环路。路由第一次被反射的时候, 反射会将 Originator属性加入这条路由中,用 BGP Router-ID 表示,用来标识这条路由的起源路由器。如果路由中已经存在 Originator 属性,则反射器不会创建新的 Originator。当其他 BGP 对等体接收到这条路由时,将对收到的 Originator 和本地的 BGP Router-ID 进行比较,如果两者相同,BGP 对等体将会忽略掉这条路由,不做处理。Originator 属性可以传递给其他的Cluster,路由在AS内传递时该属性不会丢失。

Cluster List 属性可用来防止 Cluster 间的路由环路。当路由反射器在客户端之间或客户端与非客户端之间反射路由时,会将自己的 Cluster-ID 添加到 Cluster List 中。路由反射器接收到 BGP 路由后会去检查其中的 Cluster List, 如果发现自己的 Cluster-ID 位于 Cluster List 中,则表明出现了路由环路,因而会忽略该路由。AS 内的每台路由反射器都采用了一个唯一的 4 个 8 位组来标识 Cluster-ID,如果 Cluster 中包含了多台路由反射器,则必须以手工的方式为每台路由反射器配置 Cluster-ID。

三、BGP13条选路原则

1、Next Hop

2、PrefVal(Preferred Value 优选值最高的路由,私有属性,本地有效)

3、LocPrf(Local Preference 优选本地优先级最高的路由)

4、本地起源属性,手动聚合路由>自动聚合路由>IGP>BGP

5、AS_Path(优选短的路由)

6、Origin i>e>?

7、MED(优选MED值小的)

8、EBGP>IBGP

9、在AS内优先选择IGP开销最小的路由

10、Cluster-list(优选最短的路由)

11、Origin-ID(越小越好)

12、优选RID最小的路由

13、优选邻居接口地址最小的路由

四、BGP路由反射器RR

BGP的RR-路由反射器

1、作用:

解决在大型BGP网络中一个AS内IBGP邻居众多,受IBGP防环机制影响,从IBGP邻居学到的BGP路由不能再传给其他IBGP邻居而导致的路由不能全网传递的问题。

2、原理:

多台IBGP设备与一台中心IBGP设备建立邻居,由这台中心路由器将学到的BGP路由反射给所有与他连接的BGP设备,这样就避免AS内所有BGP设备都形成邻居的局面。

3、角色

(1)RR:路由反射器-Route Reflector

允许把从IBGP对等体学到的路由反射到其他IBGP设备,主要用来反射路由给相应的客户机。

(2)Client:客户机

与RR形成反射邻居关系的IBGP设备,由RR决定哪些IBGP邻居成为客户机(成为客户机的设备并不知道自己是client,只是与RR正常建立IBGP邻居)

(3)Non-Client:非客户机

既不是RR也不是客户机的IBGP设备。在AS内部非客户机与RR之间以及所有的非客户机之间必须建立全连接的邻居关系

(4)Originantor:始发者

在AS内始发路由的设备,Originator-ID属性用作集群内产生的路由环路

(5)Cluster:集群

路由反射器及其客户机集合。Cluster-List属性用于防止集群之间产生环路默认情况下Cluster-List是集群内RR的R-ID(clsustet-list id可以自定义)的集合体,类似于AS-Path的AS号集合体,一个集群收到带有本集群号的BGP路由不接收。

4、RR的邻居关系

(1)RR要和AS内的所有IBGP设备建立邻居
(2)所有的非客户机要建立全连接的IBGP邻居

5、RR发布路由规则

RR打破了IBGP的水平分割,采用Cluster-list属性和Originator-ID属性防止环路。
(1)从非客户机学到的路由,反射给所有客户机:
(2)从客户机学到的路由,反射给所有的非客户机和客户机(不向发起此路由的客户机发送此路由)
(3)从EBGP对等体学到的路由,发送给所有的客户机和非客户机。

6、注意

RR反射器无法针对反射发出方向修改路由属性

7、防环

(1)客户机与RR之间通过Originantor ID属性防环:客户机拒绝接收Originantor ID和自己R-ID重复的路由
(2)RR之间的防环采用Cluster list:RR反射器不接带有自己RR集群的Cluster 属性的路由

8、RR反射器

(1)从非客户机学到BGP路由会反射给所有的客户机
(2)从客户机学到BGP路由会反射给所有的客户机与非客户机
反射的BGP路由在RR反射器无法注入策略
发送的BGP路由在RR反射器可以部署策略

(3)从EBGP学到的BGP路由会发送给所有的客户拒与非客户机

五、备份路由反射器

为增加网络的可靠性,防止单点故障对网络造成影响,有时需要在一个集群中配置一个以上的RR。由于RR打破了从IBGP对等体收到的路由不能传递给其他IBGP对等体的限制,所以如果同一集群内存在多个RR,则它们之间中又可能存在环路,因此这里又规定,同一集群中的所有RR必须使用相同的Cluster ID,以避免RR之间的路由环路。
BGP路由反射器RR_第4张图片

本人所有文章都受版权保护,著作权归艺博东所有!未经授权,转载必究或附上其原创链接。

你可能感兴趣的:(路由交换)