路由選擇協議
路由選擇協議
當兩台非直接連接的計算機需要經過幾個網路通信時,通常就需要路由器。路由器提供一種方法來開闢通過一個網狀聯結的路徑。在圖R-9中標示了幾條存在於洛杉磯和紐約辦公室的路徑。這種網狀網路提供了冗餘路徑以調整通信負載或倒行鏈路,通常有一條路徑由於費用、速度或避開擁擠等理由優選於其它路徑。路由選擇協議的任務是,為路由器提供他們建立通過網狀網路最佳路徑所需要的相互共享的路由信息。
當一個計算機發送一個分組時,在網路上網路協議棧的每一層都附加一些信息給它。在接收方的對等層協議可以讀出這些信息。這些信息類似於通信會話的某些部分。網路層的協議附加路由選擇信息,這可能是通過一個網路的完整的路徑或是一些指示分組應該採用那條路徑的優先值。發送方添加的網路層信息只能由路由器或接收方的網路層協議讀取。中繼器和橋接器不能識別網路層信息,只能傳送和轉發分組。
一個路由器設備可能有兩個或多個可以發送數據分組的埠。它必須有一張轉發表(forwarding table)為每一個埠標明一個特定地址。早期路由器不和其它路由器交換網路上有關路由器的信息,因此,一個路由器通常沿著每條路徑發送數據分組,分組充滿網路,並且發送的一些分組在網路上無休止地循環。
為了避免這些問題,路由器可以依賴人工編程把選擇的路徑輸進設備。這被稱為靜態路由選擇。動態路由選擇是一個更好的方式,它依靠路由器收集網路信息和建立自己的路由表。路由器相互交換路由表,並且歸併這些路由信息建立更新的路由表。從其它路由器上獲得的信息,提供到網路上目的站點的路由中繼(hop)數或與路徑相關的費用。同時,每個路由選擇設備上的路由表,應該包含大體上一致的路由選擇信息。
在使用遠程通信鏈路的廣域網中,規整化路由選擇是基本的,但是必須在遠程通訊鏈路迅速改變(例如,線路斷)時,很快地調整到新的路徑拓撲。一個典型的Internet可能由2個、10個甚至50個路由器組成,這些路由器可以通過撥號非同步鏈路或專用高速數字線路(如T1)互相連接。對於一個在網路上傳送的數據分組,它們到達路由器時由路由器查看目的地址,並沿著最佳或非常合適的路由將分組發送到接收站。這樣一條路由取決於所用的路由選擇演演算法類型。
路由選擇協議基本上有兩類:距離向量和鏈路狀態,將在下面用兩段文字介紹這兩類協議。
距離向量路由選擇協議的分組傳送路由是根據到接收站的hop數或費用決定的,這些信息由各相鄰的路由器提供。技術上通常都遵循Bellman-Ford演演算法。
一個路由器(如圖R-10)有幾個埠,每個埠都有指定的價值,這些價值是由網路管理員設定的。用使用一條線路實際費用的多少,作為一種衡量手段表明一條線路比另一條好或壞。此外,相鄰的那些路由器告訴它們把分組送往目的站要花費的代價。路由器將埠的價值加到相鄰路由器的價值上,如下面的例子:
埠1價值10+相鄰路由器價值17=27。
埠2價值20+相鄰路由器價值5=25。
埠3價值30+相鄰路由器價值7=37。
在這種情況下,路由器將通過埠2傳送分組,因為它表明到接收站的代價最少。假如有必要,用鄰接埠2的路由器再計算到下一個路由器的路徑價值。
路由信息,如下一個hop的地址等都存在表中,並且路由器大約每隔30秒互相交換表。初始時,每一個網路只知道直接相連的路由器。當一個路由器得到一張表,它將表項與自己的表進行比較。根據這些信息,它用新增路由或刪除路由來修改表。表中信息包含:網路號;埠號;價值度量;下一個hop的地址。
價值度量是路由器向前傳送分組到網中下一個路由器時選擇路徑所用的量值。通用距離向量路由選擇協議有:
路由選擇信息協議(RIP)是一個首先在Xerox網路系統(XNS)中實現,而後又在Novell的NetWare中實現的距離向量路由選擇協議。
內部網關路由選擇協議(IGRP)是由Cisco開發的距離向量路由選擇協議。
距離向量路由選擇不適合於有幾百個路由器的大型網或經常要更新的網。在大型網中,表的更新過程可能過長,以至於最遠的路由器的選擇表不大可能與其它表同步更新。在這種情況下,鏈路狀態路由選擇更可取些。另外,鏈路狀態協議能夠為安全起見把機密信息隔離在特殊區域,或避開網上正在進行計算機輔助設計(CAD)、多媒體通訊等擁擠區域。並且,路由選擇信息表在必要時進行交換而不是規律性地交換,這樣可以減少網路上的信息流量。
鏈路狀態路由選擇比距離向量路由選擇需要更強的處理能力,但它可以對路由選擇過程提供更多的控制和對變化響應更快。路由選擇可以基於避開擁塞區、線路的速度、線路的費用或各種優先順序別。Dijkstra演演算法用於計算路由,根據如下:
分組到達目的站經過的路由器數量,這叫做路由中繼(hop),並且hop數越少越好。
區域網間傳輸線路的速度。有些路由使用低速非同步連接,而另一些路由使用高速數字鏈路。
信息擁塞將造成延遲。如果一台工作站傳送一個大文件,路由器可以通過不同的路徑發送分組以避免交通阻塞。
路由的費用,網路管理員定義的一個度量,通常是根據傳輸介質確定的。最便宜的路徑可能不是最快的,但對某些類型的傳輸卻更為可取。
最常用的鏈路狀態路由選擇協議是優先開放最短路徑(OSPF),它和OSI的中間系統到中間系統(IS-IS)是類似的。OSPF的原型是Proten開發的,是從OSIIS-IS的一個早期版本中派生出來的。OSPF在Internet和TCP/IP網上IP通信的路由選擇中使用。IS-IS既可在IP通信中使用,也可在OSI通信中使用。
OSPF路由選擇表僅當在需要時更新,而不是定時更換。這有效地減少了通信流量和節省了網路帶寬。通過網路的路徑由上述標準選定。一個網路管理員可以根據信息傳送的類型編製通過網路的路徑。例如,當線路有較高數據傳輸率時,即使通過網路的那條路徑有較多的hop數也是很可取的;另一方面,對於不大重要的信息將安排在低速低值的線路上傳送。
Internet路由選擇(TCP/IP)和OSI路由選擇使用了一個自治系統(AS)或管理區域(AD)的概念,可以簡單地理解成區域(domains)。一個區域是一些使用相同路由選擇協議的主機和路由器的集合,如圖R-11中所示,它們使用相同的路由選擇協議和由單一機構管理。換句話說,一個區域可以是一所大學或其它機構管理的一個網際網路。例如Internet是一個由教育部門、政府機關和各個公司管理的自治系統鏈接起來的網際網路路。
每個機構都有自己的內部網路,通過外部網關與Internet網連接(註:Internet網以前把路由器稱作網關,外部網關協議。OSI協議也使用了自治系統的概念,但在一個區域內的路由選擇稱為域內路由選擇,區域之間的路由選擇稱為域間路由選擇。
實踐中並非所有路由器對網上每一個其它系統都進行聯絡,所以可以有不同的協議、劃分不同的區域。在Internet網上有幾百萬個地址!路由選擇信息的組織是層次結構的,所以每個路由選擇設備只需要有足夠的信息就可以引導信息分組到下一個重要的路由器。
有許多種內部網關協議,並有幾種在Internet網上常用,這些協議已在條目“AppleTalk路由選擇”,“Internet路由選擇”和“OSI的路由選擇”中討論。
地址解析協議(ARP)是一個Internet(TCP/IP)協議,它為內部路由器傳遞數據報提供了一種方法。
路由選擇信息協議(RIP)是一種距離向量路由選擇協議。
優先開放最短路徑(OSPF)是一種鏈路狀態路由選擇協議,它優於RIP。OSPF是Internet網中最常用的內部網關協議,但OSI IS-IS協議也用於Internet。
端系統到中間系統(ES-IS)是OSI公布的一種協議,它幫助端系統(如用戶的計算機)尋找定位路由器,並提供一種方法使路由器告知端系統(ES)它們的存在。
中間系統到中間系統(IS-IS)也是OSI的一種路由選擇協議,它為一個域內兩個路由器之間傳送信息分組提供動態路由。IS-IS是一種鏈接狀態協議。
內部網關路由選擇協議(IGRP)是Cisco開發的一種距離向量路由選擇協議。
在自治域的邊界是路由器(以前在Internet網上被稱為網關)。這些路由器和其它路由器用外部協議或Internet術語的外部網關協議(EGP)交換信息。
外部網關協議(EGP)是Internet上最初的域間路由選擇協議。現在它已被周邊網關協議(BGP)取代了。支持EGP的路由器也必須支持BGP。
周邊網關協議(BGP)提供有關相鄰點可達性信息。BGP可以減低帶寬需求,這是因為路由選擇信息是增量交換的,而不是在路由器間發送路由選擇資料庫信息。BGP也提供了基於策略的演演算法,使網路管理者對路由選擇有較多的控制權,例如對某些信息傳輸實行優化的能力。
域間路由選擇協議(IDRP)是一種OSI無連接分組(CLNP)的OSI路由選擇協議。IDRP包含路由選擇的策略,但它不大可能在Internet上代替BGP。IDRP可用一種協議進行IP和CLNP的域間路由選擇來增加對IP的支持。