在BGP协议中,路由能够分为自动聚合和手支聚合两种。
自动聚合:只对重分布到BGP中的路由生效,自动聚合会聚合到主类网络,这会致使不精确的汇总,咱们不该该在生产环境中使用自动聚合。命令:summary automatic
手工聚合:要求本路由器至少有一条明细路由才能进行手工聚合,而且要使用network通告明细路由。命令:aggregate 。手工聚合后面能够携带一些参数,下面咱们分别就这些参数进行简单的讲解。node
实验一:自动聚合
在R1上重分布直连,并进行自动聚合
R1:
bgp 100
summary automatic #自动聚合只对重分布的路由生效,对于network的不生效。
import-route direct网络
在R2上查看结果,发现已经能看到这条汇总路由了。
R2:
<R2>display bgp routing-table app
> 11.0.0.0 123.1.1.1 0 100? 已经没有掩码了
> 123.0.0.0 123.1.1.1 0 100?ide
实验二:手工聚合
在默认状况下,手工聚合不抑制明细路由,明细和汇总路由会一块儿通告给邻居。
[R1-bgp]display this
[V200R003C00]
#
bgp 100
router-id 11.1.1.1this
aggregate 11.1.1.0 255.255.255.252
network 11.1.1.1 255.255.255.255
network 11.1.1.2 255.255.255.255
network 11.1.1.3 255.255.255.255 orm
在R1上查看BGP表,发现有明细路由和汇总路由,都是有效且最优的。
[R1-bgp]display bgp routing-table
> 11.1.1.0/30 127.0.0.1 0 i
> 11.1.1.1/32 0.0.0.0 0 0 i
> 11.1.1.2/32 0.0.0.0 0 0 i
> 11.1.1.3/32 0.0.0.0 0 0 irouter
在R2上查看BGP表,能够看到明细,也能够看到汇总路由
<R2>display bgp routing-table
> 11.1.1.0/30 123.1.1.1 0 100i
> 11.1.1.1/32 123.1.1.1 0 0 100i
> 11.1.1.2/32 123.1.1.1 0 0 100i
> 11.1.1.3/32 123.1.1.1 0 0 100iblog
实验三: 在R1上通告汇总路由而且抑制明细
R1:
bgp 100
aggregate 11.1.1.0 255.255.255.252 detail-suppressed
network 11.1.1.1 255.255.255.255
network 11.1.1.2 255.255.255.255
network 11.1.1.3 255.255.255.255 路由
在R1和R2上查看BGP表:
[R1-bgp]display bgp routing-table # 明细路由被抑制了,不会通告给邻居
*> 11.1.1.0/30 127.0.0.1 0 i
s> 11.1.1.1/32 0.0.0.0 0 0 i
s> 11.1.1.2/32 0.0.0.0 0 0 i
s> 11.1.1.3/32 0.0.0.0 0 0 i博客
<R2>display bgp routing-table #在R2上已经看不到明细路由了
*> 11.1.1.0/30 123.1.1.1 0 100i
实验四: 在R2上聚合11.1.1.0/30的路由,添加AS_set属性。
咱们取消在R1上作的手工聚合,改为在R2上作聚合,若是不加AS_set,则这条聚合路由在AS200中默认不是没有AS_path属性的。
R2:
bgp 200
aggregate 11.1.1.0 255.255.255.252
在R2和R4上查看BGP表,这条路由都没有AS_path属性。
<R2>display bgp routing-table
*> 11.1.1.0/30 127.0.0.1 0 i
<R4>display bgp routing-table
*>i 11.1.1.0/30 22.1.1.1 100 0 i
在R2上将聚合路由带上as_set属性,这样会在聚合路由上添加明细路由起源自哪一个AS,用于防环。若是这些明细来自不一样的AS,则会在AS_path的最右边使用{}将产生明细的多个AS放入{}中。
[R2-bgp]aggregate 11.1.1.0 255.255.255.252 as-set
接着在R2和R4上查看BGP表
[R2-bgp]display bgp routing-table
*> 11.1.1.0/30 127.0.0.1 0 100i
<R4>display bgp routing-table
*>i 11.1.1.0/30 22.1.1.1 100 0 100i
实验五:更改聚合路由的属性,将起源属性更改成未完成
R2:
route-policy ATT1 permit node 10
apply origin incomplete
aggregate 11.1.1.0 255.255.255.252 as-set attribute-policy ATT1
查看BGP表,发现11.1.1.0/30这条汇聚路由的起源属性变成了?。
<R2>display bgp routing-table
*> 11.1.1.0/30 127.0.0.1 0 100?
<R4>display bgp routing-table
*>i 11.1.1.0/30 22.1.1.1 100 0 100?
实验六:在R2上聚合11.1.1.0/30,只抑制11.1.1.2这一条明细路由。
[R2-bgp]aggregate 11.1.1.0 255.255.255.252 as-set attribute-policy ATT1 suppress-policy supp
route-policy supp permit node 10
if-match acl 2000
acl number 2000
rule 10 permit source 11.1.1.2 0
查看R2的BGP表,发现11.1.1.2/32的路由是存在的(被抑制),但这条路由在R4上是不存在的。
[R2]display bgp routing-table
> 11.1.1.0/30 127.0.0.1 0 100?
> 11.1.1.1/32 123.1.1.1 0 0 100i
s> 11.1.1.2/32 123.1.1.1 0 0 100i
*> 11.1.1.3/32 123.1.1.1 0 0 100i
[R2]display bgp routing-table 11.1.1.2 32,被抑制的路由,没有通告给任何的邻居。
BGP local router ID : 22.1.1.1
Local AS number : 200
Paths: 1 available, 1 best, 1 select
BGP routing table entry information of 11.1.1.2/32:
From: 123.1.1.1 (11.1.1.1)
Route Duration: 00h08m12s
Direct Out-interface: GigabitEthernet0/0/2
Original nexthop: 123.1.1.1
Qos information : 0x0
AS-path 100, origin igp, MED 0, suppressed, pref-val 0, valid, external, best, select, active, pre 255
Not advertised to any peer yet
[R2]display bgp routing-table 11.1.1.1 32 像这条路由,就通告到R4上去了。
BGP local router ID : 22.1.1.1
Local AS number : 200
Paths: 1 available, 1 best, 1 select
BGP routing table entry information of 11.1.1.1/32:
From: 123.1.1.1 (11.1.1.1)
Route Duration: 00h08m38s
Direct Out-interface: GigabitEthernet0/0/2
Original nexthop: 123.1.1.1
Qos information : 0x0
AS-path 100, origin igp, MED 0, pref-val 0, valid, external, best, select, active, pre 255
Advertised to such 1 peers:
44.1.1.1
<R4>display bgp routing-table
*>i 11.1.1.0/30 22.1.1.1 100 0 100?
i 11.1.1.1/32 123.1.1.1 0 100 0 100i
i 11.1.1.3/32 123.1.1.1 0 100 0 100i
#:有博客中,为缩减篇幅,将输出的BGP表的信息进行了删减,只保留了一些跟实验现象有关的内容。
手动刷新BGP的路由。<R2>refresh bgp all import <R2>refresh bgp all export