図●IPv4におけるDHCPの仕組み
図●IPv4におけるDHCPの仕組み
[画像のクリックで拡大表示]

 DHCP(Dynamic Host Configuration Protocol)は、パソコンやスマートフォンといった端末にIPアドレスなどの情報を自動的に割り当てるためのプロトコルである。このおかげで、ユーザーはIPアドレスをいちいち入力する必要がない。DHCPで割り当てられる情報には、IPアドレスのほか、サブネットマスクやデフォルトゲートウエイ、DNSサーバーのアドレスなどがある。

 DHCPは、アドレスを割り当てる「DHCPサーバー」と、アドレスを受け取る端末側機能「DHCPクライアント」で成り立っている。ブロードバンドルーターやサーバーOSの多くは、DHCPサーバー機能を備えている。一方、パソコンやスマートフォンのOSにはデフォルトでDHCPクライアントが搭載されている。

 DHCPは、DHCPサーバーでIPアドレスを確保(プール)しておき、クライアントからの要求に応じて空いているアドレスを割り当てる。このため、同じ端末に同じアドレスが割り当てられるとは限らない。アドレスを割り当てる際に“リース期間”を設定する使い方が多い。リース期間を延長する仕組みも規定されている。

 一方で、割り当てるアドレスを固定する使い方もある。DHCP側でクライアントのMACアドレスとIPアドレスを関連付けて管理し、常に同じIPアドレスをDHCPで割り当てる。

 DHCPに関する情報は、ネットワークコマンドで確認・更新することが可能だ。Windowsの場合、DHCPサーバーのアドレスを見るには「ipconfig /all」コマンドを使う。「ipconfig /release」コマンドでIPアドレス関連の設定をクリアでき、「ipconfig /renew」コマンドでアドレスの再割り当てを実行できる。

 DHCPの仕組みを見てみよう。実はIPv4とIPv6で仕組みが異なっている。

 IPv4の場合、DHCPクライアントは、DHCPサーバーと2往復のメッセージをやり取りしてIPアドレスを割り当ててもらう。「DHCPディスカバー」と「DHCPオファー」の1往復は、DHCPクライアントがDHCPサーバーからIPアドレスやサブネットマスク、デフォルトゲートウエイ、DNSサーバーなどの設定情報の提示を受け取るためのやり取り。「DHCPリクエスト」と「DHCPアック」の1往復は、設定情報の割り当てを受けるためのやり取りである。

 IPv6では、DHCPv6というプロトコルでアドレスを割り当てる。DHCPv6は、DHCPとメッセージが異なるほか、アドレスの割り当て方も違う。128ビットのIPv6アドレス全体を割り当てるというIPv4と同様の使い方に加えて、アドレスのネットワーク部に相当する「プレフィックス」を配るDHCPv6-PD(Prefix Delegation)という使い方がある。またIPv6ではDHCPv6-PDではなくルーターが送るRA(Router Advertisement)でプレフィックスを配ることもある。パソコンなどの機器は、プレフィックスを受け取ってIPv6アドレスを作る。