Lesson3では,IPアドレスを中心とした割り当てる設定情報の中身について学ぶ。実はDHCPでのIPアドレスの割り当て方は,その場で空きを探して動的に割り当てるものと,あらかじめ決めておいて固定的に割り当てるものの2種類がある。

期間を指定して割り当てる

 DHCPで設定する情報のうち,特に重要なのはIPアドレスである。IPアドレスだけはそれぞれのパソコンに別のものを設定する必要がある。動的に割り当てるようにしておけば,管理者はあれこれ考えずに済む。

 しかし,配布できるIPアドレスには限りがある。1回割り当てたIPアドレスを使わないようにすると,配布可能なIPアドレスはなくなってしまうことがある。

 そこでDHCPでは,利用期間を指定して設定情報を配布する「リース」という方法を用意する。ネットワーク管理者がリース期間を指定しておけば,その間だけ使えるIPアドレスを割り当てる(図3-1の(1))。

図3-1●DHCPの設定情報の割り当て方はおもに2種類ある
図3-1●DHCPの設定情報の割り当て方はおもに2種類ある
空いているIPアドレスを順番に期間を区切って割り当てる方法と,あらかじめ決めておいたIPアドレスを割り当てる方法がある。

 このときDHCPサーバーは,割り当てたIPアドレスと,割り当て先パソコンのLANカードに付いているMACアドレス,割り当ての有効期限を管理台帳に記録しておく。有効期限を過ぎたIPアドレスは,別のパソコンに割り当てることもある。

固定のアドレスを割り当てる

 一方,あらかじめ決まったIPアドレスを配布したほうがいいパソコンもある。例えばDNSに情報を登録するようなサーバーは,IPアドレスが変わらないようにしたい。DHCPでも,同じパソコンに特定のIPアドレスを固定的に割り当てられるようにできる。

 決まったIPアドレスを割り当てる場合には,割り当てるIPアドレスとそれに対応するパソコンのLANカードのMACアドレスを管理者があらかじめ登録しておく。DHCPサーバーは,DHCPクライアントからのメッセージに書き込まれたパソコンのMACアドレスと管理台帳を参照して,あらかじめ割り当てるIPアドレスが決まっていればそのIPアドレスを割り当てるのだ(同(2))。

なるべく同じアドレスを使い続ける

 リース方式で設定情報を割り当てる場合,リース期間が終わるたびにIPアドレスが変わるのだろうか。実はそんなことはない。DHCPは,同一のクライアントがなるべく同じIPアドレスを使い続けるように工夫されている(図3-2)。

図3-2●期間を区切った割り当てでもなるべく同じ設定を使い続けようとする
図3-2●期間を区切った割り当てでもなるべく同じ設定を使い続けようとする
期間を区切った割り当てでも,なるべく同じIPアドレスを使い続けたほうが都合がよい。そこでDHCPクライアントはリース期間を延長したりIPアドレスを指定して要求したりする。
[画像のクリックで拡大表示]

 ネットワークにつながったままのパソコンは,リース期間を延長することで同じIPアドレスを使い続ける。

 DHCPクライアントは,DHCPサーバーから指定されたリース期間の残り時間が半分になった時点で,リース期間の延長をDHCPサーバーに要求する(図3-2の(1))。要求にはDHCPリクエストを使う。ただし,ほかのDHCPサーバーに伝える必要はないので,ブロードキャストではなく,ユニキャストという方法で要求先のDHCPサーバーだけに送る。

 延長要求を受け取ったDHCPサーバーは,OKを意味するDHCPアックを返す。すると,残り時間はリセットされて,そこから改めてリース期間のカウントが始まる。

 また,パソコンを再起動したときも,可能な限り同じIPアドレスを使い続けるようにしている(同(2))。

 再起動するとDHCPクライアントは,自分がそれまで使っていたIPアドレスをDHCPリクエストでブロードキャストする。以前と同じDHCPサーバーがいて,以前と同じIPアドレスが空いていれば,DHCPサーバーからDHCPアックを送られて同じ設定情報を使い続けられるようになる。

 ここでブロードキャストを使うのは,再起動したときに前と違うネットワークにつながっているかもしれないからだ。ブロードキャストで送れば,違うネットワークにつながっていてもそのネットワークのDHCPサーバーにリクエストが届く。IPアドレスの情報などからリクエストが間違っていることに気付いたDHCPサーバーは,リクエストを否定する応答(DHCPナック)を送信する。

 DHCPナックを受け取ったDHCPクライアントは,違うネットワークにつながっていることに気付いて,設定情報を一から取得し直す。こうして,正しい設定情報を迅速に入手するのである。