近十年來(lái),,隨著計(jì)算機(jī)網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,大型互聯(lián)網(wǎng)絡(luò)(如Internet)的迅猛發(fā)展,,路由技術(shù)在網(wǎng)絡(luò)技術(shù)中已逐漸成為關(guān)鍵部分,,路由器也隨之成為最重要的網(wǎng)絡(luò)設(shè)備。用戶(hù)的需求推動(dòng)著路由技術(shù)的發(fā)展和路由器的普及,人們已經(jīng)不滿(mǎn)足于僅在本地網(wǎng)絡(luò)上共享信息,,而希望最大限度地利用全球各個(gè)地區(qū),、各種類(lèi)型的網(wǎng)絡(luò)資源。而在目前的情況下,,任何一個(gè)有一定規(guī)模的計(jì)算機(jī)網(wǎng)絡(luò)(如企業(yè)網(wǎng),、校園網(wǎng)、智能大廈等),,無(wú)論采用的是快速以大網(wǎng)技術(shù),、FDDI技術(shù),還是ATM技術(shù),,都離不開(kāi)路由器,,否則就無(wú)法正常運(yùn)作和管理。
1 網(wǎng)絡(luò)互連
把自己的網(wǎng)絡(luò)同其它的網(wǎng)絡(luò)互連起來(lái),,從網(wǎng)絡(luò)中獲取更多的信息和向網(wǎng)絡(luò)發(fā)布自己的消息,,是網(wǎng)絡(luò)互連的最主要的動(dòng)力。網(wǎng)絡(luò)的互連有多種方式,,其中使用最多的是網(wǎng)橋互連和路由器互連。
1.1 網(wǎng)橋互連的網(wǎng)絡(luò)
網(wǎng)橋工作在OSI模型中的第二層,,即鏈路層,。完成數(shù)據(jù)幀(frame)的轉(zhuǎn)發(fā),主要目的是在連接的網(wǎng)絡(luò)間提供透明的通信,。網(wǎng)橋的轉(zhuǎn)發(fā)是依據(jù)數(shù)據(jù)幀中的源地址和目的地址來(lái)判斷一個(gè)幀是否應(yīng)轉(zhuǎn)發(fā)和轉(zhuǎn)發(fā)到哪個(gè)端口,。幀中的地址稱(chēng)為“MAC”地址或“硬件”地址,一般就是網(wǎng)卡所帶的地址,。
網(wǎng)橋的作用是把兩個(gè)或多個(gè)網(wǎng)絡(luò)互連起來(lái),,提供透明的通信。網(wǎng)絡(luò)上的設(shè)備看不到網(wǎng)橋的存在,,設(shè)備之間的通信就如同在一個(gè)網(wǎng)上一樣方便,。由于網(wǎng)橋是在數(shù)據(jù)幀上進(jìn)行轉(zhuǎn)發(fā)的,因此只能連接相同或相似的網(wǎng)絡(luò)(相同或相似結(jié)構(gòu)的數(shù)據(jù)幀),,如以太網(wǎng)之間,、以太網(wǎng)與令牌環(huán)(token ring)之間的互連,對(duì)于不同類(lèi)型的網(wǎng)絡(luò)(數(shù)據(jù)幀結(jié)構(gòu)不同),,如以太網(wǎng)與X.25之間,,網(wǎng)橋就無(wú)能為力了。
網(wǎng)橋擴(kuò)大了網(wǎng)絡(luò)的規(guī)模,,提高了網(wǎng)絡(luò)的性能,,給網(wǎng)絡(luò)應(yīng)用帶來(lái)了方便,在以前的網(wǎng)絡(luò)中,網(wǎng)橋的應(yīng)用較為廣泛,。但網(wǎng)橋互連也帶來(lái)了不少問(wèn)題:一個(gè)是廣播風(fēng)暴,,網(wǎng)橋不阻擋網(wǎng)絡(luò)中廣播消息,當(dāng)網(wǎng)絡(luò)的規(guī)模較大時(shí)(幾個(gè)網(wǎng)橋,,多個(gè)以太網(wǎng)段),,有可能引起廣播風(fēng)暴(broadcasting storm),導(dǎo)致整個(gè)網(wǎng)絡(luò)全被廣播信息充滿(mǎn),,直至完全癱瘓,。第二個(gè)問(wèn)題是,當(dāng)與外部網(wǎng)絡(luò)互連時(shí),,網(wǎng)橋會(huì)把內(nèi)部和外部網(wǎng)絡(luò)合二為一,,成為一個(gè)網(wǎng),雙方都自動(dòng)向?qū)Ψ酵耆_(kāi)放自己的網(wǎng)絡(luò)資源,。這種互連方式在與外部網(wǎng)絡(luò)互連時(shí)顯然是難以接受的,。問(wèn)題的主要根源是網(wǎng)橋只是最大限度地把網(wǎng)絡(luò)溝通,而不管傳送的信息是什么,。
1.2 路由器互連網(wǎng)絡(luò)
路由器互連與網(wǎng)絡(luò)的協(xié)議有關(guān),,我們討論限于TCP/IP網(wǎng)絡(luò)的情況。
路由器工作在OSI模型中的第三層,,即網(wǎng)絡(luò)層,。路由器利用網(wǎng)絡(luò)層定義的“邏輯”上的網(wǎng)絡(luò)地址(即IP地址)來(lái)區(qū)別不同的網(wǎng)絡(luò),實(shí)現(xiàn)網(wǎng)絡(luò)的互連和隔離,,保持各個(gè)網(wǎng)絡(luò)的獨(dú)立性,。路由器不轉(zhuǎn)發(fā)廣播消息,而把廣播消息限制在各自的網(wǎng)絡(luò)內(nèi)部,。發(fā)送到其他網(wǎng)絡(luò)的數(shù)據(jù)茵先被送到路由器,,再由路由器轉(zhuǎn)發(fā)出去。
IP路由器只轉(zhuǎn)發(fā)IP分組,,把其余的部分擋在網(wǎng)內(nèi)(包括廣播),,從而保持各個(gè)網(wǎng)絡(luò)具有相對(duì)的獨(dú)立性,這樣可以組成具有許多網(wǎng)絡(luò)(子網(wǎng))互連的大型的網(wǎng)絡(luò),。由于是在網(wǎng)絡(luò)層的互連,,路由器可方便地連接不同類(lèi)型的網(wǎng)絡(luò),只要網(wǎng)絡(luò)層運(yùn)行的是IP協(xié)議,,通過(guò)路由器就可互連起來(lái),。
網(wǎng)絡(luò)中的設(shè)備用它們的網(wǎng)絡(luò)地址(TCP/IP網(wǎng)絡(luò)中為IP地址)互相通信。IP地址是與硬件地址無(wú)關(guān)的“邏輯”地址,。路由器只根據(jù)IP地址來(lái)轉(zhuǎn)發(fā)數(shù)據(jù),。IP地址的結(jié)構(gòu)有兩部分,一部分定義網(wǎng)絡(luò)號(hào),另一部分定義網(wǎng)絡(luò)內(nèi)的主機(jī)號(hào),。目前,,在Internet網(wǎng)絡(luò)中采用子網(wǎng)掩碼來(lái)確定IP地址中網(wǎng)絡(luò)地址和主機(jī)地址。子網(wǎng)掩碼與IP地址一樣也是32bit,,并且兩者是一一對(duì)應(yīng)的,,并規(guī)定,子網(wǎng)掩碼中數(shù)字為“1”所對(duì)應(yīng)的IP地址中的部分為網(wǎng)絡(luò)號(hào),,為“0”所對(duì)應(yīng)的則為主機(jī)號(hào),。網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)合起來(lái),才構(gòu)成一個(gè)完整的IP地址,。同一個(gè)網(wǎng)絡(luò)中的主機(jī)IP地址,,其網(wǎng)絡(luò)號(hào)必須是相同的,這個(gè)網(wǎng)絡(luò)稱(chēng)為IP子網(wǎng),。
通信只能在具有相同網(wǎng)絡(luò)號(hào)的IP地址之間進(jìn)行,,要與其它IP子網(wǎng)的主機(jī)進(jìn)行通信,則必須經(jīng)過(guò)同一網(wǎng)絡(luò)上的某個(gè)路由器或網(wǎng)關(guān)(gateway)出去,。不同網(wǎng)絡(luò)號(hào)的IP地址不能直接通信,,即使它們接在一起,也不能通信,。
路由器有多個(gè)端口,,用于連接多個(gè)IP子網(wǎng)。每個(gè)端口的IP地址的網(wǎng)絡(luò)號(hào)要求與所連接的IP子網(wǎng)的網(wǎng)絡(luò)號(hào)相同,。不同的端口為不同的網(wǎng)絡(luò)號(hào),對(duì)應(yīng)不同的IP子網(wǎng),,這樣才能使各子網(wǎng)中的主機(jī)通過(guò)自己子網(wǎng)的IP地址把要求出去的IP分組送到路由器上,。
2 路由原理
當(dāng)IP子網(wǎng)中的一臺(tái)主機(jī)發(fā)送IP分組給同一IP子網(wǎng)的另一臺(tái)主機(jī)時(shí),它將直接把IP分組送到網(wǎng)絡(luò)上,,對(duì)方就能收到,。而要送給不同IP于網(wǎng)上的主機(jī)時(shí),它要選擇一個(gè)能到達(dá)目的子網(wǎng)上的路由器,,把IP分組送給該路由器,,由路由器負(fù)責(zé)把IP分組送到目的地。如果沒(méi)有找到這樣的路由器,,主機(jī)就把IP分組送給一個(gè)稱(chēng)為“缺省網(wǎng)關(guān)(default gateway)”的路由器上,。“缺省網(wǎng)關(guān)”是每臺(tái)主機(jī)上的一個(gè)配置參數(shù),它是接在同一個(gè)網(wǎng)絡(luò)上的某個(gè)路由器端口的IP地址,。
路由器轉(zhuǎn)發(fā)IP分組時(shí),,只根據(jù)IP分組目的IP地址的網(wǎng)絡(luò)號(hào)部分,選擇合適的端口,把IP分組送出去,。同主機(jī)一樣,,路由器也要判定端口所接的是否是目的子網(wǎng),如果是,,就直接把分組通過(guò)端口送到網(wǎng)絡(luò)上,,否則,也要選擇下一個(gè)路由器來(lái)傳送分組,。路由器也有它的缺省網(wǎng)關(guān),,用來(lái)傳送不知道往哪兒送的IP分組。這樣,,通過(guò)路由器把知道如何傳送的IP分組正確轉(zhuǎn)發(fā)出去,,不知道的IP分組送給“缺省網(wǎng)關(guān)”路由器,這樣一級(jí)級(jí)地傳送,,IP分組最終將送到目的地,,送不到目的地的IP分組則被網(wǎng)絡(luò)丟棄了。
目前TCP/IP網(wǎng)絡(luò),,全部是通過(guò)路由器互連起來(lái)的,,Internet就是成千上萬(wàn)個(gè)IP子網(wǎng)通過(guò)路由器互連起來(lái)的國(guó)際性網(wǎng)絡(luò)。這種網(wǎng)絡(luò)稱(chēng)為以路由器為基礎(chǔ)的網(wǎng)絡(luò)(router based network),,形成了以路由器為節(jié)點(diǎn)的“網(wǎng)間網(wǎng)”,。在“網(wǎng)間網(wǎng)”中,路由器不僅負(fù)責(zé)對(duì)IP分組的轉(zhuǎn)發(fā),,還要負(fù)責(zé)與別的路由器進(jìn)行聯(lián)絡(luò),,共同確定“網(wǎng)間網(wǎng)”的路由選擇和維護(hù)路由表。
路由動(dòng)作包括兩項(xiàng)基本內(nèi)容:尋徑和轉(zhuǎn)發(fā),。尋徑即判定到達(dá)目的地的最佳路徑,,由路由選擇算法來(lái)實(shí)現(xiàn)。由于涉及到不同的路由選擇協(xié)議和路由選擇算法,,要相對(duì)復(fù)雜一些,。為了判定最佳路徑,路由選擇算法必須啟動(dòng)并維護(hù)包含路由信息的路由表,,其中路由信息依賴(lài)于所用的路由選擇算法而不盡相同,。路由選擇算法將收集到的不同信息填入路由表中,根據(jù)路由表可將目的網(wǎng)絡(luò)與下一站(nexthop)的關(guān)系告訴路由器,。路由器間互通信息進(jìn)行路由更新,,更新維護(hù)路由表使之正確反映網(wǎng)絡(luò)的拓?fù)渥兓⒂陕酚善鞲鶕?jù)量度來(lái)決定最佳路徑,。這就是路由選擇協(xié)議(routing protocol),,例如路由信息協(xié)議(RIP),、開(kāi)放式最短路徑優(yōu)先協(xié)議(OSPF)和邊界網(wǎng)關(guān)協(xié)議(BGP)等。
轉(zhuǎn)發(fā)即沿尋徑好的最佳路徑傳送信息分組,。路由器首先在路由表中查找,,判明是否知道如何將分組發(fā)送到下一個(gè)站點(diǎn)(路由器或主機(jī)),如果路由器不知道如何發(fā)送分組,,通常將該分組丟棄,;否則就根據(jù)路由表的相應(yīng)表項(xiàng)將分組發(fā)送到下一個(gè)站點(diǎn),如果目的網(wǎng)絡(luò)直接與路由器相連,,路由器就把分組直接送到相應(yīng)的端口上,。這就是路由轉(zhuǎn)發(fā)協(xié)議(routed protocol)。
路由轉(zhuǎn)發(fā)協(xié)議和路由選擇協(xié)議是相互配合又相互獨(dú)立的概念,,前者使用后者維護(hù)的路由表,,同時(shí)后者要利用前者提供的功能來(lái)發(fā)布路由協(xié)議數(shù)據(jù)分組。下文中提到的路由協(xié)議,,除非特別說(shuō)明,,都是指路由選擇協(xié)議,這也是普遍的習(xí)慣,。
3 路由協(xié)議
典型的路由選擇方式有兩種:靜態(tài)路由和動(dòng)態(tài)路由,。
靜態(tài)路由是在路由器中設(shè)置的固定的路由表。除非網(wǎng)絡(luò)管理員干預(yù),,否則靜態(tài)路由不會(huì)發(fā)生變化,。由于靜態(tài)路由不能對(duì)網(wǎng)絡(luò)的改變作出反映,一般用于網(wǎng)絡(luò)規(guī)模不大,、拓?fù)浣Y(jié)構(gòu)固定的網(wǎng)絡(luò)中,。靜態(tài)路由的優(yōu)點(diǎn)是簡(jiǎn)單、高效,、可靠,。在所有的路由中,靜態(tài)路由優(yōu)先級(jí)最高,。當(dāng)動(dòng)態(tài)路由與靜態(tài)路由發(fā)生沖突時(shí),以靜態(tài)路由為準(zhǔn),。
動(dòng)態(tài)路由是網(wǎng)絡(luò)中的路由器之間相互通信,,傳遞路由信息,利用收到的路由信息更新路由器表的過(guò)程,。它能實(shí)時(shí)地適應(yīng)網(wǎng)絡(luò)結(jié)構(gòu)的變化,。如果路由更新信息表明發(fā)生了網(wǎng)絡(luò)變化,路由選擇軟件就會(huì)重新計(jì)算路由,,并發(fā)出新的路由更新信息,。這些信息通過(guò)各個(gè)網(wǎng)絡(luò),,引起各路由器重新啟動(dòng)其路由算法,并更新各自的路由表以動(dòng)態(tài)地反映網(wǎng)絡(luò)拓?fù)渥兓?。?dòng)態(tài)路由適用于網(wǎng)絡(luò)規(guī)模大,、網(wǎng)絡(luò)拓?fù)鋸?fù)雜的網(wǎng)絡(luò)。當(dāng)然,,各種動(dòng)態(tài)路由協(xié)議會(huì)不同程度地占用網(wǎng)絡(luò)帶寬和CPU資源,。
靜態(tài)路由和動(dòng)態(tài)路由有各自的特點(diǎn)和適用范圍,因此在網(wǎng)絡(luò)中動(dòng)態(tài)路由通常作為靜態(tài)路由的補(bǔ)充,。當(dāng)一個(gè)分組在路由器中進(jìn)行尋徑時(shí),,路由器首先查找靜態(tài)路由,如果查到則根據(jù)相應(yīng)的靜態(tài)路由轉(zhuǎn)發(fā)分組,;否則再查找動(dòng)態(tài)路由,。
根據(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é)議稱(chēng)為內(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ù)距離選擇路由,,所以也稱(chēng)為距離向量協(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>
為了滿(mǎn)足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)算法(也稱(chēng)最短路徑算法)發(fā)送路由信息到互聯(lián)網(wǎng)上所有的結(jié)點(diǎn),然而對(duì)于每個(gè)路由器,,僅發(fā)送它的路由表中描述了其自身鏈路狀態(tài)的那一部分,。距離向量算法(也稱(chēng)為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)的路由器已不能滿(mǎn)足人們對(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),。