天天看點

BGP路由決策過程

 在Cisco路由器上,BGP選擇最佳路由的步驟:

首先權重最高的路由(權重是一種cisco專用的屬性,隻用于目前路由器);

如果權重相同,選擇本地優先級最高的路由(本地優先級用于自治系統内部);

如果本地優先級相同,選擇目前路由器通告的路由(在BGP表中,目前路由器通告的路由的下一跳為0.0.0.0);

如果沒有目前路由器通告的路由,選擇AS路徑最短的路由;

如果AS路徑長度相同,選擇源頭編碼(IGP<EGP<不完全)最小的路徑;

如果源頭編碼相同,選擇MED最小的路徑;

除非配置了路由器配置指令bgp always-compare-med,否則僅當所有被考慮的路由的鄰接自治系統都相同時,才比較MED;

如果MED相同,則外部路徑(EBGP)優先于内部路徑(IBGP);

如果禁用了同步且隻有内部路徑,則選擇經過最近的IGP鄰居的路徑。這意味着路由器首先自治系統中最短的内部路徑(最短的前往BGP下一跳的路徑);

對于EBGP路徑,選擇最老的路由,以最大限制地降低路由翻滾的影響;

首先鄰居BGP路由器ID最小的路由;

如果BGP路由器ID相同,選擇鄰居IP位址最小的路由;

采用多宿的連接配接方式時的路徑選擇決策過程:

執行包含11步的路由過程後,隻有最佳路徑被加入路由表,并傳播給BGP鄰居。如果不想操縱路由,最佳路徑通常是根據第4步選擇的,即其AS路徑最短。

檢查權重,對于不是目前路口通告的路由,其權重預設為0;

比較本地優先級,而所有路由的本地優先級都預設是100.僅當網絡管理者将權重或本地優先級配置成了非預設值時,第1步和第2 步才能發揮作用;

考慮目前自治系統中的網絡。如果有路由是目前自治系統中的路由器通告的,路由器将首選它,而不是其他BGP路由器通告的路由;

選擇穿越自治系統數最小的路徑,這是BGP選擇最佳路徑時最常用的标準。如果網絡管理者不喜歡穿越最少自治系統路徑,則需要操縱權重或本地優先級,以改變BGP選擇的最佳路徑;

檢查路由如何注入BGP的。通常要麼是使用network指令注入的(源頭編碼為i),要麼是重分發而來的(源頭編碼為?);

檢查MED,以确定鄰接自治系統希望目前自治系統将分組轉發到哪裡。預設情況下,cisco ios将MED設定為0,是以除非鄰接自治系統的網絡管理者使用了MED來操縱路徑,否則MED不會影響路徑選擇;

如果多條路徑穿越的自治系統相同,第7步發揮作用,它指出從EBGP鄰居獲悉的路徑優先于從IBGP鄰居獲悉的路徑。

本文轉自 gswljy 51CTO部落格,原文連結:http://blog.51cto.com/guoshiwei/711136

繼續閱讀