DHCPは、IPアドレスの配布を自動化し、迅速かつ一元的に管理するネットワーク管理プロトコルです。ネットワーク内のノードやデバイスにIPアドレスを動的に割り当て、IPを使った通信を可能にします。
このプロトコルが提供する一元管理により、ネットワーク管理者はデバイスにIPアドレスを手動で割り当てる必要がなくなるため、負担が軽減されます。また、ネットワーク上でノードが別の場所へ移動した場合、その場所で新しいIPアドレスを割り当てます。
DHCPはIPアドレスだけでなく、デフォルトゲートウェイ、Domain Name System(DNS)アドレス、サブネットマスク、その他のホスト設定の割り当ても担います。DHCPは、小規模な家庭内ネットワークから大規模なキャンパスネットワーク、さらには地域のインターネットサービスプロバイダー(ISP)ネットワークまで、幅広いネットワークに導入できます。DHCPサービスはIPv4とIPv6の両方を使用するネットワークで利用でき、IPv6版のDHCPはDHCPv6と呼ばれます。
小規模なネットワークであれば、ネットワーク上のデバイスにIPアドレスを手動で割り当てるのは簡単です。しかし、数百台のデバイスがあるネットワークでIPアドレスを手動で割り当てようとすれば、ネットワーク管理者にとって悪夢となるでしょう。
管理者は、重複するIPアドレスがないことを確認し、割り当て内容が明確で混乱を招かないようにしなければなりません。幸い、Dynamic Host Configuration Protocol(DHCP)により、ネットワーク管理者はネットワーク上のIPアドレスを容易に割り当てられます。
こちらもご覧ください:企業ネットワークにおける7つの課題。
DHCPを使う理由
Transmission Control Protocol/Internet Protocol(TCP/IP)ネットワーク上のデバイスがネットワークとそのすべてのリソースにアクセスするには、各デバイスにユニキャストIPアドレスが必要です。DHCPがなければ、ネットワーク管理者は新しいコンピューターや、別のサブネットに移されたコンピューターのIPアドレスを手動で設定しなければなりません。また、ネットワークから削除されたコンピューターのIPアドレスを手動で回収する必要もあります。
DHCPはこれらの処理を自動化し、一元管理します。DHCPサーバーはIPアドレスのプールを保持し、ネットワークに接続して起動したDHCP対応デバイスにIPアドレスをリースします。これらのIPアドレスは恒久的に割り当てられるのではなくリースされるため、未使用のアドレスは自動的にアドレスプールへ戻され、再割り当てされます。
DHCPサーバーは、DHCP対応クライアントのTCP/IP設定情報を設定・保存します。これらの情報は、ネットワーク上のすべての該当クライアントに有効なTCP/IP設定パラメーターを格納するデータベースに保存されます。
これらのデータベースには、特定のDHCPクライアントを識別し、1つのDHCPクライアントに常に同じIPアドレスを割り当てられるようにする、予約済みIPアドレスも保存されます。DHCPクライアントへのIPアドレスのリース期間もデータベースで定義されます。
こちらもご覧ください:ネットワーク管理の最適なソリューション。
DHCPの構成要素
DHCPは、サーバーやクライアントをはじめとする複数の構成要素で構成されます。
- DHCPサーバー:ネットワーク設定情報を含むDHCPサービスを実行する構成要素です。ホストとして機能できるデバイスであれば、DHCPサーバーになれます。通常はルーターやサーバー、あるいは単独のコンピューターが使用されます。
- DHCPクライアント:DHCPサーバーからネットワーク設定情報を受け取るエンドポイントがDHCPクライアントです。電話、PC、Internet of Things(IoT)デバイス、その他ネットワークへの接続を必要とするデバイスがDHCPクライアントになれます。
- DHCPリレーエージェント:DHCP要求をDHCPサーバーへ転送できるホストを、各ネットワークに用意することが重要です。このホストがDHCPリレーエージェントであり、サーバーとクライアントが異なるローカルエリアネットワーク(LAN)上にある場合でも、DHCPサーバーが要求を処理できるようにします。
- サブネットマスク:サブネットはIPネットワークを分割したセグメントであるため、サブネットマスクは、ホストがどのネットワークに属しているかをホストに伝えます。
- リース期間:IPアドレスをクライアントが利用できる期間を指します。クライアントは、この期間を超えてIPアドレスを使用する場合、更新する必要があります。
- IPアドレスプール:クライアントに割り当てるために用意されたIPアドレスの集合です。通常は順番に割り当てられます。
- ゲートウェイアドレス:ゲートウェイアドレスは、インターネットへの接続先となるゲートウェイがどこにあるかをホストに示します。
こちらもご覧ください:エンタープライズネットワークの主要企業。
DHCPの仕組み
アプリケーション層におけるDHCPの役割は、DHCPクライアントにIPアドレスを動的に割り当てるだけでなく、TCP/IP設定情報を割り当てることです。これは、DHCPトランザクションと呼ばれる一連のメッセージを交換することで行われます。
最初のトランザクションはDHCPディスカバリーと呼ばれます。DHCPサーバーは、DHCP対応クライアントがネットワークに接続すると、その要求に応答します。クライアントは通常、起動直後に、自分が接続しているローカルネットワークの設定情報を要求し、DHCPサーバーへ要求をブロードキャストします。
続いて、DHCPサーバーがDHCPオファーメッセージでこれらの要求に応答する、DHCPオファートランザクションが行われます。このメッセージには、要求された情報が含まれます。これには、ネットワーク管理者が以前に提供したIPアドレスとリースを含むIP設定が含まれます。また、サーバーのIPアドレス、クライアントのメディアアクセス制御(MAC)アドレス、サブネットマスク、DNSアドレスなども含まれます。
クライアントはDHCPオファーに応じてDHCP要求を送信します。複数のDHCPサーバーがあるネットワークで複数のオファーを受け取った場合も、受け入れるDHCPオファーは1つだけです。DHCP要求では、DHCPサーバーが提示したIPアドレスを要求します。複数のDHCPサーバーがあるネットワークでは、他のDHCPサーバーが提示したそれ以外のIPアドレスは、利用可能なIPアドレスのプールに戻されます。
IP割り当てを更新する必要がある場合、DHCPクライアントは同じパラメーターを要求します。ただし、DHCPサーバーはネットワーク管理者が定めたポリシーに基づき、新しいIPアドレスを割り当てるかどうかを判断します。DHCPサーバーはクライアントにDHCP確認応答を送り、DHCPリースを確定します。
この時点でIP設定は完了し、クライアントは新しいIP設定を利用できます。また、要求されたIPアドレスをクライアントに割り当てられないと判断した場合は、否定応答を返すこともできます。
DHCPサーバーは、ネットワークデバイスに管理対象として割り当てたすべてのIPアドレスを管理する役割も担います。デバイスがネットワーク内で移動すると、DHCPサーバーはMACアドレスを使ってそのデバイスを識別します。これにより、サーバーは複数のデバイスに同じIPアドレスが誤って設定されるのを防ぎます。
こちらもご覧ください:デバイス管理に最適なIoTプラットフォーム。
DHCPのメリット
信頼性の高いIPアドレス設定。DHCPを使うと、IPアドレスを手動で設定することによるエラーを減らせます。こうしたエラーには、1つのIPアドレスを同時に複数のデバイスへ割り当てることによるアドレス競合や、入力ミスなどがあります。これにより、ネットワーク上のデバイスの設定や再設定に必要な時間を大幅に短縮できます。
ネットワーク管理の負担軽減。DHCPのさまざまな機能により、ネットワーク管理の負担を軽減できます。自動化されたTCP/IP設定機能や、一元的な場所からTCP/IP設定を定義できる機能などがその例です。追加のTCP/IP設定を一式割り当てることも可能で、頻繁な更新が必要なクライアントのIPアドレス変更にも効率的に対応できます。また、DHCP対応デバイスは、あるネットワークから別のネットワークへ自由に移動できます。
更新が容易。DHCPサーバー上の誤ったIPアドレスやデフォルトアクセスを更新する作業は、手動で更新するよりもはるかに簡単です。
サポートが容易。DHCPはネットワーク管理者向けの設定を標準化するとともに、サービスを利用するクライアントの要件に柔軟に対応できます。
こちらもご覧ください:ゼロトラストネットワークの最適なソリューション。
DHCPの課題
単一障害点になる可能性。DHCPサーバーを1台だけ設定したネットワークでは、そのDHCPサーバーが単一障害点になるリスクがあります。
セキュリティ。DHCPサーバーには、サーバーとクライアントが相互に認証できる安全な仕組みがないため、新しいクライアントがネットワークに参加するのは容易です。その結果、認証されていないクライアントにIPアドレスが割り当てられる可能性があります。これにより、クライアントがネットワークに接続できないようにするサービス拒否攻撃などの脅威が可能になります。また、攻撃者がネットワークトラフィックを自分の経路へ転送できるため、中間者攻撃につながる可能性もあります。攻撃者はネットワークサーバーとクライアント間の通信を盗聴したり、ネットワークサーバーを自分自身に置き換えたりできます。
単一のローカルエリアネットワークに限定される。DHCPはルーティングできないため、特定のLANに限定されます。
こちらもご覧ください:ネットワーク自動化に最適なツール。