逆地址解析協定

逆地址解析協定(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)