[index]
CentreCOM 9600/8600シリーズ コマンドリファレンス 2.2
IP/ARP
対象機種:8624、9606
- プロトコル概要
- ARPエントリーの手動登録
- プロキシーARP
- 自動的に設定される例
- 手動で設定する例
IPアドレスから物理アドレス(MACアドレス)を検索するARP(Address Resolution Protocol)関係の機能について説明します。
Ethernet上での通信は、たとえ上位でIPを使用していたとしても、最終的にはEthernetアドレス(MACアドレス)を使って行われます。ARPはこれを支援するために開発されたIPの重要なサポートプロトコルです。
同じVLANに所属する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=vlan-white PORT=3 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上にいるホストとの通信を可能にしたり、サブネットマスクをサポートしていないデバイスをサブネット環境で使用する場合などに使われます。
デフォルトでは、すべてのIPインターフェースでプロキシーARPが有効になっており、受信したARP Requestの対象アドレス(への経路)が受信インターフェースとは異なるインターフェース上にあることを知っている場合、自分自身のMACアドレスで代理応答し、代理応答に基づいて送られてきたパケットを実際の宛先にルーティングします。
■ プロキシーARPの有効・無効はADD IP INTERFACEコマンド、SET IP INTERFACEコマンドのPROXYARPパラメーターで変更できます。ONを指定した場合は有効に、OFFを指定した場合は無効になります。デフォルトはONです。
ADD IP INT=vlan-white IP=192.168.10.1 MASK=255.255.255.0 PROXYARP=OFF ↓
SET IP INT=vlan-orange PROXYARP=OFF ↓
マルチホーミングを使って同一VLAN上に複数の論理インターフェースを作成している場合、プロキシーARPの有効・無効はすべての論理インターフェースに共通して適用されます。
■ プロキシーARPの状態は、SHOW IP INTERFACEコマンドで確認できます。「PArp」欄の表示が「On」なら有効、「Off」なら無効です。
ここでは、例として異なるVLAN上にあるホストAとホストBを考えます。ホストAはサブネットマスクをサポートしていない旧式のIPホスト、ホストBはサブネットマスクをサポートしている普通のIPホストです。
VLAN whiteとVLAN orangeのインターフェースには、それぞれクラスBのプライベートアドレスが設定され、サブネットマスクとして24ビットの255.255.255.0が設定されています。また、ホストAには172.16.10.2(サブネットマスクなし)、ホストBには172.16.20.100(サブネットマスク255.255.255.0)が設定されています。

ここで、ホストAがホストBとのIP通信を試みるものとします。ホストAはサブネットマスクをサポートしていないため、自分の所属するIPネットワークを172.16.0.0であると認識しています。また、通信相手であるホストBのIPアドレス172.16.20.100も、ホストAにとっては同じ172.16.0.0所属と認識されるため、ホストAはホストBが同一ネットワーク上にあると見なし、172.16.20.100に対するARP Requestをブロードキャストします。
しかし、実際にはホストBは別VLANにあるため、通常であればARP Requestが届くことはなく、ホストAにARP Replyが返ることもありません。そのため、このままではホストAとホストBはIPによる通信ができません。
しかし、本製品はデフォルトでプロキシーARPが有効であるため、ホストAが送信したARP Requestを受け取ると、ホストBが別インターフェース(VLAN)上にあることを認識して、代理のARP ReplyをホストAに返します。ホストAは本製品をホストBと思ってパケットを送信してきますが、本製品はこれをVLAN orangeのホストBに転送します。これでホストAからホストBにパケットが届きました。
今度は戻りです。ホストBはサブネットマスクをサポートしているため、ホストAが別サブネットにいることを認識できます。そのため、ホストAと直接MACアドレスで通信しようとはせずに、ルーターにパケットの転送を依頼します。
このようにして、ホストAとホストBは個々のホストで特別な設定を行うことなく透過的に通信ができます。
今度はプロキシーARPを効かせるために手動で設定を行う方法を説明します。ここでは、設定方法を示すために非常に極端な例を挙げます。現実のネットワークでこのような設定を行う直接的なメリットはありませんので、あくまでも設定を説明するためだけの例とお考えください。
ここでは、例として異なるVLAN上にあるホストAとホストBを考えます。VLAN white上のホストAには192.168.10.2、VLAN orange上のホストBには192.168.10.200が設定されているものとします。ホストBのアドレスは、192.168.20.200の間違いではありません。たとえば、本来VLAN white(192.168.10.0/24)上にあったホストBが、何らかの理由でVLAN orange(192.168.20.0/24)に移動されたと考えましょう。

ここで、ホストAがホストBとのIP通信を試みるものとします。ホストAは、通信相手であるホストBのIPアドレス192.168.10.200が同一IPネットワーク上にあると見なし、192.168.10.200に対するARP Requestをブロードキャストします。
しかし、実際にはホストBは別VLANにあるため、ARP Requestが届くことはなく、ホストAにARP Replyが返ることもありません。そのため、このままではホストAとホストBはIPによる通信ができません。また、先ほどの例とは異なり、ルーターはホストBがVLAN orange側にいることを知らないため、代理応答も行われません。
このような状況では、ADD IP ROUTEコマンドを使って、ホストBへの経路を明示的に登録し、ルーターにホストBの存在場所を知らせる必要があります。ここでは次のようにします。MASKにはホスト経路であることを示すため32ビットマスクを指定し、INTERFACEにはホストBが存在するインターフェース(VLAN)を指定します。PREFERENCEは経路の優先度を指定するもので、0はもっとも優先度の高い経路であることを示します。
ADD IP ROUTE=192.168.10.200 MASK=255.255.255.255 INT=vlan-orange NEXTHOP=0.0.0.0 PREFERENCE=0 ↓
これにより、ホストBに対するプロキシーARPが有効になり、ホストAとホストBは個々のホストで特別な設定を行うことなく透過的に通信ができるようになります。
Copyright (C) 2000-2002 アライドテレシス株式会社
PN: J613-M0522-00 Rev.C