ネットワーク

RARPとは

2020年1月21日

RARPとは

RARP(Reverse Address Resolution Protocol:逆アドレス解決プロトコル)とは、MACアドレスからIPアドレスを取得するための通信プロトコルです。IPアドレスからMACアドレスを取得するARPとは逆の動作をします。

スポンサーリンク

 

RARPは、主にディスクレスパソコン(外部記憶装置を持たないデバイス)のようなIPアドレスを保存することができない端末が使用します。

ディスクレスパソコンは、IPアドレスを保存できるハードディスクがないので、ネットワークに参加する段階では、自分のMACアドレスしか分かりません。そこでRARPを利用して自身のIPアドレスを取得します。

RARPにより取得できるのはIPアドレスのみで「サブネットマスク」「デフォルトゲートウェイ」「DNSサーバ」などのアドレス情報は渡せません。また、データリンク層の技術なのでルータを越えて利用できない。そしてRARPサーバーには事前に要求機器のMACアドレスを登録しておく必要があり、柔軟性に欠けるというデメリットがあります。

そのため、近年では同機能でより高性能なDHCPなどが利用されており、RARPはほとんど使われていません。

ポイント

RARPとは、MACアドレスからIPアドレスを取得するためのプロトコル

RARP要求

RARP要求

RARPでMACアドレスに対応するIPアドレスを取得するためは、自身のMACアドレスを入れた「RARP要求」をネットワーク内にブロードキャストします。

上記例では「PC1」が自身のIPアドレスを取得するために、RARP要求を同じネットワーク内の全コンピュータに送信しています。

RARP要求とは「このMACアドレスに割り当てられているIPアドレスを教えて」という内容のパケットです。

 

RARP要求時のRARPパケットは以下のように設定されます。自身のMACアドレスに対するIPアドレスを取得したいので、目的のMACアドレスには自身のMACアドレス、目的のIPアドレスは未定義とします。

送信元MACアドレス送信元IPアドレス目的のMACアドレス目的のIPアドレス
PC1のMACアドレス未定義PC1のMACアドレス未定義

RARP応答

RARP応答

RARP応答とは、RARP要求に対する応答です。上記例では、RARPサーバが「PC1」に対してRARP応答を返却しています。

RARP要求を受け取ったRARPサーバは、事前に登録してある対応表からMACアドレスに対応するIPアドレスを抽出し、要求元にRARP応答を返却します。

スポンサーリンク

 

RARP応答時のRARPパケットは以下のように設定されます。

送信元MACアドレス送信元IPアドレス目的のMACアドレス目的のIPアドレス
RARPサーバのMACアドレスRARPサーバのIPアドレスPC1のMACアドレスPC1のIPアドレス

RARPパケット

RARPパケットの内容は次の通りです。

項目名ビット説明
ハードウェアタイプ (Hardware
Type)
16 bitハードウェアの種類。イーサネットの場合は「0x0001」が設定される。
プロトコルタイプ (Protocol
Type)
16 bitプロトコルの種類。IPv4の場合「0x0800」以降の値が設定される
ハードウェア長 (Hardware
Length)
8 bitMACアドレスの長さを表す。イーサネットの場合は「6」が設定される
プロトコル長 (Protocol
Length)
8 bitIPアドレスの長さを表す。IPv4の場合は「4」が設定される
オペレーション(Operation)16 bitARPの動作の種類を表すためのコード(3:RARP要求、4:RARP応答)
送信元MACアドレス (Sender MAC address)48 bit送信元のMACアドレス
送信元IPアドレス (Sender IP address)32 bit送信元のIPアドレス。RARP要求の場合は未定義とする。
目的のMACアドレス (Target
MAC address)
48 bit目的のMACアドレス
目的のIPアドレス (Target
IP address)
32 bit送信先のIPアドレス。ARP要求の場合は未定義とする。

helpful