UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

DHCP

DHCP


0.改定履歴

  • 2000.08.25 初版

1.はじめに

 この文書では,DHCPとは何かついて説明する.

2.DHCPとは?

 Dynamic Host Configuratin Protocolの略で,BOOTPプロトコルの拡張版である.

 DHCPを使用するように設定されたコンピュータに,自動的にIPアドレスなどを割り当て,設定する.

 これにより,クライアントのTCP/IPの構成を集中管理し,手動で設定する時に発生する不具合を解消できる.

手動で設定する時の不具合とは...

  • 割り振ったIPアドレスを覚えておいて,空きアドレスを管理する面倒
  • 手入力で入力間違いで発生する原因究明に費やすコスト
  • 色々と入力する項目を忘れてしまったりして原因究明に費やすコスト

3.DHCPで設定されるものは?

 DHCPクライアントが起動するたびに,DHCPサーバに対してIPアドレスを発行するように要求する.

  • IPアドレス
  • サブネットマスク
  • デフォルトゲートウェイ(ルータアドレス)

 などがあり,この他にもオプションで色々な情報を設定することができる.(後述)

4.DHCPの動作

 DHCPでは,クライアントがIPアドレスの発行依頼を受ける所から,4つのフェーズでクライアントとサーバ間で通信する.

4.1 DHCP DISCOVER

 DHCPクライアントが,DHCPの初期化を行う際に,ネットワーク上に次の情報でブロードキャストする.

DHCPDISCOVER
項目 内容
発信元IPアドレス 0.0.0.0
宛先IPアドレス 255.255.255.255
メッセージ DHCPDISCOVER
その他 MACアドレス

 宛先IPアドレスが,"255"になっているのは,ブロードキャストアドレスである.(「特殊なIPアドレス」を参照)

 しかし,このブロードキャストは普通のIPルータを越えることはない.(RFC1542 BOOTP,DHCPリレーエージェントを持っているルータのみ可能)

 MACアドレスを含んでいるので,DHCPサーバは,どのクライアントが発信したかを突き止めることができる.

4.2.DHCP OFFER

 クライアントから発信されたDHCPDISCOVERは,ネットワーク内の要求の届いた全てのDHCPサーバが取得する.
 提供できるIPアドレスがあれば,DHCPサーバは,次のような情報をブロードキャストする.

  • クライアントのMACアドレス
  • 提供するIPアドレス
  • 提供するサブネットマスク
  • リースの期間(このIPアドレスを貸し出す期間)
  • DHCPサーバのIPアドレス
  • メッセージは"DHCPOFFER"が利用される.

 この時点で提供しているIPアドレスを他のDHCPクライアントに利用されないように,“予約”してロックする.

 DHCPクライアントは,最初に受取ったDHCPOFFERメッセージを選択する.

 クライアントは1秒間,DHCPOFFERを待つ.
 DHCPサーバが稼働していないなどの理由によりOFFER応答がない場合,約9秒,13秒,16秒後に再度ブロードキャストをする. この4回目のブロードキャストの返事(OFFER)が無ければ,その後は5分おきにブロードキャストを行う.

4.3.DHCP REQUEST

 DHCPクライアントは,OFFERを受取ったら,全てのDHCPサーバに対して次の情報をブロードキャストする.

  • リースしてもらったDHCPサーバのIPアドレス
  • メッセージは"DHCPREQUEST"

 このDHCPREQUESTメッセージを受取ったDHCPサーバは,DHCPサーバのIPアドレスを見て自分でなければ予約(ロック)したIPアドレスを開放する.

4.4.DHCP ARC

 DHCPクライアントに選択されたDHCPサーバは,成功を示す次のような情報を,DHCPクライアントに向けてブロードキャストする.

  • IPアドレスの有効なリース
  • その他のオプション情報(後述)
  • メッセージは"DHCPACK"

4.5.DHCP NACK

 次のような場合,DHCPクライアントは正しくリースしてもらえない. その場合は,最初のリース要求から繰り返す.

  • 以前と同じIPアドレスを発行して欲しいと要求したが,既に他で使われていた
  • クライアントが物理的に他のサブネットに移動していたために,IPアドレスが無効であった

5.リース期間

5.1.TTL(Time To Live)

 DHCPサーバがIPアドレスをリースする期間は,デフォルト3日間(NTサーバの場合だけ?)になっている.

5.2.リースの更新

 DHCPクライアントは,リース期間の50%(1/2 TTL)が過ぎると,リース元のDHCPサーバに対してDHCPREQUESTメッセージを直接送信し,リースの契約更新を行う.
 リースが更新される場合,DHCPACKメッセージと新しい構成情報を受信する.

 リースの契約更新が行われなかったメッセージを受信した場合,その時点ではリース期間が50%が残っているので,継続利用が出来る.
 その後,契約期間の87.5%(1/8 TTL)が過ぎた時点で,他のDHCPサーバにIPアドレスの発行を要求するために,DHCPREQUESTメッセージをブロードキャストする.

5.3.再起動した場合のリース

 DHCPクライアントが再起動した場合は,元のDHCPサーバから同じIPアドレスをリースしようと,最後に発行されたIPアドレスを指定するDHCPREQUESTメッセージをブロードキャストする.
 この時,リースが拒否されても残りのリース期間は同じIPアドレスを使用し続けられる.

5.4.利用終了

 DHCPクライアントは,リース期間が満了するか,DHCPNACKメッセージを受取った場合,現在利用しているIPアドレスをリリースする.
 その後は,再度,最初のリース要求プロセスから繰り返す.


参考文献

  • はじめてのTCP/IP 技術評論社 ISBN-7741-0419-1 C3055
  • Microsoft WindowsNT 4.0 TCP/IPテキスト
  • RFC 1532,1533,1534,1541,1542

広告スペース
Google