| ライター翻訳版 - January 28, 2008 |
| 機械翻訳版 - January 28, 2008 |
| 英語版 - January 28, 2008 |
| Document ID: 13718 |
目次
概要
このドキュメントでは、プロキシ Address Resolution Protocol(ARP)のコンセプトを説明しています。プロキシ ARP とは、ホスト(通常はルータ)が、別のマシンに宛てられた ARP 要求に応答する技法です。ルータは自分の ID を「偽装する」ことによって、「実際の」送信先にパケットをルーティングする責任を引き受けます。プロキシ ARP を使用することで、ルーティングやデフォルト ゲートウェイの設定を必要とせずに、サブネット上のマシンがリモート サブネットに到達できるようになります。プロキシ ARP は、RFC 1027
で定義されています。
前提条件
要件
このドキュメントの読者は、ARP およびイーサネット環境を理解している必要があります。
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。
-
Cisco IOS(R) ソフトウェア リリース 12.2(10b)
-
Cisco 2500 シリーズ ルータ
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのような作業についても、その潜在的な影響について確実に理解しておく必要があります。
表記法
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
プロキシ ARP はどのように動作するのか
プロキシ ARP の動作原理の例を次に示します。
ネットワーク ダイアグラム

サブネット A 上のホスト A(172.16.10.100)から、サブネット B 上のホスト D(172.16.20.200)にパケットを送信する必要があります。ダイアグラムに示されているように、ホスト A のサブネット マスクは /16 です。つまり、ホスト A では、自分がネットワーク 172.16.0.0 に直接接続されていると認識されていることになります。ホスト A が直接接続されていると認識している任意のデバイスと通信する必要がある場合、ホスト A から ARP 要求が宛先に送信されます。したがって、ホスト A からホスト D にパケットを送信する必要がある場合、ホスト A ではホスト D が直接接続されていると認識されているため、ARP 要求がホスト D に送信されます。
ホスト D(172.16.20.200)に到達するためには、ホスト A ではホスト D の 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 要求はブロードキャストなので、この要求はルータの e0 インターフェイスを含む、サブネット A 内の全ノードに到達しますが、ホスト D には到達しません。ブロードキャストがホスト D に到達しないのは、デフォルトではルータでブロードキャストの転送が行われないためです。
ルータでは、ターゲット アドレス(172.16.20.200)が別のサブネット上にあることが認識されていて、ホスト D に到達できるため、ルータからは自分の 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 応答は常に元の要求側に対するユニキャストとなります。
この ARP 応答を受信すると、ホスト A ではただちに次のように ARP テーブルがアップデートされます。
| IP アドレス | MAC アドレス |
|---|---|
|
172.16.20.200 |
00-00-0c-94-36-ab |
以降、ホスト A からは、172.16.20.200(ホスト D)に宛てのパケットは、すべて MAC アドレス 00-00-0c-94-36-ab(ルータ)に転送されます。ルータではホスト D への到達方法が認識されているため、このパケットはルータからホスト D へ転送されます。サブネット A のホストの ARP キャッシュには、サブネット B のすべてのホストの代わりに、ルータの 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.99 |
00-00-0c-94-36-ab |
|
172.16.10.200 |
00-00-0c-94-36-bb |
注:複数の IP アドレスが、単一の MAC アドレス(このルータの MAC アドレス)にマッピングされています。これはプロキシ ARP が使われていることを意味します。
Cisco のインターフェイスは、プロキシ ARP からの送信を受け入れて応答を返すように設定されている必要があります。これはデフォルトでイネーブルになっています。no ip proxy-arp コマンドが、ISP ルータに接続されているルータのインターフェイスで設定されている必要があります。次に示すように、インターフェイス設定コマンド no ip proxy-arp を使って、プロキシ 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 インターフェイス設定コマンドを発行します。
注:サブネット A 上のホスト B(172.16.10.200/24)から、サブネット B 上のホスト D(172.16.20.200)にパケットを送信しようとする場合、ホスト B では自分の IP ルーティング テーブルを検索し、その結果に基づいてパケットがルーティングされます。ホスト B(172.16.10.200/24)では、ホスト D の IP アドレス 172.16.20.200 に対して ARP は実行されません。これはホスト D がホスト B 上で設定されたイーサネット インターフェイス 172.16.20.200/24 とは異なるサブネットに属しているためです。
プロキシ ARP の長所
プロキシ ARP の最大の長所は、ネットワーク上の 1 台のルータにプロキシ ARP を追加しても、ネットワーク上の他のルータのルーティング テーブルを変更する必要がないことです。
デフォルト ゲートウェイに IP ホストが設定されていなかったり、IP ホストがインテリジェントなルーティング機能を備えていないネットワークでは、プロキシ ARP を使用する必要があります。
プロキシ ARP の短所
ホスト側では、ネットワークの物理的な詳細は認識されず、ネットワークがフラットであり、ARP 要求を送信するだけであらゆる宛先に到達できるものと想定されています。しかし、あらゆるものに ARP を使用すると、不都合が生じます。次に ARP の短所をいくつか列挙します。
-
セグメント上での ARP トラフィックの数が増加する。
-
IP-to-MAC アドレスのマッピングを処理するために、ホスト側でより大きな ARP テーブルが必要になる。
-
セキュリティが弱まるおそれがある。あるマシンがパケットを代行受信する目的で他のマシンを名乗る、「スプーフィング」と呼ばれる行為ができます。
-
アドレス解決方法として ARP を使用していないネットワークに対しては動作しない。
-
すべてのネットワーク トポロジ向けに一般化されていない。たとえば、2 つの物理的なネットワークに接続している複数のルータなどがこれに該当します。
プロキシ ARP の設定についての詳細は、『IP アドレス指定の設定』の「プロキシ ARP をイネーブルにする」セクションを参照してください。
NetPro ディスカッション フォーラム:特集対話
Networking Professionals Connection はネットワーキング プロフェッショナルが、ネットワーキングに関するソリューション、製品、およびテクノロジーについての質問、提案、情報を共有するためのフォーラムです。特集リンクでは、このテクノロジー分野での最新の対話を取り上げています。| NetPro ディスカッション フォーラム:RP に関する特集対話 |
|---|
| サービス プロバイダー:MPLS |
| バーチャル プライベート ネットワーク:サービス |
| バーチャル プライベート ネットワーク:セキュリティ |
