PC などの端末機器をネットワークに接続するためには、必ず事前にネットワークに関する IP アドレスなどの設定が必要になります。普段設定を意識していない場合もありますが、それは自動的に IP アドレスなどのネットワーク接続に必要な情報を取得して設定まで行ってくれる DHCP というプロトコルによる仕組みによるものです。
DHCP の概要
OSI 参照モデルのアプリケーション層のプロトコルです。DHCP は、TCP/IP ネットワークにおいて 、PC などの端末がネットワーク接続する際の必要な設定を自動的におこなうためのプロトコルです。
これにより、個々の端末で管理者が手動で設定する手間がかからない、手作業による設定ミスがおこらなくなるので一般の家庭でも企業でもよく利用される便利な仕組みです。
DHCP は、PC などの端末を DHCP クライアントと DHCP サービスをもつ DHCP サーバーに分かれて2つの間で動作します。一般家庭ではインターネットルーターが DHCP サーバーとなっていることが多いでしょう。
DHCP による IP アドレス自動取得の仕組み
DHCPクライアントとDHCPサーバー
DHCP クライアントは OS に標準で装備されていますので、特に設定など意識することなく IP アドレスなどのネットワークに必要な情報を DHCP サーバーから自動で取得できるようになっています。必要な場合は手動設定に変更することも可能です。
DHCP サーバーには クライアントに割り当てる IP アドレスなどの情報をあらかじめ設定しておくことが必要になります。一般家庭用の DHCP サーバー機能をもつルーターでは、出荷時にすでに設定されていることが多いです。
DHCPによるIPアドレス自動設定までの仕組み
ネットワークに接続した端末がどのような仕組みでDHCPを使ってIPアドレスを自動で設定するかを説明します。
まずDHCP クライアントはネットワークへ接続したタイミング(LANケーブルやWiFi がつながった時など )で、自身が設定に必要な IP アドレスやデフォルトゲートウェイなどのネットワーク設定情報を得るために、 同一ネットワーク上にいる DHCP サーバーを探します。その際に、DHCP サーバーの IP アドレス情報は持っていないため、ブロードキャストを使用します。(① DISCOVER)
DHCPサーバーは、管理している IP アドレスの中から空いている IP アドレスがあれば、使用可能な設定情報としてクライアントへ提案します。(② OFFER)
提案された IP アドレスで良ければそのまま使用許可を得るための要求をします。(③ REQUEST)
DHCP サーバーから使用許可をもらって DHCP クライアントは ネットワーク設定情報を使用することができるようになります。(④ ACK)
DHCP サーバーが管理しているネットワーク設定情報は IP アドレス以外にもあります。主に以下のような情報も IP アドレスとあわせてクライアントに配布することができます。
- IP アドレス
- サブネットマスク
- DNS サーバー
- デフォルトゲートウェイ
DHCP サーバーの機能
DHCP サーバーには、IP アドレスなどの設定情報を効率的に管理する仕組みや、柔軟な環境にも対応できる機能があります。以下はその一例です。
IP アドレスのプール
DHCP サーバーで設定した割り当て可能な IP アドレスの範囲をプールと呼びます。そこから割り当てた IP アドレスも記録して管理しているので、クライアントへ重複しないようにユニークに割り当てることができます。
また、固定 IP をサーバーなどに使用する場合は、その IP アドレス範囲はあらかじめ割り当て範囲外として設定します。
リース期間
DHCPサーバーが割り当てた IP アドレスは、一定期間が過ぎると開放され、別のDHCPクライアントに再び使うことができるようになります。
IP アドレスを割り当てる際に、リース期間の情報をDHCPサーバーからクライアントへ伝えておくことで、DHCPサーバー側でも解放するタイミングを同期しています。そうすることで、割り当てる IP アドレスを効率的に使用することができます。
IP アドレスが解放されたDHCPクライアントはあらためて要求する必要がありますが、DHCPクライアントは同じ IP アドレスでリース期間の更新をすることもできます。
リレーエージェント
DHCP クライアントは、ブロードキャストで DHCP サーバを探しますが、それだと DHCP サーバーが同一ネットワーク上にいることが前提となります。
DHCP サーバーが異なるネットワークにいる場合は、ネットワークの境界にあるルーターや L3スイッチのリレーエージェント機能を使うことで、ブロードキャストをユニキャストに変えて DHCP サーバーまで届けることができるようになります。
参考リンク
IPアドレス(IP Address)とは – 概要と基本の形
コメント