このページの本文へ

前へ 1 2 次へ

ネットワークの禁忌に触れる 第5回

TCP/IPの通信の仕組みを理解しよう

LAN内のパソコンのIPアドレスが重なるとどうなる?

2010年12月07日 09時00分更新

  • この記事をはてなブックマークに追加
  • 本文印刷

重複を自動検知しない通信機器も

 IPアドレスを割り当てるもう1つの方法は、DHCPを使うことだ。DHCP(Dynamic Host Configuration Protocol)とは、サーバーがIPアドレスなどの通信用設定を管理し、クライアントが通信機能を初期化するとき、DHCPサーバーから割り当てるべき設定情報を取得するためのプロトコルである。DHCPサーバーは、管理するIPアドレスの範囲のうち現在利用可能なものを「IPアドレスプール」にためておき、クライアントから要求があるごとにIPアドレスと設定のセットをクライアントに応答する。

 DHCPを使えば、IPアドレスをサーバーが一元的に管理するので、IPアドレスの重複は起こりにくくなる。しかし、あるサブネット内のコンピュータのIPアドレスを必ずDHCPで割り当てるようには強制できない。DHCPサーバーが割り当てようとするIPアドレスが、手動ですでに設定済みということも起こりうる。そこでDHCPサーバーは、クライアントにIPアドレスを伝える前にARPを使って重複していないかを確かめる。そのときの方法は、クライアント自身が調べるときと同じである。

 IPアドレスを手動で割り当ててもDHCPを使って自動で割り当てても、ARPを使ってIPアドレスが重複していないかが確かめられる。しかし、ネットワーク機器の中にはIPアドレスが重複していないかを確かめないものもある。その代表がルーターだ。ルーターは異なるネットワーク間の通信を中継する装置で、ネットワーク内で重要な役割を持っている。また、IPアドレスが分かっていないとデフォルトゲートウェイなどを登録できないので、IPアドレスは手動で設定する。他のコンピュータにはルーターが使っていないIPアドレスを割り当てるのが前提になるので、ルーターにはIPアドレスの重複を検出する機能が付いていないことがあるのだ。

 また、特に安価なブロードバンドルーターには内部の状態を表示するための液晶パネルなどが付いているわけではない。そのため、IPアドレスの重複を検出しても、ログには残るがIPアドレスはそのまま利用可能になる。重複を検出して別のIPアドレスに変えてしまうと、ルーターのIPアドレスは、しらみつぶしにPINGを打つなどしないと分からなくなってしまうからだ。

本当にIPアドレスが重複すると?

 では、ネットワーク内に同じIPアドレスを持つルーターがあるとどうなるのだろうか。たとえば、新しくブロードバンドルーターを買ってきて、それまで使っていたブロードバンドルーターをハブとして併用した場合である。このとき、2つのブロードバンドルーターのIPアドレスに同じIPアドレスが設定されていると、ネットワーク内に同じIPアドレスを持つ機器が2つあることになる

 この場合、WebブラウザでルーターのIPアドレスを指定すると、どちらかのルーターの設定画面が表示される。ネットワーク内に同じIPアドレスがあっても、通信は成立するようだ。しかし、通信の内容をキャプチャすると面白いことがわかる(画面2)。ルーターのIPアドレス(192.168.2.1)に対応するARP問い合わせに対して、2台のルーターが別々に応答を返しているのだ。つまり、Webブラウザに表示されたのは、初めに応答を返してきたルーターの設定画面である。

画面2 IPアドレスが重複したときのARPのやり取り

 実は、WindowsのARPは初めに返ってきた応答を採用するように実装されており、それ以降に返ってきた応答は無視される。つまり、ネットワーク内に同じIPアドレスを持つ機器がある場合、運良く応答を最初に送信できた機器が問い合わせた側からそのIPアドレスの持ち主として認識されるわけだ

 また、ARPによって得られたIPアドレスとMACアドレスの関係は、コンピュータ内で「ARPキャッシュ」に記録される(画面3)。ARPキャッシュは、あるIPアドレスに対応するMACアドレスをいちいちARPで問い合わせなくても済むように一定時間保持しておく仕組みである。この対応関係の情報は「ARPエントリ」と呼ばれる。WindowsのARPの場合、使われなくなったARPエントリは最後の利用から2分後、使用中のARPエントリでも追加されてから10分後には一度消去される。

画面3●ARPエントリ。コマンドプロンプトで「ARP -a」を実行すると、現在のARPキャッシュの内容を表示できる。この画面はクライアントがルーターAとルーターBからのARP応答を受け取った後の状態で、ルーターBのMACアドレスはARPエントリとして保存されていないことが分かる

 したがって、Webブラウザでルーターの設定画面を操作していても、10分後にはもう一度ARP問い合わせが送信され、ARPキャッシュが更新される。このとき、別のルーターが先んじてARP応答を返してくれば、Webブラウザで操作しているルーターが突然入れ替わることになる。つまり、ネットワーク内に同じIPアドレスがあると、通信が不安定になるわけだ。

 本記事は、ネットワークマガジン2004年12月号の特集を再編集したものです。内容は原則として掲載当時のものであり、現在とは異なる場合もあります。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事