bgp的路由演算法
Ⅰ BGP協議最佳路徑的選擇演算法有哪些
每個BGP路由器通過鄰居聲名與周邊的一個或多個路由器連接。一旦建立了鄰居關系,這些BGP路由器之間就會相互交換路由信息。據我最近一次統計,整個互聯網上有大約12.5萬個路由信息,因此要配備一個強大的路由器才能將所有BGP路由信息接收下來。
由於整個互聯網的BGP路由表有超過20萬個路由,同時一個BGP路由器可能從多個來源收到多份的路由表,因此肯定會有一種方法可以比較不同的BGP路由表,並從中選擇最佳的路由方案。這種方法就是BGP最佳路徑選擇演算法。
可能你會注意到,CiscoBGP路由器會將應用權重(weight)作為路由表的第一標准,而其它品牌的路由器則不是這樣。Cisco的官方BGP最佳路徑選擇演算法文檔中詳細列明了所參考的各項標准。接下來我會列出每種標准並給出解釋和範例。
默認情況下,BGP最佳路徑都是基於最短自治系統(AS)的原理得出的。不過很多時候,諸如weight,localpreference以及MED這樣的標准都是網路管理員自行設定的。
接下來我們就按照BGP選擇最佳路徑的參考順序將這幾項標准介紹一下:
#1 Weight —權重是Cisco為本地路由器設定的自定義參數,並不隨路由器更新而變化。如果指向某一IP地址的路徑有多條(這很常見),那麼BGP會尋找權重最高的路徑。設定權重的參考因素很多,包括鄰居命令,as-path訪問列表,或者路由鏡像等。
#2 Local Preference — 本地出口優先順序參數會告知AS哪條路徑具有本地優先,數值越高優先順序越高。默認為100。比如:
bgp default local-preference 150
#3 Network or Aggregate—這個參數會選擇本地發起的網路或聚合作為路徑。將特定的路徑加入路由中,會讓路由更有效率,同時也節省了網路空間。更多有關聚合的信息,可以參考Cisco的文章「UnderstandingRouteAggregation in BGP.」
#4 Shortest AS_PATH — BGP 只有在weight, localpreference和locallyoriginated相當接近的時候才使用這個參數。
#5 Lowest origin type — 這個參數處理Interior Gateway Protocol(IGP)協議的優先順序低於 Exterior Gateway Protocol (EGP)協議。
#6 Lowest multi-exit discriminator (MED) — 較低的MED值要優於較高的MED值。
#7 eBGP over iBGP — 類似於#5, BGP AS Path 更傾向 eBGP 而不是 iBGP。
#8 Lowest IGP metric — 這個參數傾向於採用最低IGP作為BGP下一跳。
#9 Multiple paths — 這個參數決定是否要在路由表中裝入多個路徑。可以參考 BGPMultipath獲取更多信息。
#10 External paths — 當所有路徑都為外部路徑時,選擇首先接收到的路徑(較老的路徑)。
#11 Lowest router ID — 選擇來自具有最低路由器ID的BGP路由器的路徑。
#12 Minimum cluster list — 如果多個路徑的originator或路由器ID相同,選擇cluster列表長度最短的路徑。
Ⅱ 什麼是路由啊 路由的組成 以及路由的演算法
路由:路由(routing)是指分組從源到目的地時,決定端到端路徑的網路范圍的進程。路由工作在OSI參考模型第三層——網路層的數據包轉發設備。路由器通過轉發數據包來實現網路互連。雖然路由器可以支持多種協議(如TCP/IP、IPX/SPX、AppleTalk等協議),但是在我國絕大多數路由器運行TCP/IP協議。路由器通常連接兩個或多個由IP子網或點到點協議標識的邏輯埠,至少擁有1個物理埠。路由器根據收到數據包中的網路層地址以及路由器內部維護的路由表決定輸出埠以及下一跳地址,並且重寫鏈路層數據包頭實現轉發數據包。路由器通過動態維護路由表來反映當前的網路拓撲,並通過網路上其他路由器交換路由和鏈路信息來維護路由表。
路由器的組成:
RAM(隨機存儲器)
功能:存放路由表;存放ARP告訴緩存;存放快速交換緩存;存放分組交換緩沖;存放解壓後的IOS;路由器加電後,存放running配置文件;
特點:重啟或者斷電後,RAM中的內容丟失。
NVRAM(非易失性RAM)
功能:存儲路由器的startup配置文件;存儲路由器的備份。
特點:重啟或者斷電後內容不丟失。
FLASH(快速快閃記憶體)
功能:存放IOS和微代碼。
特點:重啟或者斷電後內容不丟失;可存放多個IOS版本(在容量許可的前提下);允許軟體升級不需替換CPU中的晶元。
ROM(只讀存儲器)
功能:存放POST診斷所需的指令;存放mini-ios;存放ROM監控模式的代碼。
特點:ROM中的軟體升級需要更換CPU的晶元(還好這種情況比較少遇到)
CPU(中央處理器)
衡量路由器性能的重要指標,負責路由計算,路由選擇等。
背板:
背板能力是一個重要參數,尤其在交換機中。
路由演算法:又名選路演算法,可以根據多個特性來加以區分。演算法的目的是找到一條從源路由器到目的路由器的「好」路徑(即具有最低費用的路徑[1])。演算法設計者的特定目標影響了該路由協議的操作;具體來說存在著多種路由演算法,每種演算法對網路和路由器資源的影響都不同;由於路由演算法使用多種度量標准(metric),從而影響到最佳路徑的計算。
演算法分類:主要有RIP、IGRP(IGRP為 Cisco公司的私有協議);鏈路狀態路由協議基於圖論中非常著名的Dijkstra演算法,即最短優先路徑(Shortest Path First, SPF)演算法,如OSPF。在距離向量路由協議中,路由器將部分或全部的路由表傳遞給與其相鄰的路由器;而在鏈路狀態路由協議中,路由器將鏈路狀態信息傳 遞給在同一區域內的所有路由器。 根據路由器在自治系統(AS)中的位置,可將路由協議分為內部網關協議 (Interior Gateway Protocol,IGP)和外部網關協議(External Gateway Protocol,EGP,也叫域 間路由協議)。域間路由協議有兩種:外部網關協議(EGP)和邊界網關協議(BGP)。EGP是為一個簡單的樹型拓撲結構而設計的,在處理選路循環和設置 選路策略時,具有明顯的缺點,已被BGP代替。