DHCP Protokoll: Funktionsweise, Mechanismen und Nachrichten
Gesendet von Javi und eingeordnet in Informatik
Geschrieben am in
Deutsch mit einer Größe von 64,12 KB
Einführung in das DHCP-Protokoll
DHCP (Dynamic Host Configuration Protocol) ist ein Protokoll, das in der Anwendungsschicht des TCP/IP-Modells angesiedelt ist.
Es handelt sich um einen Standard, der entwickelt wurde, um die Komplexität der Verwaltung von IP-Adressen in einem Netzwerk zu verringern.
Dieses Protokoll basiert auf dem Client-Server-Modell. Das bedeutet, dass die Verwaltung des Netzes zentralisiert von einem Server durchgeführt wird, der über einen Pool oder eine definierte Liste dynamischer IP-Adressen verfügt.
Der Server kann Clients, die sich mit dem Netzwerk verbinden, diese Adressen zuweisen. Dadurch erhalten die Clients alle notwendigen Informationen für ihre Konfiguration direkt vom Server, ohne vorherige Kenntnis über die Eigenschaften des Netzes zu benötigen.
Der Server protokolliert jederzeit die Änderungen sowie welche IPs in Gebrauch sind, welche belegt sind und für wie lange.
Wird die Verbindung eines Hosts getrennt, wird die IP-Adresse freigegeben und kann von einem anderen Rechner, der eine Verbindung herstellen möchte, belegt werden.
Abbildung 1: Beispiel für ein verwaltetes Netzwerk mit DHCP
Mechanismen zur Zuweisung von IP-Adressen
DHCP umfasst drei verschiedene Mechanismen, um alle möglichen Anforderungen bezüglich der Zuweisung von IP-Adressen abzudecken:
- Automatische Zuweisung (Automatic Allocation): Wenn sich ein Client zum ersten Mal mit dem Netzwerk verbindet, weist der Server ihm eine feste IP-Adresse zu. Der Client behält diese zufällige IP-Adresse, bis sie wieder freigegeben wird. Dieser Mechanismus wird verwendet, wenn die Anzahl der Netzwerk-Clients relativ konstant ist.
- Dynamische Zuweisung (Dynamic Allocation): Bei dieser Art der Zuweisung versorgt der Server den Client mit einer temporären IP-Adresse (Lease). Wenn die Gültigkeitsdauer (Lease Time) der IP-Adresse abläuft, muss der Client den Server um eine neue IP bitten, wenn er weiterhin mit dem Netzwerk verbunden bleiben möchte.
- Manuelle Zuweisung (Manual Allocation): Dieser Mechanismus ermöglicht die manuelle Zuweisung von IP-Adressen an Clients. Der Netzwerkadministrator muss den DHCP-Server konfigurieren, um dem gewünschten Client die spezifische IP zu übermitteln. Dies ermöglicht eine bessere Kontrolle über die Adresszuweisung und hilft, unerwünschte Maschinen zu vermeiden.
Merkmale und Ziele des DHCP-Servers
- Ein Client kann ohne manuelle Eingriffe konfiguriert werden und vollständig in einem Netzwerk arbeiten.
- Das Netzwerk kann vollständig über den DHCP-Server konfiguriert werden, ohne dass der Administrator bei der Einrichtung eines Clients eingreifen muss.
- Es ist kein separater Server in jedem Subnetz erforderlich, da der DHCP-Server über Router oder mit Relay-Agenten arbeiten kann.
- Der Server muss bereit sein, mehrere Konfigurationsanfragen zu erhalten und die am besten geeignete auszuwählen.
- Er muss in der Lage sein, mit Hosts zu koexistieren, die manuell konfiguriert wurden.
- Er muss den BOOTP-Client-Dienst unterstützen.
- Er muss sicherstellen, dass keine IP-Adresse von zwei oder mehr Clients gleichzeitig verwendet wird.
Funktionsweise des DHCP-Protokolls
Das DHCP-Protokoll leitet sich vom Bootstrap Protocol (BOOTP) ab, einem Pionier der automatischen IP-Zuweisung. BOOTP wurde durch DHCP ersetzt, da es den Anforderungen großer Netzwerke nicht mehr gewachsen war. DHCP behält jedoch das gleiche grundlegende Kommunikationssystem bei, das auf UDP-Frames basiert, und funktioniert wie folgt:
Ein neuer Rechner im Netzwerk verfügt über keine Konfigurationsinformationen und kann ohne eine IP-Adresse keine Informationen zu diesen Einstellungen erhalten. Daher sendet ein neuer DHCP-Client zunächst ein spezielles Broadcast-Paket, das zusätzliche Informationen wie die Art der Verbindung oder die verwendeten Ports enthält.
Sobald der DHCP-Server das Paket erhalten hat, übermittelt er ein Antwortpaket zurück, das alle vom Client angeforderten Informationen enthält.
Eine genauere Erklärung der Kommunikation bezieht sich auf die Nachrichten, die zwischen dem DHCP-Server und den verschiedenen Clients, die sich mit dem Netzwerk verbinden möchten, ausgetauscht werden.
DHCP-Nachrichten und Kommunikationsablauf
Das DHCP-Protokoll verwendet verschiedene Arten von Nachrichten, um eine erfolgreiche Konfiguration abzuschließen. Diese können in zwei Kategorien eingeteilt werden: Nachrichten, die vom Client gesendet werden (meistens zur Anforderung von Informationen), und Antworten auf diese Anfragen durch den Server.
1) Client-Nachrichten
- DHCPDISCOVER: Wird verwendet, um verfügbare DHCP-Server im Netzwerk zu finden.
- DHCPREQUEST: Paket für verschiedene Anwendungen, z. B. zur Verlängerung des IP-Lease oder zur Anforderung einer neuen Zuweisung.
- DHCPDECLINE: Der Client verwendet diese Nachricht, um dem Server mitzuteilen, dass die angebotene Adresse bereits im Netzwerk verwendet wird.
- DHCPRELEASE: Der Client gibt seine IP-Adresse frei und informiert den Server darüber, damit dieser die Adresse einem anderen Rechner zuweisen kann.
- DHCPINFORM: Ein Client, der bereits eine Adresse besitzt, fordert damit Informationen über lokale Netzwerkparameter an.
2) Server-Nachrichten
- DHCPOFFER: Der Server antwortet auf ein DHCPDISCOVER-Paket und informiert den Client über die ersten Parameter und eine mögliche IP-Adresse.
- DHCPACK (Acknowledgement): Dieses Server-Antwortpaket bestätigt die Zuweisung einer IP-Adresse an einen Client, der diese angefordert hat.
- DHCPNAK (Negative Acknowledgement): Der Server sendet diese Nachricht an einen Client, dessen IP-Adresse abgelaufen ist oder als Reaktion auf ein DHCPDECLINE.
Der DHCP-Kommunikationsablauf (DORA)
Im einfachsten Fall, wenn sich ein neuer Client mit einem DHCP-Netzwerk verbindet, sendet dieser zuerst ein DHCPDISCOVER als Broadcast, um den Standort des DHCP-Servers zu ermitteln.
Der Server antwortet auf diese Nachricht mit einem DHCPOFFER, das die ersten Parameter und eine vorgeschlagene IP-Adresse enthält. Der Client kann diese ablehnen (mit DHCPDECLINE) oder akzeptieren (mit DHCPREQUEST).
Im Falle der Akzeptanz muss der Server die Konfiguration mit einem DHCPACK abschließen, welches die IP-Zuweisung bestätigt.
Ein anschauliches Beispiel dieser Kommunikation ist in der folgenden Abbildung dargestellt:
Abbildung 2: Beispiel für DHCP-Kommunikation
Quellen
[1] http://i.technet.microsoft.com/cc786002.439904eb-392e-4411-acc1-e72b85e47b69 (de-de, WS.10). GIF
[2] http://docs.sun.com/source/820-2981/images/dhcp-diag.gif