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