ARP:地址解析協議/RARP:逆地址解析協議

數據鏈路如以太網或令牌環網都有自己的尋址機制(常常爲48bit),這是使用數據鏈路的任何網絡層都必須遵從的。當一臺主機把以太網數據幀發送到位於同一局域網上的另一臺主機上時,是根據48bit的以太網地址來確認目的接口地址的。設備驅動程序從不檢查IP數據報中的目的IP地址。
數據解析爲這兩種不同的地址形式提供映射:32bit的IP地址和數據鏈路層使用的任何類型的地址。ARP爲IP地址到對應的硬件地址之間提供動態映射。
這裏寫圖片描述


1.ARP過程
1)應用程序FTP客戶端調用函數gethostbyname把主機名轉換成32bit的IP地址。
2)FTP客戶端請求TCP用得到的IP地址建立連接。
3)TCP發送一個連接請求分段到遠程的主機,即用上述的IP地址發送一份IP數據報。
4)如果目的主機在本地網絡上,那麼IP數據報就能直接送到目的主機上。如果目的主機在一個遠程網絡上,那麼就通過IP選路函數來確定位於本地網絡上的下一站路由器地址,並讓它轉發數據報。
5)假定是一個以太網,那麼發送端主機必須把32bit的IP地址變換成48bit的以太網地址。從邏輯Internet地址到對應的物理硬件地址需要進行翻譯。這就是ARP的功能。
6)ARP發送一份稱作ARP請求的以太網數據幀給以太網上的每一個主機,這個過程稱作廣播。ARP請求數據幀中包含目的主機的IP地址,意思是:如果你是這個IP地址的擁有者,請回答你的硬件地址。
7)目的主機的ARP層收到這份廣播報文後,識別出這是發送端在詢問它的IP地址,於是發送一個ARP應答。這個ARP應答包含IP地址及其對應的硬件地址。
8)收到ARP應答後,使ARP進行請求應答交換的IP數據報現在就可以傳送了。
發送IP數據報到目的主機。
這裏寫圖片描述
點對點電路不使用ARP。當設置這些鏈路時,必須告知內核鏈路每一端的IP地址。像以太網地址這樣的硬件地址並不涉及。


2.ARP高速緩存
每一個主機上都有一個ARP高速緩存,它存放了最近Internet地址到硬件之間的映射記錄。用arp命令來檢查ARP告訴緩存。
這裏寫圖片描述
對不存在主機的ARP請求,查詢後將顯示incomplete。


3.ARP代理
如果ARP請求是從一個網絡的主機發送到另一個網絡上的主機,那麼連接這兩個網絡的路由器就可以回答該請求,這個過程稱爲委託ARP或ARP代理(Proxy ARP)。這樣就可以欺騙發起ARP請求的發送端,使他誤以爲路由器就是目的主機,而事實上目的主機是在路由器的另一邊。路由器的功能相當於目的主機的代理,把分組從其他主機轉發給它。
在同一個子網上的路由器和其所連接的主機的IP地址映射的硬件地址是相同的,這通常是使用委託ARP的線索。
對於連接到路由器的每一個撥號主機不需要用唯一的IP地址,所有的撥號主機使用同一個IP地址作爲SLIP鏈路的目的地址。


4.免費ARP
免費ARP是指主機發送ARP查找自己的IP地址。通常它發生在系統引導期間進行接口配置的時候。
作用:
1)一個主機可以通過它來確定另一個主機是否設置了相同的IP地址。
2)如果發送免費ARP的主機正好改變了硬件地址,那麼這個分組就可以使用其他主機告訴緩存中舊的硬件地址進行相應的更新。


RARP:
具有本地磁盤的系統引導時,一般是從磁盤上的配置文件中讀取IP地址。無盤系統的RARP實現過程是從接口卡上讀取唯一的硬件地址,然後發送一份RARP請求(一幀在網絡上廣播的數據),請求某個主機響應無盤系統系統的IP地址(在RARP應答中)。
RARP請求以廣播方式傳送,而RARP應答一般是單播傳送。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章