前の記事では、 DNSを使ってドメイン名からIPアドレスを調べる名前解決 について学びました。
ここまでのネットワーク初級講座では、 IPアドレス、サブネットマスク、MACアドレス、ARP、DNSなど、 通信に必要なさまざまな仕組みを学習してきました。
ところで、PCがネットワークへ接続するためには、 少なくとも次のような情報が必要になります。
しかし、自宅で新しいPCやスマートフォンをWi-Fiへ接続するとき、 これらを毎回手入力しているわけではありません。
誰が自動的に設定しているのでしょうか?
その役割を担っているのが DHCP(Dynamic Host Configuration Protocol)です。
DHCPという用語を覚えるだけではなく、 「ネットワークへ接続した端末が、 DHCP Discover → Offer → Request → ACKの流れで ネットワーク設定を取得する」 ことを説明できる状態を目指します。
DHCPとは?
DHCP(Dynamic Host Configuration Protocol)とは、 PCやスマートフォンなどの端末へ、 IPアドレスなどのネットワーク設定を自動的に配布するためのプロトコル です。
初学者の段階では、 DHCPを 「端末へIPアドレスなどを自動的に設定する仕組み」 と理解すると分かりやすくなります。
DHCPがないとどうなる?
DHCPを使わない場合、 ネットワーク管理者や利用者が端末へ手動でIPアドレスなどを設定できます。
端末が数台なら手動設定でも管理できます。
しかし、数十台、数百台の端末へ 1台ずつ設定するのは非常に大変です。
さらに、 同じIPアドレスを複数端末へ設定してしまうと IPアドレス重複の原因にもなります。
管理者が1台ずつ設定。 小規模環境では利用可能だが、 台数が増えると管理負担が大きい。
DHCPサーバーが利用可能な設定を 自動的に端末へ配布。
DHCPでは何が配布される?
DHCPというと 「IPアドレスを配る仕組み」 というイメージが強いですが、 IPアドレス以外の情報も配布できます。
そのため、端末をネットワークへ接続するだけで、 通信に必要な設定をまとめて受け取ることができます。
DHCPサーバーはどこにある?
DHCPサーバーは、 必ず専用の物理サーバーでなければならないわけではありません。
たとえば家庭用ネットワークでは、 Wi-FiルーターがDHCPサーバーとして動作 していることがよくあります。
企業ネットワークでは、 Windows Serverやネットワーク機器、 専用のDHCPサーバーなどが役割を担う場合があります。
DHCPの基本:DORAを理解しよう
新しくネットワークへ接続した端末が DHCPサーバーから設定を取得する代表的な流れは、 次の4ステップです。
頭文字を取って DORA と呼ばれます。
STEP 1:DHCP Discover ― DHCPサーバーを探す
ネットワークへ接続したばかりの端末は、 まだ自分のIPv4アドレスを持っていません。
さらに、 DHCPサーバーがどこにいるのかも分かりません。
そこで端末は DHCP Discover を送信して、 利用可能なDHCPサーバーを探します。
クライアントはDHCPサーバーのIPアドレスをまだ知らないため、 Discoverではブロードキャストが利用されます。
STEP 2:DHCP Offer ― DHCPサーバーが設定を提案する
DHCP Discoverを受信したDHCPサーバーは、 利用可能なIPアドレスなどを選び、 クライアントへ DHCP Offer を返します。
DHCPサーバーは、 あらかじめ設定されたアドレス範囲から 利用可能なIPアドレスを選びます。
STEP 3:DHCP Request ― クライアントが利用を要求する
クライアントはDHCP Offerを受け取ると、 提示された設定を利用したいことを DHCP Request で通知します。
STEP 4:DHCP ACK ― DHCPサーバーが割り当てを承認する
最後にDHCPサーバーが DHCP ACK(Acknowledgement) を返します。
これでクライアントに必要な設定が適用され、 通常のIP通信を開始できるようになります。
DORAの流れをまとめて確認しよう
DHCPサーバーを探す
利用可能な設定を提案
設定を利用したいと通知
割り当てを正式に承認
Discover → Offer → Request → ACK の順番を、役割とセットで理解しておきましょう。
DHCPは何番ポートを使う?
DHCPではUDPを使用し、 サーバーとクライアントで異なるポート番号を利用します。
DHCPサーバー:UDP 67
DHCPクライアント:UDP 68
DHCPのIPアドレスは永久にもらえるわけではない
DHCPによるIPアドレスの割り当ては、 通常 一定期間だけ利用する仕組み になっています。
この利用期間を リース(Lease) と呼びます。
クライアントは、 リース期間が切れる前にDHCPサーバーへ 更新を要求します。
この仕組みによって、 使用されなくなったIPアドレスを 別の端末へ再利用できます。
DHCPでは配布するIPアドレス範囲を決めておく
DHCPサーバーでは通常、 端末へ配布するIPアドレスの範囲を設定します。
このような配布範囲は、 DHCPスコープやアドレスプールなどと呼ばれます。
ルーターやサーバーなど、 常に同じIPアドレスを使いたい機器については、 DHCP配布範囲から外して固定設定する設計もあります。
DHCPサーバーが別ネットワークにある場合はどうする?
DHCP Discoverはブロードキャストで送信されます。
しかし通常、 ルーターはL2ブロードキャストを そのまま別ネットワークへ転送しません。
企業ネットワークでは、 DHCPサーバーを1か所へ集約したいことがあります。
そこで利用されるのが DHCPリレー(DHCP Relay) です。
DHCPサーバーとクライアントが別ネットワークにいる場合、 DHCPリレーによってDHCP通信を中継できる と理解しておきましょう。
ここで実際に動かしてみよう:DHCP DORAシミュレーター
ネットワークへ接続したPCが IPアドレスを取得するまでを順番に確認してみましょう。
DHCP DORA Simulator
DHCPサーバーを探す
クライアントはまだIPアドレスを持っていません。 DHCPサーバーの場所も分からないため、 DHCP Discoverを送信してDHCPサーバーを探します。
理解度チェック:DHCPで配布できる情報を確認しよう
項目をクリックすると、 DHCPでどのように利用される情報なのか確認できます。
端末自身のIPアドレス
DHCPサーバーのアドレスプールから、 クライアントへ利用可能なIPアドレスを割り当てます。
DHCPで取得した設定はPCから確認できる
実際の端末でも、 現在設定されているIPアドレスやDHCP関連情報を確認できます。
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 のようなアドレスが設定されることがあります。
DHCPから正常にIPv4設定を取得できていない可能性を 疑う手がかりの一つ
これは APIPA(Automatic Private IP Addressing) と呼ばれる仕組みに関係します。
そのためトラブルシューティングで 169.254.x.xを見つけた場合は、 DHCPサーバーへ到達できているかなどを確認するきっかけになります。
DHCP障害ではどこを確認する?
DHCPサーバーやDHCPリレー、 VLANなどの構成を確認します。
配布可能なIPアドレスが残っているか確認します。
GatewayやDNSサーバーなど、 DHCPオプションが正しいか確認します。
ネットワーク初級で学んだ内容を一本につなげよう
DHCPまで理解すると、 PCがネットワークへ接続してWebサイトを見るまでの流れを かなり具体的に追えるようになります。
DHCP、DNS、ARP、MACアドレス、IPアドレス、サブネットマスクは 別々の暗記事項ではありません。 実際のネットワーク通信では、 それぞれの技術が役割を分担しながら連携しています。
確認問題:DHCPの仕組みを理解できたか確認しよう
初級最後の確認問題です。 3問に挑戦してみましょう。
DHCPの主な役割として適切なものはどれですか?
DHCPはクライアントへIPアドレス、 サブネットマスク、デフォルトゲートウェイ、 DNSサーバーなどの情報を自動配布できます。
DHCPによる初回設定取得の代表的な順番はどれですか?
DHCP Discover → Offer → Request → ACKの順です。 頭文字を取ってDORAと呼ばれます。
DHCPサーバーとDHCPクライアントの代表的なUDPポートの組み合わせはどれですか?
DHCPサーバーはUDP 67、 DHCPクライアントはUDP 68を利用します。
3問に挑戦してみましょう。
まとめ
今回は、DHCPによるIPアドレス自動割り当ての仕組みを解説しました。
DHCPは 端末へネットワーク設定を自動配布するプロトコル
IPアドレスだけでなく、 サブネットマスク・Gateway・DNSサーバー なども配布できる
初回の代表的な取得処理は Discover → Offer → Request → ACK(DORA)
DHCPサーバーは UDP 67、 クライアントは UDP 68 を利用する
DHCPまで理解すると、 初級で学んだ IP・MAC・ARP・DNS・サブネットマスク を実際の通信としてつなげられる
ネットワーク初級、お疲れさまでした
ここまでで、ネットワーク通信の土台となる TCP/IP、MACアドレス、IPv4、サブネットマスク、 ARP、DNS、DHCPなどの基本を学習しました。
次はネットワーク中級へ進みましょう
初級では「通信がどのように成立するのか」という土台を学びました。 中級では、スイッチング・VLAN・ルーティング・TCP/UDP・NAT・ ファイアウォールなどへ進み、 実際のネットワーク構成や通信制御をより深く理解していきます。

