アドレス解決プロトコル(アドレスカクテイプロトコル)とは | 意味や読み方など丁寧でわかりやすい用語解説
アドレス解決プロトコル(アドレスカクテイプロトコル)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
アドレス解決プロトコル (アドレスカイリプロトコル)
英語表記
Address Resolution Protocol (アドレスレゾリューションプロトコル)
用語解説
アドレス解決プロトコル(ARP)は、ローカルネットワーク内でIPアドレスからMACアドレスを導き出すための通信プロトコルである。インターネットプロトコル(IP)はネットワーク層(レイヤ3)で論理的なアドレスとしてデバイスを識別するが、実際のデータフレームの送受信はデータリンク層(レイヤ2)で動作する物理的なアドレスであるMACアドレスに基づいて行われる。コンピュータが同じローカルネットワーク上の別のデバイスと通信しようとする際、通常はそのデバイスのIPアドレスは知っているが、直接的にMACアドレスは知らない。ARPは、このIPアドレスとMACアドレス間のマッピングを解決し、物理的な通信を可能にするために不可欠な役割を果たす。これにより、OSやアプリケーションがIPアドレスで指定した通信を、ネットワークインターフェースカードがMACアドレスに基づいて実行できるようになる。
ARPの詳細な動作は以下の通りである。まず、通信を試みる送信元ホストは、目的のIPアドレスを持つデバイスが同じローカルネットワークセグメント内に存在すると判断する。このとき、送信元ホストは自身が保持するARPキャッシュと呼ばれる内部テーブルを確認する。ARPキャッシュは、過去に解決されたIPアドレスとMACアドレスの対応関係を一時的に記憶している。もし目的のIPアドレスに対応するMACアドレスがARPキャッシュ内に見つかれば、送信元ホストはそのMACアドレスを直接使用してデータフレームを構築し、送信する。これにより、不必要なネットワークトラフィックを削減し、効率的な通信を実現する。
もしARPキャッシュ内に目的のIPアドレスに対応するMACアドレスが見つからない場合、送信元ホストはARPリクエストメッセージを生成する。このARPリクエストは、特定のIPアドレスを持つデバイスに対して「あなたのMACアドレスは何ですか?」と問い合わせる内容を含んでおり、送信元自身のIPアドレスとMACアドレスも含まれる。ARPリクエストはブロードキャスト通信として、ローカルネットワークセグメント上のすべてのデバイスに送信される。つまり、同じネットワークに接続されているすべてのコンピュータやルーターなどがこのリクエストを受信する。
ARPリクエストを受信した各デバイスは、メッセージに含まれる目的のIPアドレスと自身のIPアドレスを比較する。自身のIPアドレスと一致するデバイスがあった場合、そのデバイスはARPリプライメッセージを生成し、ARPリクエストを送信してきた送信元ホストに対して直接(ユニキャストで)返信する。ARPリプライメッセージには、自身のIPアドレスとMACアドレスが含まれる。他のIPアドレスのデバイスは、そのリクエストを無視する。
ARPリプライを受信した送信元ホストは、目的のIPアドレスに対応するMACアドレスを知ることができ、その情報を自身のARPキャッシュに登録する。ARPキャッシュのエントリには通常、一定の有効期限(タイムアウト)が設定されており、期間が経過すると自動的に削除される。これは、ネットワーク構成の変更やデバイスの交換などによってMACアドレスが変更される可能性があるため、常に最新の情報を維持するためである。MACアドレスを取得した後、送信元ホストは本来送ろうとしていたIPパケットをそのMACアドレスで指定された宛先に向けたデータフレームとしてカプセル化し、物理的に送信する。
また、ARPはローカルネットワーク外への通信においても重要な役割を果たす。送信元ホストがローカルネットワーク外のデバイスと通信しようとする場合、データはまずデフォルトゲートウェイ(通常はルーター)を経由する必要がある。この際、送信元ホストは最終目的地のMACアドレスではなく、デフォルトゲートウェイのIPアドレスに対するMACアドレスを必要とする。このゲートウェイのMACアドレスも、上記のARPプロセスによって解決される。送信元ホストはゲートウェイのIPアドレス宛にARPリクエストを送信し、ゲートウェイからそのMACアドレスを取得する。これにより、IPパケットはゲートウェイのMACアドレス宛てに送信され、ゲートウェイがさらに適切な次のネットワークへと転送する。
このように、アドレス解決プロトコルは、インターネットプロトコルにおける論理的なアドレス(IPアドレス)と、物理的なネットワークインターフェースカードが利用する物理的なアドレス(MACアドレス)との橋渡しを行い、すべてのローカルネットワーク通信の基盤を支える、極めて基本的ながら重要なプロトコルである。なお、ARPの動作原理を悪用したARPスプーフィングやARPポイズニングといったセキュリティ上の脅威も存在し、不正なMACアドレス情報をキャッシュに登録させることで通信を傍受したり改ざんしたりする攻撃手法に利用されることがあるため、ネットワークセキュリティを考える上でもその存在と仕組みの理解は不可欠である。