InfraAcademy

InfraAcademy Blog

DHCPとは?IPアドレスを自動設定する仕組みを初心者向けに解説

| #Linux #Linux初心者 #Linux入門
Linuxをブラウザで試してみる

Linux・ネットワーク・AWSを、環境構築なしで実践学習できます

こんにちは、エンジニアの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つのメッセージで説明できます。

DHCPの動作全体を説明する図

頭文字を取って、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の仕組み

このとき送信するのがDHCP Discoverです。

端末は自分のIPアドレスもDHCPサーバーの場所も分からないため、同じネットワーク全体へブロードキャストします。ブロードキャストは、同じブロードキャストドメインにいる機器へまとめて送る通信です。

ルーターは通常、ブロードキャストを別ネットワークへそのまま転送しません。この点が、後ほど説明するDHCPリレーにつながります。

2. DHCP Offerで設定を提案する

DHCP Discoverを受け取ったDHCPサーバーは、利用可能なIPアドレスなどを提案します。

DHCP Offerの仕組み

この応答がDHCP Offerです。

Offerには、IPアドレス、サブネットマスク、リース期間、DHCPサーバーの情報などが含まれます。ネットワーク構成やクライアントの状態により、ブロードキャストまたはユニキャストで送られます。

複数のDHCPサーバーが存在する場合、クライアントが複数のOfferを受け取ることもあります。

3. DHCP Requestで利用を要求する

クライアントは、提案された設定を利用したいことをDHCP Requestで伝えます。

DHCP Requestの仕組み

最初の割り当てでは、どのDHCPサーバーの提案を選んだかを他のサーバーにも伝えるため、Requestがブロードキャストされることがあります。

選ばれなかったDHCPサーバーは、提案していたIPアドレスを別の端末へ利用できる状態に戻します。

4. DHCP ACKで割り当てを確定する

DHCPサーバーは、要求されたIPアドレスを正式に割り当てるため、DHCP ACKを返します。

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サーバーへ転送します。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 addressip 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円・税別です。最新の機能と料金は法人プランページで確認してください。

InfraAcademy法人プランの機能と料金を見る

まとめ

DHCPは、パソコンやスマートフォンへIPアドレスなどのネットワーク設定を自動配布する仕組みです。

端末とDHCPサーバーは、Discover、Offer、Request、ACKの順番でやり取りします。この4段階はDORAと呼ばれます。

割り当てられたIPアドレスにはリース期間があり、端末は期限が切れる前に更新を試みます。

また、DHCPサーバーが別ネットワークにある場合は、ルーターやL3スイッチのDHCPリレーを使ってメッセージを中継します。

まずは自分のパソコンでIPアドレスやDHCPサーバーを確認してみましょう。その後、シミュレーターやLinux環境で構築すると、DHCPとネットワークの関係を実践的に理解できます。

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る