全2890文字
PR

ブロードキャストを使ってサーバーを探す

 では、IPアドレスを割り当てる前のコンピューターは、どうやってサーバーと通信するのだろうか。それを可能にしているのが、ブロードキャスト通信だ。

DHCPクライアントはブロードキャストでサーバーを探す
DHCPクライアントはブロードキャストでサーバーを探す
[画像のクリックで拡大表示]

 手順を見てみよう。ネットワークにつないだばかりのコンピューターは、DHCPクライアントがDHCPディスカバー(図の(1))というメッセージをブロードキャストアドレス「255.255.255.255」宛てに送り出す。

 このアドレスを使うと、コンピューターと同じネットワークにつながったすべてのホストにDHCPディスカバーが届く。こうやって、アドレスがわからないDHCPサーバーにメッセージを送る。

 DHCPディスカバーを受け取ったサーバーは、設定表を基にクライアントに割り当てるIPアドレス(図では192.168.1.10)を書き込んだDHCPオファー(同(2))を返す。

 DHCPオファーを受け取ったクライアントは、割り当てられたIPアドレスとサーバーのIPアドレスを書き込んだDHCPリクエスト(同(3))をブロードキャストで送る。この時点では、クライアントのIPアドレスはまだ確定していないため、メッセージ内のクライアントIPアドレスは「0.0.0.0」になっている。

 DHCPリクエストをブロードキャストで送り出すのは、一つのネットワーク内に複数のDHCPサーバーがあることを想定しているからだ。この場合、DHCPディスカバーに対して複数のDHCPオファーが届くことになる。

 クライアントは、通常一番先に届いたDHCPオファーのIPアドレスを利用する。DHCPオファーを送ったサーバーは、届いたDHCPリクエストを見て、割り当てたIPアドレスをクライアントが使うか否かを判断する。

 自身宛てのDHCPリクエストを受け取ったサーバーは、ネットワーク情報を書き込んだDHCPアック(同(4))を最終確認として返す。クライアントはDHCPアックを受け取ってから、ネットワーク情報を登録し、通信ができるようになる。