DHCPとは
DHCP(Dynamic Host Configuration Protocol)とは、ネットワークに接続してきたパソコンやスマートフォンなどの機器に対して、IPアドレスなどの必要なネットワーク設定情報を「自動的に割り当てる」ためのプロトコル(仕組み)のことです。
コンピュータがネットワークで通信するためには、IPアドレス、サブネットマスク、デフォルトゲートウェイなどの複雑な数値を正しく設定しなければなりません。これらを人間が手動で1台ずつ設定していると、入力ミスが起きたり、他の機器と番号が重複して通信できなくなったりします。そこで、DHCPサーバーという管理役を用意し、接続してきた機器に「空いているアドレス」を一定時間貸し出すようにすることで、誰でも簡単にネットワークへ接続できるようになります。
具体例
ホテルの「フロントでの部屋の鍵の貸し出し」をイメージしてみましょう。
- あなたがホテル(ネットワーク)に到着したとき、自分で泊まる部屋の番号(IPアドレス)を勝手に決めることはできません。
- フロント(DHCPサーバー)に行き、「チェックインをお願いします」と伝えると、スタッフが現在空いている「405号室の鍵」(IPアドレス設定)を渡してくれます。
- あなたは渡された鍵を使って、自分の部屋で快適に過ごすことができます。チェックアウト(接続を切断)すると、その部屋の鍵はフロントに戻され、次にやってきた別のお客さんに貸し出されます。スマホをWi-Fiにつなぐだけでネットができるのは、このDHCPが裏で働いているからです。
もう少し詳しく
DHCPは、アプリケーション層(トランスポート層はUDPを利用、ポート番号はサーバー側が67番、クライアント側が68番)のプロトコルです。クライアントPCがネットワーク物理線に接続された(あるいはWi-Fiに繋がった)とき、以下の4ステップ(DORAプロセス)を経て設定情報を自動取得します。
- DHCP DISCOVER(発見):クライアントは自身のIPアドレスを持っていないため、宛先アドレスを「ブロードキャスト(255.255.255.255)」に設定し、ネットワーク内のすべての機器に向けて「DHCPサーバーはいませんか?」というパケットを一斉送信します。
- DHCP OFFER(提供):パケットを受け取ったDHCPサーバーは、自身が管理するアドレスプール(プールされた空きアドレス)から、貸し出し可能なIPアドレス候補を選び、設定可能情報とともにクライアントへ提示します。
- DHCP REQUEST(要求):クライアントは提案された内容を確認し、そのアドレスを正式に借りたい旨を「DHCP REQUEST」として再びブロードキャスト送信します(他のDHCPサーバーにも、提案を辞退したことを知らせるためブロードキャストで行われます)。
- DHCP ACK(確認応答):サーバーが「貸し出しを承認しました」という確定のパケットを送信し、クライアントが設定を有効化します。
DHCPによって配布される情報は、IPアドレスのみならず、「サブネットマスク」「デフォルトゲートウェイのIPアドレス」「DNSサーバーのIPアドレス」など、インターネット通信に必要な設定が一式含まれます。
また、貸し出されたIPアドレスには「リース期間(有効期限)」が設定されています。クライアントは、リース期間の半分(50%)が経過した時点で、サーバーに対して「リースの延長(更新)」を自動的にリクエストし、使用中であれば同じIPアドレスを継続して使い続けられる仕組みになっています。これにより、使われなくなった端末のアドレスが放置されて枯渇するのを防いでいます。
試験でのポイント
試験対策としては、DHCPの役割「ネットワーク設定情報(IPアドレス、サブネットマスク、デフォルトゲートウェイ、DNSサーバーアドレスなど)を、接続してきた端末に自動で割り当てる」という基本機能を正確に答える問題が中心です。
技術的な詳細としては、接続確立の最初の一歩である「DHCP DISCOVER」パケットが、自身のアドレスを持たないため「ブロードキャスト」で送信される点や、貸し出す期間を示す「リース期間(リース時間)」の概念についての問題が頻出です。また、家庭内ルータの多くにはDHCPサーバー機能がデフォルトで内蔵されているため、特別なサーバー機器がなくても機能する実態についても知識として整理しておきましょう。
関連する用語
DHCPに関連する用語には、インターネット上の住所「IPアドレス」、外部への出口「デフォルトゲートウェイ」、名前解決を行う「DNS」、ネットワーク内の全機器へ送信する「ブロードキャスト」、貸出期限である「リース期間」などがあります。