GNU/Linux >> Linux の 問題 >  >> Linux

DHCP とは何ですか? DHCP のしくみは? (DHCP の基礎の説明)

コンピュータ ネットワークは、LAN、WAN など、どのような形式でもかまいません。ローカル LAN またはインターネット接続に接続している場合、IP アドレスはコンピュータ ネットワーク上の通信の基礎を形成します。 IP アドレスは、任意のネットワークに接続されている間のホストまたはコンピューター デバイスの ID です。

ほとんどの場合、コンピュータを LAN またはインターネットに接続すると、IP アドレスやサブネット マスクなどのその他の情報がコンピュータに自動的に割り当てられます。これがどのように起こるか考えたことがありますか?この記事では、この機能の基礎となる DHCP の概念を理解します。

DHCP とは?

DHCP は Dynamic Host Configuration Protocol の略です。

名前が示すように、DHCP はリモート サーバーを介してホストのネットワーク構成を制御するために使用されます。 DHCP 機能は、最新のオペレーティング システムのほとんどにデフォルト機能としてインストールされています。 DHCP は、時間のかかるホストまたはネットワーク デバイスのネットワーク設定の手動構成に代わる優れた手段です。

DHCP は、クライアント サーバー モデルで動作します。プロトコルであるため、クライアントとサーバー間で交換される独自のメッセージ セットがあります。 DHCP のヘッダー情報は次のとおりです:

FIELD OCTETS 説明
オペ 1 メッセージの種類
htype 1 ハードウェア アドレスのタイプ
フレン 1 ハードウェア アドレスの長さ
ホップ 1 リレー エージェントの場合に使用されます。クライアントはそれらを 0 に設定します。
xid 4 クライアントとサーバーがセッションで使用するトランザクション ID。
2 クライアントがプロセスを要求してからの経過時間 (秒単位)
フラグ 2 フラグ
ciaddr 4 クライアントの IP アドレス。
yiaddr 4 サーバーがクライアントに割り当てた IP アドレス
siaddr 4 サーバーの IP アドレス。
giaddr 4 リレー エージェントの IP アドレス。
chaddr 16 クライアントのハードウェア アドレス。
名前 64 サーバーのホスト名。
ファイル 128 ブート ファイル名。
オプション var 追加オプション


DHCP を理解すると、多くのネットワーク関連の問題のデバッグに役立ちます。ネットワークとネットワーク デバッグ ツールに関する理解を深めるために、wireshark とネットワーク上のパケットのジャーニーに関する記事をお読みください。

次のセクションでは、このプロトコルの働きについて説明します。

DHCP の仕組み

DHCP が目標を達成するプロセスを理解する前に、プロセスで使用されるさまざまなメッセージを理解する必要があります。

1. DHCPDISCOVER

これは、クライアントとサーバー間の DHCP 対話の開始を示す DHCP メッセージです。このメッセージは、ローカル サブネットに接続されているクライアント (ネットワークに接続されているホストまたはデバイス) によって送信されます。これは、送信元 IP アドレスが 0.0.0.0 であるのに対し、宛先 IP アドレスとして 255.255.255.255 を使用するブロードキャスト メッセージです。

2. DHCPオファー

DHCPDISCOVER に対する応答として、DHCP サーバーが DHCP クライアントに送信する DHCP メッセージです。このメッセージには、DHCPDISCOVER メッセージを送信したクライアントのネットワーク構成設定が含まれています。

3. DHCPREQUEST

この DHCP メッセージは、クライアントがサーバーから DHCPOFFER メッセージで送信されたネットワーク構成を受け入れたことを示す DHCPOFFER に応答して送信されます。

4. DHCPACK

このメッセージは、クライアントから受信した DHCPREQUEST に応答して、DHCP サーバーによって送信されます。このメッセージは、DHCPDISCOVER で開始されたプロセスの終了を示します。 DHCPACK メッセージは、DHCP クライアントが DHCP サーバーから以前に受信したネットワーク構成の使用を開始することを承認する、DHCP サーバーによる確認応答に他なりません。

5. DHCPNAK

このメッセージは、上記の DHCPACK とは正反対です。このメッセージは、クライアントからの DHCPREQUEST メッセージを満たすことができない場合に、DHCP サーバーによって送信されます。

6. DHCPDECLINE

このメッセージは、DHCP サーバーによって割り当てられた IP アドレスが既に使用されていることをクライアントが検出した場合に、DHCP クライアントからサーバーに送信されます。

7. DHCPINFORM

このメッセージは、IP アドレスがクライアントで静的に構成されており、他のネットワーク設定または構成のみを DHCP サーバーから動的に取得する必要がある場合に、DHCP クライアントから送信されます。

8. DHCPRELEASE

このメッセージは、DHCP サーバーによって提供されたネットワーク アドレスのリースを終了したい場合に、DHCP クライアントによって送信されます。

さまざまな DHCP メッセージについて理解できたので、今度は完全な DHCP プロセスを実行して、DHCP がどのように機能するかをよりよく理解できるようにします。以下の手順では、DHCP 機能がクライアント側でデフォルトで有効になっていることを前提としています。

手順は次のとおりです:

  • ステップ 1: クライアント コンピューター (またはデバイス) が起動するか、ネットワークに接続されると、DHCPDISCOVER メッセージがクライアントからサーバーに送信されます。クライアントにはネットワーク構成情報がないため、メッセージは送信元アドレスとして 0.0.0.0、宛先アドレスとして 255.255.255.255 で送信されます。 DHCP サーバーがローカル サブネット上にある場合は、メッセージを直接受信します。別のサブネット上にある場合は、クライアントのサブネットに接続されたリレー エージェントを使用して、リクエストを DHCP サーバーに渡します。このメッセージに使用されるトランスポート プロトコルは UDP で、使用されるポート番号は 67 です。クライアントは、このステップで初期化段階に入ります。
  • ステップ 2: DHCP サーバーが DHCPDISCOVER 要求メッセージを受信すると、DHCPOFFER メッセージで応答します。すでに説明したように、このメッセージには、クライアントが必要とするすべてのネットワーク構成設定が含まれています。たとえば、メッセージの yaddr フィールドには、クライアントに割り当てられる IP アドレスが含まれます。同様に、サブネット マスクとゲートウェイ情報がオプション フィールドに入力されます。また、サーバーはクライアントの MAC アドレスを chaddr フィールドに入力します。このメッセージは、クライアントが直接受信できるようにブロードキャスト (255.255.255.255) メッセージとして送信されます。または、DHCP サーバーが別のサブネットにある場合、このメッセージは、メッセージがユニキャストとして渡されるかどうかを処理するリレー エージェントに送信されます。または放送。この場合も、UDP プロトコルがトランスポート層で使用され、宛先ポートは 68 です。クライアントは、このステップで選択段階に入ります
  • ステップ 3: クライアントは、DHCPOFFER メッセージに応答して DHCPREQUEST メッセージを作成し、それをサーバーに送信して、DHCPOFFER メッセージで送信されたネットワーク構成を受け入れたいことを示します。 DHCPDISCOVER を受信した DHCP サーバーが複数ある場合、クライアントは複数の DHCPOFFER メッセージを受信する可能性があります。ただし、クライアントは、サーバー識別フィールドに特定の DHCP サーバーの IP アドレスを入力することにより、メッセージの 1 つだけに応答します。他の DHCP サーバーからのメッセージはすべて暗黙的に拒否されます。 DHCPREQUEST メッセージには、依然として送信元アドレスが 0.0.0.0 として含まれています。これは、クライアントが DHCPOFFER メッセージを通じて渡された IP アドレスを使用することをまだ許可されていないためです。クライアントは、このステップでリクエスト段階に入ります。
  • ステップ 4: サーバーは、クライアントから DHCPREQUEST を受信すると、割り当てられた IP アドレスをクライアントが使用できるようになったことを示す DHCPACK メッセージを送信します。クライアントは、このステップでバインド状態に入ります。

リースの概念

DHCP の仕組みに関するすべての必要な情報があれば、DHCP サーバーによって DHCP クライアントに割り当てられた IP アドレスがリースされていることも知っておく必要があります。リースの有効期限が切れると、DHCP サーバーは同じ IP アドレスを要求している他のホストまたはデバイスに自由に割り当てることができます。たとえば、1 日の終わりに PC をシャットダウンする場合は、リース時間を 8 ~ 10 時間に保つことが役立ちます。そのため、リースは定期的に更新する必要があります。 DHCP クライアントは、リース期間の半分が経過した後にリースを更新しようとします。これは、DHCPREQUEST および DHCPACK メッセージの交換によって行われます。このすべてを行っている間に、クライアントは更新段階に入ります。


Linux
  1. FirewallDとは何ですか?Linuxに実装する方法

  2. NFSとは何ですか?Linuxにインストールする方法

  3. DNSとは何ですか?どのように機能しますか?

  1. Makefileとは何ですか?どのように機能しますか?

  2. LinuxでのChownコマンドとは何ですか?その使用方法

  3. メールとは何ですか? どのようにナビゲートされますか?

  1. cURLコマンドとは何ですか?その使用方法は?

  2. Webサーバーとは何ですか?Webサーバーはどのように機能しますか?

  3. Podmanとは何ですか?LinuxにPodmanをインストールする方法