高婷婷 許志成 潘志鵬 王兆敏
摘 要:BGP協議,是一種在internet互聯網上被廣泛應用的核心的、去中心化的、自治系統(AS)之間的動態路由發現協議。具有非常豐富的路由策略和路由過濾,對于更新的路由,它只選擇發送增量的路由。各大廠商的產品相應使用BGP協議的區別大都在于路由選擇的實現方式。
關鍵詞:BGP;路由選擇
BGP協議,即Border Gateway Protocol、邊界網關協議,這是一種在internet互聯網上被廣泛應用的核心的、去中心化的、自治系統(AS)之間的動態路由發現協議。這是一種用來在各AS間和內部傳遞路由信息,并為路由附帶上屬性信息的路由協議;它的傳送協議基于TCP協議,支持無類別域間路由(CIDR);它是一種距離矢量型的路由協議,因為帶有矢量指向性從而從設計上就避免了內部環路的產生;它具有非常豐富的路由策略和路由過濾,對于更新的路由,它只選擇發送增量的路由。因為BGP協議的廣泛應用,各大廠商的產品相應使用BGP協議的區別大都在于路由選擇的實現方式。那么我們來看看各大主流廠家是如何實現BGP協議路由選擇,它們的選路原則是怎樣的。
1 CISCO(思科)產品的BGP選路原則
CISCO有一個私有參數:Weight,取值范圍是0到65535,默認值為32768,在路由器配置權重之后僅在本地有效,非本地產生的BGP路由條目的Weight值為0。CISCO產品在選擇路由時優先比較Weight本地產生的BGP路由條目,首選具有最高權值的路由。
如果權值相同,則比較Local-Preference(本地優先級)的權值,該值默認大小為100,取值范圍是0到4294967295。它只傳遞給IBGP(內部邊界網關協議)鄰居,不傳遞給EBGP(外部邊界網關協議)。首選具有最高權值的路由。
如果Local_Preference權值相同,則選擇邏輯上在該路由器通告的路由,即從本路由始發的路由:首選Next-Hop(下一跳)為0.0.0.0的路由條目。其中包括本地network配置的重新分布,或者在IGP(內部網關協議)表中尋找有可以配置的路由聚合地址,然后在BGA中調用Aggregate命令進行配置。
如果此Local Preference權值相同,而且沒有該路由器邏輯上通告的路由,則比較AS-PATH(AS路徑),優選具有最短AS-PATH的路由。
如果maximum—pathsN已經配置在路由器上,此時胃部路徑的來源比較多,并且屬于同一自治域中,此時可以將其納入到IP選路表中去。這樣就可以使得其分派到各個路徑中,實現了負載的分擔處理,此時系統運行的壓力也就不復存在了。當前N最大可以是6;如果不啟用這項功能,那么它的缺省值就是1?,F在需要做的就是:輸入“show ipbgpx.x.x.x”,在獲取系統輸出信息之后,就可以看到最先接收的路徑,其實就是最有路徑,而在它轉發到內部對等體以前,還必須執行與next_hop_self一樣的功能。這就是說它們都來自相鄰的AS,而且借助maximum-paths命令讓BGP有多條可用路徑,結果所有同樣開銷的路由就被安裝到Loc-RIP內。
以反射器為主要手段,去實現最小長度如有的界定,并且在客戶機和反射器中以對接的方式來處理,為路由器需要具備的條件就是:掌握BGP協議中RR的各種配置信息,這是其發揮效能的前提和基礎。
最低對等體地址路徑選擇的過程中,要遵循對應的優選原則。該地址為配置在BGP對等體上且在用的地址,簡單來講就是在本地對等體路由器上,實現TCP鄰居的配置,并且于遠端實現連接,此時的地址,就是我們需要明確的地址。
2 H3C(華三)產品的BGP選路原則
下一跳(Next_Hop)不可達的路由及其他無效路由不參與優選。這也是NEXT_HOP屬性是公認必選的原因。
選擇協議優先級低的路由。標簽路由(即含LSP隧道)與非標簽路由(不含LSP隧道)相比,前者要優先。如果對Preferred-value值進行了配置,值高的優先。其他優先項:本地優先級(即Local_Pref)最高的路由優先,本路由器始發的路由優先,AS路徑(即AS_Path)最短的路由優先。
Origin屬性值的路由選擇順序為IGP、EGP、Incomplete。MED值最低的路由優先,因為聯盟EBGP路由優于IBGP路由,所以后者優先。
下一跳(即Next_Hop)花費(即Cost)值最低的路由優先。簇列表(即Cluster_List)長度最短的路由優先。Originator_ID最小的路由優先。Router ID值小的優先。BGP會話地址小的優先。上述規則要從前到后順次比較,前一條件選不出最優路由,再考慮后一條件。
3 中興(ZXR10)路由器的BGP選路原則
若下一跳不可達,則該路由被忽略。優選具有最大Local_PREF值的路由。本路由器產生的路由優先。最短AS_PATH路由優先。最小ORIGIN值的路由優先。最小MED值的路由優先。先選EBGP通告路由,次選IBGP通告路由。優選在AS內部走最短的IGP路由可到達其下一跳的路由。
4 IPv4的BGP路由選路原則
收到的BGP路由,如果下一跳不可到達,則不考慮這條路由。優選本地優先級(Local-preference)最高的路由。優選本地始發路由(主要是針對BGP聚合路由來說)。優選AS-PATH最短的路由。具有最低起源類型(Origin)的路由優先,最低MED值的路由優先。先選EBGP,再選聯盟EBGP,最后選IBGP。IGP花費最小的對等體路由優先。最低路由器ID的路由優先。cluster-list長度最短的路徑優先。優選幾個鄰居當中建鏈地址最小的鄰居發送的路由。
5 VPNv4的 BGP路由選路原則
VPNV4 BGP的選路規則基本和IPV4保持一致,需要注意一點,同一個網段的路由,如果帶上不同的RD,那么對于VPNV4 BGP來說是不同的路由。
6 結語
以上是各主流廠家產品在BGP協議上的路由選擇原則和實現方式。BGP協議在互聯網上的應用是廣泛和多樣化的,而選路原則則是實現應用功能的基礎。針對不同的廠商產品,了解它們的實現方式,對于更好地應用BGP協議將有很大的幫助。
參考文獻
[1]李越,錢德沛.基于NS的分布式并行網絡模擬器[J].電子學報,2004,32(2):246-249.
[2]Randy Zhang,Micah Bartell,黃博,葛建立(譯).BGP設計與實現[M].北京:人民郵電出版社,2005.