本文へ移動

アドレス解決プロトコル(ARP)

ARPは、ローカルネットワーク上でIPv4アドレスをリンク層(MAC)アドレスに対応付けるプロトコルです。ホストによる物理アドレスの検出、キャッシュ、関連する方式、安全性への影響を解説します。

アドレス解決プロトコル(Address Resolution Protocol、ARP)は、IPv4ネットワークで、特定のIPアドレスに対応するリンク層(ハードウェア)アドレスを見つけるために用いられる基本的な仕組みです。ARPはインターネット層とリンク層の境界で動作します。機器が同じローカルネットワーク上の宛先へIPv4パケットを送信する際には、まず受信者のハードウェア(MAC)アドレスを取得しなければなりません。ARPは要求をブロードキャストし、問い合わせ対象のIPアドレスを所有する機器から直接応答を受け取ることで、この変換を行います。

ARPの動作

システムがIPv4アドレスに対応するMACアドレスを必要とし、その情報がすでにキャッシュされていない場合、リンク層のブロードキャストとしてARP要求を送出します。この要求には対象IPアドレスのほか、送信者のIPアドレスとMACアドレスが含まれます。ローカルセグメント上のすべての機器がこの要求を受信しますが、IPアドレスが一致するホストだけが、自身のMACアドレスを含むARP応答を返します。要求元はその対応関係をARPキャッシュに記録するため、以後のフレームは宛先を直接指定して送信できます。

パケット構造と主要要素

  • ハードウェアおよびプロトコル識別子:リンク層の種類と上位層プロトコルを指定します。通常はEthernetとIPv4です。
  • アドレス長:ハードウェアアドレスとプロトコルアドレスの長さをバイト単位で示します。
  • 操作コード:パケットが要求か応答かを識別します。
  • 送信者および対象のアドレス:送信者のMACアドレスとIPアドレス、および意図された受信者のIPアドレスを含みます。対象MACアドレスは応答で埋められます。

歴史と関連プロトコル

ARPは、ローカルネットワークでアドレス変換を支援するため、初期のTCP/IPスイートの一部として設計されました。歴史的には、ディスクレスホストが自身のハードウェアアドレスをブロードキャストし、応答としてIPアドレスを受け取ることでIPv4アドレスを知るための逆アドレス解決プロトコル(RARP)も存在しました。RARPは、BOOTPやDHCPなど、より高機能な起動・設定プロトコルによって大部分が置き換えられています。IPv6では、ARPは近隣探索プロトコルに置き換えられ、アドレス解決はほかの近隣管理機能と統合されています。

用途、変種、例

基本的な要求と応答に加え、実運用のネットワークではいくつかの動作や変種が一般的です。過度のブロードキャストを避けるためのアドレス対応のキャッシュ、ホストが自らのIPアドレスとMACアドレスの対応を通知するグラチュイタスARP、そしてルーターが別の機器の代理で応答してネットワークを連続しているように見せるプロキシARPがあります。グラチュイタスARPは、重複アドレスの検出や、他の機器のキャッシュ更新によく利用されます。多くのホストでは、管理者がトラブルシューティングのためにARPキャッシュを表示・操作できるツールやコマンドが提供されています。

制限事項とセキュリティ上の考慮点

ARPは単純で認証を伴わないプロトコルであるため、悪意あるホストが偽造したARP応答を送信し、自身のMACアドレスを別のIPアドレスに関連付けるスプーフィングまたはポイズニング攻撃に対して脆弱です。このような攻撃は、ローカルネットワーク上での通信傍受やサービス拒否を可能にする場合があります。重要な機器に対する静的ARPエントリー、動的ARP検査、ネットワークの分割、安全なスイッチ機能などのネットワーク設計および防御策は、これらのリスクの軽減に使用されます。また、ARPが動作するのは単一のブロードキャストドメイン内だけであり、ルーターはネットワーク間でARPブロードキャストを転送しません。

関連項目

著者

AlegsaOnline.com アドレス解決プロトコル(ARP)

URL: https://ja.alegsaonline.com/art/938

共有