首页 > 代码库 > 【思科】BGP自动汇总和手动汇总的基本分析

【思科】BGP自动汇总和手动汇总的基本分析

实验拓扑:

wKiom1R2eznTq-sJAAEhmEXlepc684.jpg

 

实验规划:

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上观察

wKioL1R2ghKTBD-NAADtegPq9AI592.jpg

可以发现,虽然开启了自动汇总,但是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上观察

wKioL1R2g8ThmZQVAAE7MYG1pHM131.jpg

可以发现,R3学习到的是一条汇总路由了。

 

(3)在R1上以重发布的方式,宣布l1这条直连,不用network的方式

R1

R1(config)#router bgp 100

R1(config-router)#auto-summary

R1(config-router)#redistribute connected metric 1

 

在R3上观察

wKiom1R2hHaQlc2NAAFFbtHxIYg232.jpg

学习到的是一条汇总路由

 

可以做出小总结:

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都可以学习到

wKiom1R2iJ3CHP0YAAFaQirf9qQ449.jpg

在R3上汇总这2条路由,可以使用aggregate-address的方式(这里不讨论null0路由)

R3

router bgp 300
  aggregate-address 172.16.0.0 255.255.0.0

wKioL1R2ilzgn6xoAAFEKel6vCg131.jpg

可以发现,已经多出了一条汇总路由,同时会将这条汇总路由发给R4。

wKiom1R2ioLAo0-eAAGVHgnVP1A765.jpg

 

  • summary-only

如果R3上想只发送这条汇总,不发送明细,可以

R3(config)#router bgp 300 
R3(config-router)#aggregate-address 172.16.0.0 255.255.0.0 summary-only

这时候可以上R4再看一下

wKiom1R2i4OSg4cLAAERDa0tlPM091.jpg

明细路由消失了,只剩下一条汇总路由,并且,始发者不是R1,而变成了R3。

 

  • as-set

使用BGP的手动汇总,新生成的汇总路由,会丢失被汇总的明细路由的很多属性,以AS-PATH属性为例,R3在发布汇总路由之后,此路由始发者为R3,而不是R1,所以,这条汇总路由同样会被R1学习到,并且还是最优路由。

R1

wKioL1R2jXPwbxoqAAFyiXcZV6c015.jpg

这时候,就会产生安全隐患了,因为丢失了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

wKioL1R2jlqguaw5AAErPVPzR2M285.jpg

可以发现,汇总路由的始发者不是R3了,而是还原成了AS100中的R1。

 

R1

wKiom1R2jjLBSnsnAAF6Ri4NYS8330.jpg

汇总路由消失了,避免了环路问题。

本文出自 “NE之路” 博客,请务必保留此出处http://332162926.blog.51cto.com/8831013/1583099

【思科】BGP自动汇总和手动汇总的基本分析