Solaris のシステム管理 (第 3 巻)

DHCP の動作

システム管理者はまず、DHCP サーバーをインストールし、構成する必要があります。構成作業において、システム管理者は、クライアントがネットワーク上で動作するのに必要なネットワーク情報を入力します。この情報が正しく設定されると、クライアントはネットワーク情報を要求し、受け取ることができます。

図 8-1 は、DHCP サービスにおける一連のイベントを示したものです。丸の中の番号は、図の後に続く説明の箇条書き番号を示しています。

図 8-1 DHCP サービスにおける一連のイベント

Graphic

説明:

  1. クライアントは、ローカルサブネット上で制限付きブロードキャストアドレス (255.255.255.255) に探索メッセージをブロードキャストすることで、DHCP サーバーを検出します。ルータが存在し、BOOTP リレーエージェントとして動作するように構成されている場合、要求は異なるサブネット上の別の DHCP サーバーに渡されます。クライアントのブロードキャストには、クライアントの一意の ID が含まれます。Solaris DHCP の実装では、この ID はクライアントの MAC アドレスから導出されます。

    探索メッセージを受け取る DHCP サーバーは、以下の情報を調査し、クライアントのネットワークを決定します。

    • サーバーのネットワークインタフェースの内、どのインタフェースが要求を受け取ったのか。これによってサーバーは、クライアントが、インタフェースが接続されているネットワーク上にあるのか、あるいは、そのネットワークに接続された BOOTP リレーエージェントを使用しているのかがわかります。

    • BOOTP リレーエージェントの IP アドレスが要求に含まれているか。要求がリレーエージェントを通過する際に、リレーエージェントは要求ヘッダーにリレーエージェントのアドレスを挿入します。サーバーがリレーエージェントのアドレスを検出すると、サーバーは、そのアドレスのネットワーク部分がクライアントのネットワークアドレスを示していることを認識します。これは、リレーエージェントがクライアントのネットワークに接続されている必要があるからです。

    • クライアントのネットワークは、サブネット化されているか。サーバーは、リレーエージェントアドレスまたは要求を受け取ったネットワークインタフェースのアドレスをキーにして、ネットマスクテーブルを調べます。サーバーは、使用されているサブネットマスクを認識すると、ネットワークアドレスのどの部分がホスト部分であるかを決定し、クライアントに適切な IP アドレスを選択できます。(ネットマスクについては、netmasks(4) を参照)。

  2. クライアントのネットワークを決定したら、DHCP サーバーは、適切な IP アドレスを選択し、そのアドレスがまだ使用されていないことを確認します。次に、選択した IP アドレスと、クライアントの設定に使用可能なサービス情報を含むオファーメッセージ (offer message) をブロードキャストし、クライアントに応答します。各サーバーは、提供予定の IP アドレスを一時的に予約します。この状態は、クライアントがその IP アドレスを使用するかどうかをサーバーが確認できるまで続きます。

  3. クライアントは最善のオファーを選択し (提供されるサービスの番号とタイプをもとに選択する)、要求をブロードキャストして、最善のオファーを行ったサーバーの IP アドレスを指定します。ブロードキャストにより、応答したすべての DHCP サーバーは、クライアントが 1 つのサーバーをすでに選択したことを認識し、選択されなかったサーバーは、それらが提供する予定だった IP アドレスの予約を取り消すことができます。

  4. 選択されたサーバーは、クライアントに対して IP アドレスを割り当て、その情報を DHCP データ記憶領域に格納し、クライアントに承認を送信します。承認メッセージには、クライアントのためのネットワーク構成パラメータが含まれています。クライアントは、他のシステムが IP アドレスを使用していないことを確認するために IP アドレスをテストし、ブート処理を継続してネットワークに参加します。

  5. クライアントはリース期間を監視し、規定のリース期間が経過した場合には、リース期間を延長するために、選択したサーバーに対して新たな要求メッセージを送信します。

  6. リース期間が、管理者が規定したローカルリースポリシーに合っている場合、要求を受け取る DHCP サーバーは、そのリース期間を延長します。サーバーが 20 秒以内に応答しない場合、クライアントは、他の DHCP サーバーのいずれかがリース期間を延長できるように要求をブロードキャストします。

  7. クライアントは、その IP アドレスを必要としなくなった場合、IP アドレスを解放する旨を通知するメッセージをサーバーに送信します。この処理は、通常のシャットダウンの際に実行され、また、手動で実行することも可能です。