(アドレス解決プロトコル、略称:ARP、アープ)は、与えられたインターネット層アドレス(一般的にはIPv4アドレス)に対応するリンク層アドレス(MACアドレスなど)を発見するために使用される通信プロトコルである。この対応付けは、インターネット・プロトコル・スイートにおける重要な機能である。より内容のエンハンスが行われている。ARPは、ネットワーク層技術とデータリンク層技術の様々な組み合わせで実装されている。Packet(英語版)(PUP)、および、FDDI、X.25、フレームリレー、ATMなどである。802.11(無線LAN)上のIPv4が最も一般的な使用法である。IPv6ネットワークでは、ARPの機能はICMPv6の近隣探索プロトコル(NDP)によって提供される。外部リンク操作範囲[編集]ARPはリクエスト=レスポンス・プロトコル(英語版)であり、メッセージがリンク層プロトコルによってカプセル化される。単一のサブネットワークの内部のみで通信され、ルータを越えてルーティングされることはない。この特性のため、ARPはインターネットプロトコルスイートのリンク層に配置される[2]。パケット構造[編集]ARPは、1つのアドレスのみの解決要求または応答を含む単純なメッセージフォーマットを使用する。ARPメッセージのサイズは、リンク層とネットワーク層のアドレスサイズによって異なる。メッセージヘッダで、各層で使用されているネットワークの種類とそれぞれのアドレスのサイズを指定する。メッセージヘッダには、要求(1)と応答(2)のどちらかであるかを示すオペレーションコードが含まれる。パケットのペイロードは、送信側ホストと受信側ホストそれぞれのハードウェアアドレスとプロトコルアドレス、計4つのアドレスで構成されているイーサネット上で実行されているIPv4ネットワークの場合のARPパケットの構造を次の表に示す。この例では、パケットには送信元ハードウェアアドレス(SHA)と送信先ハードウェアアドレス(THA)用の48ビットフィールドと、対応する送信元プロトコルアドレス(SPA)と送信先プロトコルアドレス(TPA)用の32ビットフィールドがある。この場合のARPパケットサイズは28バイトである。(HTYPE)ネットワークプロトコルの種類。イーサネットの場合は1。(PTYPE)ARPリクエスト要求が意図するインターネットプロトコル。IPv4の場合、0x0800以降の値。使用される値は、EtherTypeのものを流用する[3][4][5]。(HLEN)オクテットによるハードウェアアドレスの長さ。イーサネットアドレス(MACアドレス)のサイズは6。(PLEN)上位層のプロトコル(PTYPEに指定された上位層プロトコル)が使用するオクテットによるアドレス。IPv4のアドレスサイズは4。オペレーション送信者が実行している動作。address、MACアドレス)。ARPリクエストでは、要求を送信するホストのアドレスを示す。ARP応答では、要求が探していたホストのアドレスを示す。(必ずしも、仮想メディアのように応答するホストのアドレスではない。)スイッチは、MACアドレスを学習するにが、このフィールドに注意を払っていないことに注意が必要である。PDUは、イーサネットフレームにカプセル化され、データリンク層(第2層)のデバイスが調べる。address、IPアドレス)。address、MACアドレス)。ARPリクエストでは、このフィールドは無視する。ARP応答では、このフィールドは、ARPリクエストを送信したホストのアドレスを示す。address、IPアドレス)。よって標準化され、維持されている.[6]。ARPのEtherTypeは0x0806である。これは、イーサネットヘッダ内で使用されてペイロードがARPパケットであることを示すものであり、カプセル化されるARPパケット内に含まれるPTYPEとは別である。動作[編集]送信元は、送信元のIPアドレス・MACアドレスと送信先のIPアドレスを格納したARPリクエスト(送信先のMACアドレスはALL0)をブロードキャストで送信する。ARPリクエストを受信した各ノードは、格納された送信先IPアドレスが自身のIPアドレスと同一であれば、自身のMACアドレスを格納したARPリプライを送信元に返信する。ARPキャッシュ[編集]効率を上げるため、多くの機器では一度取得したIPアドレスとMACアドレス間のマッピング情報をARPテーブルにARPキャッシュとして保持する。1200秒(20分)を採用している。Ciscoの機器ではタイムアウトのデフォルト値として14400秒(4時間)を採用している。入力すれば一覧が見られ、キャッシュ情報はハイフンで分割された6つの16進数で表示される。probe)とは、送信者IPアドレス(SPA)をALL0にしたARPリクエストである。この仕様を実装しているホストは、IPv4アドレスの使用を開始する前に(手動設定、DHCP、またはその他の手段でIPアドレスを受信したかどうかにかかわらず)、ARPプローブパケットをブロードキャストで送信して、アドレスが既に使用中かどうかを確認する必要がある[7]。ARP」を参照ARPは、単純なアナウンスプロトコルとしても使用できる。これは、送信者のIPアドレスまたはMACアドレスが変更されたときに、他のホストのハードウェアアドレスのマッピングを更新するために使用される。ARP(GARP)メッセージとも呼ばれ、通常、送信先ハードウェアアドレス(THA)をALL0に設定し、送信元プロトコルアドレスを送信先プロトコルアドレスに格納した(TPA=SPA)ARPリクエストパケットであり、ブロードキャストで送信される。送信先アドレスと送信元アドレスの両方に送信元アドレスを格納(TPA=SPA、THA=SHA)したARPリプライをブロードキャストで送信したものもARPアナウンスメントとして使用される。ARPは、ARPリクエスト・ARPリプライのどちらも規格に規定されている正規の手法である[8][9]が、ARPリクエストを使用するほうが望ましい[10]。デバイスによっては、どちらかのGARPを使用するように設定されているものもある[11]。ARPアナウンスは応答を求めることを目的としていない。パケットを受信した他のホストに対し、ARPテーブル内のキャッシュエントリを更新させることを目的としている。ARPの規格では、ARPテーブルがアドレスフィールドから更新される時のみオペレーションコードを解釈することと規定しているので、オペレーションコードは要求と応答のどちらでも良い[12][13][14]。これは、仮に電源を落としている間にネットワークカードが変更されていた場合に、他のホストのARPキャッシュテーブルにIPアドレスと以前のMACアドレスとのマッピングが残っていると問題が起こるためである。Service(VPWS)を介してレイヤ2アドレスを解決するプロセスである。IPv4では、各プロバイダエッジ(英語版)(PE)デバイスは、ローカルに接続されているカスタマエッジ(英語版)(CE)デバイスのIPアドレスを検出し、そのIPアドレスを対応するリモートPEデバイスに配布する。その後、各PEデバイスは、リモートCEデバイスのIPアドレスとローカルPEデバイスのハードウェアアドレスを使用してローカルのARPリクエストに応答する。IPv6では、各PEデバイスはローカルとリモートの両方のCEデバイスのIPアドレスを検出し、次にローカルの近隣探索(ND)パケットと逆近隣探索(IND)パケットを代行受信し、それらをリモートPEデバイスに転送する[15]。ARP、InARP)は、データリンク層(レイヤ2)アドレスから他のノードのネットワーク層アドレス(IPアドレスなど)を取得するために使用される。これは主にフレームリレー(DLCI(英語版))やATMで使用される。これらのネットワークでは、仮想回線のレイヤ2アドレスはレイヤ2シグナリングから取得されることがあり、その仮想回線を使用する前に対応するレイヤ3アドレスを使用できるようにする必要がある[16]。ARPはレイヤ3アドレスをレイヤ2アドレスに変換するので、InARPはその逆と表現することができる。InARPはARPのプロトコル拡張として実装されている。ARPと同じパケットフォーマットを使用するが、オペレーションコードは異なる。ARP、RARP)は、InARPと同様にレイヤ2アドレスをレイヤ3アドレスに変換するために使用する。InARPでは、要求側は別のノードのレイヤ3アドレスを照会するのに対し、RARPはアドレス設定の際に要求側自体のレイヤ3アドレスを取得するために使用される。RARPは現在ではほぼ使用されていない。RARPはBOOTPに置き換えられ、BOOTPも後にDHCPに置き換えられている[17]。ARPスプーフィングとプロキシARP[編集]ARPスプーフィング攻撃が成功した場合、攻撃者は中間者攻撃を行うことができる。ARP」を参照ARPにはネットワーク上のARPリプライを認証する方法がなく、ARPリプライは必要なレイヤ2アドレスを持つシステム以外のシステムから送信される可能性もある。ARP)は、ネットワークの設計の一部として、他のネットワークにARP要求があった場合にルータがホストに代わって回答する仕組みであり、NAT環境下において使用される例が多い。spoofing)は、そのシステム宛てのデータを傍受する目的で、別のシステムのアドレスに対するARPリクエストに応答するものである。ARPスプーフィングを使用して、悪意のあるユーザがネットワーク上の他のユーザーに対して中間者攻撃やDoS攻撃を行う可能性がある。ARP自体にはこのような攻撃からの保護方法は提供されておらず、ARPスプーフィング攻撃を検出して対策するための様々なソフトウェアが存在する[18]。ARPの代替[編集]それぞれのコンピュータは、レイヤ3アドレス(IPアドレスなど)とレイヤ2アドレス(イーサネットMACアドレスなど)のマッピングのデータベースを維持する。これは、主にローカルネットワークリンクからのARPパケットの受信によって維持されることから、このデータベースは一般に「ARPキャッシュ」と呼ばれる。伝統的には、静的な設定ファイル[19]や一元管理されたリストなど、このテーブルを管理するために他の方法も使われていた。少なくとも1980年代以降[20]、ネットワーク接続のできるコンピュータは、このテーブルを表示したり操作したりするための'arp'というユーティリティを持っている[21][22][23]。stuffing)を使って初期ネットワーク接続を行うことができる。この仕組みはARPは関係ないので、これは不適切な名称である。ARPスタッフィングは、コンシューマデバイスのネットワーク管理、特にイーサネットデバイスのIPアドレスの割り当てにおける以下のような問題の解決策である。ユーザは、DHCPなどのアドレス割り当てプロトコルを制御することができない。デバイスは、それを設定するためのユーザーインターフェースを持っていない。適切なIPアドレスがないため、ユーザのコンピュータは通信ができない。採用された解決策は以下の通りである。詰め込まれる)されたIPアドレスを持っている(通常はarpコマンドを使用し、MACアドレスをデバイスのラベルから取得する)。コンピュータは特殊なパケットをデバイスに送信する。通常は、デフォルト以外のサイズのpingパケットである。デバイスはこのIPアドレスを採用する。その後、ユーザはtelnetやWebプロトコルで通信して設定を完了する。ARPスタッフィングを使用するデバイスは通常、攻撃に対して脆弱であるため、デバイスが正常に動作しているときはこのプロセスを無効にする。2019年4月13日閲覧。2019年4月13日閲覧。2018年10月16日閲覧。2019年4月13日閲覧。2019年4月13日閲覧。2019年4月13日閲覧。2019年4月13日閲覧。2019年4月13日閲覧。2019年4月13日閲覧。2019年4月13日閲覧。2019年4月13日閲覧。2019年4月13日閲覧。2011年9月28日閲覧。2011年9月28日閲覧。2012年3月16日時点のオリジナルよりアーカイブ。2011年9月28日閲覧。2011年9月28日閲覧。2011年9月28日閲覧。2011年9月28日閲覧。2011年9月28日閲覧。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。Cookieに関する声明モバイルビュ。