• ARPはアドレス解決のためのプロトコルです。

  • IPアドレスを手がかりにMACアドレスを知りたいときに利用されます。

  • IPv4のみで使用され、IPv6では近隣探索メッセージが利用されます。

ARPの仕組み

ARPには2種類のパケットがあります。

  • ARP要求パケット
  • ARP応答パケット

この二種類のパケットを使用し、MACアドレスを知ることになります。

ホストAのMACアドレスを知りたいホストBは、ARP要求パケットをブロードキャストします。

ブロードキャストとは
・特定の相手を指定せず、同じネットワーク内のすべての機器に向けて一斉にデータなどを送信すること

ARP要求パケットにはホストBのIPアドレスが入っており、
要求パケットを受け取ったホストBはARP応答パケットを返送し、
自分のMACアドレスをホストAに知らせます。

  • MACアドレスを知る → ARP要求パケット
  • MACアドレスを教える → ARP応答パケット

MACアドレスがあるのにIPアドレスは必要なの?

  • IPアドレスは「最終的に、どこに届けるか」
  • MACアドレスは「次に、どこに届けるか」

を決定するために使用されます。
使用の目的が異なるため、MACアドレスとIPアドレスは共に必要になります

例えば、ホストAからホストBにデータを送信するときのことを考えます。
ホストAからホストBへデータを送信するためにはいくつかルーターを経由する必要があります。

IPアドレスのみの情報しか知らなかった場合、どのルーターを経由してホストBにデータを届ければいいのかわからず、
逆にMACアドレスのみの情報しか知らなかった場合、別のリンクに接続されたホストBにデータは届きません。

このようにデータを送信するためにはMACアドレスとIPアドレスという2つのアドレスが必要になります。
そして、この2つのアドレスを結びつけることは、
ARPというプロトコルが間に入ることによって、可能になります。

» Rintaro@Space (@Space____Tech) | Twitter

参考文献

マスタリングTCP/IP入門編第5版