BGP協(xié)議的路由選擇原則
BGP(Border Gateway Protocol)是一種自治系統(tǒng)間的動態(tài)路由發(fā)現(xiàn)協(xié)議,目前在互聯(lián)網(wǎng)中使用非常廣泛,BGP協(xié)議有非常豐富的屬性,路由選擇的過程也相對復(fù)雜。在使用CISCO設(shè)備的網(wǎng)絡(luò)中BGP路由協(xié)議按以下的規(guī)則進(jìn)行路由選擇。
1、WEIGHT值最高的路徑優(yōu)先。WEIGHT是CISCO專有的參數(shù),且只對配置該參數(shù)的本地路由器有效,不能傳遞。缺省條件下,本地始發(fā)的路徑具有相同的WEIGHT值(32768),所有其它的路徑的WEIGHT值為0。
2、LOCAL-PREF值(本地優(yōu)先級)。CISCO IOS中,LOCAL-PREF缺省值為100。該屬性只能在本AS內(nèi)傳遞。
3、基于始發(fā)地(originaTIon)評估路由,路由器本地始發(fā)的路徑優(yōu)先。依次降低的優(yōu)先級順序是:default-originate(針對每個(gè)鄰居配置), default-informaTIon-originate(針對每種地址簇配置),network , redistribute , aggregate-address 。
4、評估AS-PATH的長度,AS-PATH列表最短的路徑優(yōu)先。但可以通過配置 bgp bestpath as-path ignore (隱藏命令)來忽略這一步。
5、評估路由的origin屬性,origin屬性值最低的路由優(yōu)先。IGP:origin值=0;EGP:origin值=1;INCOMPLETE:origin值=3
6、評估MED。MED值最小的路徑勝出。該屬性可以傳遞出AS。缺省條件下,只有在兩條路徑的第一個(gè)AS相同的情況下才會進(jìn)行比較。如果配置了:bgp always-compare-med,那么對于所有路徑都將比較MED,而不考慮它們是否來自于同一個(gè)AS。
7、EBGP路徑優(yōu)先于IBGP路徑。
8、BGP優(yōu)先選擇到BGP下一跳的IGP度量最低的路徑。
9、如果配置了maximum-paths[ibgp]n, n在2-6之間,并且存在多條等價(jià)成本的路徑,那么BGP會在IP路由選擇表中插入最多n條接收到的路徑。這就激活了BGP多路徑負(fù)載分擔(dān)特性。如果沒有使用可選關(guān)鍵字ibgp,則多路徑特性就僅僅應(yīng)用于ebgp路徑。當(dāng)不激活這一選項(xiàng)時(shí),它的缺省值為1。
10、當(dāng)兩條路徑都是外部路徑時(shí),BGP將優(yōu)先選擇最先收到的路徑(最老的路徑)。
11、BGP優(yōu)先選擇來自于最低的路由器ID的BGP路由器的路由。
12、如果多條路徑的始發(fā)路由器ID或路由器ID相同,那么BGP將優(yōu)選CLUSTER-LIST長度最短的路徑。
13、BGP優(yōu)選來自于最低的鄰居地址的路徑。