1. 程式人生 > >bgp的路由聚合

bgp的路由聚合

bgp路由聚合分為自動聚合和手動聚合。

自動聚合:對BGP引入的IGP子網路由進行自然掩碼也就是主類路由聚合,配置自動聚合後,生成聚合後的自然網路路由,而原先引入的子網路由被抑制,不會被優先和釋出給BGP鄰居。自動聚合只能針對通過import方式引入的bgp路由生效,假設我們在AR4上建立三個環回口,然後在AR4上進行聚合,此時可以發現在AR4的bgp路由表中,則三條路由會被彙總成一條8位的主類路由,然後傳遞給AR2。要注意:自動聚合會抑制沒聚合前的路由,只轉發聚合後的路由而且只能在路由的源路由器進行自動聚合,也就是說,如果AR3取消關於這三條路由的自動聚合,那麼在其他路由器上是沒辦法再針對這三條路由進行聚合的。

配置命令如下:[AR4-bgp]summary automatic 

手動聚合:針對的是本地路由,不過是network還是import都可以進行聚合,不管是哪臺路由器都可以對一個網段進行聚合,而且手動聚合優先順序大於自動聚合。手動匯聚預設不抑制匯聚前的路由,可進行手動抑制,配置命令如下:
[AR4-bgp] aggregate 20.1.1.0 255.255.255.0             進行手動匯聚,不抑制匯聚前路由
aggregate 20.1.1.0 255.255.255.0 detail-suppressed     進行手動匯聚並抑制匯聚前路由
路由聚合也帶來了路由屬性丟失的問題,比如聚合後丟失了AS-path,那就可能導致環路,例如:AR4將聚合後的20.1.1.0網段路由發給AR2,AR2又手動將次路由進行匯聚,匯聚後的路由又發回給AR4,因為AR4匯聚後的路由在發給AR2的時候已經丟失了ASpath,所以AR2產生的新的匯聚後的路由不帶AR4原先的AS值,導致AR4又會再次接收該新匯聚的路由。可以通過下面命令來讓AR4發出來的路由不丟失AS
[AR4-bgp] aggregate 20.1.1.0 255.255.255.0 detail-suppressed as-set 
聚合路由也可以通過路由策略來修改它的屬性:
route-policy 5226 permit node 10                       設定路由策略
apply origin igp                                                     做相應處理,修改起源屬性
[AR4-bgp]aggregate 20.1.1.0 255.255.255.0 detail-suppressed attribute-policy 5226         手動匯聚路由時引入策略並進行路由明細抑制和起源屬性修改
使用關鍵字origin-policy來選擇僅符合route-policy的具體路由來生成聚合路由,配置命令如下:
ip ip-prefix 1 index 10 permit 20.1.1.2 32              建立ip-prefix
route-policy 52261 permit node 10                       設定路由策略
if-match ip-prefix                                                   利用ip-prefix進行篩選
[AR4-bgp]aggregate 20.1.1.0 255.255.255.0 detail-suppressed origin-policy 52261  匯聚路由時引入策略並進行路由明細抑制
手工匯聚使用detail-suppressed時是抑制所有匯聚前的路由。但suppress-policy能產生聚合路由並只抑制指定的路由通告。搭配路由策略進行使用
[AR4-bgp]aggregate 20.1.1.0 255.255.255.0 suppress-policy 52261               使用suppress-policy來指定抑制匯聚前的路由