Dynamic Host Configuration Protocol
Dynamic Host Configuration Protocol - (DHCP) Protokoll zur dynamischen Konfiguration von Netzwerkgeräten
Beschreibung
- DHCP
- Nachfolger vom BOOT-Protokoll
- Rechner ohne Festplatte starten und automatisch konfigurieren
Grundlagen
DHCP regelt die dynamische Vergabe von IP-Adressen und kann die Konfiguration von Rechnern unterstützen
- DHCP funktioniert nach dem Client-Server-Prinzip
- Benutzer eines Rechners benötigt keine IP-Adresse von einem Administrator - werden vom DHCP-Server zur Verfügung gestellt
- IP-Konfigurationsparameter für die Clients sind auf dem DHCP-Server gespeichert
- Vergabe der IP-Adressen erfolgt aus einem Pool von IP-Adressen, der vom Server verwaltet wird
- Implementierung von DHCP-Relays, um DHCP-Nachrichten in andere Subnetze weiterzuleiten, die über keinen DHCP-Server verfügen
Beim Start einer DHCP-Client-Applikation werden vom Server folgende Informationen angefordert:
- Client-IP-Adresse
- Lease-Dauer
- Identifikation des DHCP-Servers
- Subnetzmaske
- Default-Gateways
- statische Routen
- Hostname & Domainname
- Lokation externer Server (z. Bsp. Time-Server)
Anforderungen an den DHCP-Server
Ein DHCP-Server muss über einen Bereich gültiger IP-Adressen verfügen.
- Der Server benötigt eine manuell zugewiesene statische IP-Adresse (der Server selbst kann kein Client sein).
- Soll ein Server IP-Adressen für Clients in verschiedenen Subnetzen verteilen, so müssen sämtliche Router zwischen den Subnetzen als DHCP-Relay-Agenten konfiguriert werden.
- Wird dies von den Routern nicht unterstützt, benötigt jedes Subnetz einen eigenen DHCP-Server.
- Im Pool der IP-Adressen dürfen keine statischen IP-Adressen enthalten sein, da diese anderenfalls doppelt vergeben würden.
Zuweisungsmethoden des DHCP-Verfahrens
Automatische Zuweisung
IP-Adressen werden automatisch an die MAC-Adressen von neuen DHCP-Clients vergeben & diese Zuordnung in einer Tabelle festgehalten
- Vergabe der IP-Adresse an den Client erfolgt aus einem Pool von IP-Adressen, der vom Server verwaltet wird
- Zuordnungen sind permanent und werden nicht entfernt - jeder Client erhält somit stets die gleiche IP-Adresse
Dynamische Zuweisung
Vergabe erfolgt analog der Automatischen Zuweisung
- Zuweisung der IP-Konfiguration jedoch für einen bestimmten Zeitraum (Lease-Dauer)
- Verfall der IP-Adresse nach Ablauf der Lease-Dauer - Neuvergabe an anderen Client durch den DHCP-Server möglich
- Client kann/muß vor Ablauf der Lease-Dauer eine Verlängerung beantragen
- erlaubt, als einzige Zuweisungsmethode die Wiederverwendung von IP-Adressen, wenn der Client diese nicht mehr benötigt
Manuelle Zuweisung
DHCP-Server führt eine Zuweisungstabelle: feste Zuordnung von MAC-Adresse zu IP-Adresse (statisches DHCP)
- Client erhält immer die gleiche IP-Adresse
- nur Rechner mit bekannten & registrierten MAC-Adressen erhalten eine IP-Adresse
- sinnvoll bei Servern, die stets unter der gleichen IP-Adresse erreichbar sein sollen
DHCP-Nachrichten
Austausch von festgelegten DHCP-Nachrichten zwischen Server & Client
- Übermittlung durch das verbindungslose Transportprotokoll UDP (Server-Port: 67 & Client-Port: 68)
- Der DHCP-Client stellt einen Anwendungsprozess auf einem Rechner dar & ist auf dem Well-Known-Port 68 erreichbar
- Der DHCP-Server läuft als Anwendungsprozess auf einem dedizierten Rechner & ist auf dem Well-Known-Port 67 zu erreichen
Aufbau von DHCP-Nachrichten

Feld | Länge [Byte] | Bedeutung | Beschreibung |
---|---|---|---|
op | 1 | Operation | gibt an, ob es sich um eine Anfrage oder Antwort handelt |
htype | 1 | Netztyp | Angabe des Netztyps gemäß RFC 1340 |
hlen | 1 | Länge der Hardware-Adresse | physikalische Netzadresse (z. Bsp. 6 = MAC-Adresse) |
hops | 1 | Anzahl der Hops | Anzahl von Routern mit DHCP-Relay-Funktion auf dem Weg zwischen Client & Server |
xid | 4 | Transaktions-ID | Identifikationsnummer für die Transaktion zwischen Client & Server |
secs | 2 | Sekunden | von Seiten des Clients, die Zeit seit Beginn des Vorgangs |
flags | 2 | Flags | nur das höchstwertige Bit wird verwendet, um anzuzeigen, ob der Client noch über eine IP-Adresse verfügt |
ciaddr | 4 | Client-IP-Adresse | wird vom Client angegeben, falls dieser noch über eine IP-Adresse verfügt |
yiaddr | 4 | Your-IP-Adresse | IP-Adresse, die der Server dem Client zugewiesen hat |
siaddr | 4 | Server-IP-Adresse | IP-Adresse des DHCP-Servers |
giaddr | 4 | IP-Adresse des Routers mit DHCP-Relay-Funktion | |
chaddr | 16 | Client-Hardware-Adresse | Client-Mac-Adresse |
sname | 64 | Server-Name | |
file | 128 | File / Datei | |
options | bis 312 | Optionen | zusätzliche Konfigurationsparameter - DHCP-Optionen nach RFC 2132 |
Ablauf der Kommunikation


Anforderungsphase
Client sendet die Nachricht DHCP-DISCOVER mit einem Broadcast (Ziel-IP: 255.255.255.255) in sein lokales Netz
- DHCP-DISCOVER-Nachricht kann Optionen enthalten, wie Vorschläge für IP-Adresse & Lease-Dauer
- Anforderung der benötigten Konfigurationsparameter - IP-Adresse, Subnetzmaske und weitere
- Angabe der MAC-Adresse des Clients (chaddr) zwingend erforderlich
- Nachricht ist normalerweise auf das eigene Subnetz beschränkt - kann aber durch DHCP-Relay-Agenten in andere Subnetze weitergeleitet werden
Angebotsphase
Mit der Nachricht DHCP-OFFER lässt der DHCP-Server dem Client ein Angebot zukommen.
Der Server versucht dabei, den Client direkt zu erreichen - was nicht immer möglich ist:
Fall A
- Client wird gerade initialisiert & verfügt noch nicht über eine IP-Adresse
- Angebot wird als Broadcast versandt - erhält aber bereits die MAC-Adresse des Clients, sodass nur dieser die Nachricht lesen darf
Fall B
- Client verfügt bereits über eine IP-Adresse - deren Lease-Dauer jedoch zu Ende geht
- Angebot wird in diesem Fall direkt an die IP-Adresse des Clients gesendet
- Zu diesem Zeitpunkt muss der Server die IP-Adresse noch nicht reservieren, kann dies aber tun.
Auswahlphase
Der Client wählt die Konfigurationsparameter des zuerst erhaltenen Angebots aus.
- Senden einer Nachricht DHCP-REQUEST - Optionsfeld muß den Eintrag DHCP Server Identifier enthalten
- Nachricht wird als Broadcast versendet, um andere DHCP-Server darüber in Kenntnis zu setzen, dass der Client sich entschieden hat und die entsprechenden Server die reservierten Parameter wieder freigeben können
- angebotene IP-Adresse wird mit der Option Requested IP Address bestätigt
Bestätigungsphase
Antwort des DHCP-Servers mit der Nachricht DHCP-ACK mit allen Konfigurationsparametern für den Client
- Sollten in dieser Phase weitere Angebote eintreffen, werden diese vom Client verworfen.

Weitere Nachrichtentypen
Nachrichtentyp | Beschreibung |
---|---|
DHCP-NAK | Wird während der Bestätigungsphase vom Server an den Client gesendet, um diesen darauf hinzuweisen, daß die im DHCP-REQUEST angeforderten Konfigurationsparameter abgeleht wurden:
|
DHCP-RELEASE | Hiermit teilt ein Client dem Server mit, daß er seine IP-Adresse nicht mehr benötigt und der Server die Adresse freigeben und anderweitig vergeben kann |
DHCP-DECLINE | Der Client kann hierüber den Server in Kenntnis setzen, daß einige Parameter ungültig sind (etwa seine MAC-Adresse) |
DHCP-INFORM | Kann von Clients verwendet werden, denen eine statische IP-Adresse zugewiesen wurde, um weitere dynamische Konfigurationsparameter vom Server anzufordern. |




Lease-Dauer

Wurde der Client über die Dynamische Zuweisung konfiguriert, wird dessen IP-Adresse nach Ablauf der Lease Time ihre Gültigkeit verlieren & kann vom Server neu vergeben werden. Dementsprechend muß der Client vor Ablauf der Lease-Dauer eine Verlängerung der Gültigkeit seiner Konfigurationsparameter anfordern:
- Client sendet ein DHCP-REQUEST an den Server, von dem er konfiguriert wurde - gewünschte IP-Adresse wird mit der Option Requested IP Address mitgeteilt
- Standardmäßig erfolgt diese Anfrage nach Ablauf von 50 Prozent der Lease-Dauer.
- Wird vom Server nicht auf diese Anfrage reagiert, sendet der Client nach Ablauf von 7/8 der Lease-Dauer eine erneute Anfrage.
- Kann der Anfrage entsprochen werden, sendet der DHCP-Server ein DHCP-ACK an den Client
- Erhält der Client kein rechtzeitiges DHCP-ACK, muß dieser den Konfigurationsprozeß mit einem DHCP-DISCOVER erneut beginnen - die bisherige IP-Adresse darf bis zum Ablauf der Lease-Dauer behalten werden.
DHCPv6
Dynamic Host Configuration Protocol - Dynamic Host Configuration Protocol für IPv6
- Erweiterte Funktionen
Konfiguration und Verwaltung von IPv6-Netzwerkgeräten
- DHCPv6 vs. DHCPv4
Spezifische Funktionen für IPv6-Netze
- Zuweisung von IP-Adressen
- DNS-Konfigurationen
- weitere Netzwerkinformationen
- Unterschiede SLAAC und DHCPv6
DHCPv6 ermöglicht eine feinere Kontrolle
- Netzwerkkonfiguration
- Zusätzliche Parameter (Domänennamen, NTP-Server, ...)
Funktionsweise
Kommunikation zwischen Client und Server
Nachrichtentypen
Nachrichtentyp | Beschreibung |
---|---|
Solicit | |
Advertise | |
Request | |
Reply | |
Renew | |
Rebind | |
Release | |
Decline |
Anhang
Siehe auch
Dokumentation
RFC
RFC | Titel | Jahr |
---|---|---|
1541 | Dynamic Host Configuration Protocol | 1993 |
2131 | Aktualierung von 1541 | 1997 |
2132 | Erweiterung | |
3396 | Erweiterung | |
4361 | Erweiterung |
Links
Projekt
Weblinks
DHCP-Ablehnungsmeldung (decline message)
DHCP-Client
Wenn ein DHCP-Client seine IP-Adresse von einem DHCP-Server erhält, sollte er die vorgeschlagene Adresse überprüfen, um sicherzustellen, dass sie nicht bereits verwendet wird. Der Client kann beispielsweise eine ARP-Anfrage für die IP-Adresse senden. Dabei muss der Client seine eigene Hardwareadresse als Hardwareadresse des Absenders und 0 als IP-Adresse des Absenders angeben, um Verwechslungen mit ARP-Caches in anderen Hosts im selben Subnetz zu vermeiden. Wenn die Netzwerkadresse bereits belegt zu sein scheint, MUSS der Client eine DHCPDECLINE-Nachricht an den Server senden. Der Client SOLLTE eine ARP-Antwort senden, um die neue IP-Adresse des Clients bekannt zu geben und alle veralteten ARP-Cache-Einträge in Hosts im Subnetz des Clients zu löschen.
Sobald dies geschehen ist, beginnt der Client denDHCP-DORA-Prozess von vorne.
DHCP-Server
Wenn ein DHCP-Server eine DHCPDECLINE-Nachricht empfängt, hat der Client auf andere Weise festgestellt, dass die vorgeschlagene Netzwerkadresse bereits verwendet wird. Der Server MUSS die Netzwerkadresse als nicht verfügbar markieren und den lokalen Systemadministrator über ein mögliches Konfigurationsproblem informieren.