3、靜態路由
回頭看看我們已建立的路由表,已有了六個表項:
目的 掩碼 網關 標志 接口
127.0.0.1 255.255.255.255 127.0.0.1 UH lo0
201.66.37.0 255.255.255.0 201.66.37.74 U eth0
201.66.39.0 255.255.255.0 201.66.39.21 U eth1
default 0.0.0.0 201.66.39.254 UG eth1
73.0.0.0 255.0.0.0 201.66.37.254 UG eth0
91.32.74.21 255.255.255.255 201.66.37.254 UGH eth0
這些表項分別是怎么得到的呢?第一個是當路由表初始化時由路由軟件加入的,第二、三個是當網卡綁定IP地址時自動創建的,其余三個必須手動加入,在UNIX系統中,這是通過命令route來做的,可以由用戶手工執行,也可以通過rc腳本在啟動時執行。上述方法涉及的是靜態路由,通常在啟動時創建,并且沒有手工干預的話將不再改變。
路由器 <五>
四、路由
4、路由協議
主機和網關都可以使用稱作動態路由的技術,這使路由表可以動態改變。動態路由需要路由協議來增加和刪除路由表項,路由表還是和靜態路由一樣地工作,只是其增添和刪除是自動的。
有兩種路由協議:內部的和外部的。內部協議在自制系統(AS)內部路由,而外部協議則在自制系統間路由。自制系統通常在統一的控制管理之下,例如大的公司或大學。小的站點常常是其因特網服務提供商自制系統的一部分。
這里只討論內部協議,很少有人涉及到甚至聽說外部協議。最常見的外部協議是外部網關協議EGP(External Gateway Protocol)和邊緣網關協議BGP(Border Gateway Protocol),BGP是較新的協議,在逐漸地取代EGP。
5、ICMP重定向
ICMP通常不被看作路由協議,但是ICMP重定向卻與路由協議的工作方式很類似,所以將在這里討論一下。假設現在有上面所給的六個表項的路由表,分組被送往201.66.43.33,看看路由表,除了缺省路由外,這并不能匹配任何路由。靜態路由將其通過路由器201.66.39.254發送(trip 1),但是,該路由器知道所有發向子網201.66.43.0的分組應該通過201.66.39.253,因此,它把分組轉發到適當的路由器(trip 2)。但是如果主機直接把分組發到201.66.39.253就會提高效率(trip 3)。
因為路由器把分組從同一接口發回了分組,所以它知道有更好的路由,路由器可以通過ICMP重定向指示主機使用新的路由。雖然路由器知道所有發向201.66.43.0子網的分組應該通過201.66.39.253,它通常只發送特定的主機的ICMP重定向(此例中是201.66.43.33)。主機將在路由表中創建一個新的表項:
目的 掩碼 網關 標志 接口
201.66.43.33 255.255.255.255 201.66.39.253 UGHD eth1
注意標志D,對所有由ICMP重定向創建的路由設置此標志。將來此類分組將通過新路由發送(trip 3)。
6、RIP
RIP是一種簡單的內部路由協議,已經存在很久,被廣泛地實現(UNIX的routed就使用RIP)。它使用距離向量算法,所以其路由選擇只是基于兩點間的“跳(hop)”數,穿過一個路由器認為是一跳。主機和網關都可以運行RIP,但是主機只是接收信息,而并不發送。路由信息可以從指定網關請求,但通常是每隔30秒廣播一次以保持正確性。RIP使用UDP通過端口520在主機和網關間通信。網關間傳送的信息用于建立路由表,由RIP選定的路由總是具有距離目的跳數最少的。RIP版本1在簡單、較小的網絡中工作得不錯,但是在較大的網絡中,就出現一些問題,有些問題在RIP版本2中已糾正,但有些是由于其設計產生的限制。在下面的討論中,適用于兩種版本時簡單稱為RIP,RIP v1和RIP v2則指特定的版本。
RIP并沒有任何鏈接質量的概念,所有的鏈路都被認為是相同的,低速的串行鏈路被認為與高速的光纖鏈路是同樣的。RIP以最小的跳數來選擇路由,因此當在下面兩個路由中選擇時:
100Mbps的光纖鏈路,路由器,然后是10Mbps的以太網
9600bps的串行鏈路
RIP將選擇后者。RIP也沒有鏈路流量等級的概念。例如對于兩條以太網鏈路,其中一個很繁忙,另一個根本沒有數據流,RIP可能會選擇繁忙的那條鏈路。
RIP中的最大hop數是15,大于15則認為不可到達。因此在很大的自制系統中,hop數很可能超過15,使用RIP是很不現實的。RIP v1不支持子網,交換的信息中不含子網掩碼,對給定路由確定子網掩碼的方法各不相同,RIP v2則彌補了此缺點。RIP每隔30秒才進行信息更新,因此在大網中斷鏈信息可能要花些時間才能傳播開來,路由信息的穩定時間可能更長,并且在這段時間內可能產生路由環路。對此有一些解決辦法,但這里不進行討論。
可以看出,RIP是一個簡單的路由協議,有一些限制,尤其在版本1中。不過,它常常是某些操作系統的唯一選擇。