アドレス解決プロトコル(ARP)とは?その仕組みとは?

更新済み: 2026年08月24日 読了目安時間: ~

要約

アドレス解決プロトコル(ARP)は、ローカルエリアネットワーク(LAN)内で動的なIPアドレスと固定のMACアドレスの間のギャップを埋める、ネットワーキングの基本的なメカニズムです。ARPは、ほとんどの場合バックグラウンドで動作し、ある種類のアドレスを別の種類のアドレスに変換することで、データが正しいデバイスに到達できるようにします。ARPは高速で効率的ですが、なりすまし攻撃に対して脆弱です。また、IPv6環境向けにはNeighbor Discovery Protocol(NDP)のような代替手段も存在します。

アドレス解決の基本

アドレス解決プロトコル(ARP)は、常に変化するIPアドレスを固定メディアアクセス制御(MAC)アドレスに接続します。ディレクトリには、IPアドレスとMACアドレスの両方の詳細なマップが格納されます。

ARPプロトコルは、紛らわしく聞こえるかもしれません。計算は複雑ですが、作業は迅速に行われます。変換が行われていることにすら気づかないかもしれません。

ARPとは?

ローカルエリアネットワーク(LAN)内のすべてのデバイスは2つのアドレスを持っています。一方(IP(インターネットプロトコル)アドレス)は変更され、もう一方(MACアドレス)は固定されています。ARPはこの2つのシステムの接続を維持します。

ARPプロセスには変換が含まれます。例えば、IPアドレスはMACアドレスよりかなり短いかもしれません。また、同じ数字が同じ順序で並んでいることもありません。

しかし、システムが一方を他方に対して解決できなければ、デバイス間でのデータフローは不可能です。迅速な変換が重要です。

インターネットワーキンググループ(Internet Working Group)は、1982年にARPプロトコルを開発し、今日のコネクティビティの基盤として機能しています。 

ARPの仕組み

あるデータがネットワークゲートウェイに到着すると、LAN内のマシンと接続する必要があります。ARPは、データが正しい場所に到着できるようにします。

ARPプロトコルは次のような仕組みになっています:

  • MACアドレス。データリンク層としても知られるMACアドレスは、2つのデバイスを接続し、情報の転送を可能にします。

  • IPアドレス。新しいデバイスがLANに参加すると、システムはIPアドレスを割り当てます。ユーザーのプライバシーを保護するため、システムは定期的に新しいIPアドレスをランダム化して割り当てます。IPアドレスは、ルーターを介したパケット転送を容易にします。

ARPプロセスでは、次のステップが行われます。

  1. 到着。データはLAN上のマシンに送られ、ネットワーク内のハードウェアに着地します。

  2. チェック。ゲートウェイマシンは、データパケットで指定されたIPアドレスと一致するMACアドレスを見つけるようARPプログラムに要求します。ARPはシンプルなメッセージ形式を使用しており、サイズは様々です。

  3. 仕様。ルックアップが完了すると、ゲートウェイマシンは情報を解放し、データは先に進みます。

クライアントからのリクエストの図: https://cdn.ttgtmedia.com/rms/onlineimages/whatis-arp_desktop.png

ARPメッセージ形式についてもっと深く掘り下げてみましょう。一般的なリクエストには、以下のようないくつかのフィールドが含まれます。

  • ハードウェアの種類

  • プロトコルの種類

  • ハードウェアアドレスの長さ

  • プロトコルアドレスの長さ

  • 送信者のハードウェアアドレス

  • 送信者のプロトコルアドレス

  • ターゲットハードウェアアドレス

  • ターゲットプロトコルアドレス

各メッセージには大量の情報が含まれていますが、全体のサイズは非常に小さいです。

ARPにはどのような種類がありますか?

簡単なARPメッセージとプロトコルについてご説明してきましたが、各社で独自の実装方法を実験し、開発することができます。

企業では、以下に挙げるARPの2つの異なるバージョンがよく使われています。

バリエーションDescription
逆ARPシステムはMACアドレスで始まり、IPアドレスを要求します。
プロキシARPネットワーク上のデバイスが、LAN上にないIPアドレスからのARPリクエストを処理します。
近隣探索プロトコル(NDP)アクティブなプロトコルをルックアップに使用するのではなく、コンピューターが既知のアドレスのリストを維持できるようにします。IPv6で使用されます。

企業によってはARPの使用を避け、Neighbor Discovery Protocol(NDP:近隣探索プロトコル)を使用するところもあります。ネットワーキンググループが2007年にリリースしたInternet Protocol Version 6(IPv6)では、このNDPがサポートされています。NDPを使用する企業では、ルックアップにアクティブなプロトコルを使用するのではなく、コンピュータが既知のアドレスの一覧を維持できるようにしています。

ARPの既知の問題点について教えてください。

ARPは高速で効率的ですが、ハッカーはシステムを操作することができます。

ARPスプーフィング(ARPポイズニング)とは何ですか?

ARPスプーフィング(またはARPポイズニング)攻撃では、ハッカーが悪意のあるMACアドレスと正当なLAN IPアドレスをリンクさせた偽のARPメッセージを作成します。被害者のデバイスに向かうデータは、代わりにハッカーに送られます。この手法は、中間者攻撃につながる可能性があります。

ARPスプーフィング攻撃は、IPスプーフィング攻撃とよく似ています。この脆弱性の仕組みと対処方法については、当社のブログで詳細をご覧ください。

よくある質問(FAQ)

ARPがIPアドレスとMACアドレスを変換する必要があるのはなぜですか?

ローカルエリアネットワーク上のデバイスは、時間とともに変化する動的IPアドレスと、ハードウェアに紐付けられた固定MACアドレスという2種類の異なるアドレスタイプに依存しています。この2つのアドレス形式は異なり、同じ数字が同じ順序で並ぶことはないため、デバイス間でデータが正しく流れるよう、一方を他方にマッピングするARPが必要です。

ARPルックアップではどのような処理が行われますか?

LAN上のマシン宛のデータがネットワークゲートウェイに到着すると、ゲートウェイはARPプログラムに、宛先IPアドレスに一致するMACアドレスを検索するように要求します。ルックアップが完了すると、ゲートウェイはデータの解放を行い、正しいデバイスへデータが移動します。

Inverse ARPとProxy ARPの違いは何ですか?

逆ARPは、標準のARPとは逆の方向に動作します。システムは既知のMACアドレスから開始し、それを使用して対応するIPアドレスを要求します。一方、プロキシARPは、ローカルLAN上にないIPアドレスに代わってARP要求を処理するネットワークデバイスが関与します。

ARPのなりすましとは何ですか?なぜ危険なのですか?

ARPスプーフィング(ARPポイズニングとも呼ばれる)は、ハッカーが偽のARPメッセージを送信し、LAN上の正規のIPアドレスに悪意のあるMACアドレスを関連付ける攻撃です。これにより、被害者のデバイス宛てのデータが攻撃者にリダイレクトされ、中間者攻撃が可能になる場合があります。

近隣探索プロトコル(NDP)とは何ですか?また、ARPとはどのように異なるのですか?

近隣探索プロトコル(NDP)は、IPv6環境で使用されるARPの代替プロトコルです。NDPでは、ルックアップ要求をアクティブにブロードキャストするのではなく、コンピューターが既知のアドレスのリストを独自に維持できるため、リアルタイムのプロトコルベースの解決の必要性が低減します。

ARPプロトコルはいつから使われており、現在でも有効ですか?

ARPは1982年にInternet Working Groupによって開発され、今日でもネットワーク接続の基本要素であり続けています。ローカルエリアネットワーク内のデバイスが相互に通信する方法を支えています。

参考文献

An Ethernet Address Resolution Protocol(1982年11月、Network Working Group)

ARP Message Format(TCP/IP Guide)

Neighbor Discovery for IP Version 6 (IPv6)(2007年9月、Network Working Group)

アイデンティティ施策を推進