コンピューターはどのようにしてDHCP経由でIPアドレスを取得しますか?


27

コンピューターは、ネットワーク上のどのデバイスを照会するかをどのように知るのですか?デフォルトゲートウェイはこれをどのように考慮しますか?かなり多く、コンピュータがDHCPを使ってIPアドレスを取得しようとしたときに発生する一連のイベントは何ですか

私が尋ねる理由は、オリジナルが何らかの理由で失敗した場合に備えて、冗長DHCPサーバーを最適にセットアップする方法を見つけようとしているからです。

回答:


41

どのデバイスを照会するのかわかりません。したがって、要求をサブネット全体にブロードキャストします。DHCPサーバーは特定の種類の通信をリッスンしており、特定のブロードキャストを受信すると、要求をブロードキャストしたデバイスとのDHCP会話を開始します。詳細については、DORAプロセスをご覧ください。

DORAの略:

ゲートウェイについては、それができる別のサブネットにのみ明示的に転送DHCPトラフィックあれば遊びに来て。その機能は通常DHCPリレーと呼ばれます。それ以外の場合、ゲートウェイは、他のすべてのブロードキャストメッセージを無視するように、ブロードキャストDHCPメッセージを無視します。

冗長DHCPサーバーについては、両方を同じサブネット上に保持し、おそらく80/20ルールを使用する必要があります。DHCPサーバーとしてCentOSを使用している場合は、フェールオーバーをセットアップできます


17
dhcpエクスプローラーのDORA +1 私はそれがよりDORAの発見-ERだろうと思います
Nixphoe

3
@Nixphoe Me gusta。
ウェズリー

ここに質問があります。通常、すべてのサブネットに関連付けられたブロードキャストアドレスがあり、ネットワークについて何も知らないので、ネットワークカードはDHCPサーバー(およびその間のスイッチ)がメッセージを取得するためにどのようにメッセージを作成しますか?
古典的な

2
@crasic-そうです、その場合は255.255.255.255でブロードキャストします
マークヘンダーソン

1
@マークD'ああ、これのほとんどは答えのリンクで説明されて、私がすべき次回RTFA
crasic

3

DHCPは(一般的に)ブロードキャストプロトコルであるため、クライアントはネットワークについて何も知る必要はなく、単にリクエストをブロードキャストするだけです。

ネットワーク上のDHCPサーバーは、その要求を確認してそれに応答します。

もちろん、ルーティングやその他のネットワークデバイスにより、それよりもはるかに複雑です。 ウィキペディアのページは優れた情報源です。

そして、関連するRFCが詳細をカバーしています。


3

私が尋ねる理由は、オリジナルが何らかの理由で失敗した場合に備えて、冗長DHCPサーバーを最適にセットアップする方法を見つけようとしているからです。

最初に、プロトコルについてさらに学ぶことに興味を持っています。それは良い計画です。

第二に、あなたの目標を説明してくれてありがとう。良い答えが得られると思います。

最後に、私の答え:

どのDHCPサーバーを使用する場合でも、自動的に引き継ぐことができる冗長DHCPサーバーのセットアップを可能にするフェイルオーバー/冗長構成が存在する可能性があります(Windowsにはそのようなものがあると信じており、ISCのDHCPサーバーができることは知っています)。通常、プライマリDHCPサーバーが障害の前に提供するリースの問題に対処し、自動的かつ迅速に回復するため、これが最初の選択肢になります。

2番目の選択肢は、最初のマシンで障害が発生した場合に他のマシンを手動で起動できるように、別のマシンで構成を完全に複製することです。既存のリース情報が失われ、最初のDHCPサーバーに障害が発生してからreplacemntを起動するまでの暗黙的なダウンタイムのため、これは最適ではありません。


80/20ルールのポイントがわかります...サーバー80に障害が発生した場合、IPアドレスを提供するサーバー20がまだあります。しかし、これは最終的にすべてのクライアントがリースを更新したいが、以前のアドレス範囲の20%しか利用できないため、ダウンタイムの延長に対するいかなる種類のサポートも提供しません。「本当の」冗長性の提案が好きですが、私のシナリオでは2番目のWindowsマシンを使用することは選択肢になりません(ハードウェアファイアウォールは他のDHCPサーバーになります)。サーバー20をサーバー100に手動で再構成できると思いますか?;)
Bigbio2002

2

dhcpサーバーからIPアドレスを取得するには、いくつかの手順が必要です。

  1. 発見メッセージ。このメッセージは、dchpサーバーを検索するためにブロードキャストされます

  2. ネットワーク内のDHCPサーバーは、オファーメッセージで応答します。

  3. DHCP要求メッセージは、ブロードキャストによってクライアントによって送信されます。このメッセージは、ネットワーク内のすべてのDHCPサーバーに、クライアントによって受け入れられたオファーを通知します。

  4. DHCP確認メッセージは、サーバーによる確認のために送信されます。


1
簡単にするために投票してください。これを受け入れられた答えに組み込むことができたら素晴らしいと思います
Bigbio2002

@ Bigbio2002それはあなたの質問です。どの回答を受け入れるかを決めることができます。
マイケルハンプトン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.