ホームページ > 記事 > システムチュートリアル > Linux の DHCP 原則
A: クライアントが IP リクエストを行う
DHCP クライアントは起動すると、自動的に IP アドレスを 0.0.0.0 に設定します。0.0.0.0 では通常の通信ができないため、クライアントは DHCP サーバー経由で正規のアドレスを取得する必要があります。クライアントは DHCP サーバーの IP アドレスを知らないため、送信元アドレスとして 0.0.0.0 のアドレス、送信元ポートとして UDP68 ポート、宛先アドレスとして 255.255.255.255、宛先ポートとして UDP67 ポートを使用します。要求された IP アドレス情報をブロードキャストします。ブロードキャスト情報には DHCP クライアントの MAC アドレスとコンピュータ名が含まれているため、DHCP サーバーはどのクライアントが要求を送信したかを判断できます。
B: サーバーの応答
DHCP サーバーは、IP アドレスを要求しているクライアントから情報を受信すると、自身の IP アドレス プールを検索して、クライアントに提供する正当な IP アドレスがあるかどうかを確認します。存在する場合、DHCP サーバーはその IP アドレスにマークを付けて DHCPOFFER メッセージに追加し、DHCP サーバーは次の情報を含む DHCPOFFER メッセージをブロードキャストします: DHCP クライアントの MAC アドレス、DHCP サーバーによって提供された有効な IP アドレス、DHCP サーバーによって提供される有効な IP アドレス。サブネット マスク、デフォルト ゲートウェイ (ルーティング)、リース期間、DHCP サーバーの IP アドレス。 DHCP クライアントにはまだ IP アドレスがないため、DHCP サーバーは自身の IP アドレスを送信元アドレスとして、UDP67 ポートを送信元ポートとして、255.255.255.255 を宛先アドレスとして、UDP68 ポートを宛先ポートとして使用してブロードキャストします。 DHCPOFFER メッセージ。
C: クライアントは IP を選択します
DHCP クライアントは、受信した最初の DHCPOFFER メッセージから IP アドレスを選択し、その IP アドレスを発行した DHCP サーバーは、そのアドレスが別の DHCP クライアントに提供されないようにそのアドレスを予約します。 DHCP リースの 3 番目のフェーズは、クライアントが最初の DHCP サーバーから DHCPOFFER を受信し、IP アドレスを選択した後に発生します。クライアントは、オファーを受け入れることを示すために、すべての DHCP サーバーに DHCPREQUEST メッセージをブロードキャストします。 DHCPREQUEST メッセージには、このクライアントに IP 構成を提供したサーバーのサービス識別子 (IP アドレス) が含まれています。 DHCP サーバーは、[サーバー識別子] フィールドを調べて、指定されたクライアントに IP アドレスを提供するために自身が選択されているかどうかを判断します。これらの DHCPOFFER が拒否された場合、DHCP サーバーは、次の IP リース要求のために IP アドレスの提供を中止し、予約します。
クライアントの IP 選択プロセス中、クライアントは IP アドレスを選択しましたが、まだ IP アドレスを構成していません。ネットワーク内に複数の DHCP サーバーが存在する可能性があるため、クライアントは引き続きアドレス 0.0.0.0 を使用します。送信元アドレス、送信元ポートとして UDP68 ポートを使用、宛先アドレスとして 255.255.255.255 を使用、DHCPREQUEST 情報をブロードキャストする宛先ポートとして UDP67 ポートを使用します。
D: サーバーがリースを確認
DHCPREQUEST メッセージを受信した後、DHCP サーバーは、DHCPACK メッセージの形式でクライアントに成功の確認をブロードキャストします。このメッセージには、IP アドレスの有効なリースおよびその他の可能な構成情報が含まれています。サーバーはクライアントのリース要求を確認しましたが、クライアントはサーバーの DHCPACK メッセージを受信していないため、サーバーは依然として独自の IP アドレスを送信元アドレスとして、UDP67 ポートを送信元ポートとして、255.255.255.255 を宛先アドレスとして使用します。 UDP68 ポートは、DHCPACK 情報をブロードキャストする宛先ポートとして機能します。クライアントは DHCPACK メッセージを受信すると、IP アドレスを構成し、TCP/IP の初期化を完了します。
DHCPREQUEST が失敗した場合、たとえば、クライアントが前の IP アドレスをリースしようとしたが、その IP アドレスが利用できなくなった場合、またはクライアントが別のサブネットに移動したために IP が無効になった場合、DHCP サーバーは否定的な確認をブロードキャストします。メッセージ DHCPNACK。クライアントは失敗した確認応答を受信すると、DHCP リース プロセスを再開します。
The DHCP client will send a DHCPREQUEST message packet directly to the DHCP server that provides it with an IP address when 50% of the lease period has expired. If the client receives the DHCPACK message packet responded by the server, the client updates its configuration based on the new lease period and other updated TCP/IP parameters provided in the packet, and the IP lease update is completed. If no reply is received from the server, the client continues to use the existing IP address because 50% of the current lease period remains.
If there is no update when 50% of the lease period has passed, the DHCP client will contact the DHCP server that provided it with the IP address again when 75% of the lease period has passed. If it is still unsuccessful, when the lease reaches 100%, the DHCP client must give up the IP address and apply again. If no DHCP server is available at this time, the DHCP client will use a random address in 169.254.0.0/16 and try again every 5 minutes.
以上がLinux の DHCP 原則の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。