フリーキーズ | 独学プログラミング

ARPとは

最終更新日

ARPとは、Address Resolution Protocolの略です。IPアドレス(ネットワーク上の機器を識別するための論理アドレス)を、MAC(Media Access Control)アドレスと呼ばれる対応する物理アドレスにマッピングするために使用するネットワークプロトコルです。MACアドレスは、ネットワークインターフェースカード(NIC)などのネットワーク機器に割り当てられる固有の識別子で、ローカルネットワーク上の正しい機器にデータが届くようにするためのものです。

あるデバイスが同じローカルネットワーク上の別のデバイスにデータを送信する場合、受信者のMACアドレスを知る必要があります。送信者は受信者のIPアドレスは知っているがMACアドレスは知らない場合、ARPを使用してMACアドレスを検出します。以下は、ARPがどのように機能するかの簡単な例です。

1. デバイスAからデバイスBへデータ送信リクエスト

デバイスAはデバイスBのIPアドレスは知っているが、MACアドレスは知りません。

2. デバイスAのARPリクエスト送信

デバイスAは、ローカルネットワーク上のすべてのデバイスにARPリクエストをブロードキャストし、「誰がこのIPアドレスを持っていて、あなたのMACアドレスは何ですか?」と尋ねます。

3. デバイスBがIPアドレスを認識

デバイスBはARPリクエストを受信し、リクエストに含まれるIPアドレスが自分のものと一致することを認識します。

4. デバイスBはARPリプライを送信

機器Bは機器Aに対して、IPアドレスとMACアドレスを含むARPリプライを送信します。

5. 機器Aはその情報を保存

ARPリプライを受け取った機器Aは、機器BのMACアドレスをARPキャッシュ(最近使用したIP-MACアドレスのマッピングを一時的に保存する機能)に保存し、新たに発見したMACアドレスを使ってデータを送信します。

例えば、同じローカルネットワークに接続された2台のコンピュータ(コンピュータAとコンピュータB)があるとします。コンピュータAはコンピュータBのIPアドレスは知っているが、MACアドレスは知らない。コンピュータAはコンピュータBのIPアドレスは知っているが、MACアドレスは知りません。ARPを使ってMACアドレスを発見し、ネットワーク上の他のデバイスを介さずにファイルをコンピュータBに直接送信できるようにします。

まとめ

要約すると、ARPは、IPアドレスをローカルネットワーク上の対応するMACアドレスにマッピングするために使用されるネットワークプロトコルです。これにより、デバイスは正しい受信者に直接データを送信でき、ネットワーク上のデバイス間の正確かつ効率的な通信を保証します。