このドキュメントでは、プロキシAddress Resolution Protocol(ARP)を使用して、ホストルートやデフォルトゲートウェイなしでホストがリモートサブネットに到達する方法について説明します。
このドキュメントを読むには、ARPおよびイーサネット環境に関する知識が必要です。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
Cisco IOS®ソフトウェアリリース12.2(10b)
Cisco 2600 シリーズ ルータ
注:このドキュメントで説明する動作は、これらのコンポーネントに限定されるものではありません。プロキシARPは、複数のCisco IOSおよびCisco IOS XEプラットフォームで使用できます。機能のアベイラビリティ、デフォルトの動作、およびコマンドのサポートは、プラットフォームとソフトウェアリリースによって異なります。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。
プロキシ ARP とは、ホスト(通常はルータ)が、別のマシンに宛てられた ARP 要求に応答する技法です。ルータは自身のMACアドレスで応答し、実際の宛先にパケットをルーティングします。プロキシ ARP を使用することで、ルーティングやデフォルト ゲートウェイの設定を必要とせずに、サブネット上のマシンがリモート サブネットに到達できるようになります。プロキシ ARP は、RFC 1027 で定義されています。
プロキシ ARP の動作原理の例を次に示します。
ネットワーク図
サブネットA上のホストA(172.16.10.100)は、サブネットB上のホストD(172.16.20.200)にパケットを送信する必要があります。ネットワーク図に示すように、ホストAのサブネットマスクは/16です。つまり、ホスト A は、ネットワーク 172.16.0.0 のすべてのデバイスに直接接続されていると認識しています。ホストAは、直接接続されていると認識しているデバイスと通信する必要がある場合、ARP要求を宛先に送信します。したがって、ホスト A は、ホスト D にパケットを送信する必要がある場合には、ホスト D が直接接続されていると認識しているため、ホスト D に ARP 要求を送信します。
ホストD(172.16.20.200)に到達するために、ホストAは宛先IPアドレスに関連付けられたMACアドレスを要求します。
したがって、ホスト A からは ARP 要求が次のようにサブネット A 上にブロードキャストされます。
| 送信者のMACアドレス | 送信者のIPアドレス | ターゲットMACアドレス | ターゲットの IP アドレス |
|---|---|---|---|
| 00-00-0c-94-36-aa | 172.16.10.100 | 00-00-00-00-00-00 | 172.16.20.200 |
この ARP 要求では、ホスト D(172.16.20.200)が自分の MAC アドレスを送信することを、ホスト A(172.16.10.100)が要求しています。次に、この ARP 要求パケットは、ホスト A の MAC アドレスをソース アドレスとして、ブロードキャスト(FFFF.FFFF.FFFF)を宛先アドレスとして、イーサネット フレームにカプセル化されます。ARP要求はブロードキャストなので、ルータのイーサネット0(e0)インターフェイスを含むサブネットA上のすべてのノードに到達しますが、ホストDには到達しません。ブロードキャストはホストDに到達しません。これは、ルータはデフォルトではインターフェイス間でレイヤ2ブロードキャストフレームを転送しないためです。
受信インターフェイスではプロキシARPが有効になっており、ルータには別のインターフェイスを介したホストD(172.16.20.200)へのルートがあるため、ルータは自身のMACアドレスでホストAに応答します。
| 送信者のMACアドレス | 送信者のIPアドレス | ターゲットMACアドレス | ターゲットの IP アドレス |
|---|---|---|---|
| 00-00-0c-94-36-ab | 172.16.20.200 | 00-00-0c-94-36-aa | 172.16.10.100 |
これは、ルータからホスト A に送信されたプロキシ ARP 応答です。プロキシ ARP 応答パケットは、ルータの MAC アドレスを送信元アドレスとし、ホスト A の MAC アドレスを宛先アドレスとして、イーサネット フレームにカプセル化されます。この交換でのプロキシARP応答は、元の要求者にユニキャストで送信されます。ホスト A は、このARP応答を受け取ると、ARP テーブルを次のように更新します。
| IP アドレス | MAC アドレス |
|---|---|
| 172.16.20.200 | 00-00-0c-94-36-ab |
ARPエントリが期限切れになるか変更されるまで、ホストAは172.16.20.200(ホストD)のパケットを、ルータに属するMACアドレス00-00-0c-94-36-abに送信します。ルータは、ホスト D に到達する方法を認識しているため、受け取ったパケットをホスト D に転送します。サブネットA上のホストのARPキャッシュには、ルータがプロキシARP応答を提供する各リモート宛先のルータMACアドレスが含まれています。したがって、サブネット B 宛てのパケットは、すべてルータに送信されます。ルータは、これらのパケットをサブネット B のホストに転送します。
ホスト A の ARP キャッシュを次の表に示します。
| IP アドレス | MAC アドレス |
|---|---|
| 172.16.20.200 | 00-00-0c-94-36-ab |
| 172.16.20.100 | 00-00-0c-94-36-ab |
| 172.16.10.200 | 00-00-0c-94-36-bb |
注:複数のIPアドレスは、このルータのMACアドレスである1つのMACアドレスにマッピングされます。このトポロジでは、このパターンはプロキシARPが使用されていることを示している可能性があります。
リモートの宛先に代わってルータが応答するためには、CiscoルータインターフェイスでプロキシARPを有効にする必要があります。Cisco IOSでは、プロキシARPはARP対応インターフェイスでデフォルトで有効になっています。プロキシARPを無効にする前に、影響を受けるホストに有効なルートまたはデフォルトゲートウェイがあることを確認してください。プロキシARPが不要なインターフェイスでは、no ip proxy-arpを使用してディセーブルにします。
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface ethernet 0 Router(config-if)#no ip proxy-arp Router(config-if)#^Z Router#
インターフェイスでプロキシARPを有効にするには、ip proxy-arpインターフェイス設定コマンドを実行します。show ip interface <interface>を実行して、出力に「Proxy ARP as enabled」と表示されることを確認します。
注:サブネットA上のホストB(172.16.10.200/24)がサブネットB上のホストD(172.16.20.200)にパケットを送信しようとすると、IPルーティングテーブルがチェックされます。宛先がホストBのイーサネットインターフェイスで設定されたサブネットの外側にあるため、ホストBはホストDのARP要求を送信しません。ホストBは、設定されたネクストホップにパケットを送信します。一致するルートまたはデフォルトゲートウェイがないと、通信は失敗します。
プロキシARPの主な利点は、ネットワーク上の1つのルータ上で有効にでき、ネットワーク上の他のルータのルーティングテーブルを変更しないことです。
プロキシARPは、IPホストにリモート宛先へのデフォルトゲートウェイまたは別のルートがないネットワークで使用できます。
ホストは物理ネットワークトポロジを可視化できず、ネットワークをフラットセグメントとして扱い、ARP要求によって任意の宛先アドレスを解決できます。
プロキシARPの動作には、いくつかの短所があります。
セグメント上での ARP トラフィックの数が増加する。
IP-to-MAC アドレスのマッピングを処理するために、ホスト側でより大きな ARP テーブルが必要になる。
セキュリティが弱まるおそれがある。パケットを代行受信するために、あるマシンが別のマシンを名乗る(スプーフィングと呼ばれる行為)ことがあります。
アドレス解決方法として ARP を使用していないネットワークに対しては動作しない。
複数のルータが同じ宛先に対してプロキシARP応答を提供すると、予測できないネクストホップ選択が生じる可能性があります。
| 改定 | 発行日 | コメント |
|---|---|---|
6.0 |
09-Sep-2026
|
リンクを修正し、スペルチェックと文章校正を行いました。 |
5.0 |
29-May-2025
|
いくつかのフォーマットの問題を修正しました。 |
4.0 |
06-Mar-2025
|
誤字を修正しました |
3.0 |
02-Jun-2023
|
再認定 |
2.0 |
28-Mar-2022
|
破損したリンクを修正または削除。 |
1.0 |
02-Dec-2013
|
初版 |