BGP深入学习-RR-实验报告

3 篇文章 0 订阅

1.实验拓扑

1.1拓扑

1.2基本配置(部分)

R1:

interface GigabitEthernet0/0/2
 ip address 10.1.12.1 255.255.255.0 
#
interface LoopBack0
 ip address 10.1.1.1 255.255.255.255 
#
interface LoopBack1
 ip address 192.168.1.1 255.255.255.255 
#
bgp 100
 router-id 1.1.1.1
 peer 10.1.12.2 as-number 200 
 #
 ipv4-family unicast
  undo synchronization
  network 10.1.1.1 255.255.255.255 
  network 192.168.1.1 255.255.255.255 
  peer 10.1.12.2 enable

R2:

router id 2.2.2.2 
#
interface GigabitEthernet0/0/0
 ip address 10.1.23.2 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 10.1.25.2 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 10.1.12.2 255.255.255.0 
#
interface NULL0
#
interface LoopBack0
 ip address 10.1.1.2 255.255.255.255 
#
interface LoopBack1
 ip address 192.168.2.1 255.255.255.255 
#
bgp 200
 router-id 2.2.2.2
 peer 10.1.1.3 as-number 200 
 peer 10.1.1.3 connect-interface LoopBack0
 peer 10.1.1.5 as-number 200 
 peer 10.1.1.5 connect-interface LoopBack0
 peer 10.1.12.1 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  peer 10.1.1.3 enable
  peer 10.1.1.3 next-hop-local 
  peer 10.1.1.5 enable
  peer 10.1.1.5 next-hop-local 
  peer 10.1.12.1 enable
#
ospf 1 
 area 0.0.0.0 
  network 10.1.1.2 0.0.0.0 
  network 10.1.23.2 0.0.0.0 
  network 10.1.25.2 0.0.0.0 

 

2.学习

2.1 IBGP全互联的问题。

IBGP路由存在水平分割,为了保证BGP路由器具备完整路由,就必须进行IBGP全互联。

全互联存在一些问题:

(1)路由器需维护大量的TCPBGP连接,尤其在路由器数量较多时;

(2)ASBGP网络的可扩展性较差。

路由反射器可解决此问题。

2.2 RR角色

RR有两种角色:

(1)RRRoute Reflector):路由反射器。RR会将学习的路由反射出去,从而使得IBGP路由在AS内传播无需建立IBGP全互联。

(2)ClientRR客户端。将一台BGP路由器指定为RR的同时,还需要指定其Client。至于Client本身,无需做任何配置,它并不知晓网络中存在RR

2.3 路由反射规则

序号主体路由来源反射动作
1RR从非client学习到IBGP路由反射给所有Client
2RR从client学习到IBGP路由

(1)反射给所有非Client

(2)该客户之外的其它Client

3RR从EBGP学习到路由

(1)所有Client

(2)非客户IBGP对等体

(1)如果路由反射器从自己的非客户对等体学习到一条IBGP路由,则它会将该路由反射给所有客户。

首先R2、R3、R4、R5取消全互联IBGP,只保留实际物理连接的路由器配置IBGP对等体。

R4上无法收到R2的路由192.168.2.1,R3是有的。因为R3不会传给R4。

配置R4是R3的RR客户端:

重新查看R4,有了路由。

(2)如果路由反射器从自己的客户学习到一条IBGP路由,则它会将该路由反射给所有非客户,以及除了该客户之外的其他所有客户。

R4上存在去往R6的路由192.168.6.1:

查看R2:

(3)如果路由学习自EBGP对等体,则发送给所有客户、非客户IBGP对等体。

现在将R2设置为RR,R3、R4客户端。

查看R2(RR):去往192.168.1.1的为EBGP路由:

R3(client)有路由:

R5(非client)也有路由:

2.4 RR路由防止环路

RR 的设定使得 IBGP 水平分割原则失效,这就可能导致环路的产生,为此 RR 会为 BGP 路由添加两个特殊的路径属性来避免出现环路:
(1)Originator_ID
(2)Cluster_List
这两个 属性都属于可选过渡类型。

2.4.1 Originator ID

(1)RR 将一条 BGP 路由进行反射时会在反射出去的路由中增加 Originator_ID ,其值为本地 AS 中通告该路由的 BGP 路由器 Router ID
(2) AS 内存在多个 RR ,则 Originator_ID 属性由第一个 RR 创建,并且不被后续的 RR(若有)所更改。
(3) BGP 路由器收到一条携带 Originator_ID 属性的 IBGP 路由,并且 Originator_ID 属性值与自身的 Router ID 相同,则它会忽略关于该条路由的更新。
设置R3、R4、R5为RR,R3反射给R4,R4反射给R5,R5反射给R2。对于192.168.1.1这条路由:
反射路径为:R3-->R4-->R5-->。R2给R3不叫反射,是正常的IBGP传播。

 

R2:

R3: 添加了Originator和和Cluster list属性。

 R4: 有两条路由,一个是R2通过IBGP发过来的,一个是R4反射过来的。这里优选了R2过来的。为了让R4继续反射出去,我们在R2阻止192.168.1.1这条路由。

在R2与R5间抓包:报文中,CLUSTER_LIST包括所有经过的RR,而originator_id不变,为R2。

查看R2:

这条路由不可能出现,R2发现originator_id和自己一样。

2.4.2 Cluster_List

 (1)路由反射簇包括反射器RR及其Client。一个AS内允许存在多个路由反射簇。
(2)每一个簇都有唯一的簇ID(Cluster_ID,缺省时为RR的BGP Router ID )。
(3)当一条路由被反射器反射后,该RR(该簇)的Cluster_ID就会被添加至路由的Cluster_list属性中。
(4)当RR收到一条携带Cluster_list属性的BGP路由,且该属性值中包含该簇的Cluster_ID时,RR认为该条路由存在环路,因此将忽略关于该条路由的更新。

接上面的实验:将R2设置为RR,路由反射给R3。

在R3查看到192.168.6.1的路由:

在R3和R4间抓包:Cluster_ID中包括4个RR的路径。

R4:不可能再将这条路由加入路由表。簇id中包含自己的id。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值