リバースアドレス解決プロトコル(RARP)は、クライアントコンピュータがリンク層アドレスまたはハードウェアアドレス(MACアドレスなど)しか利用できない場合に、コンピュータネットワークからインターネットプロトコル(IPv4)アドレスを要求するために使用する、廃止されたコンピュータ通信プロトコルです。[ 1 ]クライアントは要求をブロードキャストし、ネットワークトポロジーや要求を満たすことができるサーバーの識別情報を事前に知る必要はありません。
RARPは、ブートストラッププロトコル(BOOTP)や最新の動的ホスト構成プロトコル(DHCP)によって時代遅れとなった。これらのプロトコルは、RARPよりもはるかに多くの機能を備えている。
RARPでは、1つ以上のサーバーホストがリンク層アドレスとそれぞれのプロトコルアドレスのマッピングのデータベースを維持する必要があります。MACアドレスは、管理者がサーバー上で個別に設定する必要があります。RARPはIPアドレスのみを処理できます。
リバースARPは、ローカルフレームリレーデータリンク接続識別子に関連付けられたIPアドレスを取得するように設計された逆アドレス解決プロトコル(InARP)とは異なります。 [ 2 ] InARPはイーサネットでは使用されません。
逆アドレス解決プロトコル(RARP)は、特にディスクレスワークステーションなどのデバイスがハードウェア(MAC)アドレスのみを使用してIPアドレスを決定できるようにするために、1980年代初頭に導入されました。[ 3 ]これは、IP構成にローカルストレージが利用できない初期のネットワーク環境では一般的なニーズでした。
RARPは、1984年6月にDavid C. Plummerによって公開されたRFC 903で規定されました。[ 4 ]オリジナルのアドレス解決プロトコル(ARP)を基に、RARPはARPのメッセージ構造を再利用しましたが、その機能を逆転させ、デバイスがRARPサーバーに自身のIPアドレスを問い合わせることができるようにしました。[ 4 ]このプロトコルは、 UNIXベースのシステムでネットワークブートに広く採用されました。[ 4 ]
RARPは有用ではあったものの、大きな制約があった。静的マッピングが必要で、追加の構成データをサポートしておらず、サブネットをまたいで動作できなかった。これらの欠点により、BOOTPやDHCPのようなより堅牢なプロトコルに置き換えられた。[ 4 ]それにもかかわらず、RARPは後のネットワークブート技術の基礎を築いた。
RARPの本来の用途は様々なプロトコルに取って代わられましたが、現代のプロトコルの中には、特に仮想マシンにおいて、QEMUに由来する技術を用いてMAC移行を処理するためにRARPを使用するものがあります。
例としては以下のようなものがあります。