Fachbeitrag «DHCP - Dynamic Host Configuration Protocol»

Netzwerkadresse automatisch beziehen

Im folgenden wird von einem DHCP-Server gesprochen. Gemeint ist damit die Server-HW, auf der ein DHCP-Dienst läuft.

Ein PC benötigt neben seinem Hostname in einem IPv4-Netzwerk folgende Angaben:

  • Eine im Netzwerk einmalige IP-Adresse
  • Subnetzmaske
  • Router (Standard- oder Default-Gateway)
  • DNS-Server

Um den IP-Adress-Verwaltungsaufwand, damit ist u.a. die Inbetriebnahme von Neugeräten und Ressourcenfreigabe von Altgeräten gemeint, in Grenzen zu halten und Netzwerkfehler wegen IP-Adress-Doppelvergabe zu vermeiden, wird eine Art «IP-Adress-Verleihsystem», einen sogenannten DHCP-Server, installiert.

Statische Variante am Host: Die Netzwerkparameter werden trotz eines allfällig vorhandenen DHCP-Servers am jeweiligen Gerät unter den Netzwerkeigenschaften eingegeben. Empfohlen ist dies bei Servern, Druckern und Routern, damit sie immer unter derselben IP und unabhängig von einem DHCP-Server erreichbar sind. Einstellung in den Client-Netzwerkeigenschaften: Adressen von Hand eingeben.

Statische Variante via DHCP: Der Client verlangt beim DHCP-Server nach «seiner» exklusiv für ihn reservierten IP-Adresse. Der DHCP-Server erkennt den Client anhand seiner MAC-Adresse und liefert ihm die gewünschte IP-Adresse. Einstellung in den Client-Netzwerkeigenschaften: Adressen automatisch beziehen.

Dynamische Variante via DHCP: Die IP-Adresse und weitere Parameter werden von einem DHCP-Server geliefert. Der DHCP-Server liefert aus seinem IP-Adresspool eine zurzeit freie bzw. nicht benutzte IP-Adresse. Empfohlen bei PC’s und Portables. Einstellung in den Client-Netzwerkeigenschaften: Adressen automatisch beziehen.

Hinweis: Setzt man einen DHCP-Server ein, sollte man «seinen» Usern dringend nahelegen, dass sie die Finger von den lokalen Netzwerkeigenschaften lassen sollten. Die Host’s beziehen die Netzwerkparameter automatisch, d.h. von «meinem» DHCP-Server und es wird nicht von Hand daran herumgebastelt. Ausser der DHCP-Server hat in seinen DHCP-Einstellungen einen IP-Adress-Ausschlussbereich, der von den Usern für Experimente genutzt werden kann.

DHCP im Detail: Der PC/Laptop muss mit einem DHCP-Server kontakt aufnehmen! Der darauf folgende Ablauf besteht aus:

  • DHCP-DISCOVER: Ein Client ohne IP-Adresse sendet eine Broadcast-Anfrage nach Adress-Angeboten an alle DHCP-Server im lokalen Netz
  • DHCP-OFFER: Die DHCP-Server antworten mit entsprechenden Werten auf eine DHCPDISCOVER-Anfrage
  • DHCP-REQUEST: Der Client fordert eine der angebotenen IP-Adressen, weitere Daten sowie Verlängerung der Lease-Zeit von einem der antwortenden DHCP-Server
  • DHCP-ACK: Bestätigung des DHCP-Servers zu einer DHCP-REQUEST-Anforderung oder die Übermittlung von Konfigurationsparametern, die vorher durch DHCP-INFORM vom Client angefordert wurden
  • DHCP-NAK: Ablehnung einer DHCPREQUEST-Anforderung durch den DHCP-Server
  • DHCP-DECLINE: Ablehnung durch den Client, da der Client mit einem ARP-Request herausgefunden hat, dass die IP-Adresse schon verwendet wird
  • DHCP-RELEASE: Der Client gibt die eigene Konfiguration (IP-Adresse) frei, damit die Parameter wieder für andere Clients zur Verfügung stehen
  • DHCP-INFORM: Anfrage eines Clients nach weiteren Konfigurationsparametern, z. B. weil der Client eine statische IP-Adresse besitzt

Der DHCP-Ablauf im Überblick:

Der DHCP-Ablauf anhand eines konkreten Zahlenbeispiels:

Sollte wegen Netzwerkunterbruch oder Server-Down kein DHCP-Server verfügbar sein , kommt beim WIN-Client APIPA (Automatic Private IP Adressing) zum Zug. Auch unter dem Namen Zero-Conf bekannt.
IPv4-APIPA-Bereich: 169.254.x.y; Subnetmask: 255.255.0.0

DHCP ist eine Erweiterung des Bootstrap-Protokolls (BOOTP), das für Arbeitsplatz-Computer ohne eigene Festplatte (Diskless-Workstation) notwendig war, wo sich der Computer beim Startvorgang zunächst vom BOOTP-Server eine IP-Adresse zuweisen liess, um danach das Betriebssystem aus dem Netzwerk zu laden. DHCP ist weitgehend kompatibel zu BOOTP und kann entsprechend mit BOOTP-Clients und -Servern (eingeschränkt) zusammenarbeiten.