[index]
CentreCOM AR100 シリーズ コマンドリファレンス 2.3
IP/ARP
対象機種:AR130、AR160
- 概要
- ARP
- ARPエントリーの手動登録
- プロキシーARP
- 自動的に設定される例
IPアドレスから物理アドレスを検索するARP(Address Resolution Protocol)関係の機能について説明します。
Ethernet上での通信は、たとえ上位でIPを使用していたとしても、最終的にはEthernetアドレス(MACアドレス)を使って行われます。ARPはこれを支援するIPの重要なサポートプロトコルです。
同じEthernet LANに所属する2台のホストがIPで通信する場合を考えます。ホスト192.168.10.1はTelnetサーバー、ホスト192.168.10.100がTelnetクライアントだとします。
Telnetセッションを開始しようとするクライアントは、最初にARP Requestパケットをブロードキャストして、サーバーのIPアドレス「192.168.10.1」に対応するMACアドレスを要求します。これに対し、サーバーはARP Replyパケットでクライアントに自分のMACアドレスを伝えます。これで初めて、クライアントはサーバーにIPパケット(TCP Synパケット)を直接送信できるようになります。
ルーター越えの通信でもARPは使用されます。なぜならば、別のIPネットワーク上にあるホストと通信するためには、ルーターにパケットを送りつけてIPパケットの転送を依頼しなくてはならないからです。ルーターにIPパケットを送る手順は、前述したクライアント、サーバー間の通信と何ら変わりません。ルーターにIPパケットを届けるためには、最初にルーターのMACアドレスを知らなくてはならないからです。
通常IPホストは、ARPによって学習したMACアドレスとIPアドレスの対応付けをARPキャッシュと呼ばれるテーブルに保存しています。これは、ARPパケットのブロードキャストを減らすためです。IP通信の開始時には、最初にARPキャッシュを検索し、検索に失敗したときだけARPリクエストをブロードキャストします。また、ARPエントリーにはタイマーが設定され、一定時間通信のなかったエントリーは削除(エージング)されるようになっています。
通常、ARPキャッシュはプロトコルスタックの働きによって動的に構築・維持されていくため、管理者が手動で行うべきことはありません。しかしながら、状況に応じて手動でARPエントリーを登録することもできます。
■ スタティックARPエントリーを追加するには、ADD IP ARPコマンドを使います。
ADD IP ARP=192.168.10.5 INT=eth0 ETHERNET=00-00-f4-33-22-11 ↓
■ ARPエントリーを削除するには、DELETE IP ARPコマンドを使います。スタティックエントリーだけでなく、ダイナミックエントリーを削除することも可能です。
DELETE IP ARP=192.168.10.5 ↓
■ ARPキャッシュの内容を確認するには、SHOW IP ARPコマンドを実行します。
プロキシーARPは、実際にIPアドレスを所有しているホストに代わって、ルーターが自分自身のMACアドレスで代理応答する機能です。おもに、同じIPサブネットに所属しているものの、物理的には同一LAN上でないためARPが届かない機器同士の通信を可能にする目的で使用されます。
SLIPやPPPでLANに接続しているリモートホストと、実際にLAN上にいるホストとの通信を可能にしたり、サブネットマスクをサポートしていないデバイスをサブネット環境で使用する場合などに使われます。また、Ethernet・Ethernet間でNATを使用する場合にも、プロキシーARPが必要なケースがあります。
デフォルトでは、Ethernet上のすべてのIPインターフェースでプロキシーARPが有効になっており、受信したARP Requestの対象アドレス(への経路)が受信インターフェースとは異なるインターフェース上にあることを知っている場合、自分自身のMACアドレスで代理応答し、代理応答に基づいて送られてきたパケットを実際の宛先にルーティングします。
■ プロキシーARPの有効・無効はADD IP INTERFACEコマンド、SET IP INTERFACEコマンドのPROXYARPパラメーターで変更できます。ONを指定した場合は有効に、OFFを指定した場合は無効になります。デフォルトはONです。
ADD IP INT=eth0 IP=192.168.10.1 MASK=255.255.255.0 PROXYARP=OFF ↓
SET IP INT=eth0 PROXYARP=OFF ↓
マルチホーミングを使って同一Ethernet上に複数の論理インターフェースを作成している場合、プロキシーARPの有効・無効はすべての論理インターフェースに共通して適用されます。
■ プロキシーARPの状態は、SHOW IP INTERFACEコマンドで確認できます。「PArp」欄の表示が「On」なら有効、「Off」なら無効です。
プロキシーARPの使用例として、ダイヤルアップPPP接続のケースを考えます。

この例では、ホストBがISDNなどの交換回線網経由でルーターAに接続します。ルーターAでは、着信時にPPPインターフェースを動的作成し、LAN側アドレスの1つをホストBに割り当てます(ここでは192.168.10.241)。これにより、ホストBは遠隔地にありながらも、LAN(192.168.10.0/24)に直接接続されているかのように他のホストと通信できるようになります。
ホストBから見た場合、送信するすべてのパケットがルーターAを経由しなくてはならないことは明らかです。ホストBでは、ネットワークとの唯一の接点であるダイヤルアップPPPインターフェースの方向をデフォルトルートに設定します。
一方、LAN上のホストにとっては状況が異なります。ここでは、ホストA(192.168.10.8)をLAN上ホストの代表として取り上げます。
ホストAがホストBとのIP通信を開始するとします。ホストAは、管理者が設定したIPアドレスとサブネットマスクの情報から、自分の所属するIPネットワークが192.168.10.0/24(アドレス範囲は192.168.10.0〜192.168.10.255)であることを認識しています。通信相手であるホストBのIPアドレス192.168.10.241もこの範囲に収まるため、ホストAはホストBが同一ネットワーク上にあると見なして、192.168.10.241に対するARP Requestをブロードキャストします。
しかし、実際にはホストBはルーターAとISDN網経由で接続されているため、LAN上にブロードキャストされたARP Requestを受け取ることができません。そのため、このままではホストAとホストB間のIP通信が成立しません。
しかし、本製品はデフォルトでプロキシーARPが有効であるため、ホストAが送信したARP Requestを受け取ると、ホストBが別インターフェース(ppp0)上にあることを認識して、代理のARP ReplyをホストAに返します。ホストAは本製品をホストBだと思ってパケットを送信してきますが、本製品はこれをppp0側のホストBに転送します。これでホストAからホストBにパケットが届きました。
今度は戻りです。ホストBは自分宛てでないパケットをすべてルーターAに転送します。ルーターAはホストBから受け取ったパケットの宛先が自分でない場合、経路表を参照して適切に配送します。このように、プロキシーARPの働きによって、LAN上のホストAとWAN経由でLANに接続しているホストBが、個々のホストで特別な設定を行うことなく透過的に通信できるようになります。
Copyright (C) 2001-2003 アライドテレシス株式会社
PN: J613-M2973-02 Rev.D