していないIPアドレス、MACアドレスを対応づける役割を持つプロトコルがARPです。
ARPの役割を具体的に知るために、まずイーサネットのフレームフォーマットについてみておきましょう。

イーサネットのフレームフォーマットを見ると、送信先、送信元MACアドレスを指定する必要があることがわかりmす。送信元MACアドレスは自分のMACアドレスですから簡単にわかります。しかし、送信先MACアドレスはそういうわけにもいきません。送信先MACアドレスがわからないとイーサネットフレームを作成することができないので、結局通信することができません。この送信先MACアドレスを求める
ためにARPが必要になっってくるわけです。
なお、IPアドレスからMACアドレスを求めることをアドレス解決(Address Resolution)と呼びます。
ARPの仕組み
ARPは、
・ARPリクエスト
・ARPリプライ
によって、目的のIPアドレスに対応するMACアドレスを求め目ます。
ARPの仕組みについて図を利用しながら見て行きましょう。
コンピュータAからコンピュータDに対して通信したいという場合を考えます。コンピュータAはコンピュータDのIPアドレスはわかっていますが、MACアドレスはわかっていますが、MACアドレスがわかりまあせん。そのため、イーサネットフレームを作成できないので通信できない状態です。
そこで、コンピュータAはコンピュータDのMACアドレスを求めるためにARPを利用します。Aは、ARPリクエストをブロードキャストで送信します。この場合は、データリンクレベルのブロードキャスト(送信先MACアドレス:FF-FF-FF-FF-FF-FF-FF)です。
ARPリクエストは「このIPアドレスが設定されているコンピュータはMACアドレスを教えてください」といった内容です。ですから、この場合「IPアドレス192.168.1.4」のコンピュータはMACアドレスを教えて下さい」というリクエストを送ります。
ARPリクエストはブロードキャストなので、コンピュータB,Cも受信します。しかし、問い合わせているIPアドレスではないので、コンピュータBはCも受信します。しかし、問い合わせれているIPアドレスではないので、コンピュータBやCはARPリプライを返しません。それに対し、コンピュータDはこのリクエストに返事をして、「こちらのMACアドレスはDです」というARPリプライをコンピュータAに返信しますこうしてアドレス解決を行い、イーサネットのフレームを作りネットワーク上に送信することが出来るようになります。
以上のARPの処理は透過的に行われます。コンピュータやルータでARPについて明示的な設定は必要ありません。
また、いったんアドレス解決した情報は一定時間ARPキャッシュに保存されます。CiscoルータやCataLystスイッチでは、show ip arp コマンドでARPキャッシュの内容を確認することができます。Windowsコンピュータではコマンドプロントからarp -a でARPキャッシュの内容を確認することができます。



