IPv4 アドレスを MAC アドレスに解決する機能

フレームを LAN メディア上に配置するには、宛先 MAC アドレスをフレームに持たせる必要があります。 パケットがデータ リンク層に送信されてフレーム内にカプセル化される際、ノードは自らのメモリ内のテーブルを参照して宛先 IPv4 アドレスにマップされているデータ リンク層アドレスを見つけ出します。 このテーブルは ARP テーブルまたは ARP キャッシュと呼ばれます。 ARP テーブルはデバイスの RAM に保存されます。

ARP テーブルの各エントリ(つまり行)は、IP アドレスを MAC アドレスにバインドしています。 2 つの値の関係をマップと呼びます。これは単に、テーブル内の IP アドレスを特定すると、対応する MAC アドレスを見つけ出せることを意味します。 ARP テーブルでは、ローカル LAN 上のデバイスのマッピングを一時的に保存(キャッシュ)します。

このプロセスを始めるために、送信側ノードが IPv4 の宛先にマップされている MAC アドレスを検索しようとします。 このマップがテーブル内にある場合、ノードは、該当する MAC アドレスを、IPv4 パケットがカプセル化されているフレームの宛先 MAC として使用します。 その後、フレームは符号化されてネットワーク メディア上に送出されます。

ARP テーブルの管理

ARP テーブルは動的に管理されます。 デバイスが MAC アドレスを収集できる方法は 2 つあります。 1 つは、ローカル ネットワーク セグメントで発生するトラフィックを監視することです。 メディアからフレームを受け取ると、ノードはその送信元の IP アドレスと MAC アドレスをマッピングとして ARP テーブルに記録できます。 フレームがネットワーク上に送信されると、デバイスは ARP テーブルにアドレスのペアを設定します。

デバイスがアドレスのペアを取得できるもう 1 つの方法は、図に示すように ARP 要求を送信することです。 ARP 要求とは、イーサネット LAN 内のすべてのデバイスに対するレイヤ 2 ブロードキャストです。 ARP 要求には、宛先ホストの IP アドレスと、ブロードキャスト MAC アドレスである FFFF.FFFF.FFFF が含まれます。 これはブロードキャストなので、イーサネット LAN 上のすべてのノードがこの要求を受け取り、その内容を調べます。 ARP 要求の IP アドレスに一致する IP アドレスを持つホストは、応答を返します。 この応答は、要求の IP アドレスに対応する MAC アドレスが含まれているユニキャスト フレームです。 この応答は、その後、送信側ノードの ARP テーブルに新しいエントリを作成するために使用されます。

ARP テーブル内のエントリには、スイッチにおける MAC テーブルのエントリとほとんど同じように、タイム スタンプが付与されます。 タイム スタンプの期限内にデバイスが特定のデバイスからフレームを受信しなかった場合、このデバイスのエントリは ARP テーブルから削除されます。

また、スタティック マップ エントリは ARP テーブルに入力できますが、この入力が行われることはめったにありません。 スタティックな ARP テーブル エントリは、有効期限がないので、手動で削除する必要があります。