一、实验内容

BGP地址聚合(汇总路由)

实验拓扑图

bgp vrrp配置 bgp group配置_子网


实验步骤及要求

1.配置各台路由器的IP地址,并且使用Ping命令确认各路由器的直连口的互通性。

2.在R1、R2和R3配置BGP路由协议,具体配置如下:

R1(config)#router bgp 100
 R1(config-router)#bgp router-id 10.1.1.1 //配置BGP路由器ID
 R1(config-router)#neighbor 12.12.12.2 remote-as 200
 R1(config-router)#network 1.1.0.0 mask 255.255.255.0
 R1(config-router)#network 1.1.1.0 mask 255.255.255.0
 R1(config-router)#network 1.1.2.0 mask 255.255.255.0
 R1(config-router)#network 1.1.3.0 mask 255.255.255.0
 R1(config-router)#network 12.12.12.0 mask 255.255.255.0R2(config)#router bgp 200
 R2(config-router)#bgp router-id 10.2.1.1
 R2(config-router)#neighbor 12.12.12.1 remote-as 100
 R2(config-router)#neighbor 23.23.23.2 remote-as 300
 R2(config-router)#network 12.12.12.0 mask 255.255.255.0
 R2(config-router)#network 23.23.23.0 mask 255.255.255.0R3(config)#router bgp 300
 R3(config-router)#bgp router-id 10.3.1.1
 R3(config-router)#neighbor 23.23.23.1 remote-as 200
 R3(config-router)#network 23.23.23.0 mask 255.255.255.0


3.查看R2和R3的路由表。

4.通过对R1进行路由汇总的配置,有效的减少路由表的大小,提高路由效率。
通用的汇总办法:先用静态做一条汇总路由指向null 0,然后在BGP中通告该路由达到汇总的目的。
R1(config)#ip route 1.1.0.0 255.255.252.0 null 0 //配置一个条指向null 0接口的路由,此条路由为汇总的网络号。
R1(config)#router bgp 100
R1(config-router)#network 1.1.0.0 mask 255.255.252.0 //使用network命令将指向null 0接口的路由,宣告给BGP对等体。
注:BGP的network命令与OSPF或其它IGP不同的是:BGP当检测到本地有network命令,首先BGP会检查本地路由表,查看是否此条路由存在,如果有,则将此条路由通告给对等体,否则忽略此条network命令。

5.查看R2和R3的路由表,是否收到汇总路由。

总结:虽然通过指向null 0口的路由进行配置BGP的汇总非常的简单,而且易于理解,但是不利于排错,因为其它BGP的路由器无法获知路由在何处汇总的。因此,建议使用BGP的聚合方法进行配置汇总。

6.使用BGP地址聚合方法进行路由汇总
去掉之前的汇总,命令如下:
R1(config)#no ip route 1.1.0.0 255.255.252.0 Null0
R1(config)#router bgp 100
R1(config-router)#no network 1.1.0.0 mask 255.255.252.0
在R2路由器进行地址聚合
R2(config)#router bgp 200
R2(config-router)#aggregate-address 1.1.0.0 255.255.252.0 //配置地址聚合,对R1的四个24位环回接口子网路由汇总成一条1.1.0.0/22位的汇总路由
查看R1、R2和R3的BGP表

查看R1和R3的路由表,路由是否汇总了。

从R1和R3的BGP表可以看出,R1和R3收到了1.1.0.0/22的聚合路由,通过AS-PATH属性可以看出,执行地址聚合的路由器R2称为聚合路由的创造者,原来的AS-PATH属性丢失。
路由器R3同时也收到4条明细路由,在显示的AS-PATH序列中,路由的始发AS在列表的末端(右侧),在传递给其他AS时,BGP对等体会把它自己的AS追加在列表的开头(左侧)。
7.as-set参数的配置,避免路由环路
as-set参数可以使BGP聚合路由不丢失原来的AS-PATH属性,从而避免路由环路。
R2(config)#router bgp 200
R2(config-router)#aggregate-address 1.1.0.0 255.255.252.0 as-set
查看R1、R2和R3的BGP表

聚合路由在R1的BGP表中没有出现,可以有效避免路由环路。

BGP使用AS-PATH属性作为路由更新的一部分来确保没有路由环路。因为在BGP对等体之间传递的每条路由都携带它所经过的AS号码序列表,如果该路由被通告给它始发的AS,该AS 路由器将在AS序列表中看到自己的AS,它将不接受该路由。
8.summary-only参数的配置,使得R3上只看到汇总路由,没有明细路由
R2(config)#router bgp 200
R2(config-router)#aggregate-address 1.1.0.0 255.255.252.0 as-set summary-only //summary-only的主要目的是,仅发送汇总路由,而不发送具体路由

R2上所有被聚合的明细路由被标记为s,表示被抑制,不被发送。
R3上查看汇总路由的属性
R3#show ip bgp 1.1.0.0

aggregated by 200 10.2.1.1显示了谁聚合了此条路由。
此处显示是由200自治系统的10.2.1.1聚合了此条路由,10.2.1.1为R2的路由器ID。
查看R3的路由表。

9.聚合后只抑制部分明细路由条目
如果有特殊的需求,在聚合后只抑制部分明细路由条目,参数“suppress-map”可以完成。
本实验要求R2地址聚合后,R1的1.1.0.0/24和1.1.1.0/24两条明细路由被抑制,其他明细路由要求传递给R3.
R2(config)#ip prefix-list lab permit 1.1.0.0/24 //使用前缀列表匹配路由条目
R2(config)#ip prefix-list lab permit 1.1.1.0/24
R2(config)#route-map SUP permit 10
R2(config-route-map)#match ip address prefix-list lab //用路由映射表调用前缀列表,被匹配到的路由将会抑制在本地,不通告给邻居
R2(config)#router bgp 200
R2(config-router)#aggregate-address 1.1.0.0 255.255.252.0 as-set suppress-map SUP //调用路由映射表SUP
查看R2、R3的BGP表和R3的路由表