TCP/IP とデータ通信

第 15 章 DHCP への移行

この章では、DHCP、BOOTP、RARP の各プロトコル間の違いについて説明します。また DHCP の利点と DHCP へ移行する方法についても説明します。

DHCP へ移行する理由

BOOTP または RARP を使用していたユーザーの中には、DHCP との違いや DHCP の利点について疑問に思われる方がいらっしゃるかもしれません。DHCP とそれ以前のプロトコルとの間の主要な違いは、DHCP 以前のプロトコルでは、ホスト情報をサーバーのデータベース内に手動で構成するように設計されていましたが、DHCP では新しく接続されたホストに IP アドレスと構成を動的に割り当てることが可能になりました。

さらに、DHCP のリースのメカニズムにより、IP アドレスの自動的な回収と再割り当ても可能になりました。DHCP は BOOTP のスーパーセットであり、より高度の柔軟性を提供します。DHCP は BOOTP をベースにしており、いくつか機能が追加されていますが、同じプロトコルパケット形式とメカニズムを使用します。DHCP では、ルーターに組み込み済みの BOOTP 中継エージェントの機能を利用することができ、BOOTP クライアントを直接サポートすることができます。

RARP ではマシンが自己の IP アドレスを見つけ出しますが、DHCP または BOOTP では IP アドレスはクライアントシステムに引き渡されるプロトコルパラメータの 1 つです。RARP の欠点は、その他のパラメータがサポートされていないこと、および RARP を提供するサーバーが、直接に接続されたネットワーク以外にはサービスを提供できないことです。

DHCP と BOOTP のトラフィックは、一般的なルーターに組み込まれている BOOTP 中継エージェントの機能を利用することができます。つまり、ネットワーク管理者は、ネットワークセグメントごとに BOOTP サービスを配置する必要はありません。

手動で設定した IP アドレスをサポートしようとすると、管理者は以下のような複数の困難に直面します。

DHCP の利点

DHCP サーバーには、これまでの IP アドレスを取得する方法に比べて、優れた点があります。DHCP サーバーが提供できる機能を以下に示します。

  1. IP アドレスの重複問題の防止を含む、IP アドレスの自動管理。

  2. BOOTP クライアントのサポートが可能、これによりネットワークを BOOTP から DHCP へ容易に移行することが可能。

  3. 管理者がリース時間を設定することが可能であり、手動で割り当てた IP アドレスに対しても設定することが可能。

  4. 動的な IP アドレスを用いてサービスを提供する対象の MAC アドレスを制限することが可能。

  5. 管理者が、BOOTP の場合に可能である範囲を超えた、追加の DHCP オプションの種類を構成することが可能。

  6. 動的に割り当てることができる IP アドレスのプール (複数可) を定義することが可能。ユーザーのサーバーで、プールが 1 つのサブネットまたはネットワーク全体になるよう強制するものがありますが、1 つのプールが連続した IP アドレスから構成されることを強制するサーバーは望ましくありません。

  7. 別個の IP ネットワーク (またはサブネット) に対する、複数の動的な IP アドレスのプールを関連付けることが可能。この関連付けは、二次ネットワークに対する基本サポートであり、複数の IP ネットワークアドレスまたはサブネット IP アドレスを持つインタフェースの BOOTP 中継としてルーターが動作することを可能にします。

DHCP サーバーの機能の一部ではありませんが、DHCP サーバーを管理する方法に関連したいくつかの機能を以下に示します。

  1. 複数のサーバーの集中管理

  2. サーバーが動作中で、かつリースが追跡されている状態でも、変更を行う能力。たとえば、IP アドレスをプールに追加したりプールから削除すること、またはパラメータを変更することができます。

  3. パラメータに対して広域的変更 (すべてのエントリに対して適用される変更) を行うか、あるいはクライアントまたはプールのグループに対して変更を行う能力

  4. リースの監査トレール (たとえば、貸し出し中のリースのログ) の保守

DHCP は、IP アドレスを割り当てる 4 つの方法をサポートします。これらの方法は独立した機能です。特定の 1 つのサーバーに注目すると、そのサーバーはすべての機能を提供できるか、あるいは 1 つも提供できないかのいずれかです。

移行

DHCP は BOOTP と BOOTP のパケット構造をベースにしているため、大部分のサイトでは DHCP への移行を容易に行うことができます。数多くの DHCP サーバーが、以前の BOOTP クライアントと新しい DHCP クライアントの両方をサポートします。

Solaris DHCP サーバーは、DHCP 照会だけでなく BOOTP 照会も処理するため、BOOTP クライアントは DHCP サーバーからブートすることができます。DHCP クライアントに BOOTP サーバーからの応答を使用するように書き込まれている場合、DHCP クライアントは BOOTP サーバーからブートすることができます。Windows 95 を用いて組み込まれた TCP/IP スタックには、この機能はありません。

サブネット

DHCP クライアントのメッセージは、通常 IP ルーターの機能である BOOTP 中継エージェントによってリモートサーバーへ送信されます。BOOTP 中継エージェントを介して、DHCP サーバーは要求元のサブネットを見分けることができます。BOOTP 中継エージェントは、メッセージの発信元のサブネットを DHCP のメッセージヘッダーに記録します。つまり、DHCP サーバーはその記録を使用して、クライアントが存在するネットワークを判定することができます。

BOOTP サーバーと DHCP サーバーを同じマシン上で動作させることはできません。その理由は、両方のサーバーが同じポート番号を使用するためです。BOOTP 互換モードをオンに設定すると、Solaris DHCP サーバーを BOOTP クライアントとして機能させることができます。

DHCP プロトコルを用いると、すでにリースされた IP アドレスまたは永久 IP アドレスを保持しているクライアントが、別のサブネット上の別の一時リースを取得することができます。この取得は、別の位置へ移動する必要があるマシンにとって役立ちます。このオプションは、サーバーが当該機能をサポートしている場合に使用可能です。

ルーター

DHCP には不揮発性の記憶領域が必要です。このため、DHCP サービスのタスクはサーバーとは互換性が保たれますが、専用のルーターとは互換性がなくなります。中継用と DHCP 用の両方に構成可能な、サーバーの種類がいくつかあります。たとえば、Web サーバー、ファイアウォールなどの用途で使用できるように設計されたオールインワンのインターネットゲートウェイがあります。ただし、専用のルーターは存在しません。

DHCP の RFC では、DHCP はルーターの構成に使用することを目的としていない旨が明記されています。ルーターの保守および障害追跡においては、構成が自動に設定されるがままにしておくのではなく、正確な構成を把握しておくこと、およびルーターの動作を別のサーバーの動作に依存させないことが重要だからです。

汎用性がより強い特定の種類のコンピュータまたはサーバーを構成して、それらの IP アドレスを DHCP から取得し、ルーターとして動作させることが可能な場合があります。さらに、厳密にはルーターではありませんが、自己のクライアントに与える IP アドレスを DHCP を使用して取得するリモートアクセスサーバーも存在します。