BGP 路由協定之聯邦大法
在大型自治系統(AS)中,傳統的iBGP全連接架構面臨嚴峻挑戰。當網路規模擴展到數百台路由器時,維護n(n-1)/2的會話連線不僅消耗設備資源,更增加了路由策略管理的複雜度。 BGP聯邦(BGP Confederation)作為解決這個難題的關鍵技術,透過邏輯分區的創新設計,在維持AS整體性的同時實現了路由管理的層級化。
聯邦的相關特性
在聯邦內部保留聯邦外部的NEXT HOP屬性
公佈給聯邦的路由的MED屬性在整個聯邦範圍內予以保留
路由的LOCAL_PREF屬性在整個聯邦範圍內保留
在聯邦範圍內,將成員AS號壓入AS PATH,但不公佈到聯邦外,並且使用TYPE3、4的AS PATH
AS PATH中的聯邦AS號用於在聯邦內部避免環路
透過將AS123定義為聯邦AS(大AS),同時在聯邦AS中建立成員AS(小AS:AS64512和64513),則可以解決IBGP路由傳遞的問題。
圖中R1與R2之間是聯邦iBGP關係,而R2與R3之間是聯邦eBGP關係,在聯邦內部,R1與R2都是屬於AS64512,R3屬於AS64513,但是對於聯邦外部來說,R1、R2、R3都是AS123,外部根本不知道有AS64512和AS64513的存在。
R1、R2、R3、R4、R5之間使用全部直連口建立BGP鄰居關係。
R1配置:
R2配置:
對R2而言,R2是一個普通的EBGP鄰居(AS64513),而且跟我沒有一點關係,聯邦的建立就會有問題,因此還需要在R2上增加bgp confederation peers 64513命令,R2將AS64513視為它的聯邦eBGP peer,如果聯邦內有多個成員指定:
R3配置:
配置完成後在R4上trace到R5的lo介面位址:
AS_PATH路徑屬性的四種類型
AS_SEQUENCE:有序AS號集合
AS_CONFED_SEQUENCE:聯邦有序AS號集合
AS_SET:無序AS號集合
AS_CONFED_SET:聯邦無序AS號集合
在R4上啟用loopback1接口,並分配IP位址:
R1上的BGP表:
R2上的BGP表:
R3上的BGP表:
在R2的e0/1介面抓包,捕捉NLRI為44.1.1.1/32屬性中攜帶的AS_PATH,AS號為400:
在R3的e0/1介面抓包,捕捉NLRI為44.1.1.1/32屬性中所攜帶的AS_PATH,AS號分別為64512,400:
在R5的e0/0介面抓包,捕捉NLRI為44.1.1.1/32屬性中所攜帶的AS_PATH,AS號分別為123,400:
可以看出AS_CONFED_SEQUENCE屬性用於在聯邦內防環(該屬性不會出聯邦),而上面的AS_SEQUENCE屬性則會隨著44.1.1.1/32的路由被傳遞給R5,因此在R5上抓包44.1.1.1/32的路由看不到AS_CONFED_QUENN.