重複を自動検知しない通信機器も
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ブラウザに表示されたのは、初めに応答を返してきたルーターの設定画面である。
実は、WindowsのARPは初めに返ってきた応答を採用するように実装されており、それ以降に返ってきた応答は無視される。つまり、ネットワーク内に同じIPアドレスを持つ機器がある場合、運良く応答を最初に送信できた機器が問い合わせた側からそのIPアドレスの持ち主として認識されるわけだ。
また、ARPによって得られたIPアドレスとMACアドレスの関係は、コンピュータ内で「ARPキャッシュ」に記録される(画面3)。ARPキャッシュは、あるIPアドレスに対応するMACアドレスをいちいちARPで問い合わせなくても済むように一定時間保持しておく仕組みである。この対応関係の情報は「ARPエントリ」と呼ばれる。WindowsのARPの場合、使われなくなったARPエントリは最後の利用から2分後、使用中のARPエントリでも追加されてから10分後には一度消去される。
したがって、Webブラウザでルーターの設定画面を操作していても、10分後にはもう一度ARP問い合わせが送信され、ARPキャッシュが更新される。このとき、別のルーターが先んじてARP応答を返してくれば、Webブラウザで操作しているルーターが突然入れ替わることになる。つまり、ネットワーク内に同じIPアドレスがあると、通信が不安定になるわけだ。
本記事は、ネットワークマガジン2004年12月号の特集を再編集したものです。内容は原則として掲載当時のものであり、現在とは異なる場合もあります。 |
この連載の記事
-
第10回
TECH
スパムに返事をしてはいけないのは本当か? -
第9回
ネットワーク
DHCPサーバーを勝手に立てるとどうなるの? -
第8回
ネットワーク
光ファイバは曲げるとどうなる? -
第7回
ネットワーク
デフォルトゲートウェイの設定を間違えるとどうなる? -
第6回
ネットワーク
「サブネットマスクが正しくないと通信できない」は本当か? -
第4回
ネットワーク
11gと11bを同じチャネルで使うと本当に干渉するのか -
第3回
ネットワーク
ADSLは本当にラジオや電子レンジの干渉を受けるのか -
第2回
ネットワーク
2台のスイッチを2本のケーブルでつなぐと何が起こる? -
第1回
ネットワーク
古いLANケーブルでギガビットEthernetは使えるか -
TECH
ネットワークの禁忌に触れる<目次> - この連載の一覧へ