この記事は、 「ネットワーク初級編|通信の仕組みをゼロから学ぶ」 の第22回です。
パソコンやスマートフォンへIPアドレスなどの情報を自動設定する、 DHCPの基本的な仕組みを学びます。
DHCPとは?IPアドレスが自動設定される仕組みを初心者向けに図解
パソコンやスマートフォンをネットワークへ接続すると、 多くの場合はIPアドレスを手動で入力しなくても通信を始められます。 これは、DHCPという仕組みが必要なネットワーク情報を自動的に設定しているためです。 この記事では、DHCPで配布される情報やDORAと呼ばれる通信の流れ、 リース期間、障害時の確認方法を初心者向けに解説します。
自宅のWi-Fiにスマートフォンを接続するとき、 通常はIPアドレス、サブネットマスク、デフォルトゲートウェイ、 DNSサーバーのアドレスを一つずつ入力する必要はありません。
ネットワークへ接続した端末が 「使ってよいIPアドレスをください」と問い合わせ、 DHCPサーバーが必要な設定情報をまとめて渡しているためです。
DHCPの仕組みを理解すると、 「Wi-Fiにはつながっているのに通信できない」 「169.254から始まるIPアドレスになっている」 といったトラブルの原因を考えられるようになります。
この記事を読み終えるとできること
- DHCPの役割を説明できる
- DHCPで配布される主な情報を挙げられる
- DORAの4段階を正しい順番で説明できる
- UDPポート67番と68番の役割を区別できる
- リース期間と更新の必要性を説明できる
- DHCP障害の基本的な確認順序を考えられる
DHCPとは何か
DHCPとは、ネットワークへ接続した端末に対して、 IPアドレスなどの通信に必要な情報を自動的に設定する仕組みです。
DHCPは、 Dynamic Host Configuration Protocol の略です。
日本語では「動的ホスト構成プロトコル」などと訳されますが、 最初は ネットワーク設定を自動配布する仕組み と覚えれば十分です。
DHCPを利用する端末を DHCPクライアント、 設定情報を配布する機器を DHCPサーバー と呼びます。
DHCPの基本的な役割
DHCPサーバー:「このIPアドレスと設定を使用してください」
DHCPはIPアドレスそのものではありません。
DHCPは、IPアドレスをはじめとするネットワーク設定を、 端末へ自動的に渡すためのプロトコルです。
なぜDHCPが必要なのか
DHCPを使わない場合、ネットワークへ接続するすべての端末に対して、 管理者や利用者がIPアドレスなどを手動で設定しなければなりません。
手動設定の場合
- 端末ごとにIPアドレスを入力する
- サブネットマスクを入力する
- デフォルトゲートウェイを入力する
- DNSサーバーを入力する
- ほかの端末と重複しないように管理する
DHCPを使う場合
- 端末をネットワークへ接続する
- DHCPサーバーへ自動的に問い合わせる
- 空いているIPアドレスを受け取る
- 必要な設定がまとめて反映される
- 利用者はすぐに通信を始められる
手動設定だけでは管理が難しい
端末が2台や3台だけであれば、 手動設定でも大きな問題は起きにくいかもしれません。
しかし、会社のネットワークに数百台のパソコンやスマートフォンが接続される場合、 すべてを手動で設定するのは現実的ではありません。
また、同じIPアドレスを複数の端末へ誤って設定すると、 IPアドレスの重複が発生し、 通信が不安定になったり、通信できなくなったりします。
DHCPを使う主な目的
- 端末のネットワーク設定を自動化する
- IPアドレスの重複を防ぐ
- 利用されていないIPアドレスを再利用する
- デフォルトゲートウェイやDNSサーバーを一括変更する
- 端末追加時の作業負担を減らす
DHCPで自動設定される情報
DHCPが配布するのは、IPアドレスだけではありません。 ネットワーク通信に必要な複数の情報を、まとめて端末へ設定できます。
IPアドレス
ネットワーク上で端末を識別するためのアドレスです。
サブネットマスク
同じネットワークと異なるネットワークを判断するために使用します。
デフォルトゲートウェイ
自分とは異なるネットワークへ通信するときの出口です。
DNSサーバー
ドメイン名から接続先のIPアドレスを調べるために使用します。
そのほかにも、環境によっては次のような情報を配布できます。
- IPアドレスを使用できる期間
- ドメイン名
- NTPサーバー
- 特定用途のサーバー情報
- 機器の起動に必要なサーバーやファイルの情報
DHCPオプションとは
DHCPで配布する各種情報は、 DHCPオプションとして扱われます。
| 主なオプション | 配布する情報 | 役割 |
|---|---|---|
| Option 1 | サブネットマスク | ネットワーク部とホスト部を判断する |
| Option 3 | デフォルトゲートウェイ | 異なるネットワークへの出口を指定する |
| Option 6 | DNSサーバー | 名前解決に使用するサーバーを指定する |
| Option 51 | リース時間 | IPアドレスを使用できる期間を指定する |
| Option 54 | DHCPサーバー識別子 | 応答したDHCPサーバーを識別する |
初級段階では、オプション番号を暗記する必要はありません。
DHCPは IPアドレスだけでなく、通信に必要な複数の設定を配布する と理解することが重要です。
DORAで理解するDHCPの流れ
端末が最初にIPアドレスを取得するときは、 主に4段階のメッセージをやり取りします。
4つのメッセージの頭文字を並べて、 DORAと呼びます。
1.DHCP Discover
ネットワークへ接続した端末は、最初は自分が使用するIPアドレスも、 DHCPサーバーがどこにいるのかも分かりません。
そこで、 「利用できるDHCPサーバーはありませんか」 というDHCP Discoverメッセージを送信します。
DHCP Discover
宛先となるDHCPサーバーのIPアドレスが分からないため、 最初の問い合わせではブロードキャストが使われます。
2.DHCP Offer
DHCP Discoverを受信したDHCPサーバーは、 利用可能なIPアドレスを確認します。
そして端末へ、 「このIPアドレスと設定を使用できます」 というDHCP Offerを返します。
DHCP Offerには、IPアドレスだけでなく、 サブネットマスク、デフォルトゲートウェイ、 DNSサーバー、リース期間などの候補が含まれます。
3.DHCP Request
端末は、受け取った提案の中から使用したい設定を選び、 DHCP Requestを送信します。
これは、 「提案されたIPアドレスを使用させてください」 という要求です。
ネットワーク内に複数のDHCPサーバーが存在する場合、 端末がどのDHCPサーバーの提案を選んだのかを知らせる役割もあります。
4.DHCP ACK
DHCPサーバーは、要求されたIPアドレスを端末へ割り当て、 DHCP ACKを返します。
ACKはAcknowledgementの略で、 「その設定を使用してよいことを確認しました」 という意味です。
DHCP ACKを受け取った端末は、受信した設定を反映し、 ネットワーク通信を開始します。
-
Discover
端末がDHCPサーバーを探します。
-
Offer
DHCPサーバーが使用可能なIPアドレスと設定を提案します。
-
Request
端末が提案された設定の使用を要求します。
-
ACK
DHCPサーバーが使用を正式に許可し、設定が完了します。
DORAの覚え方
探す → 提案される → 要求する → 許可される
DHCP Discover → DHCP Offer → DHCP Request → DHCP ACK
DHCP通信の宛先とポート番号
DHCPでは、トランスポート層のプロトコルとして UDPを使用します。
| 役割 | UDPポート番号 |
|---|---|
| DHCPサーバー | UDP 67番 |
| DHCPクライアント | UDP 68番 |
最初のDHCP Discoverを送信する時点では、 端末はまだ自分のIPアドレスを持っていません。
そのため、初回の問い合わせでは一般的に次の情報が使われます。
| 項目 | 主な値 | 意味 |
|---|---|---|
| 送信元IPアドレス | 0.0.0.0 | まだ自分のIPアドレスを持っていない |
| 宛先IPアドレス | 255.255.255.255 | 同じネットワーク内へブロードキャストする |
| 送信元ポート | UDP 68 | DHCPクライアントが使用する |
| 宛先ポート | UDP 67 | DHCPサーバーが待ち受ける |
DHCP Discoverの通信イメージ
DHCP OfferやDHCP ACKは、 端末の状態や通信方式によってブロードキャストまたはユニキャストで送られる場合があります。
初級段階では、 IPアドレスを持たない端末がサーバーを探すためにブロードキャストを使う ことを理解できれば十分です。
リース期間と更新の仕組み
DHCPで割り当てられたIPアドレスは、 多くの場合、端末が永久に使用できるわけではありません。
DHCPサーバーは、 一定期間だけIPアドレスを貸し出す という考え方で管理します。
この貸し出し期間を リース期間 と呼びます。
IPアドレスのリース
なぜ貸し出し方式にするのか
スマートフォンやノートパソコンは、 常に同じネットワークへ接続しているとは限りません。
一度接続しただけの端末へIPアドレスを永久に確保すると、 利用できるIPアドレスが不足する可能性があります。
リース期間が終了したアドレスを再利用することで、 限られたIPアドレスを効率よく管理できます。
リース期間中に更新する
端末がネットワークへ接続し続ける場合は、 リース期間が完全に終了する前に更新を要求します。
DHCP ACKで受け取った設定を使用します。
DHCPサーバーへ継続利用を要求します。
DHCP ACKを受け取り、リース期間が更新されます。
標準的な動作では、リース期間のおよそ50%が経過した時点で、 最初の更新を試みます。
そのDHCPサーバーから応答がない場合は、 リース期間のおよそ87.5%が経過した時点で、 ほかのDHCPサーバーも含めて再度取得を試みます。
ただし、実際の更新タイミングは設定や実装によって異なる場合があります。
リースを更新できないまま有効期限を迎えた場合、 端末は原則として、そのIPアドレスを使い続けることができません。
その結果、ネットワーク通信ができなくなる場合があります。
DHCPサーバーはどこにあるのか
DHCPサーバーという名前から、 専用の大きなサーバー機器を想像するかもしれません。
しかし、DHCP機能を提供できる機器やソフトウェアであれば、 必ずしも専用サーバーである必要はありません。
自宅の場合
多くの場合、家庭用のWi-FiルーターがDHCPサーバーとして動作します。
スマートフォンやパソコンをWi-Fiへ接続すると、 Wi-FiルーターからIPアドレスなどを受け取ります。
会社の場合
ルーター、ファイアウォール、L3スイッチ、 Windows Server、Linuxサーバーなどが、 DHCPサーバーとして動作する場合があります。
拠点やVLANごとに、配布するアドレス範囲や設定を分けることもあります。
DHCPプールとは
DHCPサーバーは、 端末へ配布してよいIPアドレスの範囲を設定しています。
この配布用のアドレス範囲を、 DHCPプールや アドレスプール と呼びます。
DHCPプールの例
配布範囲:192.168.1.100 ~ 192.168.1.200
デフォルトゲートウェイ:192.168.1.1
DNSサーバー:192.168.1.10
ルーター、サーバー、プリンターなど、 IPアドレスを固定して使用したい機器がある場合は、 DHCPの配布範囲から除外することがあります。
DHCPはIPアドレスを無作為に決めているわけではありません。
管理者が設定したアドレスプールの中から、 利用可能なIPアドレスを選んで端末へ割り当てます。
ルーターを越える場合のDHCPリレー
DHCP Discoverではブロードキャストを使用します。
しかし、通常のルーターは、 受信したブロードキャストをそのまま別のネットワークへ転送しません。
そのため、端末とDHCPサーバーが異なるネットワークに存在する場合、 そのままでは端末からのDHCP Discoverがサーバーへ届きません。
DHCPサーバーが別ネットワークにある構成
このような構成では、 ルーターやL3スイッチが端末からのDHCPメッセージを受け取り、 DHCPサーバーへ中継します。
この仕組みを DHCPリレー と呼びます。
DHCPリレーの具体的な設定や詳しい動作は、 ネットワーク中級編で扱います。
初級段階では、 ブロードキャストは通常ルーターを越えないため、中継機能が必要になる と理解してください。
WindowsでDHCPの情報を確認する方法
Windowsでは、コマンドプロンプトから
ipconfigコマンドを実行すると、
端末へ設定されているネットワーク情報を確認できます。
基本情報を確認する
より詳しい情報を確認するときは、
/allオプションを付けます。
出力例は次のとおりです。
DHCP Enabled
DHCPによる自動設定が有効かどうかを確認できます。
IPv4 Address
DHCPなどによって設定されたIPv4アドレスを確認できます。
DHCP Server
IPアドレスを配布したDHCPサーバーを確認できます。
Lease Obtained/Expires
リースを取得した時刻と、有効期限を確認できます。
IPアドレスを解放する
現在使用しているDHCPのIPアドレスを解放します。 実行すると、一時的にネットワーク通信ができなくなります。
IPアドレスを再取得する
DHCPサーバーへ問い合わせ、 IPアドレスなどの設定を再取得します。
業務用パソコンやリモート接続中の端末で
ipconfig /releaseを実行すると、
通信が切断される可能性があります。
実行する前に、影響と復旧方法を確認してください。
IPアドレスを取得できないときの切り分け
DHCPから正しい情報を取得できない場合、 端末はネットワークへ正常に接続できません。
問題が起きたときは、 DHCPサーバーだけをすぐに疑うのではなく、 端末からサーバーまでの経路を順番に確認します。
DHCPが有効か
ケーブル・Wi-Fi
VLAN・SSID
リレー・フィルター
プール・サービス
1.端末でDHCPが有効になっているか
端末に固定IPアドレスが設定されている場合、 DHCPサーバーへ問い合わせません。
Windowsでは、 IPv4の設定が 「IPアドレスを自動的に取得する」 になっているか確認します。
2.ケーブルやWi-Fiが接続されているか
LANケーブルが抜けている、 Wi-Fiが無効になっている、 電波が届いていないといった状態では、 DHCP Discoverを送信できません。
3.正しいVLANやSSIDへ接続しているか
会社のネットワークでは、 接続するポートやSSIDによって所属するネットワークが変わる場合があります。
誤ったVLANやゲスト用SSIDへ接続していると、 想定したDHCPサーバーから設定を取得できません。
4.DHCPリレーや通信制御に問題がないか
DHCPサーバーが別ネットワークにある場合は、 ルーターやL3スイッチのDHCPリレー設定が必要です。
また、ファイアウォールやACLなどで、 DHCPに使用するUDP 67番・68番が遮断されている可能性もあります。
5.DHCPサーバーが動作しているか
DHCPサーバーのサービス停止、設定ミス、 アドレスプールの枯渇などを確認します。
アドレスプールのすべてのIPアドレスが使用中の場合、 新しい端末へ割り当てるIPアドレスがありません。
169.254から始まるIPアドレスになっている
Windows端末でDHCPからIPアドレスを取得できなかった場合、
169.254.x.xのようなアドレスが自動設定されることがあります。
これは、IPv4リンクローカルアドレスであり、 WindowsではAPIPAと呼ばれる仕組みによって設定されます。
169.254.x.xが設定されている場合の代表的な意味
端末は物理的または無線で接続されていても、 DHCPサーバーから正常なIPアドレスを取得できていない可能性があります。
169.254から始まるアドレス同士で、 同じネットワーク内の限定的な通信ができる場合はあります。
しかし、通常はデフォルトゲートウェイやDNSサーバーが設定されないため、 インターネットや社内の別ネットワークへは接続できません。
現場で確認する基本手順
ipconfig /allで現在の設定を確認する- DHCPが有効になっているか確認する
- 169.254から始まるアドレスではないか確認する
- ケーブル、リンクランプ、Wi-Fi接続を確認する
- 正しいVLANやSSIDへ接続しているか確認する
- ほかの端末も同じ症状か確認する
- DHCPサーバーやアドレスプールの状態を確認する
- 必要に応じてDHCPリレーや通信制御を確認する
1台だけ取得できない場合
端末の設定、ケーブル、無線接続、端末固有の問題を優先して確認します。
同じネットワークの複数端末が取得できない場合
DHCPサーバー、DHCPリレー、VLAN、アドレスプールなど、 共通部分の問題を優先して確認します。
DHCPに関するよくある勘違い
DHCPでは、IPアドレスのほかに、 サブネットマスク、デフォルトゲートウェイ、 DNSサーバー、リース期間なども配布できます。
DHCPのIPアドレスには通常リース期間があります。 端末は期限が切れる前に更新を行います。
自宅ではWi-FiルーターがDHCPサーバーとして動作することが一般的です。 会社ではルーター、ファイアウォール、L3スイッチ、 Windows Serverなどが担当する場合があります。
Wi-Fiの無線接続が成功しても、 DHCPサーバーやDHCPリレーに問題があれば、 正しいIPアドレスを取得できません。
多くの場合、DHCPサーバーから正常なIPアドレスを取得できず、 端末がリンクローカルアドレスを自動設定した状態です。
DHCPを使うことで、端末ごとの手動設定を減らし、 IPアドレスの重複防止や再利用を行いやすくなります。
理解度チェック
記事の内容を確認するため、次の5問に答えてください。 解答を見る前に、一度自分で考えてみましょう。
問題1.DHCPの役割として最も適切なものはどれですか。
- ドメイン名からIPアドレスを検索する
- 端末へIPアドレスなどのネットワーク設定を自動配布する
- 異なるネットワーク間でパケットを転送する
- Web通信を暗号化する
解答を見る
DHCPは、ネットワークへ接続した端末へ、 IPアドレス、サブネットマスク、デフォルトゲートウェイ、 DNSサーバーなどを自動設定する仕組みです。
問題2.DORAの正しい順番はどれですか。
- Discover → Offer → Request → ACK
- Discover → Request → Offer → ACK
- Offer → Discover → ACK → Request
- Request → Discover → Offer → ACK
解答を見る
端末がサーバーを探し、サーバーが設定を提案し、 端末が使用を要求し、サーバーが正式に許可します。
問題3.DHCPサーバーとDHCPクライアントが使用するUDPポート番号を答えてください。
解答を見る
- DHCPサーバー:UDP 67番
- DHCPクライアント:UDP 68番
問題4.DHCPで配布できる情報を、IPアドレス以外に3つ挙げてください。
解答を見る
例として、サブネットマスク、デフォルトゲートウェイ、 DNSサーバー、リース期間などがあります。
問題5.Windows端末に169.254から始まるIPアドレスが設定されています。 何が起きている可能性がありますか。
解答を見る
DHCPサーバーから正常なIPアドレスを取得できず、 端末がIPv4リンクローカルアドレスを自動設定した可能性があります。
ケーブルやWi-Fi、VLAN、DHCPサーバー、 DHCPリレーなどを確認します。
実践演習:DHCPでIPアドレスを取得できない原因を考えよう
次のネットワークで、PC-Aが正常にIPアドレスを取得できません。 構成と確認結果から、原因候補を考えてください。
演習用ネットワーク
PC-Aの確認結果
追加情報
- LANケーブルは接続されている
- スイッチのリンクランプは点灯している
- PC-AはVLAN 10へ接続されている
- DHCPサーバーは別ネットワークの192.168.100.0/24に存在する
- DHCPサーバーのサービスは起動している
課題1.現在の状態を説明する
PC-Aに169.254.35.18が設定されていることから、 どのような状態だと判断できますか。
課題1の解答を見る
PC-AはDHCPサーバーから正常なIPアドレスを取得できず、 IPv4リンクローカルアドレスを自動設定したと判断できます。
DHCPは有効ですが、DORAのやり取りが完了していない可能性があります。
課題2.原因候補を挙げる
PC-AとDHCPサーバーは異なるネットワークに存在します。 考えられる原因を3つ以上挙げてください。
課題2の解答例を見る
- ルーターにDHCPリレーが設定されていない
- DHCPリレーの転送先IPアドレスが誤っている
- VLAN 10のルーターインターフェースが停止している
- DHCP用のUDP 67番・68番が通信制御で遮断されている
- DHCPサーバーにVLAN 10用のアドレスプールがない
- VLAN 10用アドレスプールのIPアドレスが枯渇している
- DHCPサーバーからVLAN 10への戻り経路がない
課題3.確認順序を考える
次の確認項目を、実施したい順番に並べてください。
- DHCPサーバーのアドレスプールを確認する
- PC-AでDHCPが有効か確認する
- ケーブルとリンク状態を確認する
- PC-Aが正しいVLANへ接続されているか確認する
- ルーターのDHCPリレー設定を確認する
2.____________________
3.____________________
4.____________________
5.____________________
課題3の解答例を見る
- PC-AでDHCPが有効か確認する
- ケーブルとリンク状態を確認する
- PC-Aが正しいVLANへ接続されているか確認する
- ルーターのDHCPリレー設定を確認する
- DHCPサーバーのアドレスプールを確認する
必ずしもこの順番だけが正解ではありませんが、 端末に近い場所や簡単に確認できる項目から、 共通設備へ範囲を広げると整理しやすくなります。
課題4.調査結果を報告する
ルーターのDHCPリレー設定が未設定だったとします。 調査結果を、上司や担当者へ簡潔に報告してください。
確認結果:
原因:
対応:
報告例を見る
現象: VLAN 10へ接続したPCがDHCPからIPアドレスを取得できず、 169.254から始まるアドレスになっていました。
確認結果: PCのDHCP設定、ケーブル接続、スイッチポートのVLAN設定、 DHCPサーバーの稼働状態は正常でした。
原因: VLAN 10の端末から別ネットワークのDHCPサーバーへ メッセージを中継するDHCPリレー設定が、 ルーターに設定されていませんでした。
対応: DHCPリレー設定を追加し、 PCでIPアドレスを再取得したところ、 正常なアドレスを取得できることを確認しました。
自分の言葉で説明する課題
最後に、次の質問へ自分の言葉で答えてください。
「Wi-Fiへ接続しただけで、なぜIPアドレスを手動入力せずに インターネットを利用できるのですか?」 と質問されました。30秒程度で説明してください。
説明例を見る
Wi-Fiへ接続した端末は、DHCPという仕組みを使って、 ネットワーク内のDHCPサーバーへ設定情報を要求します。
DHCPサーバーからIPアドレス、サブネットマスク、 デフォルトゲートウェイ、DNSサーバーなどを自動的に受け取るため、 利用者が一つずつ入力しなくても通信を始められます。
模範解答と同じ文章である必要はありません。
「DHCPサーバーへ要求する」 「IPアドレスなどを受け取る」 「自動的に設定される」 という3点を説明できれば、この記事の目標は達成です。
まとめ
- DHCPは、端末へIPアドレスなどのネットワーク設定を自動配布する仕組み
- DHCPクライアントが設定を要求し、DHCPサーバーが設定を配布する
- IPアドレス、サブネットマスク、デフォルトゲートウェイ、 DNSサーバーなどをまとめて設定できる
- 初回の取得はDiscover、Offer、Request、ACKの順番で進み、 頭文字を取ってDORAと呼ぶ
- DHCPサーバーはUDP 67番、 DHCPクライアントはUDP 68番を使用する
- IPアドレスにはリース期間があり、 端末は期限が切れる前に更新を試みる
- DHCP Discoverはブロードキャストを使うため、 DHCPサーバーが別ネットワークにある場合はDHCPリレーが必要になる
- Windowsで169.254から始まるIPアドレスが設定されている場合、 DHCPから正常なIPアドレスを取得できていない可能性がある
- 障害時は、端末設定、物理接続、VLAN、通信経路、 DHCPサーバーの順に範囲を分けて確認する
DHCPは、端末をネットワークへ接続したときの設定作業を自動化し、 多数のIPアドレスを効率的に管理するための重要な仕組みです。
初級編では、ネットワークの全体像からIPアドレス、DNS、DHCP、 NAT、基本コマンド、障害切り分けまでを順番に学びます。

コメント
コメント一覧 (1件)
[…] DHCPの仕組み […]