DHCP / Dynamic Host Configuration Protocol
■ DHCP。Dynamic Host Configuration Protocol。 クライアントの要求に応じて、 IPアドレス情報を自動的に割り当てるためのプロトコル。 IETFにより、RFC2131等に規定されている。 DHCPの基本機能は、IPアドレスの割り当てだが、 オプション機能として、サブネットマスク、 デフォルトゲートウェイのIPアドレス、DNSサーバのIPアドレスなどの 設定情報も併せて配信することができる。 このDHCPを使用することにより、 ユーザ側は端末を移動するたびに細かい設定をする必要が無くなり、 管理者側も当該端末の設定に関するサポートから解放される。 またIPアドレスを集中的に管理し、 使用するユーザにその都度必要な数だけ貸与することとなるため、 組織に割り当てられたIPアドレス資源を節約できる。 なおDHCPでは、DHCPサーバがUDPのポート67番を、 DHCPクライアントがUDP68番を使用する。 ■ DHCPのメッセージ。 DHCPによるIPアドレスの割当/取得は、 IPアドレスを管理しているDHCPサーバと、 IPアドレスを利用したいDHCPクライアントとの間で、 以下の5つのメッセージを交換することで実現する。 (1) DHCP DISCOVER。 DHCPクライアントは起動時に、所属するLANに 「IPアドレスを下さい」というブロードキャストを送出する。 これをDHCPディスカバーと呼ぶ。 このとき、自分のIPアドレスは0.0.0.0、 あて先IPアドレスは255.255.255.255とする。 また宛先MACアドレスはFF:FF:FF:FF:FF:FF、 送信元MACアドレスは自身のMACアドレスとする。 サブネットを超えたブロードキャストは、 ルータが後述するDHCPリレーエージェント機能により中継する。 (2) DHCP OFFER。 DHCP DISCOVERを受信したDHCPサーバは、 自分がプールしているIPアドレスの中から クライアントに割り当て可能なIPアドレスの候補を選び、 自身のIPアドレスと合わせてこれを提示する。 これをDHCPオファーと呼ぶ。 DHCPオファーは、 割当候補のIPアドレスを宛先IPアドレスに指定した IPユニキャストで送られるが、 クライアント側はまだそのアドレスを使用していないので、 認識できない。 しかし、宛先MACアドレスには、 クライアントのMACアドレスを指定するので、 クライアントはDHCPオファーを正しく受信することができる。 (3) DHCP REQUEST。 DHCPクライアントは、 あるDHCPサーバからIPアドレスの候補を受け取ると、 ほかに自分に対してIPアドレスの候補を提示するDHCPサーバが ないことを確認する。 もしも複数のサーバから提示があった場合は、 どちらか一方のサーバを選択して正式な割当て要求を送ることになる。 一般的な実装では、一番早く到着したDHCPオファーを選択する。 そして選択したDHCPサーバに、正式な割当要求を送信する。 これをDHCPリクエストと呼ぶ。 DHCPリクエストは、ブロードキャストで送られる。 (4) DHCP ACK。 IPアドレスの正式な割当要求を受けたDHCPサーバーは、 いよいよクライアントに対して正式にIPアドレスを割り当てる。 この通知をDHCPアックという。 クライアントは、DHCPアックを受け取ると、 念のため、自分に割当てられたIPアドレスを問合せアドレスに設定して、 LAN内にARP要求をブロードキャストする。 もしもARP応答があった場合には、 そのIPアドレスは他のクライアントが使用していることになる。 しかし一定時間ARP応答がなければ、 DHCPクライアントはIPアドレスの重複がないと判断し、 割り当てられたIPアドレスを使い始める。 (5) DHCP RELEASE。 DHCPクライアントは、 割り当てられたIPアドレスを一定期間継続して利用することができるが、 定められたリース期間を超えると、 IPアドレスは自動的に回収される。 このためDHCPクライアントは、 リース期限の50%を超えた時点で期限の更新要求をする機能を持ち、 DHCPサーバはこれに応じて更新を許可する。 このリース期限の更新は何度でも繰り返され、 クライアントは、同じIPアドレスを継続して使うことができる。 もしも、DHCPクライアントが、 リース期限が来る前にIPアドレスを返却したい場合は、 DHCPリリースパケットをDHCPサーバに送出して 自分が使用していたIPアドレスを返却する。 ■ DHCPリレーエージェント。 異なるネットワーク上に存在する DHCPサーバとDHCPクライアントの通信を可能にするルータの機能。 またはその機能を実装したソフトウェア。 ルータはレイヤ3デバイスであり、 通常ブロードキャストフレームを転送しない。 従ってブロードキャストフレームで送信されるDHCPディスカバーは、 ルータの向こう側のDHCPサーバには届かず、 結局DHCPによるIPアドレス割当は実現しない。 しかし、ルータのDHCPリレーエージェント機能をオンにすれば、 宛先ポート番号が67番のパケットが入力されたとき、 これをDHCPクライアントが送出したDHCPディスカバーと認識し、 DHCPサーバまで中継する。 こうしてDHCPによるIPアドレス割当を実現することができる。 ■ BootP。Bootstrap Protocol。ブートピー。 ハードディスクを搭載しない ディスクレスクライアントシステムを LAN経由で別のコンピュータから起動するために開発されたプロトコル。 RFC951、RFC1497に規定されている。UDP/IP上で動作する。 ディスクレスクライアントシステムでは、 起動時に、LAN経由でBootPサーバにアクセスして、 OSの一部のほか、IPアドレスやホスト名、ドメイン名、サブネットマスク、 デフォルトゲートウェイアドレス、DNSサーバアドレスなどの情報を、 自動的に取得して、メモリ上にロードする。 DHCPは、このBootPをベースとして開発されたものであり、 幾つかの点で改良が施されている。 たとえばBootPでは、IPアドレスを固定的に設定する機能しか持たず、 一旦IPアドレスを割当てると(再起動時するまで)永久的に予約するが、 DHCPでは、IPアドレス等を動的に更新する機能を持っている。 以上。 2004/03/09 pm