Address Resolution Protocol
Inverse Address Resolution Protocol(Inverse ARP、InARP)は、データリンク層(レイヤ2)アドレスから他のノードのネットワーク層アドレス(IPアドレスなど)を取得するために使用される。これは主にフレームリレー(DLCI(英語版))やATMで使用される。これらのネットワークでは、仮想回線のレイヤ2アドレスはレイヤ2シグナリングから取得されることがあり、その仮想回線を使用する前に対応するレイヤ3アドレスを使用できるようにする必要がある。
ARPはレイヤ3アドレスをレイヤ2アドレスに変換するので、InARPはその逆と表現することができる。InARPはARPのプロトコル拡張として実装されている。ARPと同じパケットフォーマットを使用するが、オペレーションコードは異なる。
ネットワークカメラやネットワーク配電装置などのユーザインタフェースのない組み込みシステムでは、「ARPスタッフィング」(ARP stuffing)を使って初期ネットワーク接続を行うことができる。ただし、この仕組みはARPは関係ないので、これは不適切な名称である。
ARPスタッフィングは、コンシューマデバイスのネットワーク管理、特にイーサネットデバイスのIPアドレスの割り当てにおける以下のような問題の解決策である。
ユーザは、DHCPなどのアドレス割り当てプロトコルを制御することができない。
デバイスは、それを設定するためのユーザーインターフェースを持っていない。
適切なIPアドレスがないため、ユーザのコンピュータは通信ができない。
採用された解決策は以下の通りである。
ユーザのコンピュータは、アドレステーブルに手動で入力(stuffed = 詰め込まれる)されたIPアドレスを持っている(通常はarpコマンドを使用し、MACアドレスをデバイスのラベルから取得する)。
コンピュータは特殊なパケットをデバイスに送信する。通常は、デフォルト以外のサイズのpingパケットである。
デバイスはこのIPアドレスを採用する。
その後、ユーザはtelnetやWebプロトコルで通信して設定を完了する。
ARPスタッフィングを使用するデバイスは通常、攻撃に対して脆弱であるため、デバイスが正常に動作しているときはこのプロセスを無効にする。
上位層のプロトコル(PTYPEに指定された上位層プロトコル)が使用するオクテットによるアドレス。IPv4のアドレスサイズは4。