实验拓扑:
实验规划:
R1,R2,R3,R4分别属于AS100,AS200,AS300,AS400 ,R3分别与R1,R2,R4建立了EBGP邻居关系,R1,R2上分别有2个子接口(模拟网段)。
R1:
f0/0:13.0.0.1/24
l1:172.16.1.1/24
l2:172.16.2.1/24
R2:
f0/0:23.0.0.2/24
l1:172.16.10.1/24
l2:172.15.11.1/24
R3
f1/0:13.0.0.3/24
f0/0:23.0.0.3/24
f0/1:34.0.0.3/24
R4
f0/0:34.0.0.4/24
进行基本配置,建立EBGP邻居关系
R1
router bgp 100
neighbor 13.0.0.3 remote-as 300
R2
router bgp 200
neighbor 23.0.0.3 remote-as 300
R3
router bgp 300
neighbor 13.0.0.1 remote-as 100
neighbor 23.0.0.2 remote-as 200
neighbor 34.0.0.4 remote-as 400
R4
router bgp 400
neighbor 34.0.0.3 remote-as 300
基本配置完成
bgp auto-summary属性,用3种方法来演示
(1)开启auto-summary ,并且宣告172.16.1.0/24这条网段
R1
R1(config)#no int l2
R1(config)#router bgp 100
R1(config-router)#auto-summary
R1(config-router)#network 172.16.1.0 mask 255.255.255.0
在R3上观察
可以发现,虽然开启了自动汇总,但是R3学习到的仍然是一条明细路由。
(2)开启auto-summary,并且宣告172.16.0.0/16这条网段。
R1
R1(config)#router bgp 100
R1(config-router)#auto-summary
R1(config-router)#network 172.16.0.0 mask 255.255.0.0
在R3上观察
可以发现,R3学习到的是一条汇总路由了。
(3)在R1上以重发布的方式,宣布l1这条直连,不用network的方式
R1
R1(config)#router bgp 100
R1(config-router)#auto-summary
R1(config-router)#redistribute connected metric 1
在R3上观察
学习到的是一条汇总路由
可以做出小总结:
BGP的自动汇总,只会汇总重发布引入的路由,以及使用network命令有类宣告方式引入的路由。注意,自动汇总是默认关闭的。
BGP的手动汇总简要分析(summary-only / as-set )
在R1 BGP上network 172.16.1.0/24和172.16.2.0/24这2条路由(不开自动汇总)
router bgp 100
network 172.16.1.0 mask 255.255.255.0
network 172.16.2.0 mask 255.255.255.0
R3,R4都可以学习到
在R3上汇总这2条路由,可以使用aggregate-address的方式(这里不讨论null0路由)
R3
router bgp 300
aggregate-address 172.16.0.0 255.255.0.0
可以发现,已经多出了一条汇总路由,同时会将这条汇总路由发给R4。
summary-only
如果R3上想只发送这条汇总,不发送明细,可以
R3(config)#router bgp 300
R3(config-router)#aggregate-address 172.16.0.0 255.255.0.0 summary-only
这时候可以上R4再看一下
明细路由消失了,只剩下一条汇总路由,并且,始发者不是R1,而变成了R3。
as-set
使用BGP的手动汇总,新生成的汇总路由,会丢失被汇总的明细路由的很多属性,以AS-PATH属性为例,R3在发布汇总路由之后,此路由始发者为R3,而不是R1,所以,这条汇总路由同样会被R1学习到,并且还是最优路由。
R1
这时候,就会产生安全隐患了,因为丢失了AS-PATH属性,有可能会出现环路问题。
可以用as-set这条命令,来继承明细路由的部分属性
R3(config)#router bgp 300
R3(config-router)#aggregate-address 172.16.0.0 255.255.0.0 summary-only as-set
这时候,在R4和R1上观察出现了哪些变化
R4
可以发现,汇总路由的始发者不是R3了,而是还原成了AS100中的R1。
R1
汇总路由消失了,避免了环路问题。