摘要:互聯(lián)網(wǎng)技術(shù)ARP高速緩存器中對應(yīng)硬件地址:主機A收到主機B的ARP響應(yīng)分組后,就在其ARP高速緩存器中寫人主機B的IP地址和對應(yīng)的硬件地址。
主機A收到主機B的ARP響應(yīng)分組后,就在其ARP高速緩存器中寫人主機B的IP地址和對應(yīng)的硬件地址。
在主機A廣播ARP請求分組之后,很可能不久主機B為了向主機A傳送數(shù)據(jù),也要廣播ARP請求分組。為了減小網(wǎng)絡(luò)的開銷,主機A在發(fā)送其ARP請求分組時,就將主機A自己的這一地址映射關(guān)系傳送給其他主機(包括B),并寫人這些主機的ARP高速緩存器中。此后,在主機B向主機A發(fā)送數(shù)據(jù)分組之前就不再需要廣播ARP請求分組了。
網(wǎng)絡(luò)在經(jīng)過一段時間的運行之后,在每個主機的地址映射表中,就會有連接到網(wǎng)絡(luò)上的所有主機及路由器的地址映射表項。而且,在以后的工作過程中映射表的內(nèi)容還可以不斷更新??梢夾RP髙速緩存器非常有用。如果不使用ARP高速緩存器建立地址映射表,那么任何一個主機每進行一次數(shù)據(jù)通信,都必須在網(wǎng)絡(luò)上用廣播方式發(fā)送ARP請求分組,這就使網(wǎng)絡(luò)上的通信流量大大增加。ARP將已經(jīng)得到的地址映射表項保存在高速緩存器中,這樣就使得該主機下次再和具有同樣目的地址的主機通信時,可以直接從高速緩存器中找到所需的硬件地址而不必再用廣播方式發(fā)送ARP請求分組了。
ARP將保存在高速緩存器中的每一個映射地址項目都設(shè)置生存時間(例如,10分鐘~20分鐘)。凡超過生存時間的表項就從髙速緩存器中刪除掉。設(shè)置這種地址映射表項的生存時間是很重要的。設(shè)想有一種情況。主機A和B通信。主機A的ARP高速緩存器里保存有 主機B的物理地址。但主機B的網(wǎng)卡突然壞了,主機B立即更換了一塊,因此主機B的硬件地址就改變了。主機A還要和土機B繼續(xù)通信。主機A在其ARP高速緩存器中査找到主機B原先的硬件地址,并使用該硬件地址向主機B發(fā)送數(shù)據(jù)幀。但主機B原先的硬件地址已經(jīng)失效了,因此主機A無法找到主機B。但是過了一段時間,主機A的ARP高速緩存器中已經(jīng)刪除了主機B原先的硬件地址(因為它的生存時間到了),于是主機A重新廣播發(fā)送ARP請求分組,又可以找到主機B。
這里需要指出,ARP是解決同一個局域網(wǎng)上的主機或路由器的IP地址和硬件地址的映射問題。如果所要找的主機和源主機不在同一個局域網(wǎng)上,例如,圖7-11所示的主機H,和H2,那么主機H,就無法解析出主機H2的硬件地址,實際上主機H,也不需要知道遠程主機H2的硬件地址。其理由請讀者自己思考。
這里我們還要指出,這種從IP地址到硬件地址的解析是自動進行的,主機的用戶對這種地址解析過程是不知道的。只要主機或路由器要和本網(wǎng)絡(luò)上的另一個已知IP地址的主機或路由器進行通信,ARP就會自動地將該IP地址解析為鏈路層所需要的硬件地址。
有的讀者可能會產(chǎn)生這樣的問題:既然在網(wǎng)絡(luò)的鏈路上傳送的幀最終是按照硬件地址找到目的主機的,那么為什么不直接使用硬件地址進行通信,而是要使用抽象的IP地址并調(diào)用ARP來尋找出相應(yīng)的硬件地址呢?
這個問題必須弄淸楚。
由于全世界存在著各式各樣的網(wǎng)絡(luò),它們使用不同的硬件地址。要使這些異構(gòu)網(wǎng)絡(luò)能夠互相通信就必須進行非常復(fù)雜的硬件地址轉(zhuǎn)換工作,這幾乎是不可能的事。但統(tǒng)一的IP地址把這個復(fù)雜問題解決了。連接到互聯(lián)網(wǎng)的主機都擁有統(tǒng)一的IP地址,它們之間的通信像連接在同一個網(wǎng)絡(luò)上那樣簡單方便,因為調(diào)用ARP來尋找某個路由器或主機的硬件地址都是由計算機軟件自動進行的,對用戶來說是看不見這種調(diào)用過程的。
設(shè)想有兩個主機可以直接使用硬件地址進行通信(具體實現(xiàn)方法暫不必管)。再假定其兩個主機的網(wǎng)卡都同時壞了,然后又都更換了一塊,因此它們的硬件地址也都改變了。這時,這兩個主機怎樣能夠知道對方的硬件地址呢?顯然很難。但丨P地址獨立于主機或路由器的硬件地址,硬件地址的改變不會影響使用IP主機間的通信。
因此,在虛擬的IP網(wǎng)絡(luò)上用統(tǒng)一的IP地址進行通信給廣大計箅機用戶帶來很大的方便。
在進行地址轉(zhuǎn)換時,有時還要用到逆地址解析協(xié)議(RARP)。逆地址解析協(xié)議(RARP)使只知道自己硬件地址的主機能夠知道其丨P地址。這種主機往往是無盤工作站。這種無盤工作站一般只要運行其ROM中的文件傳送代碼,就可用下行裝載方法從局域網(wǎng)上其他主機得到所需的操作系統(tǒng)和TCP/IP通信軟件,但這些軟件中并沒有1P地址。無盤工作站要運行ROM中的RARP來獲得其IP地址。RARP的工作過程大致如下。
為了使RARP能T作,在局域網(wǎng)上至少有一個主機要充當RAPR服務(wù)器,無盤工作站先向局域網(wǎng)發(fā)出RARP請求分組(在格式上與ARP請求分組相似),并在此分組中給出自己的硬件地址。
RARP服務(wù)器有一個事先做好的從無盤工作站的硬件地址到IP地址的映射表,當收到RARP請求分組后,RARP服務(wù)器就從這映射表查出該無盤工作站的IP地址。然后寫人RARP響應(yīng)分組,發(fā)回給無盤工作站。無盤工作站用此方法獲得自己的IP地址。
ARP和RARP都已經(jīng)成為互聯(lián)網(wǎng)標準協(xié)議,其RFC文檔分別為[RFC-826]和[RFC903]。
返回目錄:
編輯推薦
通信專業(yè)實務(wù)考試終端與業(yè)務(wù)教程匯總
通信工程師備考資料免費領(lǐng)取
去領(lǐng)取