Proxy ARP



 APRとは

 Ethernet上で通信を行うためには、IPアドレスに対応したMACアドレスが必要になります。ARPとは、
 IPアドレスの情報からMACアドレスを知るためのアドレス解決プロトコルです。同一セグメント上にある
 ホストは、そのホストの宛先IPアドレスからMACアドレス情報を得て通信を行い、異なるセグメント上の
 ホストとは、ホストのデフォルトゲートウェイに設定されているルータのMAC情報を得て通信を行います。


 APRの仕組み

 下図ではホストAからホストBにパケットを送信しようとするのですが、ホストAはホストBのMACアドレス
 を知らないため、先ず最初にARP要求をブロードキャストします。そのブロードキャストはセグメント上の
 全てのホストが受信して内容を解析します。宛先のIPアドレスが自分のIPアドレスである場合、ホストBは
 自分のMACアドレスを埋め込み、ARP応答パケットを送信元であるホストAに返送することになります。

  
 
 PC上ではコマンドプロンプトでarp -aによりARPテーブルの確認、arp -dによりARPテーブルのキャッシュをクリアできます。
 ルータ上では show ip arp によりARPテーブルの確認、clear arp-cache によりARPテーブルのキャッシュをクリアできます。



 Proxy ARP

 プロキシARPはサブネットワーク環境において、サブネットマスクを設定できない旧式のホストが通信する時に
 一般的に利用されます。プロキシARPは他のホスト宛へのARP要求に対して代わりにARP応答する機能です。
 下図では、ホストAからホストBにパケットを送信しようとした場合、ホストAはネットワークアドレスを比較して
 ホストBが同じネットワークに属していると判断して、デフォルトゲートウェイのアドレスに対してARP要求を行う
 のではなくて、ホストBのアドレスにARP要求を行います。プロキシARPが有効なI/Fを持つルータが、このARP
 要求を受信した場合、ホストBの代わりにプロキシARP応答パケットを送信します。その結果、下図においても、
 ホストAとホストBは同じセグメントにいるような通信を行えます。プロキシARP機能はI/F上でデフォルトで有効。

    
 ※ ホストAとBとの通信を実現するためには、ホストAに接続しているルータAのI/F上でプロキシARPが有効である必要があります。参考


 Cisco(config)# interface FastEthernet 0/0
 Cisco(config-if)# ip proxy-arp



 このプロキシARP機能は、ルーティングテーブル( デフォルトゲートウェイ含む )を持っていないホストが異なる
 セグメント上にある機器のMACアドレスを調べる手助けの機能とも言えます。例えば、ARP要求を行うホストと
 異なるセグメント上にあるホストに対するARP要求をルータが受信して、そのルータがホストに至る経路を保持
 する場合、ルータはARP要求元のホストと同じセグメントのI/FのMACを知らせるプロキシARP応答パケットを
 生成します。そのARP応答パケットを受信したホストは、そのルータにパケットを送信してルータはパケットを
 目的のホストに転送する事ができます。従って、下図のネットワークにてスイッチAとホストB間は通信できます。

     

   スイッチAを、例えばPCに置き換えると通信はできません。PCの場合、デフォルトゲートウェイが設定されていない状態において
   異なるセグメントに対してPINGを実行しようとした場合 [ Destination host unreachable ] とコマンドプロンプト上で表示されて、
   異なるセグメントにパケットを送出できません。Catalystスイッチの場合は、デフォルトゲートウェイ ( ip default-gateway ) の設定
   がない状態でも、異なるセグメントへPINGを実行するとポート上からパケットが送出されるので、上図の構成で通信ができます。


 - 上図でスイッチにデフォルトゲートウェイが設定されている場合 -

 Switch#ping 10.1.1.1
 Type escape sequence to abort.
 Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
 !!!!!
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/205/1007 ms

 Switch#sh ip arp
 Protocol Address Age (min) Hardware Addr Type Interface
 Internet 192.168.1.1  - 1234.1234.1234 ARPA Vlan1
 Internet 192.168.1.254 0 4321.4321.4321 ARPA Vlan1


 - 上図でスイッチにデフォルトゲートウェイが設定されておらずプロキシARPにより通信する場合 -

 Switch#ping 10.1.1.1
 Type escape sequence to abort.
 Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
 !!!!!
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/205/1007 ms

 Switch#sh ip arp
 Protocol Address Age (min) Hardware Addr Type Interface
 Internet 10.1.1.1   0 4321.4321.4321 ARPA Vlan1
 Internet 192.168.1.1 - 1234.1234.1234 ARPA Vlan1





IRDP ( ICMP Router Discovery Protocol ) → 

ネットワークエンジニアとして

Copyright(C) 2002-2008 Cool. All Rights Reserved