BGP路由反射器

一、路由反射器

为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。假设在一个AS内部有n台设备,那么建立的IBGP连接数就为n(n-1)/2。当设备数目很多时,设备配置将十分复杂,而且配置后网络资源和CPU资源的消耗都很大。在IBGP对等体间使用路由反射器可以解决以上问题。

二、路由反射器相关角色

在一个AS内部关于路由反射器有以下几种角色:

  1. 路由反射器RR(Route Reflector):允许把从IBGP对等体学到的路由反射到其他IBGP对等体的BGP设备,类似OSPF网络中的DR。
  2. 客户机(Client):与RR形成反射邻居关系的IBGP设备。在AS内部客户机只需要与RR直连。
  3. 非客户机(Non-Client):既不是RR也不是客户机的IBGP设备。在AS内部非客户机与RR之间,以及所有的非客户机之间仍然必须建立全连接关系。
  4. 始发者(Originator):在AS内部始发路由的设备。Originator_ID属性用于防止集群内产生路由环路。
  5. 集群(Cluster):路由反射器及其客户机的集合。Cluster_List属性用于防止集群间产生路由环路。

三、路由反射器原理

       同一集群内的客户机只需要与该集群的RR直接交换路由信息,因此客户机只需要与RR之间建立IBGP连接,不需要与其他客户机建立IBGP连接,从而减少了IBGP连接数量。如图1所示,在AS65000内一台设备作为RR,三台设备作为客户机,形成Cluster1。此时AS65000中IBGP的连接数从配置RR前的10条减少到4条,不仅简化了设备的配置,也减轻了网络和CPU的负担。

RR突破了“从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体。”的限制,并采用独有的Cluster_List属性和Originator_ID属性防止路由环路。RR向IBGP邻居发布路由规则如下:

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

  • 从客户机学到的路由,发布给所有非客户机和客户机(发起此路由的客户机除外)。

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

1.Cluster_List属性

路由反射器和它的客户机组成一个集群(Cluster),使用AS内唯一的Cluster ID作为标识。为了防止集群间产生路由环路,路由反射器使用Cluster_List属性,记录路由经过的所有集群的Cluster ID。

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

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

1.Originator_ID属性

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

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

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

四、多集群路由反射器

一个AS中可以存在多个集群,各个集群的RR之间建立IBGP对等体。当RR所处的网络层不同时,可以将较低网络层次的RR配成客户机,形成分级RR。当RR所处的网络层相同时,可以将不同集群的RR全连接,形成同级RR。

实验拓扑:

  1. 为路由反射器:R1、R4
  2. 非客户端:R7、R8
  3. 客户端:R2、R3、R5、R6、

IP地址已配置完,配置OSPF使AS100设备的LoopBack接口互通:

[R1]ospf 1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.13.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.14.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.1.1 0.0.0.0

[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 10.0.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 10.0.22.22 0.0.0.0

[R3]ospf 1
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 10.0.13.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 10.0.3.3 0.0.0.0

[R4]ospf 1
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 10.0.14.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.45.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.46.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.47.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.4.4 0.0.0.0

[R5]ospf 1
[R5-ospf-1]area 0
[R5-ospf-1-area-0.0.0.0]network 10.0.45.0 0.0.0.255
[R5-ospf-1-area-0.0.0.0]network 10.0.5.5 0.0.0.0

[R6]ospf 1
[R6-ospf-1]area 0
[R6-ospf-1-area-0.0.0.0]network 10.0.46.0 0.0.0.255
[R6-ospf-1-area-0.0.0.0]network 10.0.6.6 0.0.0.0

[R7]ospf 1
[R7-ospf-1]area 0
[R7-ospf-1-area-0.0.0.0]network 10.0.47.0 0.0.0.255
[R7-ospf-1-area-0.0.0.0]network 10.0.7.7 0.0.0.0

配置路由反射器,指定客户端,创建两个集群,R1与R8使用物理接口互通:

[R1]bgp 100
[R1-bgp]router-id 10.0.1.1
[R1-bgp]group in_1                      ----------创建集群组1
[R1-bgp]peer 10.0.2.2 group in_1        --------加入集群组1
[R1-bgp]peer 10.0.3.3 group in_1
[R1-bgp]peer in_1 reflect-client        --------指定集群组为客户端
[R1-bgp]peer in_1 next-hop-local        --------更改下一跳属性
[R1-bgp]reflector cluster-id 1          --------定义集群ID
[R1-bgp]peer 10.0.4.4 as-number 100     --------建立邻居关系
[R1-bgp]peer 10.0.4.4 connect-interface LoopBack 0    --------指定更新源
[R1-bgp]peer 10.0.4.4 next-hop-local
[R1-bgp]peer 10.0.18.8 as-number 200

[R2]bgp 100
[R2-bgp]router-id 10.0.2.2
[R2-bgp]peer 10.0.1.1 as-number 100
[R2-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R2-bgp]network 10.0.2.2 32
[R2-bgp]network 10.0.22.22 32

[R3]bgp 100
[R3-bgp]router-id 10.0.3.3	
[R3-bgp]peer 10.0.1.1 as-number 100
[R3-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R3-bgp]network 10.0.3.3 32

[R4]bgp 100
[R4-bgp]router-id 10.0.4.4
[R4-bgp]group in_2
[R4-bgp]peer 10.0.5.5 group in_2
[R4-bgp]peer 10.0.6.6 group in_2
[R4-bgp]peer in_2 reflect-client 
[R4-bgp]reflector cluster-id 2
[R4-bgp]peer 10.0.1.1 as-number 100
[R4-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R4-bgp]peer 10.0.7.7 as-number 100
[R4-bgp]peer 10.0.7.7 connect-interface LoopBack 0

[R5]bgp 100
[R5-bgp]router-id 10.0.5.5
[R5-bgp]peer 10.0.4.4 as-number 100
[R5-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R5-bgp]network 10.0.5.5 32

[R6]bgp 100
[R6-bgp]router-id 10.0.6.6
[R6-bgp]peer 10.0.4.4 as-number 100
[R6-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R6-bgp]network 10.0.6.6 32

[R7]bgp 100
[R7-bgp]router-id 10.0.7.7	
[R7-bgp]peer 10.0.4.4 as-number 100
[R7-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R7-bgp]network 10.0.7.7 32

[R8]bgp 200
[R8-bgp]router-id 10.0.8.8	
[R8-bgp]peer 10.0.18.1 as-number 100     -----物理接口
[R8-bgp]network 10.0.8.8 32

现在我们的路由反射器会把R8的路由反射个客户端,但R7作为非客户端反射器不会反射个它,解决方法:R1、R7建立邻居就可以了

[R1]bgp 100
[R1-bgp]peer 10.0.7.7 as-number 100
[R1-bgp]peer 10.0.7.7 connect-interface LoopBack 0
[R1-bgp]peer 10.0.7.7 next-hop-local

[R7-bgp]display this 
#
bgp 100
 router-id 10.0.7.7
 peer 10.0.1.1 as-number 100
 peer 10.0.1.1 connect-interface LoopBack0
 peer 10.0.4.4 as-number 100
 peer 10.0.4.4 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  network 10.0.7.7 255.255.255.255
  peer 10.0.1.1 enable
  peer 10.0.4.4 enable

配置完可以看到R8的路由是最优的

                                         前
[R7]display bgp routing-table
                           
 BGP Local router ID is 10.0.7.7 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete

 Total Number of Routes: 3
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   10.0.7.7/32        0.0.0.0         0                     0      i
   i  10.0.8.8/32        10.0.18.8       0          100        0      200i
 *>i  10.0.22.22/32      10.0.2.2        0          100        0      i
=============================================================================
                                         后
[R7]display bgp routing-table 

 BGP Local router ID is 10.0.7.7 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete

 Total Number of Routes: 3
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   10.0.7.7/32        0.0.0.0         0                     0      i
 *>i  10.0.8.8/32        10.0.1.1        0          100        0      200i
 *>i  10.0.22.22/32      10.0.2.2        0          100        0      i
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值