BGP 路由反射器

路由反射器

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

路由反射器相关角色

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

图1 路由反射器示意图

  • 路由反射器RR(Route Reflector):允许把从IBGP对等体学到的路由反射到其他IBGP对等体的BGP设备,类似OSPF网络中的DR。

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

  • 非客户机(Non-Client):既不是RR也不是客户机的IBGP设备。在AS内部非客户机与RR之间,以及所有的非客户机之间仍然必须建立全连接关系。

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

  • 集群(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对等体学到的路由,发布给所有的非客户机和客户机。

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,然后反射该更新路由。

Originator_ID属性

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

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

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

备份路由反射器

为增加网络的可靠性,防止单点故障对网络造成影响,有时需要在一个集群中配置一个以上的RR。由于RR打破了从IBGP对等体收到的路由不能传递给其他IBGP对等体的限制,所以同一集群内的RR之间中可能存在环路。这时,该集群中的所有RR必须使用相同的Cluster ID,以避免RR之间的路由环路。

图2 备份路由反射器

如图2,路由反射器RR1和RR2在同一个集群内,配置了相同的Cluster ID。

  • 当客户机Client1从EBGP对等体接收到一条更新路由,它将通过IBGP向RR1和RR2通告这条路由。

  • RR1和RR2在接收到该更新路由后,将本地Cluster ID添加到Cluster List前面,然后向其他的客户机(Client2、Client3)反射,同时相互反射。

  • RR1和RR2在接收到该反射路由后,检查Cluster List,发现自己的Cluster ID已经包含在Cluster List中。于是RR1和RR2丢弃该更新路由,从而避免了路由环路。

多集群路由反射器

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

分级路由反射器

图3 分级路由反射器

在实际的RR部署中,常用的是分级RR的场景。如图3,ISP为AS100提供Internet路由。AS100内部分为两个集群,其中Cluster1内的四台设备是核心路由器,采用备份RR的形式保证可靠性。

同级路由反射器

图4 同级路由反射器

如图4,一个骨干网被分成多个集群。各集群的RR互为非客户机关系,并建立全连接。此时虽然每个客户机只与所在集群的RR建立IBGP连接,但所有RR和客户机都能收到全部路由信息。

实验拓扑图

 

实验步骤 

 所有路由器IP配置

R1 IP配置

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname R1
[R1]undo info-center enable 
Info: Information center is disabled.

[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.2.1 24
[R1-GigabitEthernet0/0/0]quit 

[R1]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.3.1 24
[R1-GigabitEthernet0/0/1]quit 

[R1]interface GigabitEthernet 0/0/2
[R1-GigabitEthernet0/0/2]ip address 192.168.1.1 24	
[R1-GigabitEthernet0/0/2]quit 

[R1]interface GigabitEthernet 4/0/0
[R1-GigabitEthernet4/0/0]ip address 192.168.4.1 24
[R1-GigabitEthernet4/0/0]quit 
	
[R1]interface LoopBack 0         	
[R1-LoopBack0]ip address 172.16.1.1 32
[R1-LoopBack0]quit

R2 IP配置

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.	
[Huawei]sysname R2

[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.2.2 24
Nov 10 2023 15:34:13-08:00 R2 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP 
on the interface GigabitEthernet0/0/0 has entered the UP state. 
[R2-GigabitEthernet0/0/0]quit

[R2]undo info-center enable 
Info: Information center is disabled.

[R2]interface LoopBack 0	
[R2-LoopBack0]ip address 172.16.2.2 32	
[R2-LoopBack0]quit 
	
[R2]interface LoopBack 1	
[R2-LoopBack1]ip address 172.16.22.22 32	
[R2-LoopBack1]quit

R3 IP配置

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname R1

[R1]undo info-center enable 
Info: Information center is disabled.

[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.3.2 24
[R1-GigabitEthernet0/0/0]quit 
	
[R1]interface LoopBack 0	
[R1-LoopBack0]ip address 172.16.3.3 32	
[R1-LoopBack0]quit 

R4 IP配置

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.	
[Huawei]sysname R4	
[R4]undo info-center enable 
Info: Information center is disabled.

[R4]interface GigabitEthernet 0/0/0
[R4-GigabitEthernet0/0/0]ip address 192.168.4.2 24
[R4-GigabitEthernet0/0/0]quit 

[R4]interface GigabitEthernet 0/0/2
[R4-GigabitEthernet0/0/2]ip address 192.168.6.1 24
[R4-GigabitEthernet0/0/2]quit 
	
[R4]interface GigabitEthernet 0/0/1
[R4-GigabitEthernet0/0/1]ip address 192.168.5.1 24	
[R4-GigabitEthernet0/0/1]quit 

[R4]interface GigabitEthernet 4/0/0
[R4-GigabitEthernet4/0/0]ip address 192.168.7.1 24	
[R4-GigabitEthernet4/0/0]quit 

[R4]interface LoopBack 0	
[R4-LoopBack0]ip address 172.16.4.4 32	
[R4-LoopBack0]quit 

R5 IP配置

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.	
[Huawei]sysname R5	
[R5]undo info-center enable 
Info: Information center is disabled.

[R5]interface GigabitEthernet 0/0/0	
[R5-GigabitEthernet0/0/0]ip address 192.168.5.2 24
[R5-GigabitEthernet0/0/0]quit 
	
[R5]interface LoopBack 0	
[R5-LoopBack0]ip address 172.16.5.5 32	
[R5-LoopBack0]quit

R6 IP配置

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.	
[Huawei]sysname R6	
[R6]undo info-center enable 
Info: Information center is disabled.

[R6]interface GigabitEthernet 0/0/0	
[R6-GigabitEthernet0/0/0]ip address 192.168.6.2 24
[R6-GigabitEthernet0/0/0]quit 
	
[R6]interface LoopBack 0	
[R6-LoopBack0]ip address 172.16.6.6 32	
[R6-LoopBack0]quit

R7 IP配置

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.	
[Huawei]sysname R7
[R7]undo info-center enable 
Info: Information center is disabled.

[R7]interface GigabitEthernet 0/0/0
[R7-GigabitEthernet0/0/0]ip address 192.168.7.2 24
[R7-GigabitEthernet0/0/0]quit 
	
[R7]interface LoopBack 0
[R7-LoopBack0]ip address 172.16.7.7 32	
[R7-LoopBack0]quit

R8 IP配置

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname R8

[R8]interface GigabitEthernet 0/0/0
[R8-GigabitEthernet0/0/0]ip address 192.168.1.2 24
Nov 10 2023 15:53:44-08:00 R8 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP 
on the interface GigabitEthernet0/0/0 has entered the UP state. 	
[R8-GigabitEthernet0/0/0]quit 

[R8]undo info-center enable 
Info: Information center is disabled.

[R8]interface LoopBack 0	
[R8-LoopBack0]ip address 172.16.8.8 32	
[R8-LoopBack0]quit 




所有路由器OSPF配置 ,前几个文章有描述,这里将不做描述

R1 OSPF配置

[R1]ospf 1 router-id 172.16.1.1	
[R1-ospf-1]area 0	
[R1-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 192.168.4.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 172.16.1.1 0.0.0.0	
[R1-ospf-1-area-0.0.0.0]quit 

R2 OSPF配置

[R2]ospf 1 router-id 172.16.2.2	
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255	
[R2-ospf-1-area-0.0.0.0]network 172.16.2.2 0.0.0.0	
[R2-ospf-1-area-0.0.0.0]quit 

R3 OSPF配置
	
[R1]ospf 1 router-id 172.16.3.3	
[R1-ospf-1]area 0 	
[R1-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 172.16.3.3 0.0.0.0	
[R1-ospf-1-area-0.0.0.0]quit 

R4 OSPF配置

[R4]ospf 1 router-id 172.16.4.4	
[R4-ospf-1]area 0	
[R4-ospf-1-area-0.0.0.0]network 192.168.4.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 192.168.5.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 192.168.6.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 192.168.7.0 0.0.0.255	
[R4-ospf-1-area-0.0.0.0]network 172.16.4.4 0.0.0.0	
[R4-ospf-1-area-0.0.0.0]quit

R5 OSPF配置

[R5]ospf 1 router-id 172.16.5.5	
[R5-ospf-1]area 0
[R5-ospf-1-area-0.0.0.0]network 192.168.5.0 0.0.0.255
[R5-ospf-1-area-0.0.0.0]network 172.16.5.5 0.0.0.0	
[R5-ospf-1-area-0.0.0.0]quit 

R6 OSPF配置

[R6]ospf 1 router-id 172.16.6.6	
[R6-ospf-1]area 0
[R6-ospf-1-area-0.0.0.0]network 192.168.6.0 0.0.0.255	
[R6-ospf-1-area-0.0.0.0]network 172.16.6.6 0.0.0.0	
[R6-ospf-1-area-0.0.0.0]quit 

R7 OSPF配置

[R7]ospf 1 router-id 172.16.7.7	
[R7-ospf-1]area 0
[R7-ospf-1-area-0.0.0.0]network 192.168.7.0 0.0.0.255	
[R7-ospf-1-area-0.0.0.0]network 172.16.7.7 0.0.0.0	
[R7-ospf-1-area-0.0.0.0]quit

 


 所有路由器BGP配置,BGP描述前几个文章有写,这里不做过多描述

R1 BGP配置

[R1]bgp 100	
[R1-bgp]router-id 172.16.1.1
[R1-bgp]peer 192.168.1.2 as-number 200
[R1-bgp]group in_1	创建名为in_1的组
[R1-bgp]peer 172.16.2.2 group in_1  将邻居加入这个组
[R1-bgp]peer 172.16.3.3 group in_1	将邻居加入这个组
[R1-bgp]peer in_1 reflect-client  命令用来配置将本机作为路由反射器,并将这个组里的成员作为路由反射器的客户 	
[R1-bgp]peer in_1 next-hop-local  将这个组里的成员下一跳属性设为自身的IP地址 	
[R1-bgp]reflector cluster-id 1	 配置路由反射器的集群ID为1
[R1-bgp]peer 172.16.4.4 as-number 100	
[R1-bgp]peer 172.16.4.4 connect-interface LoopBack 0	
[R1-bgp]peer 172.16.4.4 next-hop-local
[R1-bgp]peer 172.16.7.7	as-number 100
[R1-bgp]peer 172.16.7.7 connect-interface LoopBack 0
[R1-bgp]peer 172.16.7.7 next-hop-local
[R1-bgp]quit 

R2 BGP配置

[R2]bgp 100	
[R2-bgp]router-id 172.16.2.2	
[R2-bgp]peer 172.16.1.1 as-number 100	
[R2-bgp]peer 172.16.1.1 connect-interface LoopBack 0
[R2-bgp]network 172.16.22.22 32
[R2-bgp]quit 

R3 BGP配置

[R1]bgp 100
[R1-bgp]router-id 172.16.3.3
[R1-bgp]peer 172.16.1.1 as-number 100	
[R1-bgp]peer 172.16.1.1 connect-interface LoopBack 0	
[R1-bgp]quit

R4 BGP配置

[R4]bgp 100	
[R4-bgp]router-id 172.16.4.4	
[R4-bgp]peer 172.16.1.1 as-number 100	
[R4-bgp]peer 172.16.1.1 connect-interface LoopBack 0	
[R4-bgp]group in_2	创建名为in_1的组
[R4-bgp]peer 172.16.5.5 group in_2  将邻居加入这个组
[R4-bgp]peer 172.16.6.6 group in_2	将邻居加入这个组
[R4-bgp]peer in_2 reflect-client  命令用来配置将本机作为路由反射器,并将这个组里的成员作为路由反射器的客户 	
[R4-bgp]reflector cluster-id 2	 将这个组里的成员下一跳属性设为自身的IP地址
[R4-bgp]peer 172.16.7.7 as-number 100	
[R4-bgp]peer 172.16.7.7 connect-interface LoopBack 0
[R4-bgp]quit 

R5 BGP配置

[R5]bgp 100
[R5-bgp]router-id 172.16.5.5	
[R5-bgp]peer 172.16.4.4 as-number 100	
[R5-bgp]peer 172.16.4.4 connect-interface LoopBack 0	
[R5-bgp]quit

R6 BGP配置

[R6]bgp 100	
[R6-bgp]router-id 172.16.6.6
[R6-bgp]peer 172.16.4.4 as-number 100	
[R6-bgp]peer 172.16.4.4 connect-interface LoopBack 0	
[R6-bgp]quit 

R7 BGP配置

[R7]bgp 100
[R7-bgp]router-id 172.16.7.7	
[R7-bgp]peer 172.16.4.4 as-number 100	
[R7-bgp]peer 172.16.4.4 connect-interface LoopBack 0
[R7-bgp]peer 172.16.7.7 32	
[R7-bgp]quit

R8 BGP配置

[R8]bgp 200	
[R8-bgp]router-id 172.16.8.8
[R8-bgp]peer 192.168.1.1 as-number 100
[R8-bgp]network 172.16.8.8 32	
[R8-bgp]quit

 从BGP配置中可以看出R6只和R4建立邻居关系,通过路由反射器学到了去往R2 loopback 1和R8 loopback 0 的路由,而且都是最优的 

如R7不是路由反射器的客户端,则无法学到BGP路由

 

R7和R1建立对等体关系后可获得BGP路由

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值