コンテンツにスキップ

Address Resolution Protocol

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。Japanbird (会話 | 投稿記録) による 2015年10月11日 (日) 01:04個人設定で未設定ならUTC)時点の版であり、現在の版とは大きく異なる場合があります。

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)である。

動作

  1. 要求パケットに送信元の IPアドレス・MACアドレスと通信相手の IPアドレスの情報を格納したARPリクエストを、Ethernet ネットワークブロードキャストする。
  2. 要求パケットを受け取った各ノードは、自分の IPアドレスと同一であれば、自分の MACアドレスを送信元にARPリプライを返信する。

こうして、IPアドレスから MACアドレスを取得する。

ARPヘッダ

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14~41
イーサネット宛先アドレス イーサネット送信元アドレス フレームタイプ 下図参照
イーサネットヘッダ ARPの要求と応答
Internet Protocol (IPv4) の イーサネット ARP パケット
octet offset 0 1
0 ハードタイプ
Hardware type (HTYPE)
2 プロトコルタイプ
Protocol type (PTYPE)
4 ハードサイズ
Hardware address length (HLEN)
プロトコルサイズ
Protocol address length (PLEN)
6 オペレーション
Operation (OPER)
8 送り手イーサネットアドレス(最初の2バイト)
Sender hardware address (SHA)
10 (同上続き2バイト)
12 (同上最後の2バイト)
14 送り手IPアドレス(最初の2バイト)
Sender protocol address (SPA)
16 (同上最後の2バイト)
18 ターゲットイーサネットアドレス(最初の2バイト)
Target hardware address (THA)
20 (同上続き2バイト)
22 (同上最後の2バイト)
24 ターゲットIPアドレス(最初の2バイト)
Target protocol address (TPA)
26 (同上最後の2バイト)
ハードウェアタイプ (HTYPE)
ネットワークプロトコルの種類。 例:イーサネットは「1」。
プロトコルタイプ (PTYPE)
ARPリクエスト要求が意図するインターネットプロトコル。IPv4の場合、0x0800以降の値。
ハードウェア長 (HLEN)
オクテットによるハードウェアアドレスの長さ。イーサネットアドレスのサイズは「6l。
プロトコル長 (PLEN)
上位層のプロトコル(PTYPEに指定された上位層プロトコル)が使用するオクテットによるアドレス。IPv4のアドレスサイズは「4」。
オペレーション
送信者が実行している動作:「1」は要求、「2」は返信。
送信元ハードウェアアドレス (SHA)
送信側のメディアアドレス。ARPリクエストでは、要求を送信するホストのアドレスを示す。ARP応答では、要求が探していたホストのアドレスを示す。(必ずしも、仮想メディアのように応答するホストのアドレスではない。)スイッチは、MACアドレスを学習するにが、このフィールドに注意を払っていないことに注意が必要である。ARP PDUは、イーサネットフレームにカプセル化され、データリンク層(第2層)のデバイスが調べる。
送信元プロトコルアドレス (SPA)
送信元のインターネットワークアドレス(internetwork address)。
送信先ハードウェアアドレス (THA)
受信側のメディアアドレス(Media address)。ARPリクエストでは、このフィールドは無視する。ARP応答では、このフィールドは、ARPリクエストを送信したホストのアドレスを示す。
送信先プロトコルアドレス (TPA)
送信先のインターネットワークアドレス(internetwork address)。

ARPプロトコルのパラメータ値は Internet Assigned Numbers Authority (IANA) によって標準化され、維持されている。 [1]

ARPキャッシュ

効率を上げるため、多くの機器では一度取得したIPアドレスとMACアドレス間のマッピング情報をARPテーブルARPキャッシュとして保持する。

Ciscoの機器ではタイムアウトのデフォルト値として14400秒(4時間)が採用されており、多くの機器では同様の値が設定されている事が多い。 キャッシュ情報はTCP/IPがサポートされたWindowsであればコマンドプロンプトから arp -a と入力すれば一覧が見られ、キャッシュ情報はハイフンで分割された6つの16進数で表示される。

代理ARP

他のネットワークにARP要求があった場合にルーターがホストに代わって回答する仕組みである。Proxy ARPなどと呼ばれており、NAT環境化において使用される例が多い。

脚注

  1. ^ IANA ARP parameter assignments”. IANA (2009年4月24日). 2015年10月11日閲覧。

関連項目

外部リンク