DHCPとは?IPアドレス自動割り当ての仕組み・DORAを図解で解説

  • URLをコピーしました!

前の記事では、 DNSを使ってドメイン名からIPアドレスを調べる名前解決 について学びました。

ここまでのネットワーク初級講座では、 IPアドレス、サブネットマスク、MACアドレス、ARP、DNSなど、 通信に必要なさまざまな仕組みを学習してきました。

ところで、PCがネットワークへ接続するためには、 少なくとも次のような情報が必要になります。

IP IPアドレス
MASK サブネットマスク
GW デフォルトゲートウェイ
DNS DNSサーバー

しかし、自宅で新しいPCやスマートフォンをWi-Fiへ接続するとき、 これらを毎回手入力しているわけではありません。

IPアドレスやDNSサーバーなどの設定は、
誰が自動的に設定しているのでしょうか?

その役割を担っているのが DHCP(Dynamic Host Configuration Protocol)です。

🌐 NETWORK BEGINNER

この記事はネットワーク初級講座の一部です。 学習順を確認したい場合は講座一覧から確認できます。

ネットワーク初級講座を見る →
LESSON GOAL この記事のゴール

DHCPという用語を覚えるだけではなく、 「ネットワークへ接続した端末が、 DHCP Discover → Offer → Request → ACKの流れで ネットワーク設定を取得する」 ことを説明できる状態を目指します。

目次

DHCPとは?

DHCP(Dynamic Host Configuration Protocol)とは、 PCやスマートフォンなどの端末へ、 IPアドレスなどのネットワーク設定を自動的に配布するためのプロトコル です。

🖥️ DHCP Server ネットワーク設定を配布
💻 PC 自動設定
📱 Smartphone 自動設定
DHCP=ネットワーク設定の自動配布

初学者の段階では、 DHCPを 「端末へIPアドレスなどを自動的に設定する仕組み」 と理解すると分かりやすくなります。

DHCPがないとどうなる?

DHCPを使わない場合、 ネットワーク管理者や利用者が端末へ手動でIPアドレスなどを設定できます。

MANUAL CONFIGURATION
IP Address 192.168.1.10
Subnet Mask 255.255.255.0
Gateway 192.168.1.1
DNS 192.168.1.1

端末が数台なら手動設定でも管理できます。

しかし、数十台、数百台の端末へ 1台ずつ設定するのは非常に大変です。

さらに、 同じIPアドレスを複数端末へ設定してしまうと IPアドレス重複の原因にもなります。

MANUAL 手動設定

管理者が1台ずつ設定。 小規模環境では利用可能だが、 台数が増えると管理負担が大きい。

DHCP 自動設定

DHCPサーバーが利用可能な設定を 自動的に端末へ配布。

DHCPでは何が配布される?

DHCPというと 「IPアドレスを配る仕組み」 というイメージが強いですが、 IPアドレス以外の情報も配布できます。

01 IPアドレス 192.168.1.100
02 サブネットマスク 255.255.255.0
03 デフォルトゲートウェイ 192.168.1.1
04 DNSサーバー 192.168.1.1

そのため、端末をネットワークへ接続するだけで、 通信に必要な設定をまとめて受け取ることができます。

DHCPサーバーはどこにある?

DHCPサーバーは、 必ず専用の物理サーバーでなければならないわけではありません。

たとえば家庭用ネットワークでは、 Wi-FiルーターがDHCPサーバーとして動作 していることがよくあります。

🌐 Internet
📡 Wi-Fi Router DHCP Server
→ 💻 PC
→ 📱 Smartphone
→ 🎮 Game Console

企業ネットワークでは、 Windows Serverやネットワーク機器、 専用のDHCPサーバーなどが役割を担う場合があります。

DHCPの基本:DORAを理解しよう

新しくネットワークへ接続した端末が DHCPサーバーから設定を取得する代表的な流れは、 次の4ステップです。

D Discover DHCPサーバーを探す
O Offer IPアドレスを提案
R Request 利用したいと要求
A ACK 利用を承認

頭文字を取って DORA と呼ばれます。

STEP 1:DHCP Discover ― DHCPサーバーを探す

ネットワークへ接続したばかりの端末は、 まだ自分のIPv4アドレスを持っていません。

さらに、 DHCPサーバーがどこにいるのかも分かりません。

そこで端末は DHCP Discover を送信して、 利用可能なDHCPサーバーを探します。

DHCP DISCOVER 「DHCPサーバーはいますか?」

「ネットワーク設定をください」

💻 Client IP未設定
Broadcast
🖥️ DHCP Server

クライアントはDHCPサーバーのIPアドレスをまだ知らないため、 Discoverではブロードキャストが利用されます。

STEP 2:DHCP Offer ― DHCPサーバーが設定を提案する

DHCP Discoverを受信したDHCPサーバーは、 利用可能なIPアドレスなどを選び、 クライアントへ DHCP Offer を返します。

DHCP OFFER 「192.168.1.100を使いませんか?」

Mask:255.255.255.0
Gateway:192.168.1.1
DNS:192.168.1.1

DHCP POOL
AVAILABLE 192.168.1.100
AVAILABLE 192.168.1.101
AVAILABLE 192.168.1.102

DHCPサーバーは、 あらかじめ設定されたアドレス範囲から 利用可能なIPアドレスを選びます。

STEP 3:DHCP Request ― クライアントが利用を要求する

クライアントはDHCP Offerを受け取ると、 提示された設定を利用したいことを DHCP Request で通知します。

DHCP REQUEST 「192.168.1.100を使います」

提案された設定を利用したいことを通知

STEP 4:DHCP ACK ― DHCPサーバーが割り当てを承認する

最後にDHCPサーバーが DHCP ACK(Acknowledgement) を返します。

DHCP ACK 「192.168.1.100を使用してOKです」

ネットワーク設定の割り当て完了

これでクライアントに必要な設定が適用され、 通常のIP通信を開始できるようになります。

CLIENT CONFIGURED
IP 192.168.1.100
MASK 255.255.255.0
GW 192.168.1.1
DNS 192.168.1.1

DORAの流れをまとめて確認しよう

D Discover

DHCPサーバーを探す

O Offer

利用可能な設定を提案

R Request

設定を利用したいと通知

A ACK

割り当てを正式に承認

DHCPの基本はDORA

Discover → Offer → Request → ACK の順番を、役割とセットで理解しておきましょう。

DHCPは何番ポートを使う?

DHCPではUDPを使用し、 サーバーとクライアントで異なるポート番号を利用します。

DHCP SERVER UDP 67
DHCP CLIENT UDP 68
覚え方

DHCPサーバー:UDP 67
DHCPクライアント:UDP 68

DHCPのIPアドレスは永久にもらえるわけではない

DHCPによるIPアドレスの割り当ては、 通常 一定期間だけ利用する仕組み になっています。

この利用期間を リース(Lease) と呼びます。

ASSIGNED 192.168.1.100
LEASE 一定期間
RENEW 更新

クライアントは、 リース期間が切れる前にDHCPサーバーへ 更新を要求します。

この仕組みによって、 使用されなくなったIPアドレスを 別の端末へ再利用できます。

DHCPでは配布するIPアドレス範囲を決めておく

DHCPサーバーでは通常、 端末へ配布するIPアドレスの範囲を設定します。

DHCP SCOPE 192.168.1.100 192.168.1.200

このような配布範囲は、 DHCPスコープやアドレスプールなどと呼ばれます。

ルーターやサーバーなど、 常に同じIPアドレスを使いたい機器については、 DHCP配布範囲から外して固定設定する設計もあります。

DHCPサーバーが別ネットワークにある場合はどうする?

DHCP Discoverはブロードキャストで送信されます。

しかし通常、 ルーターはL2ブロードキャストを そのまま別ネットワークへ転送しません。

💻 Client VLAN 10
📡 Router Broadcastは通常越えない
🖥️ DHCP Server 別Network

企業ネットワークでは、 DHCPサーバーを1か所へ集約したいことがあります。

そこで利用されるのが DHCPリレー(DHCP Relay) です。

💻 Client
📡 DHCP Relay DHCP通信を中継
🖥️ DHCP Server
初級ではここまででOK

DHCPサーバーとクライアントが別ネットワークにいる場合、 DHCPリレーによってDHCP通信を中継できる と理解しておきましょう。

ここで実際に動かしてみよう:DHCP DORAシミュレーター

ネットワークへ接続したPCが IPアドレスを取得するまでを順番に確認してみましょう。

INTERACTIVE LAB

DHCP DORA Simulator

DHCP
💻 Client IP:未設定
🖥️ DHCP Server 192.168.1.1
D Discover
O Offer
R Request
A ACK
DHCP DISCOVER

DHCPサーバーを探す

クライアントはまだIPアドレスを持っていません。 DHCPサーバーの場所も分からないため、 DHCP Discoverを送信してDHCPサーバーを探します。

Client → Broadcast:「DHCP Serverはいますか?」

理解度チェック:DHCPで配布できる情報を確認しよう

項目をクリックすると、 DHCPでどのように利用される情報なのか確認できます。

IP ADDRESS

端末自身のIPアドレス

DHCPサーバーのアドレスプールから、 クライアントへ利用可能なIPアドレスを割り当てます。

DHCPで取得した設定はPCから確認できる

実際の端末でも、 現在設定されているIPアドレスやDHCP関連情報を確認できます。

Windowsの場合

Windows
C:\> ipconfig /all

環境によって、 IPアドレス、サブネットマスク、 デフォルトゲートウェイ、DNSサーバー、 DHCPサーバーなどを確認できます。

DHCPで設定を再取得する

C:\> ipconfig /release
C:\> ipconfig /renew

ipconfig /releaseで現在のDHCP割り当てを解放し、 ipconfig /renewでDHCPサーバーから再取得できます。

DHCPでIPアドレスを取得できないとどうなる?

Windows環境でDHCPからIPv4アドレスを取得できない場合、 状況によっては 169.254.x.x のようなアドレスが設定されることがあります。

CHECK 169.254.x.x

DHCPから正常にIPv4設定を取得できていない可能性を 疑う手がかりの一つ

これは APIPA(Automatic Private IP Addressing) と呼ばれる仕組みに関係します。

そのためトラブルシューティングで 169.254.x.xを見つけた場合は、 DHCPサーバーへ到達できているかなどを確認するきっかけになります。

DHCP障害ではどこを確認する?

CASE 01 DHCPサーバーへ到達できる?

DHCPサーバーやDHCPリレー、 VLANなどの構成を確認します。

CASE 02 アドレスプールが枯渇していない?

配布可能なIPアドレスが残っているか確認します。

CASE 03 正しい設定が配布されている?

GatewayやDNSサーバーなど、 DHCPオプションが正しいか確認します。

ネットワーク初級で学んだ内容を一本につなげよう

DHCPまで理解すると、 PCがネットワークへ接続してWebサイトを見るまでの流れを かなり具体的に追えるようになります。

01 DHCP IP・Mask・GW・DNSを取得
02 DNS ドメイン名 → IP
03 IP + Subnet Mask 同一 / 別Networkを判断
04 ARP 必要なMACアドレスを取得
05 Ethernet L2でフレーム転送
06 TCP/IP 相手サーバーと通信
初級で学んだ技術はすべてつながっている

DHCP、DNS、ARP、MACアドレス、IPアドレス、サブネットマスクは 別々の暗記事項ではありません。 実際のネットワーク通信では、 それぞれの技術が役割を分担しながら連携しています。

確認問題:DHCPの仕組みを理解できたか確認しよう

初級最後の確認問題です。 3問に挑戦してみましょう。

QUESTION 01

DHCPの主な役割として適切なものはどれですか?

正解:B

DHCPはクライアントへIPアドレス、 サブネットマスク、デフォルトゲートウェイ、 DNSサーバーなどの情報を自動配布できます。

QUESTION 02

DHCPによる初回設定取得の代表的な順番はどれですか?

正解:C

DHCP Discover → Offer → Request → ACKの順です。 頭文字を取ってDORAと呼ばれます。

QUESTION 03

DHCPサーバーとDHCPクライアントの代表的なUDPポートの組み合わせはどれですか?

正解:A

DHCPサーバーはUDP 67、 DHCPクライアントはUDP 68を利用します。

YOUR SCORE 0 / 3

3問に挑戦してみましょう。

まとめ

今回は、DHCPによるIPアドレス自動割り当ての仕組みを解説しました。

01

DHCPは 端末へネットワーク設定を自動配布するプロトコル

02

IPアドレスだけでなく、 サブネットマスク・Gateway・DNSサーバー なども配布できる

03

初回の代表的な取得処理は Discover → Offer → Request → ACK(DORA)

04

DHCPサーバーは UDP 67、 クライアントは UDP 68 を利用する

05

DHCPまで理解すると、 初級で学んだ IP・MAC・ARP・DNS・サブネットマスク を実際の通信としてつなげられる

NETWORK BEGINNER COMPLETE

ネットワーク初級、お疲れさまでした

ここまでで、ネットワーク通信の土台となる TCP/IP、MACアドレス、IPv4、サブネットマスク、 ARP、DNS、DHCPなどの基本を学習しました。

✓ TCP/IPモデル
✓ MAC / L2
✓ IPv4 / L3
✓ Subnet Mask
✓ ARP
✓ DNS
✓ DHCP
NEXT STAGE NETWORK INTERMEDIATE

次はネットワーク中級へ進みましょう

初級では「通信がどのように成立するのか」という土台を学びました。 中級では、スイッチング・VLAN・ルーティング・TCP/UDP・NAT・ ファイアウォールなどへ進み、 実際のネットワーク構成や通信制御をより深く理解していきます。

VLAN Switching Routing TCP / UDP NAT Firewall
ネットワーク中級へ進む
NETWORK BEGINNER

初級の内容を復習する

不安な項目がある場合は、 ネットワーク初級講座の一覧へ戻って復習できます。

ネットワーク初級講座へ戻る
目次