こんにちは、エンジニアのryuです。
自宅や会社でWi-Fiへ接続すると、IPアドレスを手入力しなくてもインターネットを利用できます。なぜ、ネットワークの設定をしていないのに通信できるのでしょうか?
その裏側で動いているのがDHCPです。
DHCPは、パソコンやスマートフォンへIPアドレスなどのネットワーク設定を自動的に割り当てる仕組みです。端末が増えるたびに管理者が設定する必要がなくなり、IPアドレスの重複も防ぎやすくなります。
この記事では、DHCPの役割、DORAと呼ばれる4段階のやり取り、リース期間、DHCPリレー、IPアドレスを取得できない場合の確認方法まで解説します。
DHCPとは¶
DHCPは、Dynamic Host Configuration Protocolの略です。
ネットワークへ接続した端末に対して、通信に必要な設定を自動的に配布します。DHCPを提供する機器やソフトウェアがDHCPサーバー、設定を受け取る端末がDHCPクライアントです。
一般的な家庭では、Wi-FiルーターがDHCPサーバーの役割を持っています。会社では、ルーター、L3スイッチ、Windows Server、LinuxサーバーなどがDHCPを提供することがあります。
DHCPが自動設定する情報¶
端末がネットワークで通信するには、IPアドレスだけでなく複数の設定が必要です。
代表的な情報を整理すると、次のようになります。
| 設定項目 | 役割 | 設定例 |
|---|---|---|
| IPアドレス | ネットワーク上で端末を識別する | 192.168.10.20 |
| サブネットマスク | 同じネットワークの範囲を判断する | 255.255.255.0 |
| デフォルトゲートウェイ | 別ネットワークへ通信するときの出口 | 192.168.10.1 |
| DNSサーバー | ドメイン名をIPアドレスへ変換する | 192.168.10.1 |
| リース期間 | 設定を利用できる期間 | 8時間、1日など |
| ドメイン名など | 組織ごとに必要な追加情報 | example.local |
IPアドレスは端末の住所、サブネットマスクは同じネットワークの範囲、デフォルトゲートウェイは外部へ出るための窓口と考えると分かりやすいでしょう。
これらを一台ずつ手動設定することもできます。しかし、社員や端末が増えると作業量が大きくなり、同じIPアドレスを重複して設定するミスも起こります。
DHCPを使えば、利用可能な範囲から設定を自動配布できます。
IPアドレスとサブネットから確認したい方は、次の記事も参考にしてください。
【関連記事】IPアドレスとは?仕組み・種類・確認方法を初心者向けに解説
DHCPが必要な理由¶
自宅で新しいスマートフォンをWi-Fiへ接続するとき、通常はSSIDを選び、パスワードを入力するだけです。IPアドレスやDNSサーバーを入力することはほとんどありません。
これは、接続後にDHCPサーバーから設定を受け取っているためです。
DHCPを利用する主なメリットは、次のとおりです。
| メリット | 内容 |
|---|---|
| 設定作業を減らせる | 端末ごとの手入力が不要になる |
| IP重複を防ぎやすい | 管理された範囲からアドレスを配布する |
| 変更をまとめて反映できる | DNSやゲートウェイの変更を一元管理できる |
| 一時利用へ対応しやすい | 来客端末や持ち込みPCにも設定を配布できる |
| 空いたIPを再利用できる | リース終了後に別端末へ割り当てられる |
サーバーやネットワーク機器など、接続先のIPが変わると困る機器には固定IPを使うことがあります。利用者のPCやスマートフォンには、DHCPで動的に割り当てる構成が一般的です。
DHCPの仕組みを図で理解する¶
端末がDHCPサーバーから設定を受け取る流れは、4つのメッセージで説明できます。

頭文字を取って、DORAと呼ばれます。
| 順番 | メッセージ | 主な動作 |
|---|---|---|
| 1 | DHCP Discover | 利用できるDHCPサーバーを探す |
| 2 | DHCP Offer | サーバーが利用可能な設定を提案する |
| 3 | DHCP Request | クライアントが利用したい設定を要求する |
| 4 | DHCP ACK | サーバーが割り当てを確定する |
DHCPでは、主にUDPの67番ポートをサーバー、68番ポートをクライアントが使用します。
まだIPアドレスを持っていない端末が通信を始めるため、最初のやり取りではブロードキャストが使われます。
1. DHCP Discoverでサーバーを探す¶
端末がネットワークへ接続すると、利用できるDHCPサーバーを探します。

このとき送信するのがDHCP Discoverです。
端末は自分のIPアドレスもDHCPサーバーの場所も分からないため、同じネットワーク全体へブロードキャストします。ブロードキャストは、同じブロードキャストドメインにいる機器へまとめて送る通信です。
ルーターは通常、ブロードキャストを別ネットワークへそのまま転送しません。この点が、後ほど説明するDHCPリレーにつながります。
2. DHCP Offerで設定を提案する¶
DHCP Discoverを受け取ったDHCPサーバーは、利用可能なIPアドレスなどを提案します。

この応答がDHCP Offerです。
Offerには、IPアドレス、サブネットマスク、リース期間、DHCPサーバーの情報などが含まれます。ネットワーク構成やクライアントの状態により、ブロードキャストまたはユニキャストで送られます。
複数のDHCPサーバーが存在する場合、クライアントが複数のOfferを受け取ることもあります。
3. DHCP Requestで利用を要求する¶
クライアントは、提案された設定を利用したいことをDHCP Requestで伝えます。

最初の割り当てでは、どのDHCPサーバーの提案を選んだかを他のサーバーにも伝えるため、Requestがブロードキャストされることがあります。
選ばれなかったDHCPサーバーは、提案していたIPアドレスを別の端末へ利用できる状態に戻します。
4. DHCP ACKで割り当てを確定する¶
DHCPサーバーは、要求されたIPアドレスを正式に割り当てるため、DHCP ACKを返します。

クライアントはACKを受け取ると、IPアドレスやデフォルトゲートウェイなどを自分のネットワーク設定へ反映します。
要求を受け入れられない場合は、DHCP NAKが返ることもあります。たとえば、別ネットワークへ移動した端末が以前のIPアドレスを要求した場合などです。
DHCPのリース期間とは¶
DHCPで割り当てられるIPアドレスは、永久にその端末専用になるとは限りません。
端末は、リース期間と呼ばれる期限付きで設定を借ります。端末がネットワークから離れた後、そのIPアドレスを別の端末へ再利用できるようにするためです。
リース期間の途中では、クライアントがDHCP Requestを送って更新を試みます。
一般的には、リース期間の約50%が経過したT1で、最初に割り当てたDHCPサーバーへ更新を要求します。更新できない場合は、約87.5%が経過したT2で、利用可能なDHCPサーバーへ再バインドを試みます。
リースが切れるまで更新できなければ、端末はそのIPアドレスを使い続けられません。
DHCPのスコープ・除外・予約¶
DHCPサーバーでは、どのIPアドレスを配布するかを範囲で管理します。
この配布範囲は、製品によってスコープやプールと呼ばれます。
たとえば、192.168.10.100から192.168.10.200までをPCへ配布する構成が考えられます。
ネットワーク: 192.168.10.0/24
デフォルトGW: 192.168.10.1
DHCP配布範囲: 192.168.10.100 - 192.168.10.200
DNSサーバー: 192.168.10.10
ルーターやサーバーへ固定設定するIPは、DHCPの配布範囲から外しておきます。これが除外設定です。
また、端末のMACアドレスなどを登録し、特定の端末へ毎回同じIPを配布する予約機能もあります。プリンターや管理端末など、アドレスを固定したいものの、DHCPで一元管理したい場合に使われます。
別ネットワークのDHCPサーバーから取得するには¶
DHCP Discoverはブロードキャストであり、通常はルーターを越えません。
そのため、クライアントとDHCPサーバーが異なるネットワークにいる場合、そのままではDiscoverが届きません。
そこで利用するのがDHCPリレーエージェントです。
DHCPリレーエージェントとは¶
DHCPリレーエージェントは、クライアントのDHCPメッセージを別ネットワークのDHCPサーバーへ中継する機能です。
ルーターやL3スイッチなどに設定し、各VLANのDHCP要求を一か所のサーバーへ転送できます。

リレーエージェントは、要求を受け取ったインターフェースの情報を付けてDHCPサーバーへ転送します。DHCPサーバーは、その情報からどのネットワーク向けのアドレスを配布するか判断します。
Cisco系の機器では、インターフェースへ次のような設定を行います。
interface GigabitEthernet0/0
ip helper-address 192.168.100.10
具体的な動作やLinux・ルーターでの設定は、次の記事で解説しています。
【関連記事】DHCPリレーとは?別ネットワークへDHCPを中継する仕組み
DHCPでIPアドレスを取得できないときの確認方法¶
Wi-Fiには接続できたのに通信できない場合、DHCPから設定を受け取れていない可能性があります。
Windowsで169.254から始まるIPv4アドレスが表示される場合は、DHCPによる取得に失敗し、リンクローカルアドレスが自動設定されていることがあります。
確認する順番は次のとおりです。
| 順番 | 確認内容 |
|---|---|
| 1 | Wi-FiやLANケーブルが正しく接続されているか |
| 2 | ネットワークアダプターがDHCP自動取得になっているか |
| 3 | DHCPサーバーやルーターが起動しているか |
| 4 | 配布できるIPアドレスが残っているか |
| 5 | クライアントとサーバーが同じネットワークにいるか |
| 6 | 別ネットワークならDHCPリレーが設定されているか |
| 7 | VLANやファイアウォールでDHCP通信が遮断されていないか |
Windowsでは、次のコマンドで現在の設定を確認できます。
ipconfig /all
IPアドレスを解放し、再取得する場合は次のように実行します。
ipconfig /release
ipconfig /renew
Linuxでは、利用しているネットワーク管理ソフトによって操作方法が異なります。まずip addressやip routeで現在の設定を確認しましょう。
エンジニア歴10年の経験でも、DHCP障害ではいきなりサーバー設定を書き換えず、物理接続、VLAN、クライアント設定、リレー、配布範囲の順番で確認することが大切です。
DHCPを手を動かして学ぶ¶
DHCPはDORAの名称を覚えるだけでは、実際のネットワーク障害へ対応できません。
クライアント、スイッチ、ルーター、DHCPサーバーの位置を図にし、どこまでブロードキャストが届くのかを考える必要があります。
InfraAcademyのネットワーク講座では、IPアドレスとサブネットから、ルーティング、VLAN、NAT、ACLまで順番に学べます。
独自のネットワークシミュレーターでPC、スイッチ、ルーターを配置し、IPアドレスや配線を設定して疎通を確認できます。ネットワークの後は、Linux上でDHCPサーバーを構築する講座へ進むことも可能です。
【関連記事】ネットワーク学習ロードマップ|IPアドレスからルーティングまで
法人研修でDHCPとネットワークを実践的に学ぶ¶
未経験者向け研修では、DHCPはIPアドレスを自動配布する仕組みと暗記して終わりがちです。
しかし実務では、端末がIPを取得できない、別VLANだけ通信できない、配布範囲が不足したといった問題を切り分ける必要があります。
InfraAcademy法人プランでは、ネットワーク、Linux、サーバー構築、AWS、セキュリティなどを一つのサービスで学べます。
受講者は教材、シミュレーター、練習問題を利用でき、管理者は進捗率、最終学習日、正答率を確認できます。新人研修、配属前研修、待機期間中の学習にも活用できます。
5IDから利用でき、5IDの場合は月額30,800円・税別です。最新の機能と料金は法人プランページで確認してください。
まとめ¶
DHCPは、パソコンやスマートフォンへIPアドレスなどのネットワーク設定を自動配布する仕組みです。
端末とDHCPサーバーは、Discover、Offer、Request、ACKの順番でやり取りします。この4段階はDORAと呼ばれます。
割り当てられたIPアドレスにはリース期間があり、端末は期限が切れる前に更新を試みます。
また、DHCPサーバーが別ネットワークにある場合は、ルーターやL3スイッチのDHCPリレーを使ってメッセージを中継します。
まずは自分のパソコンでIPアドレスやDHCPサーバーを確認してみましょう。その後、シミュレーターやLinux環境で構築すると、DHCPとネットワークの関係を実践的に理解できます。