BGP是一個路徑矢量路由協(xié)議,它的工作就是在自主系統(tǒng)間交換路由信息,以便發(fā)現(xiàn)訪問互聯(lián)網(wǎng)某處數(shù)據(jù)的最有效路徑。如何選擇最佳路徑進行路由?思科無邊界網(wǎng)絡為我們揭示了BGP的14條選路原則:
BGP的選路原則:前提(路由的下一跳可達、關閉同步、路由沒有被懲罰、前綴沒有被入境路由策略拒絕),具體原則如下:
1:weight先比較管理權重(越大越優(yōu)先),這個參數(shù)本地有效。雖然Weight屬性是Cisco私有的,但是很多廠商也是內置該屬性(但無法顯示及修改),這樣就保證了本地始發(fā)的路由是最優(yōu)先的,因為本地始發(fā)路由的Weight為32768,從其他BGP Peer學習過來的路由的Weight為0.
2:local-pref本地首選項(越大越優(yōu)先),這個參數(shù)在本AS內傳遞。Local Preference屬性只能在IBGP Peer之間傳遞,如果在EBGP Peer之間收到的路由的路徑屬性中攜帶了Local Preference,則會觸發(fā)Notifacation報文,造成會話中斷。
3:路由器本地始發(fā)的路徑優(yōu)先。本地始發(fā)的路徑特點是next-hop為0.0.0.0,weight為32768??梢允褂貌煌姆绞奖热鏽etwork或redistribute等,那么這些方式之間是存在優(yōu)先順序的原則:network>redistribute>aggregate,但該原則是不會作為BGP路由選路策略的。
4:具有最短AS-path路徑(就是AS-PATH中AS最少的優(yōu)先)的路由優(yōu)先。但是可以配置bgp bestpath as-path ignore來忽略這一步。注意:在做聚合路由時,使用as-set后產生的AS-Path列表中的{}里的AS號長度只算一個AS號的長度;而在聯(lián)盟內的AS-Path列表中的()的AS號長度不做計算依據(jù)!不同方向的route-map對于插入的AS號的位置是不同的。
5:比較origin屬性,具有最低origin源碼。三種不同的Origin屬性的優(yōu)先順序:IGP>EGP>incomplete,Origin屬性會一直在BGP路由中攜帶。很少使用設置Origin屬性作為BGP路由選路策略。
6:評估MED(MED值最小的路徑勝出)。默認情況下,只比較來自同一AS的BGP路由的MED值(就是AS-sequence中第一個AS相同才比較)。命令bgp always-compare-med對于所有路徑都比較MED,不考慮他們是否來自同一個AS。如果使用了這個選項要在AS內都這么配置(避免路由選擇環(huán)路)。(任何開頭為as-confed-sequence的都被忽略比較MED值,如果配置了bgp always-compare-med那么會進行比較)。
MED備注:Cisco建議在所有新網(wǎng)絡部署中均啟用bgp deterministic-med命令。對于現(xiàn)有的網(wǎng)絡,必須同時在所有路由器上部署此命令,或者逐步部署此命令,但要注意避免可能出現(xiàn)的內部 BGP (iBGP) 路由環(huán)路。當BGP收到多個通往特定目標的路由時,它會按收到路由的相反順序列出它們(從最新到最舊).然后,BGP 按以下順序成對比較路由:從最新的條目開始,并向最舊的條目移動(從列表頂部開始,向下移動)。 例如,將 entry1 與 entry2 進行比較。 隨后,將這兩個中的較好者與 entry3 進行比較,依此類推。當啟用bgp deterministic-med命令時,會打亂這個順序將來自同一個自治系統(tǒng)的路由分組到一起,然后比較每一組的最佳條目。Show ip bgp 可以看出效果。
如果激活了bgp bestpath med confed命令只有AS-Confed-sequence的路徑才比較MED值。如果一條路徑包含了任何外部自制系統(tǒng),那么就不進行比較。
7:EBGP優(yōu)于IBGP;EBGP優(yōu)于聯(lián)邦EBGP(聯(lián)邦eBGP和聯(lián)邦iBGP不具有可比性,不比較。因為聯(lián)邦ebgp和聯(lián)邦ibgp都被看做內部路徑沒有差別)。如果都是EBGP對等體收到的條目或者都是從IBGP對等體收到的條目或者分別從聯(lián)邦EBGP和聯(lián)邦IBGP對等體收到的條目則繼續(xù)向下一步進行。
8:BGP優(yōu)先選擇到下一跳IGP度量值最低的路徑。(不管都是EBGPpeer還是都是IBGPpeer還是分別是聯(lián)邦EBGP和聯(lián)邦IBGP都比較這一步)
9:當前面的8條選路原則都無法優(yōu)選出最優(yōu)路由時,并且在BGP進程下面配置了maximum-paths [ibgp] <1-16>,那么將執(zhí)行等價負載均衡,如果沒有ibgp關鍵字,那么只會對EBGP對等體收到的路由執(zhí)行等價負載均衡,如果不配置maximum-paths那么將進行到下一條選路原則。
不管是IBGP還是EBGP受到的路由要實現(xiàn)負載均衡必須as-path完全相同,包含as-set的和聯(lián)邦子AS的也必須完全相同,也就是()和{}里面也要完全相同,如果有聯(lián)邦EBGP對等體和聯(lián)邦IBGP對等體收到的路由他們兩個之間不可以負載均衡。
負載均衡show ip bgp x.x.x.x明細才可以看到,有multipath標記的都會裝入路由表(show ip route)。
10:當多條都是從EBGP收到的路由時(外部路徑時,聯(lián)邦EBGP對等體不算,因為是內部路徑),BGP優(yōu)先使用最先收到的路由條目(最老的路徑)。這能最小化路由抖動。如果BGP進程下使用bgp bestpath compare-routerid命令,則忽略本原則,跳到第11條選路原則;當多條路由具有相同的router-id時也忽略本原則,當沒有當前最佳路由時,也忽略本原則,例如提供最佳路徑的鄰居down掉。(僅ebgp路由)
11:BGP優(yōu)選具有最低的router-id的路由。如果路徑包含RR屬性,那么在路徑選擇過程中就用originator-id來代替router-id進行比較(就是originator-id之間進行比較)。
12:如果orginator-id相同,那么BGP優(yōu)選cluster-list長度最短的路徑。這種情況只出現(xiàn)在RR的環(huán)境中。
13:首選來自于最低鄰居地址(neighbor后指定的鄰居地址)的路徑,越小越優(yōu)先。這個地址是在BGP對等體上配置并使用的地址,這個地址是本地對等體路由器在其上配置TCP鄰居并與遠端對等體建立連接時采用的地址。
14:BGP自定義路徑選擇過程:BGP Cost Community(BGP成本團體)的擴展團體屬性提供了自定義最佳路徑選擇過程的方式。這個自動路徑選擇過程插入在BGP13條選路原則的第8條之后(優(yōu)先到下一跳IGP-cost最低的路徑),首選成本值最低的路徑。但是可以使用bgp bestpath cost-community ignore來忽略這一步操作,配置時要在AS內或聯(lián)邦內統(tǒng)一配置,這樣可以避免出現(xiàn)路由選擇環(huán)路。
成本團體設置子句使用cost communityID(成本團體ID編號0到255)和cost number(成本編號值0到4,294,967,295)進行了配置。先比cost number后比較cost communityID,都是越低越優(yōu)先.對于未用成本編號值專門配置的路徑,將指定默認成本編號值為2,147,483,647。 此值是0和4,294,967,295之間的中央點。這個屬性傳遞給鄰居時要有send-community命令.
這個團體屬性為非傳遞的擴展團體屬性。會傳遞給IBGP和聯(lián)邦IBGP和EBGP對等體,不會傳遞給EBGP對等體。
- 北京機房搬遷改造公司,系統(tǒng)集成有哪些公司?-2019-11-04
- 如何打造一個安全的網(wǎng)絡環(huán)境?政府要做到這四點-2019-11-04
- 北京辦公室網(wǎng)絡布線,綜合布線施工價格-2019-11-04
- 深信服產品專業(yè)上網(wǎng)行為管理,安全設備有保障-2019-11-04
- 兩年內網(wǎng)絡安全市場規(guī)模將達千億級別?來看看詳細分析-2019-11-04
- 北京炫億時代專業(yè)機房設備除塵,機房網(wǎng)絡改造-2019-11-04
- 企業(yè)如何保障移動辦公的安全性?移動辦公存在的七大安-2019-11-01
- 北京深信服AC-1000-A400產品租賃購買,專業(yè)IT上網(wǎng)行為管理-2019-11-01
- 互聯(lián)網(wǎng)企業(yè)軟件開發(fā)如何才能沒有漏洞?專業(yè)工程師給出-2019-11-01
- 如何避免APP的“越權”行為?要靠制定相關法律法規(guī)-2019-11-01