DHCP

Website: CBS Trainings: Moodle
Kurs: Test22
Buch: DHCP
Gedruckt von: Gast
Datum: Mittwoch, 12. März 2025, 20:26

1. DHCP (Dynamic Host Configuration Protocol)

DHCP ist ein Protokoll, um IP-Adressen in einem TCP/IP-Netzwerk zu verwalten und an die anfragenden Hosts zu verteilen. Mit DHCP ist jeder Netzwerk-Teilnehmer in der Lage sich selber automatisch zu konfigurieren.

Für einen reibungslosen Betrieb in einem TCP/IP-Netzwerk benötigen alle Geräte in einem lokalen Netzwerk eindeutige IP-Adressen.

Zusätzlich brauchen sie noch die Adressen von DNS-Servern sowie eines Standard-Gateways, über das Datenpakete von lokal nicht erreichbaren Adressen geroutet werden sollen.

2. Warum DHCP?

Um ein Netzwerk per TCP/IP aufzubauen ist es notwendig an jedem Host eine IP-Konfiguration vorzunehmen. Für ein TCP/IP-Netzwerk müssen folgende Einstellungen an jedem Host vorgenommen werden:

  • Vergabe einer eindeutigen IP-Adresse
  • Zuweisen einer Subnetzmaske (Subnetmask)
  • Zuweisen des zuständigen Default- bzw. Standard-Gateways
  • Zuweisen des zuständigen DNS-Servers

In den ersten IP-Netzen wurden IP-Adressen noch von Hand vergeben und fest in die Systeme eingetragen. Die dazu erforderliche Dokumentation war jedoch nicht immer fehlerfrei und schon gar nicht aktuell und vollständig. Der Ruf nach einer einfachen und automatischen Adressverwaltung wurde deshalb besonders bei Betreibern großer Netze laut. Hier war durch die manuelle Verwaltung und Konfiguration sehr viel Planungs- und Arbeitszeit notwendig. Um für die Betreiber der immer größer werdenden Netze eine Erleichterung zu verschaffen wurde DHCP entwickelt.
Mit DHCP kann jede IP-Host die IP-Adresskonfiguration von einem DHCP-Server anfordern und sich selber automatisch konfigurieren. So müssen IP-Adressen nicht mehr manuell verwaltet und zugewiesen werden.

3. DHCPv6 / DHCP für IPv6

Bei IPv6 benötigt die IP-Konfiguration eigentlich keinen DHCP-Dienst.

Dafür gibt es die Stateless Address Autoconfiguration (SLAAC). Mit SLAAC kann sich ein IPv6-Host vollautomatisch konfigurieren und die notwendigen IP-Konfiguration besorgen.

Da aber bestimmte Informationen wie DNS-Server-Adressen nicht per Autokonfiguration übertragen werden, ist es in bestimmten Anwendungsszenarien sinnvoll, auch bei IPv6 einen DHCP-Dienst im Netzwerk zur Verfügung zu stellen.

Die Verwendung eines DHCPv6-Servers ist bei IPv6 optional. Grundsätzlich unterstützt ein DHCPv6-Server zwei Betriebsarten:

  • Stateless: Der DHCPv6-Server verteilt keine Adressen, sondern nur Informationen, z. B. DNS-Server-Adressen. Bei dieser Methode generiert sich ein Client seine IPv6-Adresse durch die "Stateless Address Autokonfiguration (SLAAC)". Dieses Verfahren ist besonders attraktiv u. a. für kleine Netzwerke, um den Verwaltungsaufwand möglichst gering zu halten.
  • Stateful: Der DHCPv6-Server verteilt IPv6-Adressen, ähnlich wie bei IPv4. Dieses Verfahren ist deutlich aufwändiger, da ein DHCPv6-Server die Adressen vergeben und verwalten muss.

Ein DHCPv6-Server verteilt nur die Optionen, die ein IPv6-Client explizit bei ihm anfragt, d. h., der Server vergibt einem Client nur dann eine Adresse, wenn dieser explizit eine Adresse anfordert.

4. Zuteilung der IP-Konfiguration per DHCP

Die Funktionsweise von DHCP entspricht der Client-Server-Architektur.
Der DHCP-Client fragt beim DHCP-Server nach einer IP-Konfiguration. Der DHCP-Server verfügt über einen Pool von IP-Adressen, die er den DHCP-Clients zuteilen kann. Bei größeren Netzen muss der DHCP-Server zudem wissen, welche Subnetze und Standard-Gateways es gibt. In der Regel ist der DHCP-Server ein Router.
Wird ein Host mit einem aktivierten DHCP-Client gestartet, wird ein funktional eingeschränkter Modus des TCP/IP-Stacks gefahren. Dieser hat keine gültige IP-Adresse, keine Subnetzmaske und kein Standard-Gateway. Das einzige, was der Client machen kann, ist IP-Broadcasts verschicken.

DHCP-Discover: Der DHCP-Client verschickt ein UDP-Paket mit der Ziel-Adresse 255.255.255.255 und der Quell-Adresse 0.0.0.0. Dieser Broadcast dient als Adressanforderung an alle verfügbaren DHCP-Server. Im Optimalfall gibt es nur einen DHCP-Server. So vermeidet man Konflikte bei der Adressvergabe.

DHCP-Offer: Der DHCP-Server antwortet auf den Broadcast mit einer freien IP-Adresse und weiteren Parametern, um die IP-Konfiguration zu vervollständigen. Jeder angesprochene DHCP-Server schickt ein UDP-Paket mit folgenden Daten zurück:

  • MAC-Adresse des Clients
  • mögliche IP-Adresse
  • Laufzeit der IP-Adresse/-Konfiguration (Lease-Time)
  • Subnetzmaske
  • IP-Adresse des DHCP-Servers / Server-ID

DHCP-Request: Aus der Auswahl von evt. mehreren DHCP-Servern sucht sich der DHCP-Client eine IP-Adresse heraus. Daraufhin verschickt er eine positive Meldung an den betreffenden DHCP-Server. Alle anderen Server erhalten die Meldung ebenso und gehen von der Annahme der IP-Adresse zugunsten eines anderen Servers aus.

DHCP-Acknowledgement: Anschließend muss die Vergabe der IP-Adresse vom DHCP-Server bestätigt werden. Doch nicht nur die Daten zum TCP/IP-Netzwerk kann DHCP an den Client vergeben. Sofern der DHCP-Client weitere Angaben auswerten kann, übermittelt der DHCP-Server weitere Optionen:

  • Time Server
  • Name Server
  • Domain Name Server (Alternative)
  • WINS-Server
  • Domain Name
  • Default IP TTL
  • Broadcast Address
  • SMTP Server
  • POP3 Server

Sobald der DHCP-Client die Bestätigung erhalten hat, speichert er die Daten lokal ab. Abschließend wird der TCP/IP-Stack vollständig gestartet.

5. DHCP-Refresh, DHCP-Not Acknowledged

In der DHCP-ACK-Nachricht ist die Lease-Time (Leihdauer) angegeben, die aussagt, wie lange der Client die zugewiesene IP-Konfiguration verwenden darf.
Nach der Hälfte der Lease-Time muss der standardkonforme Client einen erneuten DHCP-REQUEST sendet. In der Regel wird der DHCP-Server ein DHCP-ACK mit identischen Daten und einer aktualisierten Lease-Time schicken. Damit gilt die Nutzung der IP-Adresse als verlängert.

Aber was ist, wenn der DHCP-Server nicht antwortet und somit die aktuelle IP-Konfiguration nicht bestätigt/verlängert wird. Beispielsweise, weil der DHCP-Server ausgefallen ist oder vom Netz genommen wurde. In diesem Fall wird der Client die IP-Konfiguration ohne Einschränkungen weiter verwenden, bis die Lease-Time endgültig abgelaufen ist. Allerdings wird er vor dem Ablauf noch mal versuchen, eine Verlängerung der IP-Konfiguration von diesem DHCP-Server zu erhalten.
Wenn dieser DHCP-Server nicht mehr erreichbar ist, weil vielleicht inzwischen ein anderer DHCP-Server zuständig ist, dann wird der Client noch vor dem endgültigen Ablauf der Lease-Time mit einem erneuten DHCP-DISCOVER versuchen, eine Adresszuweisung von einem anderen DHCP-Server zu erhalten.

Sollte der DHCP-Server keine Adressen mehr zur Verfügung haben oder während des Vorgangs ein anderer Client diese Adresse zugesagt bekommen haben, sendet der DHCP-Server ein DHCPNAK (DHCP-Not Acknowledged).