この特集のトップページへ
>
Chapter 2:Windows NT 4.0のTCP/IPサービス 〜WINSとDHCP〜
2.6.1 DHCPの動作 |
DHCPは,IPアドレスを含めたTCP/IPの構成パラメータをDHCPクライアントに渡すためのプロトコルである。そのため,クライアントはIPアドレスを所持していない状態で通信を始めなければならない。通常,DHCPクライアントは次のような手順でIPアドレスとオプションパラメータを受け取る。
Fig.2-6 DHCPの動作 |
DHCPクライアントは,起動すると,DHCPサーバーを探索するためにDHCPDISCOVERパケットをブロードキャストする。DHCPDISCOVERパケットはUDPで送出され,送信先のETHERNETアドレスはFFFFFFFFFFFF,送信元のIPアドレスは0.0.0.0,送信元のポート番号は68番,送信先のIPアドレスは255.255.255.255,送信先のポート番号は67番となっている。つまりDHCPは,UDPであり,クライアントは68番ポート,サーバーは67番ポートを用いる。送信先のIPアドレスを見るとわかるように,リミテッドブロードキャストを用いるため,ルータを越えてDHCPを利用するためには,DHCPの要求をDHCPサーバーに転送するDHCP Relay Agentが必要となる。DHCP Relay Agentは通常ルータでサポートされるが,Windows NT Serverを利用することもできる。
- DHCPサーバーは,DHCPDISCOVERパケットを受け取ると,送信元がDHCPサーバーで,送信先が255.255.255.255のDHCPOFFERパケットを返す。送信先のETHERNETアドレスは,クライアントのMACアドレスになっている。DHCPOFFERパケットには,クライアントが使用すべきIPアドレスと,DHCPのオプションパラメータ(サブネットマスクやDNSサーバーのIPアドレスなど)が含まれている。
- DHCPOFFERパケットを受け取ったDHCPクライアントは,使用するIPアドレスを選択し,DHCPREQUESTパケットを返す。この時点では,まだ送信元のIPアドレスは0.0.0.0である。
- DHCPサーバーは,DHCPREQUESTパケットを受け取ると,DHCPACKパケットを返す。DHCPクライアントは,DHCPACKパケットを受信した時点で,DHCPサーバーから提供されたIPアドレスとオプションパラメータに基づいてTCP/IPを構成し,通信可能な状態となる。
DHCPクライアントがWindowsである場合,以前にDHCPでIPアドレスを取得したことがあれば,そのIPアドレスを再取得するべくDHCPサーバーに要求する。以前に取得したIPアドレスはレジストリに格納されている。この要求は,DHCPREQUESTパケットで行われる。したがって,Windowsクライアントであれば,DHCPを使用していても,同じIPアドレスを使用し続ける可能性が高くなる。なお,そのIPアドレスがすでに使用されている場合は,DHCPサーバーから別のIPアドレスを使うように要請される。
DHCPサーバーがDHCPクライアントにIPアドレスを割り当てることを,DHCPでは「リース(貸し出し)」と呼ぶ。DHCPサーバーからリースされたIPアドレスは,DHCPサーバーで定められたリース期限の範囲内でのみ使用することができる。DHCPクライアントは,リース期間内であれば,起動時にDHCPサーバーにアクセスできなかったとしても,以前にリースされたIPアドレスを使用して通信することができる。
DHCPクライアントは,リース期限を越えて,勝手にIPアドレスを使用してはならない。したがって,DHCPクライアントがリース期限を越えてIPアドレスを使用するためには,リース期限を更新しなければならない。Windowsの場合,リース期限の半分が過ぎた時点で,IPアドレスをリースしたDHCPサーバーにリース期限の更新を求める。このとき更新に成功すると,リース期限は延長される。しかし,DHCPサーバーがダウンしているなどの理由で更新に失敗すると,リース期限の87.5%が経過した時点で,ほかのDHCPサーバーへIPアドレスのリース要求を送信するため,ブロードキャストを開始する。この要求は新規にIPアドレスをリースしてもらうための要求である。どのDHCPサーバーにもアクセスできず,リース期限が経過してしまうと,DHCPクライアントはIPアドレスの使用を中止する。IPアドレスの使用を中止すると,通信中のセッションがあっても,それらはすべて中止される。
DHCPクライアントは,正常に終了すると,IPアドレスを返却するためにDHCPサーバーに対してDHCPRELEASEパケットを送信する(※注)。これにより,DHCPサーバーはそのIPアドレスを別のDHCPクライアントにリースできるようになる。DHCPRELEASEパケットが送信されなくても,リース期限内に更新要求がなければ,リース期限の経過に伴ってIPアドレスは解放され,別のDHCPクライアントにリースできるようになる。
|
・How to Cause Windows 98 to Release DHCP Lease Information at Shutdown(Q217035)
13/16 |