路由器原理及路由協(xié)議
根據(jù)是否在一個(gè)自治域內(nèi)部使用,動(dòng)態(tài)路由協(xié)議分為內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)和外部網(wǎng)關(guān)協(xié)議(EGP)。這里的自治域指一個(gè)具有統(tǒng)一管理機(jī)構(gòu)、統(tǒng)一路由策略的網(wǎng)絡(luò)。自治域內(nèi)部采用的路由選擇協(xié)議稱為內(nèi)部網(wǎng)關(guān)協(xié)議,常用的有RIP、OSPF;外部網(wǎng)關(guān)協(xié)議主要用于多個(gè)自治域之間的路由選擇,常用的是BGP和BGP-4。下面分別進(jìn)行簡(jiǎn)要介紹。
3.1 RIP路由協(xié)議
RIP協(xié)議最初是為Xerox網(wǎng)絡(luò)系統(tǒng)的Xerox parc通用協(xié)議而設(shè)計(jì)的,是Internet中常用的路由協(xié)議。RIP采用距離向量算法,即路由器根據(jù)距離選擇路由,所以也稱為距離向量協(xié)議。路由器收集所有可到達(dá)目的地的不同路徑,并且保存有關(guān)到達(dá)每個(gè)目的地的最少站點(diǎn)數(shù)的路徑信息,除到達(dá)目的地的最佳路徑外,任何其它信息均予以丟棄。同時(shí)路由器也把所收集的路由信息用RIP協(xié)議通知相鄰的其它路由器。這樣,正確的路由信息逐漸擴(kuò)散到了全網(wǎng)。
RIP使用非常廣泛,它簡(jiǎn)單、可靠,便于配置。但是RIP只適用于小型的同構(gòu)網(wǎng)絡(luò),因?yàn)樗试S的最大站點(diǎn)數(shù)為15,任何超過(guò)15個(gè)站點(diǎn)的目的地均被標(biāo)記為不可達(dá)。而且RIP每隔30s一次的路由信息廣播也是造成網(wǎng)絡(luò)的廣播風(fēng)暴的重要原因之一。
3.2 OSPF路由協(xié)議
80年代中期,RIP已不能適應(yīng)大規(guī)模異構(gòu)網(wǎng)絡(luò)的互連,0SPF隨之產(chǎn)生。它是網(wǎng)間工程任務(wù)組織(1ETF)的內(nèi)部網(wǎng)關(guān)協(xié)議工作組為IP網(wǎng)絡(luò)而開(kāi)發(fā)的一種路由協(xié)議。
0SPF是一種基于鏈路狀態(tài)的路由協(xié)議,需要每個(gè)路由器向其同一管理域的所有其它路由器發(fā)送鏈路狀態(tài)廣播信息。在OSPF的鏈路狀態(tài)廣播中包括所有接口信息、所有的量度和其它一些變量。利用0SPF的路由器首先必須收集有關(guān)的鏈路狀態(tài)信息,并根據(jù)一定的算法計(jì)算出到每個(gè)節(jié)點(diǎn)的最短路徑。而基于距離向量的路由協(xié)議僅向其鄰接路由器發(fā)送有關(guān)路由更新信息。
與RIP不同,OSPF將一個(gè)自治域再劃分為區(qū),相應(yīng)地即有兩種類(lèi)型的路由選擇方式:當(dāng)源和目的地在同一區(qū)時(shí),采用區(qū)內(nèi)路由選擇;當(dāng)源和目的地在不同區(qū)時(shí),則采用區(qū)間路由選擇。這就大大減少了網(wǎng)絡(luò)開(kāi)銷(xiāo),并增加了網(wǎng)絡(luò)的穩(wěn)定性。當(dāng)一個(gè)區(qū)內(nèi)的路由器出了故障時(shí)并不影響自治域內(nèi)其它區(qū)路由器的正常工作,這也給網(wǎng)絡(luò)的管理、維護(hù)帶來(lái)方便。
3.3 BGP和BGP-4路由協(xié)議
BGP是為T(mén)CP/IP互聯(lián)網(wǎng)設(shè)計(jì)的外部網(wǎng)關(guān)協(xié)議,用于多個(gè)自治域之間。它既不是基于純粹的鏈路狀態(tài)算法,也不是基于純粹的距離向量算法。它的主要功能是與其它自治域的BGP交換網(wǎng)絡(luò)可達(dá)信息。各個(gè)自治域可以運(yùn)行不同的內(nèi)部網(wǎng)關(guān)協(xié)議。BGP更新信息包括網(wǎng)絡(luò)號(hào)/自治域路徑的成對(duì)信息。自治域路徑包括到達(dá)某個(gè)特定網(wǎng)絡(luò)須經(jīng)過(guò)的自治域串,這些更新信息通過(guò)TCP傳送出去,以保證傳輸?shù)目煽啃浴?p>為了滿足Internet日益擴(kuò)大的需要,BGP還在不斷地發(fā)展。在最新的BGp4中,還可以將相似路由合并為一條路由。
3.4 路由表項(xiàng)的優(yōu)先問(wèn)題
在一個(gè)路由器中,可同時(shí)配置靜態(tài)路由和一種或多種動(dòng)態(tài)路由。它們各自維護(hù)的路由表都提供給轉(zhuǎn)發(fā)程序,但這些路由表的表項(xiàng)間可能會(huì)發(fā)生沖突。這種沖突可通過(guò)配置各路由表的優(yōu)先級(jí)來(lái)解決。通常靜態(tài)路由具有默認(rèn)的最高優(yōu)先級(jí),當(dāng)其它路由表表項(xiàng)與它矛盾時(shí),均按靜態(tài)路由轉(zhuǎn)發(fā)。
4.路由算法
路由算法在路由協(xié)議中起著至關(guān)重要的作用,采用何種算法往往決定了最終的尋徑結(jié)果,因此選擇路由算法一定要仔細(xì)。通常需要綜合考慮以下幾個(gè)設(shè)計(jì)目標(biāo):
(1)最優(yōu)化:指路由算法選擇最佳路徑的能力。
(2)簡(jiǎn)潔性:算法設(shè)計(jì)簡(jiǎn)潔,利用最少的軟件和開(kāi)銷(xiāo),提供最有效的功能。
(3)堅(jiān)固性:路由算法處于非正?;虿豢深A(yù)料的環(huán)境時(shí),如硬件故障、負(fù)載過(guò)高或操作失誤時(shí),都能正確運(yùn)行。由于路由器分布在網(wǎng)絡(luò)聯(lián)接點(diǎn)上,所以在它們出故障時(shí)會(huì)產(chǎn)生嚴(yán)重后果。最好的路由器算法通常能經(jīng)受時(shí)間的考驗(yàn),并在各種網(wǎng)絡(luò)環(huán)境下被證實(shí)是可靠的。
(4)快速收斂:收斂是在最佳路徑的判斷上所有路由器達(dá)到一致的過(guò)程。當(dāng)某個(gè)網(wǎng)絡(luò)事件引起路由可用或不可用時(shí),路由器就發(fā)出更新信息。路由更新信息遍及整個(gè)網(wǎng)絡(luò),引發(fā)重新計(jì)算最佳路徑,最終達(dá)到所有路由器一致公認(rèn)的最佳路徑。收斂慢的路由算法會(huì)造成路徑循環(huán)或網(wǎng)絡(luò)中斷。
(5)靈活性:路由算法可以快速、準(zhǔn)確地適應(yīng)各種網(wǎng)絡(luò)環(huán)境。例如,某個(gè)網(wǎng)段發(fā)生故障,路由算法要能很快發(fā)現(xiàn)故障,并為使用該網(wǎng)段的所有路由選擇另一條最佳路徑。
路由算法按照種類(lèi)可分為以下幾種:靜態(tài)和動(dòng)態(tài)、單路和多路、平等和分級(jí)、源路由和透明路由、域內(nèi)和域間、鏈路狀態(tài)和距離向量。前面幾種的特點(diǎn)與字面意思基本一致,下面著重介紹鏈路狀態(tài)和距離向量算法。
鏈路狀態(tài)算法(也稱最短路徑算法)發(fā)送路由信息到互聯(lián)網(wǎng)上所有的結(jié)點(diǎn),然而對(duì)于每個(gè)路由器,僅發(fā)送它的路由表中描述了其自身鏈路狀態(tài)的那一部分。距離向量算法(也稱為Bellman-Ford算法)則要求每個(gè)路由器發(fā)送其路由表全部或部分信息,但僅發(fā)送到鄰近結(jié)點(diǎn)上。從本質(zhì)上來(lái)說(shuō),鏈路狀態(tài)算法將少量更新信息發(fā)送至網(wǎng)絡(luò)各處,而距離向量算法發(fā)送大量更新信息至鄰接路由器。
由于鏈路狀態(tài)算法收斂更快,因此它在一定程度上比距離向量算法更不易產(chǎn)生路由循環(huán)。但另一方面,鏈路狀態(tài)算法要求比距離向量算法有更強(qiáng)的CPU能力和更多的內(nèi)存空間,因此鏈路狀態(tài)算法將會(huì)在實(shí)現(xiàn)時(shí)顯得更昂貴一些。除了這些區(qū)別,兩種算法在大多數(shù)環(huán)境下都能很好地運(yùn)行。
最后需要指出的是,路由算法使用了許多種不同的度量標(biāo)準(zhǔn)去決定最佳路徑。復(fù)雜的路由算法可能采用多種度量來(lái)選擇路由,通過(guò)一定的加權(quán)運(yùn)算,將它們合并為單個(gè)的復(fù)合度量、再填入路由表中,作為尋徑的標(biāo)準(zhǔn)。通常所使用的度量有:路徑長(zhǎng)度、可靠性、時(shí)延、帶寬、負(fù)載、通信成本等。
5.新一代路由器
由于多媒體等應(yīng)用在網(wǎng)絡(luò)中的發(fā)展,以及ATM、快速以太網(wǎng)等新技術(shù)的不斷采用,網(wǎng)絡(luò)的帶寬與速率飛速提高,傳統(tǒng)的路由器已不能滿足人們對(duì)路由器的性能要求。因?yàn)閭鹘y(tǒng)路由器的分組轉(zhuǎn)發(fā)的設(shè)計(jì)與實(shí)現(xiàn)均基于軟件,在轉(zhuǎn)發(fā)過(guò)程中對(duì)分組的處理要經(jīng)過(guò)許多環(huán)節(jié),轉(zhuǎn)發(fā)過(guò)程復(fù)雜,使得分組轉(zhuǎn)發(fā)的速率較慢。另外,由于路由器是網(wǎng)絡(luò)互連的關(guān)鍵設(shè)備,是網(wǎng)絡(luò)與其它網(wǎng)絡(luò)進(jìn)行通信的一個(gè)“關(guān)口”,對(duì)其安全性有很高的要求,因此路由器中各種附加的安全措施增加了CPU的負(fù)擔(dān),這樣就使得路由器成為整個(gè)互聯(lián)網(wǎng)上的“瓶頸”。
傳統(tǒng)的路由器在轉(zhuǎn)發(fā)每一個(gè)分組時(shí),都要進(jìn)行一系列的復(fù)雜操作,包括路由查找、訪問(wèn)控制表匹配、地址解析、優(yōu)先級(jí)管理以及其它的附加操作。這一系列的操作大大影響了路由器的性能與效率,降低了分組轉(zhuǎn)發(fā)速率和轉(zhuǎn)發(fā)的吞吐量,增加了CPU的負(fù)擔(dān)。而經(jīng)過(guò)路由器的前后分組間的相關(guān)性很大,具有相同目的地址和源地址的分組往往連續(xù)到達(dá),這為分組的快速轉(zhuǎn)發(fā)提供了實(shí)現(xiàn)的可能與依據(jù)。新一代路由器,如IP Switch、Tag Switch等,就是采用這一設(shè)計(jì)思想用硬件來(lái)實(shí)現(xiàn)快速轉(zhuǎn)發(fā),大大提高了路由器的性能與效率。
新一代路由器使用轉(zhuǎn)發(fā)緩存來(lái)簡(jiǎn)化分組的轉(zhuǎn)發(fā)操作。在快速轉(zhuǎn)發(fā)過(guò)程中,只需對(duì)一組具有相同目的地址和源地址的分組的前幾個(gè)分組進(jìn)行傳統(tǒng)的路由轉(zhuǎn)發(fā)處理,并把成功轉(zhuǎn)發(fā)的分組的目的地址、源地址和下一網(wǎng)關(guān)地址(下一路由器地址)放人轉(zhuǎn)發(fā)緩存中。當(dāng)其后的分組要進(jìn)行轉(zhuǎn)發(fā)時(shí),茵先查看轉(zhuǎn)發(fā)緩存,如果該分組的目的地址和源地址與轉(zhuǎn)發(fā)緩存中的匹配,則直接根據(jù)轉(zhuǎn)發(fā)緩存中的下一網(wǎng)關(guān)地址進(jìn)行轉(zhuǎn)發(fā),而無(wú)須經(jīng)過(guò)傳統(tǒng)的復(fù)雜操作,大大減輕了路由器的負(fù)擔(dān),達(dá)到了提高路由器吞吐量的目標(biāo)。
評(píng)論