XPLN/Lernbereiche

G09 · DHCPv4 · Protokoll

Die erste Vergabe: DORA

Kapitel in dieser Lernstufe

Das lernst du

  • Angebot und bestätigte Zuweisung unterscheiden.
  • Kommunikation vor einer gültigen Clientadresse erklären.

Voraussetzungen: G03 · Parameter und ihre AuswirkungenG04 · Client, Server, Switch und RouterG08 · Lease: Nutzung auf Zeit

Ein neu angeschlossener Client kennt noch keine nutzbare Adresse. Trotzdem kann er DHCP beginnen: Die ersten Nachrichten verwenden besondere Absender- und Broadcastadressen.

Die vier Nachrichten auf zwei Lebenslinien

ClientDHCP-Server192.168.10.10DISCOVEROption 53 = 1 · Adresse gesuchtOFFERyiaddr = .10.120 · noch ein AngebotREQUESTOption 50 = .10.120 · 54 = .10.10ACKAdresse + Parameter bestätigtDanach: Konfliktprüfung → Adresse verwenden (BOUND)
Grafik vergrößern
ClientDHCP-Server192.168.10.10DISCOVEROption 53 = 1 · Adresse gesuchtOFFERyiaddr = .10.120 · noch ein AngebotREQUESTOption 50 = .10.120 · 54 = .10.10ACKAdresse + Parameter bestätigtDanach: Konfliktprüfung → Adresse verwenden (BOUND)
Erstbezug im lokalen Lehrnetz ohne Relay: Client und Server .10.10 verwenden dieselbe Transaktionskennung. Das REQUEST wählt Adresse und Server; erst das ACK bestätigt. Das im Kapitel gesetzte Broadcast-Flag fordert die Broadcastzustellung von OFFER und ACK an. Die Pfeile zeigen die fachliche Richtung, nicht eine behauptete Unicast-Zustellung.
DORA · SCHRITT FÜR SCHRITT1 / 4

Direktes Lehrnetz · Server 192.168.10.10 · Client fordert Broadcast-Antworten an · ohne Relay

Client
DHCPDISCOVER
→
Server

Einen Anbieter für die Konfiguration finden

Der Client hat noch keine verwendbare IPv4-Adresse. Er sendet ins lokale Netz und nennt seine Identität, die Transaktion und gewünschte Parameter. Hier ist noch keine Wunschadresse gesetzt.

INIT → SELECTING · Eine Antwort muss zur laufenden Anfrage passen.

DHCPDISCOVER · Paketansicht

IPv4 / UDP · Quelle → Ziel
0.0.0.0:68 → 255.255.255.255:67
Ethernet · Quelle → Ziel
02:00:00:00:10:21 → ff:ff:ff:ff:ff:ff
Option 53 · Nachrichtentyp
1 · DHCPDISCOVER
Beschreibt den DHCP-Typ, unabhängig vom BOOTP-op.
xid · Transaktionskennung
0x4a31b902
Ordnet Antworten diesem Bezug zu.
ciaddr / yiaddr
0.0.0.0 / 0.0.0.0
Weder eine aktive noch eine angebotene Adresse.
flags / giaddr
0x8000 / 0.0.0.0
Broadcast-Antwort gewünscht; kein Relay in diesem Beispiel.
Option 55 · Parameterliste
1, 3, 6, 15
Maske, Router, DNS und Domain werden angefragt.
Option 61 · Client Identifier
01:02:00:00:00:10:21
Hier Hardwaretyp Ethernet (01) plus MAC; andere Formate sind möglich.
Schritt 1: Discover
Eigener Beispielablauf nach RFC 2131/2132. Die Pfeile zeigen die Nachrichtenrichtung. Der zentrale Nordlicht-Server mit Relay wird im Artikel gesondert erklärt.

Vor dem ersten Paket: Was der Client schon weiß

Der neue Büro-PC kennt seine Netzwerkschnittstelle und deren MAC-Adresse, hier 02:00:00:00:10:21. Er weiß noch nicht, welche IPv4-Adresse er verwenden darf, wie groß sein Subnetz ist oder welcher DHCP-Server zuständig ist. Dieses Startproblem nennt man Bootstrap: Ein System muss Informationen bekommen, die es für seine normale Kommunikation erst noch benötigt.

DHCP löst das mit besonderen Adressen. 0.0.0.0 dient beim Start als noch nicht konfigurierte IPv4-Quelle. 255.255.255.255 ist ein Limited Broadcast, also eine Nachricht an das lokale Netz. Im Ethernet wird sie an ff:ff:ff:ff:ff:ff gesendet. Ein Switch verteilt diesen Rahmen innerhalb des VLANs. Ein gewöhnlicher Router leitet den Limited Broadcast nicht einfach in andere Subnetze weiter; dafür braucht es einen DHCP-Relay.

Für den ersten Durchgang verwenden wir eine vereinfachte Nordlicht-Labortopologie: Client und DHCP-Server 192.168.10.10 liegen beide in .10.0/24. Das Gateway ist .10.1, der erreichbare DNS-Server .20.10. Der Client setzt das Broadcast-Flag, damit Antworten lokal als Broadcast ankommen. Diese ausdrückliche Annahme erklärt die Paketadressen in der Schrittansicht; anschließend übertragen wir den Ablauf auf den zentralen Server mit Relay.

1 · DISCOVER: Eine Transaktion beginnen

Der Client sendet DHCPDISCOVER von UDP-Port 68 an Serverport 67. UDP transportiert einzelne Nachrichten ohne vorherigen Verbindungsaufbau. DHCP selbst muss deshalb verlorene Nachrichten erkennen und gegebenenfalls wiederholen. Der Client erzeugt eine Transaktionskennung, xid genannt, damit er Antworten seinem laufenden Vorgang zuordnen kann. Im Beispiel lautet sie 0x4a31b902. Eine xid ist eine Zuordnungshilfe, kein Passwort und kein Authentizitätsnachweis.

Im DHCP-Inhalt steht ciaddr, die bereits verwendete Clientadresse, noch auf 0.0.0.0. chaddr trägt hier die Hardwareadresse. Option 53 mit Wert 1 bezeichnet DHCPDISCOVER. Eine Option ist ein zusätzliches, durch eine Nummer beschriebenes Datenfeld. Option 55, die Parameter Request List, kann etwa Maske, Router, DNS und Domain anfordern. Eine Client-Identifier-Option 61 kann zusätzlich die Identität ausdrücken, die der Server für die Zuordnung verwendet.

Auch eine gewünschte frühere Adresse kann als Option 50 enthalten sein. Das ist ein Wunsch, keine bereits erlaubte Nutzung. Im hier gezeigten erstmaligen Bezug lassen wir Option 50 bewusst weg. Der Client wechselt von INIT, also ohne verwendbare Konfiguration, in SELECTING und wartet auf geeignete Angebote. Nicht jeder sichtbare Server muss antworten: Zuständigkeit, freie Adressen und Verwaltungsregeln können eine Antwort verhindern.

2 · OFFER: Was der Server anbietet

Der Server bestimmt zunächst den passenden Bereich, dann eine geeignete Adresse innerhalb seiner Vergaberegeln. Bestehende Bindungen, Reservierungen, Ausschlüsse und freie Kapazität spielen dabei eine Rolle. Im Beispiel bietet er 192.168.10.120 an. Diese Adresse steht im Feld yiaddr: „your IP address“, also die dem Client angebotene Adresse. Sie ist nicht die IP-Quelladresse des Servers und auch nicht die Gatewayoption.

Option 53 trägt jetzt Wert 2 für DHCPOFFER. Option 54 nennt den Anbieter 192.168.10.10. Option 51 bietet eine Lease von 28.800 Sekunden, also acht Stunden. Dazu kommen im Beispiel Maske /24, Router .10.1 und DNS .20.10. Der Server übernimmt die Transaktionskennung der Anfrage, damit der Client das Angebot zuordnen kann. Ein Angebot ist jedoch noch kein abgeschlossener Bezug. Der Client kann weitere Angebote sammeln und eines davon auswählen.

In unserer Ansicht wird das OFFER wegen des gesetzten Broadcast-Flags von .10.10:67 an 255.255.255.255:68 geschickt. Andere Clients sehen diesen Broadcast ebenfalls, dürfen ihn aber nicht als eigene Konfiguration übernehmen. xid und Clientbezug helfen bei der Zuordnung. Ohne erforderliche Broadcastzustellung ist auch Unicast an die angebotene Adresse und Hardwareadresse möglich. „OFFER ist immer Broadcast“ wäre deshalb fachlich zu eng.

3 · REQUEST: Die Auswahl öffentlich machen

Der Client entscheidet sich für ein Angebot und sendet DHCPREQUEST. Option 50 nennt nun ausdrücklich 192.168.10.120, Option 54 den ausgewählten Server 192.168.10.10. ciaddr bleibt null: Der Client hat diese Adresse noch nicht als gültige Konfiguration übernommen. Die gewünschte Adresse steht an dieser Stelle in einer Option, nicht als bereits verwendete Quelladresse. Auch yiaddr bleibt im REQUEST null; dieses Feld füllt hier der antwortende Server.

Der REQUEST zur Angebotsauswahl wird als Broadcast gesendet. Das ist sinnvoll, obwohl der ausgewählte Server nun bekannt ist: Andere Anbieter erfahren damit ebenfalls, welches Angebot angenommen wurde, und können ihre nicht ausgewählten Angebote verwerfen. Ein zweiter Server mit Kennung .10.11 erkennt an Option 54, dass er nicht gemeint ist. Er soll den gültigen Auswahlvorgang nicht einfach mit einem konkurrierenden ACK überschreiben.

Die Auswahlstrategie ist Sache der Clientimplementierung. Das erste eintreffende OFFER kann gewählt werden, muss aber nicht immer gewinnen. Ein Mitschnitt beweist die Auswahl deshalb am REQUEST, nicht allein an der Reihenfolge der Angebote. Nach dem Senden befindet sich der Client in REQUESTING und wartet auf die Entscheidung des ausgewählten Servers. Ohne Bestätigung ist die Konfiguration noch nicht fertig.

4 · ACK: Bestätigen, prüfen, verwenden

Der gewählte Server prüft die Anfrage und bestätigt die Zuordnung mit DHCPACK, Option 53 gleich 5. Im ACK stehen die zu verwendende Adresse und die tatsächlich bestätigten Parameter. Der Client darf nicht einfach unterstellen, dass jeder zuvor angeforderte Parameter enthalten ist. Die Parameter Request List ist eine Wunschliste, keine Garantie. Für die spätere Diagnose zählt deshalb das ACK zusammen mit dem tatsächlich aktiven Clientzustand.

Im Beispiel bestätigt der Server .10.120, Maske 255.255.255.0, Gateway .10.1, DNS .20.10 und acht Stunden Lease. T1 und T2 können als Optionen 58 und 59 übermittelt werden; hier sind es 14.400 und 25.200 Sekunden. Ohne abweichende Vorgabe entsprechen diese Werte den üblichen Anteilen von 50 und 87,5 Prozent. Die genaue zeitliche Berechnung und spätere Erneuerung werden in F05 behandelt.

Vor der normalen Verwendung soll der Client die Parameter und einen möglichen Adresskonflikt prüfen. ARP kann dabei helfen festzustellen, ob ein anderes Gerät die Adresse bereits beansprucht. Erkennt der Client einen Konflikt, darf er die Adresse nicht einfach benutzen: Er meldet DHCPDECLINE und beginnt nach entsprechender Wartezeit neu. Ohne Konflikt geht er in BOUND über und kann die bestätigte Konfiguration verwenden. ACK bedeutet also nicht automatisch, dass DNS, Routing und jede Anwendung bereits erfolgreich getestet wurden.

Die Felder im direkten Vergleich

Lies die folgende Tabelle immer als einen konkreten Erstbezug ohne Relay und mit gewünschter Broadcastzustellung. Im Relayfall ändern sich Transportwege und giaddr. Bei einer Erneuerung ändern sich unter anderem ciaddr, Zieladresse und die Verwendung der Optionen 50 und 54. Das Grundformat bleibt ähnlich, die Bedeutung entsteht aus dem Zustand.

Feld / OptionDISCOVEROFFERREQUESTACK
Option 531235
ciaddr0.0.0.00.0.0.00.0.0.00.0.0.0
yiaddr0.0.0.0192.168.10.1200.0.0.0192.168.10.120
Option 50hier nicht gesetztnicht enthalten192.168.10.120nicht enthalten
Option 54nicht enthalten192.168.10.10192.168.10.10192.168.10.10
giaddr0.0.0.00.0.0.00.0.0.00.0.0.0
xid (Beispiel)0x4a31b9020x4a31b9020x4a31b9020x4a31b902
UDP-Ports68 → 6767 → 6868 → 6767 → 68

Was sich mit einem Relay ändert

Im größeren Nordlicht-Netz steht der DHCP-Server auf 192.168.20.10. Der Client startet weiterhin mit einem lokalen Broadcast im Büro. Der Relay auf 192.168.10.1 nimmt ihn entgegen, setzt im gewöhnlichen Relayfall giaddr auf die Adresse des Clientlinks und leitet die Anfrage an den Server weiter. Zwischen Relay und Server verwendet dieser klassische Austausch UDP 67 auf beiden Seiten.

Der Server erkennt anhand der Herkunftsinformation, dass eine Adresse aus .10.0/24 benötigt wird. Seine eigene Adresse .20.10 wäre kein Grund, dem Büro-PC eine .20er-Adresse zu geben. Die Antwort geht zunächst zum Relay und von dort zurück auf den Clientlink. In einem Capture neben dem Server siehst du deshalb andere äußere IP-Adressen als neben dem Client. Die vier fachlichen Schritte bleiben erkennbar, obwohl jeder Schritt mehrere Übertragungsabschnitte besitzt.

Wenn der Ablauf unterbrochen wird

Fehlt ein OFFER, prüfe zuerst, ob das DISCOVER den zuständigen Server überhaupt erreicht. Ist es dort sichtbar, untersuche Scopeauswahl, freien Bestand und Verwaltungsregeln. Verlässt ein OFFER den Server, kommt aber nicht beim Client an, liegt der nächste Messpunkt auf dem Rückweg. Aus „kein OFFER am PC“ allein folgt noch nicht „DHCP-Dienst kaputt“.

Fehlt nach dem REQUEST eine Bestätigung, kann eine Nachricht verloren gegangen sein. Der Client wiederholt nach seinen Timern. Für den anfänglichen Bezug beschreibt RFC 2131 einen zufällig verteilten exponentiellen Backoff, also wachsende Warteabstände mit Zufallsanteil. Das verhindert, dass viele gleichzeitig gestartete Clients immer wieder im selben Takt senden. Die konkreten Zeitabstände eines Betriebssystems werden am echten Mitschnitt geprüft, nicht aus der Vier-Schritte-Abkürzung abgeleitet.

DHCPNAK ist etwas anderes als Schweigen: Der Server erklärt die angefragte Nutzung ausdrücklich für unzulässig, etwa bei einer unpassenden gespeicherten Adresse. DHCPDECLINE kommt dagegen vom Client nach erkanntem Konflikt. Die Richtung und der Nachrichtentyp zeigen deshalb, welche Art von Fehler untersucht werden muss. Einen Timeout als NAK zu beschreiben würde diese wichtige Unterscheidung verlieren.

Warum eine Verlängerung nicht wieder DORA ist

Ein Client mit gültiger Lease besitzt bereits eine nutzbare Adresse und kennt den bisherigen Server. Bei T1 sendet er normalerweise einen direkten DHCPREQUEST zur Erneuerung. ciaddr enthält nun seine aktive Adresse; Optionen 50 und 54 werden in diesem REQUEST nicht verwendet. Ein passendes ACK bestätigt die neue Gültigkeit. DISCOVER und OFFER sind dafür nicht erforderlich.

Bleibt die Antwort bis T2 aus, fragt der Client im REBINDING per Broadcast verfügbare Server. Erst wenn keine Verlängerung gelingt und die Lease abläuft, darf er die alte Adresse nicht weiterverwenden. Ein Neustart mit gespeicherter Adresse kann wiederum einen eigenen Bestätigungsweg über INIT-REBOOT nehmen. DORA erklärt den vollständigen ersten Bezug; das Zustandsmodell in F04 erklärt, warum der laufende Betrieb mehr Wege besitzt.

DURCHGEARBEITETES BEISPIEL

Der neue Büro-PC

  1. DISCOVER: PC ohne Adresse sucht. Das Relay vermittelt zum Server 192.168.20.10, falls er nicht im selben Netz steht.
  2. OFFER: Server bietet 192.168.10.120/24, Gateway .1, DNS 192.168.20.10 und acht Stunden an.
  3. REQUEST: Client wählt dieses Angebot und bezeichnet den Server. Er trägt die Adresse nicht allein aufgrund des OFFER als endgültig vergeben ein.
  4. ACK: Server bestätigt. Client prüft auf Konflikte, verwendet die Adresse und startet seine Lease-Fristen.

Ergebnis: Die sichtbare Adresse ist das Ergebnis eines abgestimmten Austauschs. Eine fehlende Antwort wird durch Paketbeobachtung auf dem jeweiligen Netzabschnitt eingegrenzt.

Typische Fehler

  • OFFER ist nicht ACK.
  • Eine Nachricht an alle lokalen Geräte erreicht nicht automatisch andere Subnetze.
  • Der Server ist nicht zwingend gleichzeitig das Gateway.

Praktisch anwenden

Offizielle Quellen

Versionsbezüge geprüft am 14. Oktober 2026. Produktkonfigurationen werden im jeweiligen isolierten Labor validiert.