路由基礎概念解析
一、什么是路由
本文引用地址:http://dyxdggzs.com/article/155549.htm路由是把信息從源穿過(guò)網(wǎng)絡(luò )傳遞到目的的行為,在路上,至少遇到一個(gè)中間節點(diǎn)。路由通常與橋接來(lái)對比,在粗心的人看來(lái),它們似乎完成的是同樣的事。它們的主要區別在于橋接發(fā)生在OSI參考協(xié)議的第二層(鏈接層),而路由發(fā)生在第三層(網(wǎng)絡(luò )層)。這一區別使二者在傳遞信息的過(guò)程中使用不同的信息,從而以不同的方式來(lái)完成其任務(wù)。
路由的話(huà)題早已在計算機界出現,但直到八十年代中期才獲得商業(yè)成功,這一時(shí)間延遲的主要原因是七十年代的網(wǎng)絡(luò )很簡(jiǎn)單,后來(lái)大型的網(wǎng)絡(luò )才較為普遍。
二、路由的組成
路由包含兩個(gè)基本的動(dòng)作:確定最佳路徑和通過(guò)網(wǎng)絡(luò )傳輸信息。在路由的過(guò)程中,后者也稱(chēng)為(數據)交換。交換相對來(lái)說(shuō)比較簡(jiǎn)單,而選擇路徑很復雜。
1、路徑選擇
metric是路由算法用以確定到達目的地的最佳路徑的計量標準,如路徑長(cháng)度。為了幫助選路,路由算法初始化并維護包含路徑信息的路由表,路徑信息根據使用的路由算法不同而不同。
路由算法根據許多信息來(lái)填充路由表。目的/下一跳地址對告知路由器到達該目的最佳方式是把分組發(fā)送給代表“下一跳”的路由器,當路由器收到一個(gè)分組,它就檢查其目標地址,嘗試將此地址與其“下一跳”相聯(lián)系。
路由表還可以包括其它信息。路由表比較metric以確定最佳路徑,這些metric根據所用的路由算法而不同,下面將介紹常見(jiàn)的metric。路由器彼此通信,通過(guò)交換路由信息維護其路由表,路由更新信息通常包含全部或部分路由表,通過(guò)分析來(lái)自其它路由器的路由更新信息,該路由器可以建立網(wǎng)絡(luò )拓撲細圖。路由器間發(fā)送的另一個(gè)信息例子是鏈接狀態(tài)廣播信息,它通知其它路由器發(fā)送者的鏈接狀態(tài),鏈接信息用于建立完整的拓撲圖,使路由器可以確定最佳路徑。
2、交換
交換算法相對而言較簡(jiǎn)單,對大多數路由協(xié)議而言是相同的,多數情況下,某主機決定向另一個(gè)主機發(fā)送數據,通過(guò)某些方法獲得路由器的地址后,源主機發(fā)送指向該路由器的物理(MAC)地址的數據包,其協(xié)議地址是指向目的主機的。
路由器查看了數據包的目的協(xié)議地址后,確定是否知道如何轉發(fā)該包,如果路由器不知道如何轉發(fā),通常就將之丟棄。如果路由器知道如何轉發(fā),就把目的物理地址變成下一跳的物理地址并向之發(fā)送。下一跳可能就是最終的目的主機,如果不是,通常為另一個(gè)路由器,它將執行同樣的步驟。當分組在網(wǎng)絡(luò )中流動(dòng)時(shí),它的物理地址在改變,但其協(xié)議地址始終不變。
上面描述了源系統與目的系統間的交換,ISO定義了用于描述此過(guò)程的分層的術(shù)語(yǔ)。在該術(shù)語(yǔ)中,沒(méi)有轉發(fā)分組能力的網(wǎng)絡(luò )設備稱(chēng)為端系統(ES--end system),有此能力的稱(chēng)為中介系統(IS--intermediate system)。IS又進(jìn)一步分成可在路由域內通信的域內IS(intradomain IS)和既可在路由域內有可在域間通信的域間IS(interdomain IS)。路由域通常被認為是統一管理下的一部分網(wǎng)絡(luò ),遵守特定的一組管理規則,也稱(chēng)為自治系統utonomous system)。在某些協(xié)議中,路由域可以分為路由區間,但是域內路由協(xié)議仍可用于在區間內和區間之間交換數據。
三、路由算法
路由算法可以根據多個(gè)特性來(lái)加以區分。首先,算法設計者的特定目標影響了該路由協(xié)議的操作;其次,存在著(zhù)多種路由算法,每種算法對網(wǎng)絡(luò )和路由器資源的影響都不同;最后,路由算法使用多種metric,影響到最佳路徑的計算。下面的章節分析了這些路由算法的特性。
1、設計目標
路由算法通常具有下列設計目標的一個(gè)或多個(gè):
優(yōu)化
簡(jiǎn)單、低耗
健壯、穩定
快速聚合
靈活性
優(yōu)化指路由算法選擇最佳路徑的能力,根據metric的值和權值來(lái)計算。例如有一種路由算法可能使用跳數和延遲,但可能延遲的權值要大些。當然,路由協(xié)議必須嚴格定義計算metric的算法。
路由算法也可以設計得盡量簡(jiǎn)單。換句話(huà)說(shuō),路由協(xié)議必須高效地提供其功能,盡量減少軟件和應用的開(kāi)銷(xiāo)。當實(shí)現路由算法的軟件必須運行在物理資源有限的計算機上時(shí)高效尤其重要。
路由算法必須健壯,即在出現不正?;虿豢深A見(jiàn)事件的情況下必須仍能正常處理,例如硬件故障、高負載和不正確的實(shí)現。因為路由器位于網(wǎng)絡(luò )的連接點(diǎn),當它們失效時(shí)會(huì )產(chǎn)生重大的問(wèn)題。最好的路由算法通常是那些經(jīng)過(guò)了時(shí)間考驗,證實(shí)在各種網(wǎng)絡(luò )條件下都很穩定的算法。
此外,路由算法必須能快速聚合,聚合是所有路由器對最佳路徑達成一致的過(guò)程。當某網(wǎng)絡(luò )事件使路徑斷掉或不可用時(shí),路由器通過(guò)網(wǎng)絡(luò )分發(fā)路由更新信息,促使最佳路徑的重新計算,最終使所有路由器達成一致。聚合很慢的路由算法可能會(huì )產(chǎn)生路由環(huán)或網(wǎng)路中斷。
路由算法還應該是靈活的,即它們應該迅速、準確地適應各種網(wǎng)絡(luò )環(huán)境。例如,假定某網(wǎng)段斷掉了,當知道問(wèn)題后,很多路由算法對通常使用該網(wǎng)段的路徑將迅速選擇次佳的路徑。路由算法可以設計得可適應網(wǎng)絡(luò )帶寬、路由器隊列大小和網(wǎng)絡(luò )延遲。
2、算法類(lèi)型
各路由算法的區別點(diǎn)包括:
靜態(tài)與動(dòng)態(tài)
單路徑與多路徑
平坦與分層
主機智能與路由器智能
域內與域間
鏈接狀態(tài)與距離向量
(1)靜態(tài)與動(dòng)態(tài)
靜態(tài)路由算法很難算得上是算法,只不過(guò)是開(kāi)始路由前由網(wǎng)管建立的表映射。這些映射自身并不改變,除非網(wǎng)管去改動(dòng)。使用靜態(tài)路由的算法較容易設計,在網(wǎng)絡(luò )通信可預測及簡(jiǎn)單的網(wǎng)絡(luò )中工作得很好。
由于靜態(tài)路由系統不能對網(wǎng)絡(luò )改變做出反映,通常被認為不適用于現在的大型、易變的網(wǎng)絡(luò )。九十年代主要的路由算法都是動(dòng)態(tài)路由算法,通過(guò)分析收到的路由更新信息來(lái)適應網(wǎng)絡(luò )環(huán)境的改變。如果信息表示網(wǎng)絡(luò )發(fā)生了變化,路由軟件就重新計算路由并發(fā)出新的路由更新信息。這些信息滲入網(wǎng)絡(luò ),促使路由器重新計算并對路由表做相應的改變。
動(dòng)態(tài)路由算法可以在適當的地方以靜態(tài)路由作為補充。例如,最后可選路由(router of last resort),作為所有不可路由分組的去路,保證了所有的數據至少有方法處理。
(2)單路徑與多路徑
一些復雜的路由協(xié)議支持到同一目的的多條路徑。與單路徑算法不同,這些多路徑算法允許數據在多條線(xiàn)路上復用。多路徑算法的優(yōu)點(diǎn)很明顯:它們可以提供更好的吞吐量和可靠性。
(3)平坦與分層
一些路由協(xié)議在平坦的空間里運作,其它的則有路由的層次。在平坦的路由系統中,每個(gè)路由器與其它所有路由器是對等的;在分層次的路由系統中,一些路由器構成了路由主干,數據從非主干路由器流向主干路由器,然后在主干上傳輸直到它們到達目標所在區域,在這里,它們從最后的主干路由器通過(guò)一個(gè)或多個(gè)非主干路由器到達終點(diǎn)。
路由系統通常設計有邏輯節點(diǎn)組,稱(chēng)為域、自治系統或區間。在分層的系統中,一些路由器可以與其它域中的路由器通信,其它的則只能與域內的路由器通信。在很大的網(wǎng)絡(luò )中,可能還存在其它級別,最高級的路由器構成了路由主干。
評論