Das Dynamic Host Configuration Protocol (DHCP) ermöglicht die Zuweisung der Netzwerkkonfiguration an Geräte durch einen Server. Was nicht anderes bedeutet, als die dynamische Zuweisung der IP-Adresse, der Subnetzmaske, des DNS-Servers und des Standartgateways (evtl. noch die WINS Server Adresse).

In der Netzwerkkonfiguration muss hierzu lediglich der automatische Bezug der Konfiguration (ist so Standart nach der Installation der Windows Betriebssysteme) eingestellt sein.
Ohne einen DHCP Server müssten hier relativ aufwändig statische Einträge konfiguriert werden. DHCP wurde ursprünglich entwickelt um die Netzwerkadministration in großen Netzwerken mit häufig wechselnden Topologien und vielen wechselnden Usern zu vereinfachen. Heute wird DHCP jedoch im privaten Bereich bereits als Standart eingesetzt, weil durch den rasch steigenden Bedarf an IP-Adressen absehbar ist, dass der nutzbare Adressraum von IPv4 früher oder später erschöpft sein wird.
Übrigens hat jeder private Nutzer, der mittels eines Routers ins Internet geht, einen DHCP-Server zuhause stehen. Der sieht dann ungefähr so aus:

Die DHCP Adressvergabe
Die Broadcast Anfrage vom Client zum Server folgt folgendem Muster, welches auch in der folgenden Abbildung dargestellt ist. Die Verständigung zwischen dem Client und dem Server läuft mittels UPD (Unreliable Datagram Protocol). Wobei der Server auf Port 67 und der Client auf Port 68 kommuniziert. Beim Booten des Client fragt dieser mit einer DHCP DISCOVER-Nachricht via Broadcast nach seiner Konfiguration. Zu diesem Zeitpunkt besitzt er noch keine IP-Adresse sondern nur die MAC (Media Access Control)-Adresse seines Netzwerkinterfaces. Das Broadcastpaket welches gesendet wird, bekommt die Quelladresse 0.0.0.0 und wird an die Zieladresse 255.255.255.255 gesendet.
Auf diese Anfrage antwortet nun der DHCP-Server mit einer DHCP OFFER-Nachricht. Das Antwortpaket hat schon als Zieladresse die IP, welche der Client in Zukunft besitzen soll. Da die MAC-Adresse in der Anfrage vom Client mitgesendet wurde, kann auf diese Weise die DHCPOFFER-Nachricht nun ihr Ziel finden. Wenn der DHCP Broadcast durch eine Firewall mit Paketfilter geleitet werden soll, müssen verschiedene Filter festgelegt werden, welche bei Anfragen von IP 0.0.0.0 auf Port 67 bzw. in der Rückrichtig für alle IPs auf Port 68 einen ungehinderten Verkehr erlauben.
Der Client erhält nun vom DHCP-Server ein sogenanntes Angebot, er entscheidet nun, ob es für ihn korrekt ist. Wenn dies zutrifft, sendet er eine DHCPREQUEST-Nachricht, um dem Server mitzuteilen, das er diese Konfiguration nutzen will. Der DHCP-Server bestätigt dieses und sendet eine DHCPACK-Nachricht - mit absenden dieses DHCPACK besitzt der Client nun seine IP-Adresse. Wenn diese Prozedur fehlschlägt, weil der Client z.B. heraus findet, dass die IP-Adresse doppelt vergeben ist, sendet er eine DHCPDECLINE-Nachricht an der Server, und die gesamte Vergabeprozedur beginnt nun von vorne. Im Falle einer DHCPDECLINE-Nachricht, sperrt der Server die Adresse für die interne Vergabe.
Zusammen mit seiner IP-Adresse erhält der Client in der DHCPACK-Nachricht auch eine Lease-Time mitgeteilt, welche ihm sagt, wie lange die IP-Adresse für ihn reserviert ist. Der RFC Standart sieht vor, das der Client nach der Hälfte der Lease-Time einen erneuten DHCPREQUEST sendet und so dem Server mitteilt, dass er weiterhin die für ihn reservierte IP-Adresse behalten will. Nach Erhalt dieser Nachricht sendet der Server eine identische DHCPACK-Nachricht an den Client zurück, in der die neue Lease-Time mitgeteilt wird. Nun ist die IP-Adresse verlängert und der DCHP-Refresh ist komplett. Wenn der Client es versäumt eine Verlängerung zu beantragen, muss das Netzwerkinterface dekonfiguriert werden und der DHCP-Request startet erneut mit einer DHCPDISCOVER-Nachricht.

Nun kommen wir an den Punkt, an dem der Client herunterfährt. Zu diesem Zeitpunkt sendet er eine DHCPRELEASE-Nachricht an den Server, um die Adresse wieder freizugeben. Nun besitzt der Client aber auch die Möglichkeit, seine zuletzt zugewiesene IP-Adresse über den Reboot hinweg zu "merken". Dies kann zum Beispiel der Fall sein, wenn die Lease-Time, noch nicht abgelaufen ist, oder dem Client eine feste IP-Adresse zugeteilt wurde. Dann entfallen die Initialisierungsschritte und der Client schickt direkt eine DHCPREQUEST-Nachricht an den Server. Dieser bestätigt entweder die Anfrage oder sendet eine DHCPNAK-Nachricht um dem Client mitzuteilen, seine gespeicherten Konfigurationen zu löschen, und die Anfrage komplett von vorne zu beginnen.
Weiterführende Links:
TecChannel - DHCP Server unter Windows Server 2003 einrichten
Microsoft Hilfe & Support - Installieren und Konfigurieren eines DHCP-Servers in Windows Server 2003
