Wie erhält ein Computer eine IP-Adresse über DHCP?

27

Woher weiß der Computer, welches Gerät im Netzwerk abgefragt werden soll? Wie berücksichtigt das Standard-Gateway dies? Ziemlich viel, was ist die Kette von Ereignissen , die auftritt , wenn ein Computer versucht , eine IP - Adresse über DHCP zu erhalten ?

Der Grund, den ich frage, ist, dass ich versuche herauszufinden, wie ich einen redundanten DHCP-Server am besten einrichten kann, falls das Original aus irgendeinem Grund ausfällt.

Bigbio2002
quelle

Antworten:

41

Es weiß nicht, welches Gerät abgefragt werden soll. Somit sendet es seine Anfrage an das gesamte Subnetz. Der DHCP-Server wartet auf eine bestimmte Art von Kommunikation. Wenn er diese bestimmte Sendung hört, beginnt er die DHCP-Konversation mit dem Gerät, das seine Anforderung gesendet hat. Weitere Informationen finden Sie im DORA-Prozess .

DORA steht für:

Das Gateway kann nur eingesetzt werden, wenn der DHCP-Verkehr explizit an ein anderes Subnetz weitergeleitet wird. Diese Funktion wird normalerweise als DHCP-Relay bezeichnet . Andernfalls ignoriert das Gateway die gesendete DHCP-Nachricht genauso wie jede andere gesendete Nachricht.

Bei redundanten DHCP-Servern sollten Sie beide im selben Subnetz halten und wahrscheinlich die 80/20-Regel verwenden . Sie können ein Failover einrichten, wenn Sie CentOS als DHCP-Server verwenden .

Wesley
quelle
17
+1 DORA der DHCP-Explorer? Ich denke, es wäre eher eine DORA, die Entdeckerin
Nixphoe
3
@ Nixphoe Me gusta.
Wesley
Hier ist eine Frage, normalerweise ist jedem Subnetz eine Broadcast-Adresse zugeordnet, die nichts über das Netzwerk weiß. Wie formuliert die Netzwerkkarte die Nachricht, damit der DHCP-Server (und alle Switches dazwischen) sie erhält?
Crasic
2
@crasic - richtig, in diesem Fall sendet es auf 255.255.255.255
Mark Henderson
1
@ Mark D'oh, das meiste davon ist in dem Link in der Antwort erklärt, das nächste Mal sollte ich
RTFA
3

DHCP ist (im Allgemeinen) ein Broadcast-Protokoll, sodass der Client nichts über das Netzwerk wissen muss. Er sendet einfach eine Anfrage.

DHCP-Server im Netzwerk sehen dann diese Anforderung und antworten darauf.

Natürlich ist es aufgrund des Routings und anderer Netzwerkgeräte viel komplexer. Die Wikipedia-Seite ist eine hervorragende Quelle .

Und der relevante RFC deckt das Detail ab.

EightBitTony
quelle
3

Der Grund, den ich frage, ist, dass ich versuche herauszufinden, wie ich einen redundanten DHCP-Server am besten einrichten kann, falls das Original aus irgendeinem Grund ausfällt.

Zunächst begrüße ich Ihr Interesse, mehr über das Protokoll zu erfahren. Das ist ein guter Plan.

Zweitens danke ich Ihnen, dass Sie Ihr Ziel erklärt haben. Ich denke, es wird Ihnen helfen, eine gute Antwort zu erhalten.

Zum Schluss meine Antwort:

Für welchen DHCP-Server Sie sich auch entscheiden, es gibt wahrscheinlich eine Failover- / Redundanzkonfiguration, mit der Sie einen redundanten DHCP-Server einrichten können, der automatisch übernimmt (ich glaube, Windows hat einen solchen, und ich kenne den DHCP-Server des ISC). Dies ist meine erste Wahl, da hier in der Regel Probleme mit Leases behoben werden, die vom primären DHCP-Server vor dessen Ausfall ausgegeben wurden, und weil die Wiederherstellung automatisch und schnell erfolgt.

Die zweite Möglichkeit besteht darin, die Konfiguration auf einem anderen Computer vollständig zu duplizieren, damit Sie den anderen Computer bei einem Ausfall des ersten Computers manuell starten können. Dies ist nicht so optimal, da vorhandene Lease-Informationen verloren gehen und die Zeit zwischen dem Ausfall des ersten DHCP-Servers und dem Aufrufen des Ersatzservers stillsteht.

Slartibartfast
quelle
Ich sehe den Sinn der 80/20-Regel ... Wenn Server 80 ausfällt, gibt es immer noch Server 20, der IP-Adressen ausgibt. Dies bietet jedoch keinerlei Unterstützung für eine längere Ausfallzeit, da letztendlich alle Kunden ihren Mietvertrag verlängern möchten, jedoch nur 20% des vorherigen Adressbereichs verfügbar sind. Ich mag Ihren Vorschlag einer "echten" Redundanz, aber die Verwendung eines zweiten Windows-Computers wäre in meinem Szenario keine Option (die Hardware-Firewall wäre der andere DHCP-Server). Ich denke, ich könnte Server 20 manuell neu konfigurieren, um Server 100 zu sein? ;)
Bigbio2002
2

Es sind mehrere Schritte erforderlich, um eine IP-Adresse von einem DHCP-Server abzurufen.

  1. Discovery-Nachricht, diese Nachricht wird gesendet, um nach einem DHCP-Server zu suchen

  2. Die DHCP-Server im Netzwerk antworten mit einer Angebotsnachricht.

  3. Die DHCP-Anforderungsnachricht wird vom Client per Broadcast gesendet. Diese Nachricht informiert alle DHCP-Server im Netzwerk darüber, welches Angebot vom Client angenommen wurde.

  4. Die DHCP-Bestätigungsnachricht wird vom Server zur Bestätigung gesendet.

eos
quelle
1
Stimmen Sie der Einfachheit halber zu. Es wäre großartig, wenn Sie dies in die akzeptierte Antwort integrieren
könnten
@ Bigbio2002 Es ist deine Frage. Sie können entscheiden, welche Antwort akzeptiert werden soll.
Michael Hampton