一、什么是路由
路由是把信息從源穿過(guò)網(wǎng)絡(luò)傳遞到目的的行為,在路上,至少遇到一個(gè)中間節(jié)點(diǎn)。路由通常與橋接來(lái)對(duì)比,在粗心的人看來(lái),它們似乎完成的是同樣的事。它們的主要區(qū)別在于橋接發(fā)生在OSI參考協(xié)議的第二層(鏈接層),而路由發(fā)生在第三層(網(wǎng)絡(luò)層)。這一區(qū)別使二者在傳遞信息的過(guò)程中使用不同的信息,從而以不同的方式來(lái)完 成其任務(wù)。
路由的話題早已在計(jì)算機(jī)界出現(xiàn),但直到八十年代中期才獲得商業(yè)成功,這一時(shí)間延遲的主要原因是七十年代的網(wǎng)絡(luò)很簡(jiǎn)單,后來(lái)大型的網(wǎng)絡(luò)才較為普遍。
二、路由的組成
路由包含兩個(gè)基本的動(dòng)作:確定最佳路徑和通過(guò)網(wǎng)絡(luò)傳輸信息。在路由的過(guò)程中,后者也稱為(數(shù)據(jù))交換。交換相對(duì)來(lái)說(shuō)比較簡(jiǎn)單,而選擇路徑很復(fù)雜。
1、路徑選擇
metric是路由算法用以確定到達(dá)目的地的最佳路徑的計(jì)量標(biāo)準(zhǔn),如路徑長(zhǎng)度。為了幫助選路,路由算法初始化并維護(hù)包含路徑信息的路由表,路徑信息根據(jù)使用的路由算法不同而不同。
路由算法根據(jù)許多信息來(lái)填充路由表。目的/下一跳地址對(duì)告知路由器到達(dá)該目的最佳方式是把分組發(fā)送給代表“下一跳”的路由器,當(dāng)路由器收到一個(gè)分組,它就檢查其目標(biāo)地址,嘗試將此地址與其“下一跳”相聯(lián)系。
路由表還可以包括其它信息。路由表比較metric以確定最佳路徑,這些metric根據(jù)所用的路由算法而不同,下面將介紹常見(jiàn)的metric。路由器彼此通信,通過(guò)交換路由信息維護(hù)其路由表,路由更新信息通常包含全部或部分路由表,通過(guò)分析來(lái)自其它路由器的路由更新信息,該路由器可以建立網(wǎng)絡(luò)拓?fù)浼?xì)圖。路由器間發(fā)送的另一個(gè)信息例子是鏈接狀態(tài)廣播信息,它通知其它路由器發(fā)送者的鏈接狀態(tài),鏈接信息用于建立完整的拓?fù)鋱D,使路由器可以確定最佳路徑。
2、交換
交換算法相對(duì)而言較簡(jiǎn)單,對(duì)大多數(shù)路由協(xié)議而言是相同的,多數(shù)情況下,某主機(jī)決定向另一個(gè)主機(jī)發(fā)送數(shù)據(jù),通過(guò)某些方法獲得路由器的地址后,源主機(jī)發(fā)送指向該路由器的物理(MAC)地址的數(shù)據(jù)包,其協(xié)議地址是指向目的主機(jī)的。
路由器查看了數(shù)據(jù)包的目的協(xié)議地址后,確定是否知道如何轉(zhuǎn)發(fā)該包,如果路由器不知道如何轉(zhuǎn)發(fā),通常就將之丟棄。如果路由器知道如何轉(zhuǎn)發(fā),就把目的物理地址變成下一跳的物理地址并向之發(fā)送。下一跳可能就是最終的目的主機(jī),如果不是,通常為另一個(gè)路由器,它將執(zhí)行同樣的步驟。當(dāng)分組在網(wǎng)絡(luò)中流動(dòng)時(shí),它的物理地址在改變,但其協(xié)議地址始終不變。
上面描述了源系統(tǒng)與目的系統(tǒng)間的交換,ISO定義了用于描述此過(guò)程的分層的術(shù)語(yǔ)。在該術(shù)語(yǔ)中,沒(méi)有轉(zhuǎn)發(fā)分組能力的網(wǎng)絡(luò)設(shè)備稱為端系統(tǒng)(ES--end system),有此能力的稱為中介系統(tǒng)(IS--intermediate system)。IS又進(jìn)一步分成可在路由域內(nèi)通信的域內(nèi)IS(intradomain IS)和既可在路由域內(nèi)有可在域間通信的域間IS(interdomain IS)。路由域通常被認(rèn)為是統(tǒng)一管理下的一部分網(wǎng)絡(luò),遵守特定的一組管理規(guī)則,也稱為自治系統(tǒng)utonomous system)。在某些協(xié)議中,路由域可以分為路由區(qū)間,但是域內(nèi)路由協(xié)議仍可用于在區(qū)間內(nèi)和區(qū)間之間交換數(shù)據(jù)。
三、路由算法
路由算法可以根據(jù)多個(gè)特性來(lái)加以區(qū)分。首先,算法設(shè)計(jì)者的特定目標(biāo)影響了該路由協(xié)議的操作;其次,存在著多種路由算法,每種算法對(duì)網(wǎng)絡(luò)和路由器資源的影響都不同;最后,路由算法使用多種metric,影響到最佳路徑的計(jì)算。下面的章節(jié)分析了這些路由算法的特性。
1、設(shè)計(jì)目標(biāo)
路由算法通常具有下列設(shè)計(jì)目標(biāo)的一個(gè)或多個(gè):
優(yōu)化
簡(jiǎn)單、低耗
健壯、穩(wěn)定
快速聚合
靈活性