BGP aggregate-address<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1.     aggregate-address address mask

1)直接汇总:在BGP进程下键入aggregate-address 172.16.0.0 255.255.252.0,其中172为聚合路由,/22 为该聚合路由的掩码。在BGP对等体上使用show ip bgp命令查看汇总信息:

rtrB#show ip bgp

BGP table version is 20, local router ID is 172.17.1.1

   Network          Next Hop            Metric LocPrf Weight Path

*> 172.16.0.0/24    10.1.1.2                 0             0 2 i

*> 172.16.0.0/22    10.1.1.2                               0 2 i

*> 172.16.1.0/24    10.1.1.2                 0             0 2 i

*> 172.16.2.0/24    10.1.1.2                 0             0 2 i

*> 172.16.3.0/24    10.1.1.2                 0             0 2 i

2)重分发与聚合配合进行BGP路由通告:在BGP进程下,不用network宣告通告的网络,而是通过redistribute注入到BGP域中,同时,对注入的BGP路由信息进行聚合。

Redistribute connected metric 20

aggregate-address 172.16.0.0 255.255.252.0

此时用show ip bgp命令查看R1BGP表,应与上述相同(original部分是“?”因为是重分发进入BGP的)

3)聚合从BGP学习到的路由。假设RBBGP对等体R  C哪里学习到了4条详细的路由,此时在RA---RB---RC之间做好了EBGP对等体关系,此时RB,RA上应该分别拥有RC BGP域内的4条详细路由。我们在RB上对这4条路由进行聚合,并通告给RA,此时,RABGP表中应该拥有一条更聚合的BGP路由,AS-PATH属性显示这条路由“看上去”是RAAS产生的。

RB上做出如下配置:aggregate-address 172.16.0.0 255.255.252.0

此时去RA上验证效果:

rtrC#show ip bgp

BGP table version is 32, local router ID is 172.17.1.2

s codes: s suppressed, d damped, h history, * valid, > best, i - internal

Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path

*> 172.16.0.0/24    172.17.1.1                             0 1 2 i

*> 172.16.0.0/22    172.17.1.1                             0 1   i

*> 172.16.1.0/24    172.17.1.1                             0 1 2 i

*> 172.16.2.0/24    172.17.1.1                             0 1 2 i

*> 172.16.3.0/24    172.17.1.1                             0 1 2 i

 

4)用静态路由进行BGP详细路由的汇总。在全局模式下写入一条静态的、指向NULL0口的静态路由进入IGP路由表,然后重分发到BGP路由域中,达到对BGP详细路由汇总的目的。

ip route 172.16.0.0 255.255.252.0 Null0

redistribute static

此时,RA的路由表中应该只有此条聚合路由的origin属性为?,因为只有这条路由是incomplete

2.aggregate-address address mask as-set

 在做路由聚合的时候,通告的聚合路由应该是不携带详细路由所原有的AS-PATH属性,也就是没有AS的详细信息,只有生成这个聚合路由的AS#。设置AS-SET命令之后,详细路由所携带的AS-PATH信息会附加在汇总路由一起,使对端了解具体路由的AS-path信息,如果在一台R上进行汇总以后,加上as-set命令,那么对等体将会看到聚合路由中的详细AS信息,如果存在自己的AS号码,则拒绝接收这条聚合路由。(不使用as-set的话对端路由器一定会接收本段产生的聚合路由,因为AS-path属性里面只有邻居ASAS号码)

没有as-set*> 172.16.0.0/22    10.1.1.1                               0 1 i

当键入:aggregate-address 172.16.0.0 255.255.252.0 as-set

此时再次查看BGP表,可发现

*> 172.16.0.0/22    0.0.0.0                            32768 {65530,2} i

有了具体路由的AS详细信息。