Go to main content
Oracle® Solaris 11.3 での DHCP の作業

印刷ビューの終了

更新: 2016 年 11 月
 
 

DHCP の動作

IPv4 を使用した DHCP サービスのイベントのシーケンスを次の図に示します。丸の中の番号は、図のあとに続く説明の箇条書き番号を示しています。

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

image:図には、DHCP クライアントとサーバー間の通信順序が示されています。図に続いて、この順序の説明があります。

    この図には、次の手順が示されています。

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

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

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

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

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

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

  3. DHCP クライアントはオファーされたサービスの数と種類に基づいて最適なオファーを選択し、最適なオファーを行なった DHCP サーバーの IP アドレスを指定する要求をブロードキャストします。このブロードキャストは、クライアントがサーバーを選択したことを、応答中のすべての DHCP サーバーに知らせます。選択されなかったサーバーは、オファーした IP アドレスの予約を取り消します。

  4. 選択された DHCP サーバーは、DHCP クライアント用の IP アドレスを割り当て、その情報を DHCP 構成ファイルに格納します。また、サーバーは承認メッセージ (ACK) をクライアントに送信します。「承認メッセージ」には、クライアントのためのネットワーク構成パラメータが含まれています。クライアントは、ping ユーティリティーを使って IP アドレスをテストし、ほかのシステムがそれを使っていないか確かめます。クライアントは続行し、ネットワークに参加します。

  5. DHCP クライアントはリース時間をモニターします。設定された時間が経過すると、クライアントは、さきほど選択した DHCP サーバーに新しいメッセージを送信してリースを増やそうとします。

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

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