[ Top page ]

« IPv6 のアドレス自動設定 | メイン | DHCPv6 »

インターネットのプロトコル

DHCP (Dynamic Host Configuration Protocol)

概要

Dynamic Host Configuration Protocol (DHCP) とは,コンピュータがインターネットに接続する際に必要な情報を自動的にわりあてるプロトコルのことをいう. この項目においては IPv4 のための DHCP である DHCPv4 を中心として説明し,最後に IPv6 のための DHCP である DHCPv6 について補足する. DHCP は BOOTP (Bootstrap Protocol) の上位互換であり,メッセージ構造などは変わっていない. DHCP では BOOTP に比べて自動設定できる情報が増え,より使いやすくなっている.

身近なものでは,ケーブルテレビやホットスポット等でインターネット・サービス・プロバイダ (ISP) に接続する場合なども,DHCP を利用して IP アドレスを始めとするネットワーク設定を自動的に行うのが一般的である. 一方,ADSL や FTTH では PPPoE (PPP over Ethernet) によって設定を行うのが一般的だが,LAN 型のネットワーク構成をとり DHCP を用いている ISP も一部に存在する.

自動設定できる情報

DHCP をつかうことによって,つぎのような情報を自動設定することができる.

  • ホスト名
  • IP アドレス,サブネットマスク
  • デフォルト・ルート (デフォルト・ゲートウェイ)
  • DNS (Domain Name System) サーバ,DNS ドメイン名
  • NIS (Network Information Service) サーバ,NIS ドメイン名
  • プリント・サーバ
  • NTP (Network Time Protocol) サーバ

DHCP の動作

DHCP サーバ側で,あらかじめ DHCP クライアント用に IP アドレスをいくつか用意しておき (アドレス・プールと呼ばれる),DHCP クライアントの要求に応じて,この中から一つのアドレスをわりあてる (リースと呼ばれる).

DHCP クライアント (ノート PC など) が物理的にネットワークへ接続されると,宛先 IP アドレスが 255.255.255.255 のブロードキャストの UDP パケットを送出する. このパケットを受信した DHCP サーバはアドレス・プールからリース・アドレスを選択し,クライアントの MAC アドレス向けに返信する. それと同時に,リース済みの IP アドレスとリース先の MAC アドレスのテーブルを作成管理する.

この方法にはつぎのような利点がある.

  • 多数のクライアントをネットワークに接続する際,クライアントごとにネットワーク設定を手動で行う必要がなくなる.
  • ノート PC などを複数の場所でネットワークに接続する場合にもネットワーク設定を手動で切り替える必要がなくなるため,手間が削減できる.

一方,この方法にはつぎのような欠点がある.

  • DHCP サーバの設置が容易なため,混乱が起きやすいことがあげられる. たとえば,コンシューマ用のブロードバンド・ルータを DHCP サーバ機能が有効なまま既存の DHCP ネットワークに接続してしまうと,DHCP クライアントが間違ったアドレスを取得してしまう問題が起きる. フリーソフトの DHCP サーバ・アプリケーションを実行することも同様である.
  • 使用が許可されていない PC が DHCP ネットワークで使用されやすいという欠点がある. このような不正使用をさける運用が,セキュリティ上必要になってくる. ルータやアプリケーションは動作デフォルトを適切にすることによってある程度の影響を回避することはできるが,検疫ネットワークの導入や 2 層 (L2) スイッチにおけるフィルタリングが有効な対策手段となっている. 逆に考えると,検疫ネットワークの導入に伴って DHCP サーバ設置数が増えているのが現状である.

サーバの実装

DHCP サーバが実装されている環境としては,大きく分けて以下の 3 種類がある.

UNIX 系環境

もっとも初期の頃から存在しているサーバ実装であり,ISC (Internet Systems Consortium) 版と WIDE (Widely Integrated Distributed Environment) プロジェクト版の 2 種類がよく知られている. ただし,WIDE プロジェクト版 DHCP サーバは現在開発が終了している.

Windows 系環境

Windows NT 4 Server 以降,Microsoft はサーバ OS に標準で DHCP サーバを添付しており,現行の Windows Server 2003 でも標準で DHCP サーバが付属している. Windows 2000 Server 以降の DHCP サーバでは,Active Directory 環境においてはインストール後にドメイン管理者の 「承認」 を行わないと起動できないという特徴を持つ (非 Active Directory 環境下ではこの制限はない). このほかに,第三者が開発した Windows 95/98 系環境で動作する (Windows 2000 等でも動作する) フリーソフトの DHCP サーバも存在する.

ルータ内実装

2000 年頃から増加してきた形態であり,ルータ内部に DHCP サーバ機能を組み込んだものである. とくに,家庭向けのルータ (いわゆる 「ブロードバンド・ルータ」) では必ずといってよいほど実装されており,現在家庭内で利用されている DHCP サーバでもっとも一般的なものとかんがえられる.

クライアントの実装

Windows 9x,Windows NT 4.x,Mac OS などで DHCP のクライアント・モジュールが標準添付されるようになり,ひろく使用されるようになった.

DHCP リレー・エージェント

DHCP は DHCP サーバの検索にブロードキャストを使用する関係上,通常はクライアントとサーバが同一ブロードキャスト・ドメイン上にないと正常に動作しない. しかしながら,企業や大学など比較的大規模なネットワークでは,サーバを 1 カ所に集中させたい等の理由で DHCP クライアントとサーバとが全く異なるネットワーク上に設置されることがある.

このような場合に使用されるのが DHCP リレー・エージェントである. DHCP リレー・エージェントはサーバやルータ (または L3 スイッチ) 上に Bootp relay, IP helper, DHCP relay などの呼称で実装されている.

エージェントが DHCP クライアントからのブロードキャスト (DHCP Request) を受信すると,宛先 IP アドレスを設定されている DHCP サーバのアドレスに変換し,送信元を自己の LAN 側 (クライアントと同一サブネット) の IP アドレスに変換して転送する. また,要求データ内に自己 IP アドレスを書きこむ.

DHCP サーバは転送されたパケットを確認し,データ内に書き込まれたエージェントの IP アドレスによってわりあてるべきネットワークのアドレスを決定する. また,データ内のクライアントの MAC アドレスを読んで,リース・テーブルを更新する. リース・パケットはパケットの送信元であるエージェントに返信される.

リース・パケットを受信したエージェントは宛先 IP を 0.0.0.0 に変換し,要求したクライアントの MAC アドレスに向けたフレームにカプセル化して送出する.

DHCP リレー・エージェントを利用する際の注意点として以下の 2 点がある.

  • DHCP サーバと DHCP リレー・エージェントとは同一のサーバもしくはルータ内に共存することはできない.
  • 同一ブロードキャスト・ドメイン内に複数のサブネットが存在する場合,DHCP リレー・エージェントを経由すると DHCP リレー・エージェントの IP アドレスによって DHCP サーバがリースする IP アドレスの範囲が決定される.

わりあての種類

IP アドレスのわりあて方法には大きく分けて動的なわりあてと静的なわりあての 2 種類がある.

動的わりあて

動的わりあてとはクライアントに対し有効期限つきで IP アドレスをわりあてる (リースする) 方法のことである. クライアントがネットワークから離れ,アドレスの有効期限が来たら回収して再利用する. 動的わりあてはもっとも一般的なわりあて方法であるが,クライアントの種類 (ノート PC かデスクトップかなど) と数,わりあて可能な IP アドレスの総数によって適切な有効期間は異なってくる.

有効期間を短くすると IP アドレスを効率よく使えるが,ネットワーク上に頻繁に DHCP のプロトコルが流れることになる. 長くするとクライアントは安定して IP アドレスを保持できるが,使用されていないにもかかわらずわりあてられない IP アドレスが多くなる. 一般に,ノート PC が多くて IP アドレスを一時的にしか使用しないネットワークの場合は数 10 分 から 1 日程度,デスクトップ PC が多く IP アドレスも十分に足りている場合は 1 週間以上とすればよいだろう.

一般的なルータなどに内蔵されている DHCP サーバ機能では動的わりあてに設定されているものが多い. リース時間は 10 分程度から無制限までの範囲で変更可能だが,24 時間から 48 時間程度に設定されることが多い. MAC アドレスを元にした静的わりあてのできるものは少ない.

有効期間を無期限とすることも可能だが,この場合はリースしたアドレスが回収されないので,時々使用していない IP アドレスを手動で開放する必要がある.

なお,同一ブロードキャスト・ネットワーク内の IP アドレスに対して複数種類の有効期限を指定できないようなサーバ実装が多い.

静的わりあて

静的わりあてとは事前に管理者が決めておいた IP アドレスをクライアントにわりあてる方法のことである. クライアントはイーサネット・カードの MAC アドレスで識別する. 固定した IP アドレスが必要となる各種サーバに適している.

DHCPv6

IPv6 環境のための DHCP の仕様 DHCPv6 が RFC 3315 でさだめられている. DHCPv6 は DHCPv4 とは互換性がないが,そのかわり IPv6 だけでなく IPv4 のアドレスをわりあてることもできる.

IPv6 では IP アドレスとネットマスクの情報をルータから自動取得することができる. しかし,DNS サーバや NTP サーバなどほかのサーバからの情報も自動取得するためには DHCP が必要になる.

関連 RFC

  • RFC 951 - BOOTSTRAP PROTOCOL (BOOTP)
  • RFC 1542 - Clarifications and Extensions for the Bootstrap Protocol
  • RFC 2131 - Dynamic Host Configuration Protocol
  • RFC 2132 - DHCP Options and BOOTP Vendor Extensions
  • RFC 2241 - DHCP Options for Novell Directory Services
  • RFC 3315 - Dynamic Host Configuration Protocol for IPv6 (DHCPv6)

参考文献

この項目の記述にあたっては WikipediaDynamic Host Configuration Protocol の項目を参照した.

Keywords:

コメントを投稿

Powered by
Movable Type 3.36