路由選擇協議的算法
路由選擇協議的應用,在很多大型網絡中有著舉足輕重的作用。為了讓大家更好地掌握這部分知識,我們對路由選擇協議的基礎內容進行了歸納。包括它的冗余以及路由選擇算法等原理內容。路由器提供一種方法來開辟通過一個網狀聯結的路徑。這種網狀網絡提供了冗余路徑以調整通信負載或倒行鏈路,通常有一條路徑由于費用、速度或避開擁擠等理由優選于其它路徑。路由選擇協議的任務是,為路由器提供他們建立通過網狀網絡***路徑所需要的相互共享的路由信息。
當一個計算機發送一個分組時,在網絡上網絡協議棧的每一層都附加一些信息給它。在接收方的對等層協議可以讀出這些信息。這些信息類似于通信會話的某些部分。網絡層的協議附加路由選擇信息,這可能是通過一個網絡的完整的路徑或是一些指示分組應該采用那條路徑的優先值。發送方添加的網絡層信息只能由路由器或接收方的網絡層協議讀取。中繼器和橋接器不能識別網絡層信息,只能傳送和轉發分組。
Routing Algorithms 路由選擇算法
一個路由器設備可能有兩個或多個可以發送數據分組的端口。它必須有一張轉發表(forwarding table)為每一個端口標明一個特定地址。早期路由器不和其它路由器交換網絡上有關路由器的信息,因此,一個路由器通常沿著每條路徑發送數據分組,分組充滿網絡,并且發送的一些分組在網絡上無休止地循環。
為了避免這些問題,路由器可以依賴人工編程把選擇的路徑輸進設備。這被稱為靜態路由選擇。動態路由選擇是一個更好的方式,它依靠路由器收集網絡信息和建立自己的路由表。路由器相互交換路由表,并且歸并這些路由信息建立更新的路由表。從其它路由器上獲得的信息,提供到網絡上目的站點的路由中繼(hop)數或與路徑相關的費用。同時,每個路由選擇設備上的路由表,應該包含大體上一致的路由選擇信息。在使用遠程通信鏈路的廣域網中,規整化路由選擇是基本的,但是必須在遠程通訊鏈路迅速改變(例如,線路斷)時,很快地調整到新的路徑拓撲。一個典型的Internet可能由2個、10個甚至50個路由器組成,這些路由器可以通過撥號異步鏈路或專用高速數字線路(如T1)互相連接。對于一個在網絡上傳送的數據分組,它們到達路由器時由路由器查看目的地址,并沿著***或非常合適的路由將分組發送到接收站。這樣一條路由取決于所用的路由選擇算法類型。路由選擇協議基本上有兩類:距離向量和鏈路狀態,將在下面用兩段文字介紹這兩類協議。
距離向量路由選擇協議
距離向量路由選擇協議的分組傳送路由是根據到接收站的hop數或費用決定的,這些信息由各相鄰的路由器提供。技術上通常都遵循Bellman-Ford算法。一個路由器有幾個端口,每個端口都有指定的價值,這些價值是由網絡管理員設定的。用使用一條線路實際費用的多少,作為一種衡量手段表明一條線路比另一條好或壞。此外,相鄰的那些路由器告訴它們把分組送往目的站要花費的代價。路由器將端口的價值加到相鄰路由器的價值上,如下面的例子:端口1價值10 + 相鄰路由器價值17=27。端口2價值20 + 相鄰路由器價值5=25。端口3價值30 + 相鄰路由器價值7=37。在這種情況下,路由器將通過端口2傳送分組,因為它表明到接收站的代價最少。假如有必要,用鄰接端口2的路由器再計算到下一個路由器的路徑價值。
下一個hop的地址
價值度量是路由器向前傳送分組到網中下一個路由器時選擇路徑所用的量值。通用距離向量路由選擇協議有:路由選擇信息協議(RIP)是一個首先在Xerox網絡系統(XNS)中實現,而后又在Novell的NetWare中實現的距離向量路由選擇協議。內部網關路由選擇協議(IGRP)是由Cisco開發的距離向量路由選擇協議。路由選擇表維護協議(RTMP)是一個在兩個AppleTalk區中選取***路徑的Apple協議,大約每10秒廣播一次。
距離向量路由選擇不適合于有幾百個路由器的大型網或經常要更新的網。在大型網中,表的更新過程可能過長,以至于最遠的路由器的選擇表不大可能與其它表同步更新。在這種情況下,鏈路狀態路由選擇更可取些。另外,鏈路狀態協議能夠為安全起見把機密信息隔離在特殊區域,或避開網上正在進行計算機輔助設計(CAD)、多媒體通訊等擁擠區域。并且,路由選擇信息表在必要時進行交換而不是規律性地交換,這樣可以減少網絡上的信息流量。
鏈路狀態路由選擇協議
鏈路狀態路由選擇比距離向量路由選擇需要更強的處理能力,但它可以對路由選擇過程提供更多的控制和對變化響應更快。路由選擇可以基于避開擁塞區、線路的速度、線路的費用或各種優先級別。Dijkstra算法用于計算路由,根據如下:分組到達目的站經過的路由器數量,這叫做路由中繼(hop),并且hop數越少越好。