コンテンツにスキップ

Address Resolution Protocol

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

これはこのページの過去の版です。Nnh (会話 | 投稿記録) による 2019年2月7日 (木) 08:23個人設定で未設定ならUTC)時点の版 (ARPヘッダ)であり、現在の版とは大きく異なる場合があります。

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 ハードウェアタイプ (HTYPE)
2 プロトコルタイプ (PTYPE)
4 ハードウェアサイズ (HLEN) プロトコルサイズ (PLEN)
6 オペレーション (OPER)
8 送信元ハードウェアアドレス (SHA)
10
12
14 送信元プロトコルアドレス (SPA)
16
18 送信先ハードウェアアドレス (THA)
20
22
24 送信先プロトコルアドレス (TPA)
26
ハードウェアタイプ (HTYPE)
ネットワークプロトコルの種類。 例:イーサネットは「1」。
プロトコルタイプ (PTYPE)
ARPリクエスト要求が意図するインターネットプロトコル。IPv4の場合、0x0800以降の値。
ハードウェア長 (HLEN)
オクテットによるハードウェアアドレスの長さ。イーサネットアドレス(MACアドレス)のサイズは「6」。
プロトコル長 (PLEN)
上位層のプロトコル(PTYPEに指定された上位層プロトコル)が使用するオクテットによるアドレス。IPv4のアドレスサイズは「4」。
オペレーション
送信者が実行している動作:「1」は要求、「2」は返信。
送信元ハードウェアアドレス (SHA)
送信側のメディアアドレス(Media address、MACアドレス)。ARPリクエストでは、要求を送信するホストのアドレスを示す。ARP応答では、要求が探していたホストのアドレスを示す。(必ずしも、仮想メディアのように応答するホストのアドレスではない。)スイッチは、MACアドレスを学習するにが、このフィールドに注意を払っていないことに注意が必要である。ARP PDUは、イーサネットフレームにカプセル化され、データリンク層(第2層)のデバイスが調べる。
送信元プロトコルアドレス (SPA)
送信元のインターネットワークアドレス(internetwork address、IPアドレス)。
送信先ハードウェアアドレス (THA)
受信側のメディアアドレス(Media address、MACアドレス)。ARPリクエストでは、このフィールドは無視する。ARP応答では、このフィールドは、ARPリクエストを送信したホストのアドレスを示す。
送信先プロトコルアドレス (TPA)
送信先のインターネットワークアドレス(internetwork address、IPアドレス)。

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

ARPキャッシュ

効率を上げるため、多くの機器では一度取得したIPアドレスとMACアドレス間のマッピング情報をARPテーブルARPキャッシュとして保持する。 BSD Unix に由来する TCP/IP スタックを実装した機器の多くは、タイムアウト値として 1200秒(20分)を採用している。 また、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日閲覧。

関連項目

外部リンク