Solaris のシステム管理 (IP サービス)

DHCP の動作

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

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

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

この図では、DHCP クライアントとサーバー間の、一連の通信を示しています。この図に関しては、図の後で説明しています。

説明:

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

    検索メッセージを受け取った DHCP サーバーは、次の情報からクライアントのネットワークを特定します。

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

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

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

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

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

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

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

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

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