アドレス解決プロトコル(ARP)は、インターネットプロトコル(IP)アドレスからメディアアクセス制御(MAC)アドレスを解決するために使用されるコンピュータネットワークプロトコルである。主にローカルエリアネットワーク(LAN)で使用され、インターネット・プロトコル・スイートのネットワーク層全体の重要な構成要素である。ARPを操作するためのコマンドラインツールはarpと呼ばれる。
ARPはネットワークモデルのレイヤー間で動作し、レイヤー2のネットワークアドレス(MAC)とレイヤー3のIPアドレスのマッピングを可能にする。コネクションレス・プロトコルで、ハンドシェーキング・ダイアログはない。ARPはブロードキャスト・プロトコルであり、ブロードキャスト・アドレスにリクエストを送信し、ネットワーク上の他のすべてのホストがそれを受信する。
ARPリクエストの送信者は、IP宛先アドレスと送信者のハードウェアアドレスの詳細が書かれたパケットを送信する。リクエストを受け取った側は、そのハードウェアアドレスを返信する。このようにして、送信者はIPアドレスをハードウェアアドレスに変換する。
ハードウェアアドレスは、FPGA(Field-Programmable Gate Array)またはNID(Network Information Device)と呼ばれる特別なロジックチップに格納されているため、通常のイーサネット接続ホストではARPは通常必要ない。仮想化などのより複雑なアーキテクチャでは、このロジックチップが存在しない場合があり、トラフィックが宛先に到達するためにはARPテーブルが必要になる。
ARPは通常、オペレーティングシステムの一部として実装されるが、ネットワーク接続型ストレージシステムではファームウェアレベルで実装されることもある。
インターネット技術タスクフォース(IETF)は、登録されているすべてのアドレス解決プロトコルのリストを管理している。さらに、IEEEはIEEE 803.2(イーサネットARP)標準を管理している。
ARPは、送信者がIP-MACアドレスのマッピングを検証することに依存しているため、粗雑なセキュリティレベルと呼ばれることがあるが、簡単になりすまされる。アンチスプーフィングフィルタなどの他のセキュリティプロトコルは、ネットワークセキュリティのためにARPと共に使用されるべきである。