|
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
|
|