Address Resolution Protocol
TCP/IP群 |
---|
アプリケーション層 |
|
トランスポート層 |
カテゴリ |
インターネット層 |
カテゴリ |
リンク層 |
カテゴリ |
Address Resolution Protocol (アドレス解決プロトコル、略称:ARP、アープ)は、イーサネット環境で、IPアドレスから対応するMACアドレスを動的に得るためのプロトコル。
概要
TCP/IPにおいて、IPパケットを送受信するためには、下位のデータリンク層のアドレスを取得する必要があり、MACアドレスが必要な場合に ARP が用いられる。 イーサネットの場合論理的なIPアドレスを物理的なハードウェア・アドレスであるMACアドレスに変換する必要がある。
IPv6ではARPではなく、ICMPv6の「近隣者発見プロトコル」を用いる。
RFC 826で定義され、その後 RFC 5227, RFC 5494 により内容のエンハンスが行われている。
対義語にあたる、MACアドレスからIPアドレスに変換するプロトコルは、RARP(Reverse address resolution protocol、リバースARP)である。
動作
- 要求パケットに送信元の IPアドレス・MACアドレスと通信相手の IPアドレスの情報を格納したARPリクエストを、Ethernet ネットワークにブロードキャストする。
- 要求パケットを受け取った各ノードは、自分の IPアドレスと同一であれば、自分の MACアドレスを送信元にARPリプライを返信する。
こうして、IPアドレスから MACアドレスを取得する。
ARPヘッダ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
イーサネット宛先アドレス | イーサネット送信元アドレス | フレームタイプ | ハードタイプ | プロトコルタイプ | ハードサイズ | プロトコルサイズ | オペレーション | 送り手イーサネットアドレス | 送り手IPアドレス | ターゲットイーサネットアドレス | ターゲットIPアドレス | ||||||||||||||||||||||||||||||
イーサネットヘッダ | ARPの要求と応答 |
ARPキャッシュ
効率を上げるため、多くの機器では一度取得したIPアドレスとMACアドレス間のマッピング情報をARPテーブルにARPキャッシュとして保持する。
Ciscoの機器ではタイムアウトのデフォルト値として14400秒(4時間)が採用されており、多くの機器では同様の値が設定されている事が多い。 キャッシュ情報はTCP/IPがサポートされたWindowsであればコマンドプロンプトから arp -a と入力すれば一覧が見られ、キャッシュ情報はハイフンで分割された6つの16進数で表示される。
代理ARP
他のネットワークにARP要求があった場合にルーターがホストに代わって回答する仕組みである。Proxy ARPなどと呼ばれており、NAT環境化において使用される例が多い。
関連項目
- RARP (Reverse address resolution protocol、リバースARP) - MACアドレスからIPアドレスに変換するプロトコル
- Gratuitous ARP - ARPパケットの送信元ホスト自身のIPアドレスに対するARP
- ブリッジ
- レイヤ3スイッチ
- ARPスプーフィング