【DHCPについて】

   
 このHPはDHCP(概要、動作)についてまとめたものです。




1-1 DHCPの概要

ホストごとにIPアドレスやサブネットマスク等の情報を設定するのは、非常に手間がかかる作業。
「DHCP」とは、ネットワークに接続するホストに、IPアドレス等の通信に必要な設定情報を自動で割り当てる仕組みの事。
面倒なIPアドレスの設定を自動化したり、配布するIPアドレスの一括管理を行うために「DHCP」が利用される。


IPアドレスを始めとする基本的なネットワーク設定の他に、OS独自のネットワーク設定等をホストに自動配布することが出来る。
DHCPによる自動設定を行うには、ネットワークの中にDHCPサーバーが存在し、接続する各ホストがDHCPクライアント機能を備えている必要がある。









1-2 DHCPの動き

DHCPは、リースという手段によって動的にIPアドレスを割り当てている。
DHCPの仕組みは、DHCPクライアントが通信できる全てのホストに対して、DHCPが何処にあるのかの問い合わせを行い、それに対して、DHCPが応答するというシンプルのもの。

DHCPは、ホストのネットワーク設定を行うためのプロトコルなので、当然、それを実行する時点では、ネットワークの設定がされていない。
そのため、IPアドレスを指定して行う通常のIPでの通信は行えず、それに代わってDHCPでは、ブロードキャストと変則的なUDPを使用して、DHCPサーバーとDHCPクライアントで必要な情報な情報を交換する。




≪DHCPのリース割り当て処理の動作≫

(1)DHCP要求(DHCPディスカバー)
クライアントがDHCPサーバーを探す「DHCP ディスカバー」メッセージ。
DHCPクライアントはまずこれをネットワークにブロードキャストする。


(2)IPアドレス等の提案(DHCPオファー)
DHCP ディスカバーを受け取ったDHCPサーバーは、「DHCP オファー」メッセージをホストに返送する。このメッセージは、ブロードキャストに含まれているDHCPクライアントのMACアドレスを基にしたDHCPクライアントへのユニキャストまたはブロードキャストで行われる。


(3)割り当ての申請(DHCPリクエスト)
DHCP オファーを受け取ったDHCPクライアントは、受け入れを決めたIPアドレスを添えて、設定情報の受け入れを通知する「DHCP リクエスト」をブロードキャストで返送する。


(4)割り当ての承認(DHCPアック)
DHCP リクエストを受け取ったDHCPサーバーは、そこに含まれるIPアドレスが自分の提示したものならば、設定情報が受け入れられたと判断し、設定情報の割り当てを記録し、クライアントに対して、「DHCP アック」をブロードキャストで返送する。

(5)DHCP アックを受け取ったDHCPクライアントは、DHCP オファーで渡されたIPアドレスを自分のIPアドレスとして設定し、そのアドレスで通信を始める。なお受け取ったIPアドレスにはリース時間が設定されている。
リース時間が経過したら、「DHCP  リリース」を送信して、そのIPアドレスを解放し、DHCPサーバーに返却する。








DHCPのパケットは下図の様な形をしている。
DHCPサーバーが提示する情報は「ユーザーIPアドレスフィールド」と、一部は「オプションフィールド」に設定される。
DHCPメッセージの種類などもオプションフィールドに設定される。