逆地址解析協議

逆地址解析協議(Reverse Address Resolution Protocol,RARP),是一種網路協議互聯網工程任務組(IETF)在RFC903中描述了RARP[1]。RARP使用與ARP相同的報頭結構,作用與ARP相反。RARP用於將MAC地址轉換為IP地址。其因為較限於IP地址的運用以及其他的一些缺點,因此漸為更新的BOOTPDHCP所取代。

報文格式

編輯

類似於ARP的報文格式主要差別在於幀類型代碼為0x8035(ARP為0x0806),操作碼為3請求(ARP為1),4應答(ARP為2)。

工作原理

編輯
  1. 發送主機發送一個本地的RARP廣播,在此廣播包中,聲明自己的MAC地址並且請求任何收到此請求的RARP服務器分配一個IP地址;
  2. 本地網段上的RARP服務器收到此請求後,檢查其RARP列表,查找該MAC地址對應的IP地址;
  3. 如果存在,RARP服務器就給源主機發送一個響應數據包並將此IP地址提供給對方主機使用;
  4. 如果不存在,RARP服務器對此不做任何的響應;
  5. 源主機收到從RARP服務器的響應信息,就利用得到的IP地址進行通訊;如果一直沒有收到RARP服務器的響應信息,表示初始化失敗。

RARP服務器

編輯

RARP在原理上很簡單但是實現比較複雜,由於RARP的請求是在硬件層上的廣播這因此這不能通過路由轉發,因此在每個網絡都要實現一個RARP服務器。另外在同一網絡中不同主機可能會同時進行RARP請求,增大了衝突的概率。

參考文獻

編輯
  1. ^ RFC 903, A Reverse Address Resolution Protocol, R. Finlayson, T. Mann, J. Mogul, M. Theimer (June 1984)