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 サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Linuxシステムの5つの基本コンポーネントは次のとおりです。1。Kernel、2。Systemライブラリ、3。Systemユーティリティ、4。グラフィカルユーザーインターフェイス、5。アプリケーション。カーネルはハードウェアリソースを管理し、システムライブラリは事前コンパイルされた機能を提供し、システムユーティリティはシステム管理に使用され、GUIは視覚的な相互作用を提供し、アプリケーションはこれらのコンポーネントを使用して機能を実装します。

gitリポジトリアドレスを表示するには、次の手順を実行します。1。コマンドラインを開き、リポジトリディレクトリに移動します。 2。「git remote -v」コマンドを実行します。 3.出力と対応するアドレスでリポジトリ名を表示します。

VSコードワンステップ/次のステップショートカットキー使用法:ワンステップ(後方):Windows/Linux:Ctrl←; macOS:CMD←次のステップ(フォワード):Windows/Linux:Ctrl→; macOS:CMD→

Linuxの主な用途には、1。Serverオペレーティングシステム、2。EmbeddedSystem、3。Desktopオペレーティングシステム、4。開発およびテスト環境。 Linuxはこれらの分野で優れており、安定性、セキュリティ、効率的な開発ツールを提供します。

Sublimeでコードを実行するには6つの方法があります。ホットキー、メニュー、ビルドシステム、コマンドライン、デフォルトビルドシステムの設定、カスタムビルドコマンド、プロジェクト/ファイルを右クリックして個々のファイル/プロジェクトを実行します。ビルドシステムの可用性は、崇高なテキストのインストールに依存します。

NotePadはJavaコードを直接実行することはできませんが、他のツールを使用することで実現できます。コマンドラインコンパイラ(Javac)を使用してByteCodeファイル(filename.class)を生成します。 Javaインタープリター(Java)を使用して、バイトコードを解釈し、コードを実行し、結果を出力します。

Laravelをインストールするには、これらの手順を順番に進みます。コンポーザー(MacOS/LinuxとWindows用)インストールLaravelインストーラーをインストールします。

Visual Studio Code(VSCODE)は、Microsoftが開発したクロスプラットフォーム、オープンソース、および無料のコードエディターです。軽量、スケーラビリティ、および幅広いプログラミング言語のサポートで知られています。 VSCODEをインストールするには、公式Webサイトにアクセスして、インストーラーをダウンロードして実行してください。 VSCODEを使用する場合、新しいプロジェクトを作成し、コードを編集し、コードをデバッグし、プロジェクトをナビゲートし、VSCODEを展開し、設定を管理できます。 VSCODEは、Windows、MacOS、Linuxで利用でき、複数のプログラミング言語をサポートし、マーケットプレイスを通じてさまざまな拡張機能を提供します。その利点には、軽量、スケーラビリティ、広範な言語サポート、豊富な機能とバージョンが含まれます
