アドレス解決プロトコルとは何ですか?
アドレス解決プロトコルは、ネットワークアプリケーションまたはデバイスが別のデバイスのイーサネットアドレスを決定するための手段です。 また、頭字語ARPで知られており、インターネットプロトコル(IP)アドレスをハードウェアアドレスと一致させようとします。 ARPは、同じネットワーク上の別のデバイスと最初に通信するときに、ローカルネットワーク上の各デバイスによって使用されます。
アプリケーションとネットワークデバイスは、プロトコルスタックのネットワーク層のパケットを使用して高レベルで通信します。 これらのパケットはIPアドレスに向けられます。 各パケットがデータリンク層を使用してローカルエリアネットワーク(LAN)経由で送信される場合、受信者のイーサネットアドレスも認識されている必要があります。 IPアドレスは動的に割り当てられ、時間とともに変化しますが、イーサネットアドレスは通常同じままです。 アプリケーションまたはデバイスには、特定のIPアドレスに現在関連付けられているハードウェアアドレスを判別する方法が必要です。
アドレス解決プロトコルは、これらのアドレスを発見するための標準的な方法を定義しています。 ARPは、1982年にIETF(Internet Engineering Task Force)によってRequest For Comments(RFC)826として文書化されました。システムがIPパケットを送信する準備ができると、最近解決されたアドレスのキャッシュを調べます。 宛先IPアドレスがキャッシュにない場合、ARPを使用してLAN全体にメッセージをブロードキャストします。 このメッセージは、宛先IPアドレスを持つデバイスに、イーサネットハードウェアアドレスで応答するように要求します。
このアドレス解決プロトコル要求パケットには、要求元のIPアドレスとハードウェアアドレス、および求められているIPアドレスが含まれています。 LAN上のすべてのデバイスは、IPアドレスを含むARP要求パケットをリッスンします。 聞こえると、一致するデバイスは、イーサネットハードウェアアドレスを含むARP応答パケットを作成します。 その後、この応答パケットはリクエスターに直接送信されます。リクエスターは、後で再利用するためにアドレスをARPキャッシュに保存します。 レスポンダーは、リクエスターとさらに通信する可能性が高いため、アドレスをキャッシュに保存することもできます。
IPバージョン4(IPv4)およびイーサネットアドレスは、アドレス解決プロトコルによって解決される最も一般的なタイプのアドレスです。 ただし、要求パケットは、プロトコルタイプフィールドとアドレス長フィールドを介して他のタイプをサポートします。 IPバージョン6(IPv6)アドレスは、ARPの代わりに近隣探索プロトコル(NDP)で解決されます。
逆アドレス解決プロトコル(RARP)は、要求者のハードウェアアドレスのIPアドレスを要求します。 RARPサーバーは、新しいIPアドレスを割り当て、それをリクエスターのハードウェアアドレスに関連付けることにより、これらの要求の1つに応答します。 リバースARPは廃止されたと見なされます。その機能はDynamic Host Configuration Protocol(DHCP)に組み込まれています。 逆アドレス解決プロトコルは、指定されたハードウェアアドレスに関連付けられている既存のIPアドレスを要求します。 この場合、ハードウェアアドレスは同じLAN上の任意のノードのものにすることができます。