本節書摘來異步社群《cisco bgp-4 指令與配置手冊》一書中的第1章,第1.2節,作者:【美】william r. parkhurst,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
cisco bgp-4 指令與配置手冊
文法描述:
address:聚合路由的ip位址。
mask:聚合路由的掩碼。
用途:在bgp表中建立聚合路由表項。隻有當bgp表中存在待建立聚合路由的明細路由時,才能建立出相應的聚合路由。如果不帶as-set選項,那麼構成聚合路由的明細路由的as路徑資訊便會丢失。這種形式的aggregate-address指令在通告聚合路由的同時,還會保留相應明細路由的as路徑屬性資訊。
cisco ios軟體版本:10.0
配置案例:對不同自治系統通告的字首執行聚合
如圖1-4所示,路由器a從as 65530學得網絡172.16.0.0/24和172.16.1.0/24,從as 2學得網絡172.16.2.0/24和172.16.3.0/24。

在路由器b和c上,各建立了2個loopback接口。隻有當bgp表中至少存在一條隸屬于聚合路由的明細路由時,bgp路由器才會通告該聚合路由。為了将聚合路由的明細路由置入bgp表,在路由器b和c上還得動用bgp network指令。在聚合與loopback接口相關的路由之前,有必要驗證明細路由是否已在路由器a、b、c的bgp表中現身。
現在,修改路由器a的bgp配置,激活聚合路由的通告。
這條聚合路由包含了4條明細路由——2條由as 65530通告,另外2條則來自as 2。現在,路由器a應該能夠以自身為下一跳來通告這條聚合路由了,這也意味着路由的as路徑資訊的丢失。這條聚合路由的as路徑資訊表明:本字首源于as 1。在這條聚合路由的as_path屬性中,并不包含路由器b和c的as号,是以,這兩台路由器會接受該聚合路由。
為了保留明細路由的as路徑屬性資訊,現在,在路由器a上使用as-set選項對路由執行聚合操作。
驗證
驗證聚合位址是否已在路由器a的bgp表中現身,以及as路徑資訊是否得以保留。
as-set選項會令路由器a保留聚合路由的as路徑資訊。
現在,在這條聚合路由的as_path屬性中出現了路由器b和c的as号,是以這兩台路由器會拒絕接受這條聚合路由。
故障排除
步驟1:使用show ip bgp neighbors指令來驗證bgp鄰居是否處于established狀态。如果鄰居關系不處于established狀态,請見8-23節。
步驟2:使用show ip bgp指令,弄清bpg表中是否至少有一條明細路由隸屬于待聚合網絡的位址範圍。
步驟3:若bgp表中至少擁有了一條這樣的明細路由,請跳到步驟5。
步驟4:若bgp 表中沒有這樣的明細路由,請執行以下操作。
檢查bgp network指令的文法(位址和掩碼)。傳回步驟2。
若以重分發的方式在bgp中注入路由(直連、靜态,或igp路由),請確定開啟了no auto-summary特性。檢查重分發指令的文法。傳回步驟2。
步驟5:驗證是否存在過濾器阻擋了聚合路由的通告。
步驟6:驗證路由映射和通路清單的文法。