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