DHCP(Dynamic Host Configuration Protocol)とは、インターネットに接続する通信機器にIPアドレスを自動的に割り当てるプロトコルです。
参考 OSI参照モデル / 通信プロトコルの基本
スマートフォンやPCなどを利用してインターネット接続を行うためには、各デバイスごとにIPアドレスを設定する必要があります。もしDHCPが正常に動作していなければ我々は手動でスマートフォン1つ1つにIPアドレスを設定しなければなりません。
この記事では、DHCPがどのように機能し、なぜそれが重要なのかを初心者向けに解説します。また、DHCPの基本原理、メリット、さらにはそれが私たちの日常生活にどのように役立っているかについてできるだけ具体的にご説明していきます。
ネットワークエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識の1つです。是非最後までご覧ください。
DHCPとは?わかりやすく
DHCPとは、Dynamic Host Configuration Protocolの略で、コンピュータがインターネットに接続する際に必要となるIPアドレスを自動的に割り当てるプロトコルです。
インターネットに接続するためには、各デバイスがユニークな「IPアドレス」を持つ必要があります。IPアドレスは、インターネット上の住所のようなもので、デバイスがお互いを識別し、通信するために使用されます。しかし、これらのアドレスを手動で設定するのは時間がかかり複雑です。ここでDHCPの役割が重要になります。
始めに、なぜDHCPが必要になるのか?をしっかり理解できるように、まずは前提となるIPアドレスの基本知識についておさらいしておきましょう。
【復習】IPアドレスとは?
IPアドレス(Internet Protocol Address)は、インターネット上の各デバイスに割り当てられるユニークな識別番号のこと。これは、実世界の住所や電話番号に似ており、インターネット上でデバイスが互いに通信するために必要な「アドレス」を提供します。
現実の世界でも、誰かに手紙を送りたいときはその人の住んでいる「住所」を調べて手紙を郵便局に配達しますよね。これと同じです。
ポイント IPアドレスの役割
- 通信
- デバイス間の正確なデータ転送を可能にする
- 識別
- ネットワーク上の各デバイスを一意に識別する
- 位置情報
- IPアドレスは、デバイスの地理的な位置情報をある程度提供することも可能(正確ではない場合もあります)
参考 IPアドレスとは? / Internet Protocolとは?
インターネットの世界では「IPアドレス」を基に、メールをどこに送れば良いか?動画データを誰のスマートフォンに送れば良いか?を判断します。そのため、インターネットに接続している全てのコンピュータには必ずIPアドレスの設定を行う必要があります。
今このページをご覧になっている(=インターネットに接続している)ということは、あなたのスマートフォン・パソコンにもこのIPアドレスが設定されていると言えます。もしIPアドレスが設定されていなければ、インターネットに接続することはできません。
だけど「IPアドレス」の設定は面倒・・・
IPアドレスはインターネットに接続するためには絶対に必要な設定であるにも関わらず、この設定が結構面倒なのです。
例えば、IPアドレスは現実世界における「住所」と同じ役割を果たすため、同じIPアドレスを複数のコンピュータで共有することはできません。(厳密に説明すると「同じネットワーク内で同一のIPアドレス」を持つ機器が存在してはいけません。)
したがって、ネットワーク内に存在する全てのコンピュータに割り当てるIPアドレスを一元管理する仕組みが必要となってきます。
また、IPアドレスの設定はネットワークが変わると(例・・WiFiからモバイル回線へ切り替える / WiFiからイーサネット接続に切り替える)その都度再設定が必要になります。家に帰るたびに手動でIPアドレスを設定するのはかなりの手間ですし、そのためのスキルも必要となってきます。
また、IPアドレスだけではなく、その他にもサブネットマスクやローカルDNSサーバの設定、デフォルトゲートウェイの設定など、インターネットに接続するために必要な設定はたくさん存在します。
参考 サブネットマスク / DNSサーバー / デフォルトゲートウェイ
このような煩雑さを解消するために生まれたのがDHCP(Dynamic Host Configuration Protocol)です。
DHCPを利用すれば、IPアドレスへの知識やネットワークの知識がなくても、スマートフォンを起動するだけで誰でも簡単にインターネット接続が可能になるのです。
DHCPの仕組み / 動作原理
では、どのようにDHCPが各機器にIPアドレスを割り当てるのか?その具体的な仕組みを解説します。登場人物はDHCPクライアントとDHCPサーバの2つです。
DHCPクライアントとは、パソコンやスマートフォンなどインターネットに接続する機器のことで、IPアドレスを割り当てられる側を指します。対して、DHCPサーバはIPアドレスを割り当てる側です。
- DHCPサーバー
- ネットワーク上でIPアドレスを管理し、デバイスに割り当てる役割を持つサーバー。
- DHCPクライアント
- IPアドレスを必要とするデバイス(コンピュータ、スマートフォンなど)です。
このDHCPサーバーとDHCPクライアントが「DORA」と呼ばれる4ステップのやりとり(=パケットの交換)を行うことでIPアドレスなどの設定を自動的に行います。
ポイント DHCPプロセス(DORA)
- DHCP Discover (発見)
- DHCPクライアントはネットワーク上で「DHCPサーバーはどこですか?」と尋ねるDiscoverメッセージをブロードキャストします。
- DHCP Offer (提供)
- DHCPサーバーが利用可能なIPアドレスを含むOfferメッセージをクライアントに送ります。
- DHCP Request (要求)
- クライアントは提供されたIPアドレスを使用することをリクエストするメッセージをサーバーに送信します。
- DHCP Acknowledge (承認)
- DHCPサーバーは、IPアドレスの割り当てを確認するAcknowledgeメッセージをクライアントに送り、プロセスを完了します。
①DHCP Discover
まず始めはDHCPクライアントがDHCPサーバを探索するところから開始します。
DHCPクライアントは、DHCPサーバがどこにあるのか分かりません。(DHCPサーバ自体のIPアドレスが分からないため直接通信することができません。)したがって、まずはネットワーク内のすべての宛先に対してDHCP Discoverというパケットをブロードキャストします。
参考 ブロードキャストとは?
参考 DHCP Discoverメッセージの内容
項目 | 説明 | サンプルの値 |
---|---|---|
メッセージタイプ | DHCP Discoverを示す | DHCP Discover |
トランザクションID | セッションを特定するための一意のID | 0x3D1E4F2B |
クライアントのMACアドレス | クライアントデバイスの物理的なアドレス | 00-14-22-01-23-45 |
クライアントのIPアドレス | この時点では未割り当てのため0.0.0.0 | 0.0.0.0 |
希望するIPアドレス | 以前に割り当てられたIPアドレス(オプション) | 192.168.1.4 (前回のアドレス) |
パラメータリクエストリスト | クライアントが要求する追加情報(オプション) | サブネットマスク, デフォルトゲートウェイ, DNSサーバー |
リース期間についてはページ後半で詳しく解説しますが、簡単に言うと「割り当てられたIPアドレスが有効である期間」のことです。
②DHCP Offer
DHCP Offerメッセージは、DHCPサーバーがネットワーク上のDHCPクライアントに対してIPアドレスを提供する際に使用されるメッセージです。このメッセージは、クライアントが送信したDHCP Discoverメッセージに応答して送られます。
参考 DHCP Offerメッセージの詳細
項目 | 説明 | サンプルの値 |
---|---|---|
メッセージタイプ | DHCP Offerを示す | DHCP Offer |
トランザクションID | クライアントのDiscoverメッセージと一致するID | 0x3D1E4F2B |
クライアントのMACアドレス | 対象クライアントの物理アドレス | 00-14-22-01-23-45 |
提供されるIPアドレス | クライアントに割り当てられるIPアドレス | 192.168.1.5 |
サブネットマスク | ネットワークとサブネットの区別を示す | 255.255.255.0 |
リース時間 | IPアドレスの使用可能期間 | 24時間 |
DHCPサーバーのIPアドレス | Offerメッセージを送信したサーバーのIP | 192.168.1.1 |
ただし、この時もまだDHCPクライアントのIPアドレスは設定されていないため、厳密に言えばDHCP Offerもブロードキャストで届けられる点を押さえておきましょう。
③DHCP Request
DHCP Requestメッセージは、DHCPのIPアドレス割り当てプロセスにおいて、クライアントがDHCPサーバーから提供されたIPアドレスの使用を正式に要求する際に使用されるメッセージです。このメッセージは、クライアントが受け取ったDHCP Offerメッセージに応答して送信されます。
参考 DHCP Requestメッセージの詳細
項目 | 説明 | サンプルの値 |
---|---|---|
メッセージタイプ | DHCP Requestを示す | DHCP Request |
トランザクションID | 以前のDiscoverおよびOfferメッセージと一致するID | 0x3D1E4F2B |
クライアントのMACアドレス | 送信するクライアントの物理アドレス | 00-14-22-01-23-45 |
要求するIPアドレス | クライアントが使用を希望するIPアドレス | 192.168.1.5 |
DHCPサーバーのIPアドレス | IPアドレスを提供したサーバーのIP | 192.168.1.1 |
④DHCP Acknowledge
DHCP Acknowledgeメッセージは、DHCPサーバーがクライアントに対してIPアドレスの割り当てを確認し、その他のネットワーク設定情報を提供する際に使用されるメッセージです。このメッセージは、クライアントが送信したDHCP Requestメッセージに対する応答として送信されます。
これで、DHCPクライアントへのIPアドレス等必要な設定が完了します。
参考 DHCP Acknowledgeメッセージの詳細
項目 | 説明 | サンプルの値 |
---|---|---|
メッセージタイプ | DHCP Acknowledgeを示す | DHCP Acknowledge |
トランザクションID | Requestメッセージと一致するID | 0x3D1E4F2B |
クライアントのMACアドレス | 対象クライアントの物理アドレス | 00-14-22-01-23-45 |
割り当てられたIPアドレス | クライアントに割り当てられたIPアドレス | 192.168.1.5 |
サブネットマスク | ネットワークとサブネットの区別を示す | 255.255.255.0 |
リース時間 | IPアドレスの使用可能期間 | 24時間 |
その他のネットワーク情報 | デフォルトゲートウェイ、DNSなど | デフォルトゲートウェイ: 192.168.1.1, DNS: 192.168.1.2 |
DHCPサーバーのIPアドレス | Acknowledgeメッセージを送信したサーバーのIP |
DHCP:リース期間(Lease Time)
割り当てられたIPアドレスは永久にクライアントのものではありません。通常、これらのアドレスには「リース期間」が設定されており、この期間が終了するとIPアドレスは再割り当てされる仕組みです。クライアントはリース期間が切れる前に、DHCPサーバーに対してIPアドレスの更新または延長を要求したりすることができます。
ポイント リース期間の基本
- 定義
- リース期間は、DHCPサーバーがクライアントにIPアドレスを「貸し出す」期間のこと。この期間が終了するとIPアドレスはサーバーに「返却」される。
- 期間の設定
- リース期間は通常、DHCPサーバーによって設定されます。この期間は数分から数日、場合によってはそれ以上に設定されることもある。リース期間の長さは、ネットワークの要件や管理ポリシーに応じて異なる。
- リースの更新
- リース期間が終了する前に、クライアントはDHCPサーバーに対してリースの更新を要求することができる。これはリース期間の約半分が経過した時点で自動的に開始されます。サーバーはリースを更新し、同じIPアドレスをクライアントに継続して割り当てることが多い。
ポイント リース期間の重要性
- IPアドレスの効率的な管理
- リース期間により、使用されていないIPアドレスは自動的に「回収」され、新しいクライアントに割り当てることが可能。→限られたIPアドレスリソースを効率的に利用することができる。
- ネットワークの柔軟性
- ネットワークに一時的に接続されるデバイス(ゲストのデバイスやモバイルデバイスなど)に対して、リース期間を設定することで、そのIPアドレスが不必要になった時に他のデバイスに再割り当てできる柔軟性を持たせることができる。
- セキュリティと安定性
- リース期間を通じて定期的にIPアドレスを更新することで、ネットワークのセキュリティを高める効果がある。ネットワークの設定変更やトラブルシューティングの際に、IPアドレスの割り当てを容易に管理できるため、ネットワークの安定性にも寄与。
ネットワーク学習の決定版(ネットワークエンジニアを目指すなら必見!)
↑ページ数が多く誰でも手軽に読める内容ではありませんが、ネットワークエンジニアであれば、ほぼ全員が一度は読んだことがある超・有料書籍。是非一度読破しておきたい1冊のご紹介です。
読者特典> 0から学ぶネットワーク入門
発展:DHCPリレーエージェント
DHCPに関連する知識の1つにDHCPリレーエージェントがあります。
DHCPリレーエージェントについてはネットワークスペシャリスト試験でも頻出の内容ですので、以下の記事も是非併せてご覧ください。