DHCPの仕組みや特徴、機能をわかりやすく解説
DHCPは、ネットワークに接続されたデバイスにIPアドレスなどを自動で割り当てる仕組みです。インターネットに接続する際にIPアドレスを手動で割り当てるのはとても労力がかかりますが、DHCPが自動で設定してくれるおかげで、簡単に接続できるようになりました。今回は、このDHCPの仕組みをはじめ、クライアントやサーバーなど構成要素の役割、DHCP接続について簡単にわかりやすく解説します。
DHCPとは?
DHCPの定義
DHCPとは、「Dynamic Host Configuration Protocol」の略で、デバイスにIPアドレスやその他の通信パラメーターを自動的に割り当てるネットワーク管理プロトコルのことを言います。たとえば、ほとんどの家庭では、ルーターがDHCPサーバーとして機能しており、各デバイスにIPアドレスを割り当てます。このプロトコルを導入することで、デバイスにケーブルを繋ぐだけで簡単にネットワークに接続することができるなど時間を短縮でき、人為的なミスを防止することができます。
DHCPは、IPアドレスをはじめとするTCP/IPプロトコルの設定を各デバイスに自動的に割り当て、サブネットマスクやデフォルトゲートウェイなどの関連情報を提供します。仮にもし、DHCPがなければ、接続するデバイスが増えるたびにアドレスなどを手動で設定しなくてはいけなくなるなど、とても非効率的で手間がかかり、エラーも起こりやすくなります。DHCPを利用することで、各デバイスはDHCPサーバーに問い合わせを行ない、各種設定に必要な情報を入手し、自動的に設定できるようになります。
DHCPの構成要素
DHCPの環境は、DHCPクライアントとDHCPサーバーから構成されています。こちらではそれぞれの主な役割について説明します。
- DHCPサーバー:主にWindowsサーバーやLinuxサーバー、Ciscoルーターなどの機器で、IPアドレスの設定情報などをDHCPクライアントへ割り当てる役割があります。
- DHCPクライアント:主にWindows OSなどのパソコンやIP電話などの機器で、IPアドレスの設定情報などがDHCPサーバーから割り当てられます。
また、DHCPでやり取りされるデータは種類によって、どのポートを通り、サーバーまたはデバイスに入るかが決まっています。その際、データを識別するために使用されるのがポート番号と呼ばれる番号です。67番がサーバー側のポート番号、68番がクライアント側のポート番号となります。
DHCPのネットワーク機能
ここからはDHCPのネットワーク機能について説明します。DHCPサーバーは、データをDHCPクライアントへ送る際にDHCPオプションと呼ばれるパラメータを設けています。DHCPオプションによって、使用可能な期間などIPアドレスに関するさまざまな要素を、タグ付きのデータ項目での伝送を実現します。一般的にDHCPオプションは、以下のもので設定されています。
- デフォルトゲートウェイ:社内や家庭など一定の範囲で使用されるローカルエリアネットワーク(LAN)と、インターネットなど外部のワイドエリアネットワーク(WAN)を繋ぐ機器のこと。一般的にルーターのような機器がLANとWAN間のデータの行き来をルーティングする役割を担います。
- サブネットマスク:IPアドレスのどの部分がネットワークアドレスで、どの部分がホストアドレスかを示すための数値。 IPアドレスをサブネットマスクで指定し、2進数で表記した際に、1がネットワークアドレス、0がホストアドレスとそれぞれ識別できるようになります。
- DNSサーバー:IPアドレスとドメイン名を紐付けて変換するサーバーのこと。たとえば、IPアドレスを「google.com」のようなわかりやすいドメイン名に変換します。
DHCPの仕組み
ここではDHCPがどのように機能するのか、DHCPの仕組みについて説明します。
- デバイスがネットワークに接続すると、デバイスはIPアドレスを要求するために、DHCPサーバーへブロードキャストメッセージを送信します。
- DHCPサーバーはブロードキャストメッセージを受信し、IPアドレスのリースの提案をはじめ、サブネットマスク、デフォルトゲートウェイ、DNSサーバーなど他のネットワーク構成情報と合わせて応答します。
- デバイスは提案を受け入れたらDHCPサーバーにリクエストを返信し、提案されたIPアドレスのリースを要求します。
- DHCPサーバーは、この要求を承認し、リース時間と呼ばれる指定された時間でIPアドレスのリースをデバイスに割り当てます。
- デバイスは割り当てられたIPアドレスと他のネットワーク構成情報を使用することで、ネットワーク上での通信が可能になります。
- デバイスはリース期間が終わる前に、DHCPサーバーにリースの更新を要求します。DHCPサーバーがまだ利用可能な場合、DHCPサーバーはデバイスのリース期間を更新できます。もし、DHCPサーバーが利用できない場合は、デバイスはリース時間が終了するまでは割り当てられたIPアドレスを使用し、終了します。後には、新たに別なIPアドレスが割り当てられます。なお、それまで使用していたIPアドレスは、新たなIPアドレスに切り替わった後は別のデバイスに割り当てられます。
DHCPのメリットとデメリット
DHCPサーバーは、適切な環境で使用するのであればとても便利と言えます。しかしながら、DHCPサーバーにはいくつか欠点もあるので、利用することを決める前にもう一度考えてみる必要があります。
DHCPのメリット
- 信頼性の高いIPアドレス設定:DHCPは、同じIPアドレスを持つ2人のユーザー間の衝突を防ぐのに役立ちます。もし、競合してしまった場合は、両方のユーザーのインターネットへの接続を遮断します。DHCPは、このような競合を人為的なミスが起こることなく、自動的に解決します。
- モビリティの高さ:DHCPはモビリティの高さも確保します。ユーザーは、DHCPを使用することでネットワークの範囲内であれば、どこにいても自分のモバイル機器が使用できるなどより機動性が上がります。
- より効率的なネットワーク管理:DHCPは、IPコンフィギュレーション全体を集中管理するため、個別のIP割り当てサーバーが必要なくなります。
- IPスキームの柔軟性:DHCPによって、IPアドレススキームの変更が簡単になるので、エンドユーザーに混乱を与えることなく、IPアドレススキームを変更することができます。
DHCPのデメリット
- DHCPサーバーが単一障害点:DHCPサーバーは、システムを構成する要素の中でも、そこが停止するとシステム全体が停止してしまうという重要な部分である単一障害点です。仮にDHCPサーバーが1つしか使用されておらず、ダウンしてしまった場合、クライアントはリースを更新することができなくなります。
- 不正確な情報は手動での設定が必須:もし、DHCPサーバーが接続されている全てのクライアントに誤った情報を配信してしまった場合は、各デバイスに個別に対応し、誤りを1つひとつ再設定しなければなりません。
DHCPと静的IPアドレスの比較
DHCPは、動的IPアドレスの割り当てを行なう機能をもつネットワーク機器です。ネットワークに接続した機器を対象にサーバーが自動的に割り当てる動的IPアドレスですが、割り当てられてから一定の時間が過ぎてしまうと、更新もしくは返却が必要になります。返却した場合は、新たに別なIPアドレスが付与されます。また、DHCPサーバーはIPアドレスの手動割り当てをしなくて済むので、時間を大幅に節約できます。
対する静的IPアドレスは、特定の端末・機器あるいは人に割り当てられたIPアドレスで、いわゆる固定したIPアドレスとして使われており、別名「固定IPアドレス」と呼ばれています。よって、仮にインターネットを一度切断して、再び接続してもIPアドレスは変わりません。静的IPアドレスが割り当てられているデバイスは、ずっと同じIPアドレスを保持することができますが、ネットワーク管理者はIPアドレスが他の人に利用されないためにも、全ての静的IPアドレスを記録しなければなりません。静的IPアドレスの設定は、DHCPサーバーをリースするより費用がかかります。
また、多くのVPNサービスは、IPアドレスが変更されない方が接続しやすいため、静的IPアドレスを使用しています。静的IPアドレスは通常、VPNサーバーやウェブサーバー、自宅のサーバーの設定、またはユーザーが自宅のコンピューターにリモートでアクセスする際の専用として使用されます。
ただし、大量のIoT(モノのインターネット)デバイスにIPアドレスを割り当てる場合は、費用面などいくつかの理由からDHCPサーバーの方が適しているといえます。特にセキュリティ面に関しては、それぞれのデバイスがしっかりとセキュリティ対策を行なっていないと、外部にIPアドレスを知られてしまった場合に一度に複数のデバイスが被害に遭ってしまう可能性があります。静的IPを使用する場合はデメリットも理解した上で使用することをおすすめします。
DHCPのリース時間
DHCPサーバーの場合、リース時間とは、サーバーから割り当てられたIPアドレスを機器が保持する時間のことです。デフォルトのリース時間は、通常24時間です。通常、デフォルトのリース時間は24時間ですが、リース時間を短くしたり長くしたりするように自分で設定を変更することができます。
ただし、リース時間を短く設定しすぎてしまうと、ネットワークに支障をきたす可能性があるので注意が必要です。
DHCPのセキュリティに関する懸念
DHCPには認証機能がないため、理論上はサイバー攻撃に対して脆弱であるといえます。また、DHCPは以下のような方法で悪用される可能性があります。
- 不正なDHCPサーバーは、クライアントに誤った情報を提供してしまうことが可能
- 不正なクライアントはDHCPサーバーを傍受し、リソースへのアクセスを得ることが可能
- 悪意のあるクライアントは、DHCPリソースを使い果たすことがで可能
これらの問題はすべて、DDoS攻撃や中間者攻撃などにつながる可能性があります。こういった問題は、特にオンラインゲーム業界では度々起きており、例えば、数年前にサドンアタックというオンラインゲームのサーバーにDDos攻撃を仕掛けた日本人の少年3人が書類送検されるという事件もありました。
しかしながら、管理者はリレーエージェント情報オプションを使用することで、DHCPメッセージが到着したときにタグ付けし、リスクを軽減することができます。そして、ネットワークアクセス制御を使用することでDHCPを保護することも可能です。