全面介紹路由選擇協(xié)議的實(shí)際應(yīng)用
目前路由選擇協(xié)議的應(yīng)用非常廣泛,相信隨著通信行業(yè)的發(fā)展,路由選擇協(xié)議也會(huì)更加的完善穩(wěn)定,給用戶帶來良好的網(wǎng)絡(luò)環(huán)境。當(dāng)兩臺(tái)非直接連接的計(jì)算機(jī)需要經(jīng)過幾個(gè)網(wǎng)絡(luò)通信時(shí),通常就需要路由器。
路由器提供一種方法來開辟通過一個(gè)網(wǎng)狀聯(lián)結(jié)的路徑。在圖R-9中標(biāo)示了幾條存在于洛杉磯和紐約辦公室的路徑。這種網(wǎng)狀網(wǎng)絡(luò)提供了冗余路徑以調(diào)整通信負(fù)載或倒行鏈路,通常有一條路徑由于費(fèi)用、速度或避開擁擠等理由優(yōu)選于其它路徑。路由選擇協(xié)議的任務(wù)是,為路由器提供他們建立通過網(wǎng)狀網(wǎng)絡(luò)***路徑所需要的相互共享的路由信息。
當(dāng)一個(gè)計(jì)算機(jī)發(fā)送一個(gè)分組時(shí),在網(wǎng)絡(luò)上網(wǎng)絡(luò)協(xié)議棧的每一層都附加一些信息給它。在接收方的對(duì)等層協(xié)議可以讀出這些信息。這些信息類似于通信會(huì)話的某些部分。網(wǎng)絡(luò)層的協(xié)議附加路由選擇信息,這可能是通過一個(gè)網(wǎng)絡(luò)的完整的路徑或是一些指示分組應(yīng)該采用那條路徑的優(yōu)先值。發(fā)送方添加的網(wǎng)絡(luò)層信息只能由路由器或接收方的網(wǎng)絡(luò)層協(xié)議讀取。中繼器和橋接器不能識(shí)別網(wǎng)絡(luò)層信息,只能傳送和轉(zhuǎn)發(fā)分組。
Routing Algorithms 路由選擇算法
一個(gè)路由器設(shè)備可能有兩個(gè)或多個(gè)可以發(fā)送數(shù)據(jù)分組的端口。它必須有一張轉(zhuǎn)發(fā)表(forwarding table)為每一個(gè)端口標(biāo)明一個(gè)特定地址。早期路由器不和其它路由器交換網(wǎng)絡(luò)上有關(guān)路由器的信息,因此,一個(gè)路由器通常沿著每條路徑發(fā)送數(shù)據(jù)分組,分組充滿網(wǎng)絡(luò),并且發(fā)送的一些分組在網(wǎng)絡(luò)上無休止地循環(huán)。
為了避免這些問題,路由器可以依賴人工編程把選擇的路徑輸進(jìn)設(shè)備。這被稱為靜態(tài)路由選擇。動(dòng)態(tài)路由選擇是一個(gè)更好的方式,它依靠路由器收集網(wǎng)絡(luò)信息和建立自己的路由表。路由器相互交換路由表,并且歸并這些路由信息建立更新的路由表。從其它路由器上獲得的信息,提供到網(wǎng)絡(luò)上目的站點(diǎn)的路由中繼(hop)數(shù)或與路徑相關(guān)的費(fèi)用。同時(shí),每個(gè)路由選擇設(shè)備上的路由表,應(yīng)該包含大體上一致的路由選擇信息。在使用遠(yuǎn)程通信鏈路的廣域網(wǎng)中,規(guī)整化路由選擇是基本的,但是必須在遠(yuǎn)程通訊鏈路迅速改變(例如,線路斷)時(shí),很快地調(diào)整到新的路徑拓?fù)?。一個(gè)典型的Internet可能由2個(gè)、10個(gè)甚至50個(gè)路由器組成,這些路由器可以通過撥號(hào)異步鏈路或?qū)S酶咚贁?shù)字線路(如T1)互相連接。對(duì)于一個(gè)在網(wǎng)絡(luò)上傳送的數(shù)據(jù)分組,它們到達(dá)路由器時(shí)由路由器查看目的地址,并沿著***或非常合適的路由將分組發(fā)送到接收站。這樣一條路由取決于所用的路由選擇算法類型。路由選擇協(xié)議基本上有兩類:距離向量和鏈路狀態(tài),將在下面用兩段文字介紹這兩類協(xié)議。
距離向量路由選擇協(xié)議
距離向量路由選擇協(xié)議的分組傳送路由是根據(jù)到接收站的hop數(shù)或費(fèi)用決定的,這些信息由各相鄰的路由器提供。技術(shù)上通常都遵循Bellman-Ford算法。一個(gè)路由器(如圖R-10)有幾個(gè)端口,每個(gè)端口都有指定的價(jià)值,這些價(jià)值是由網(wǎng)絡(luò)管理員設(shè)定的。用使用一條線路實(shí)際費(fèi)用的多少,作為一種衡量手段表明一條線路比另一條好或壞。此外,相鄰的那些路由器告訴它們把分組送往目的站要花費(fèi)的代價(jià)。路由器將端口的價(jià)值加到相鄰路由器的價(jià)值上,如下面的例子:端口1價(jià)值10 + 相鄰路由器價(jià)值17=27。端口2價(jià)值20 + 相鄰路由器價(jià)值5=25。端口3價(jià)值30 + 相鄰路由器價(jià)值7=37。在這種情況下,路由器將通過端口2傳送分組,因?yàn)樗砻鞯浇邮照镜拇鷥r(jià)最少。假如有必要,用鄰接端口2的路由器再計(jì)算到下一個(gè)路由器的路徑價(jià)值。
下一個(gè)hop的地址
價(jià)值度量是路由器向前傳送分組到網(wǎng)中下一個(gè)路由器時(shí)選擇路徑所用的量值。通用距離向量路由選擇協(xié)議有:路由選擇信息協(xié)議(RIP)是一個(gè)首先在Xerox網(wǎng)絡(luò)系統(tǒng)(XNS)中實(shí)現(xiàn),而后又在Novell的NetWare中實(shí)現(xiàn)的距離向量路由選擇協(xié)議。內(nèi)部網(wǎng)關(guān)路由選擇協(xié)議(IGRP)是由Cisco開發(fā)的距離向量路由選擇協(xié)議。路由選擇表維護(hù)協(xié)議(RTMP)是一個(gè)在兩個(gè)AppleTalk區(qū)中選取***路徑的Apple協(xié)議,大約每10秒廣播一次。
距離向量路由選擇不適合于有幾百個(gè)路由器的大型網(wǎng)或經(jīng)常要更新的網(wǎng)。在大型網(wǎng)中,表的更新過程可能過長,以至于最遠(yuǎn)的路由器的選擇表不大可能與其它表同步更新。在這種情況下,鏈路狀態(tài)路由選擇更可取些。另外,鏈路狀態(tài)協(xié)議能夠?yàn)榘踩鹨姲褭C(jī)密信息隔離在特殊區(qū)域,或避開網(wǎng)上正在進(jìn)行計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、多媒體通訊等擁擠區(qū)域。并且,路由選擇信息表在必要時(shí)進(jìn)行交換而不是規(guī)律性地交換,這樣可以減少網(wǎng)絡(luò)上的信息流量。
鏈路狀態(tài)路由選擇協(xié)議
鏈路狀態(tài)路由選擇比距離向量路由選擇需要更強(qiáng)的處理能力,但它可以對(duì)路由選擇過程提供更多的控制和對(duì)變化響應(yīng)更快。路由選擇可以基于避開擁塞區(qū)、線路的速度、線路的費(fèi)用或各種優(yōu)先級(jí)別。Dijkstra算法用于計(jì)算路由,根據(jù)如下:分組到達(dá)目的站經(jīng)過的路由器數(shù)量,這叫做路由中繼(hop),并且hop數(shù)越少越好。