Was ist es?
Dynamic Host Configuration Protocol, kurz DHCP, ist ein Dienst auf dem Server zur automatisierten Vergabe von IP-Adressen (sogar ganzer IP-Konfigurationen samt Gateway, DNS etc.) an die Clients, die an das Netzwerk angeschlossen werden.
Wie es abläuft
Sobald der Client mit dem Netzwerk verbunden wird, sendet er gleich auf Port 68 einen DHCP-Discover mittels Broadcast. Ebenfalls wird er auf Layer II an die Adresse FF:FF:FF:FF:FF:FF:FF:FF: gesendet. Der DHCP lauscht auf Port 67 (bzw. auch FF:FF:FF:FF:FF:FF:FF:FF), reagiert darauf und antwortet auf den DHCP-Discover des Clients mit einem DHCP-Offer womit er eine Netzwerkkonfiguration dem Client anbietet. Für gewöhnlich sendet der Client darauf einen DHCP-Request und fordert somit die angebotene Konfiguration ein. Mit dem DHCP-ACK bestätigt der Client den Erhalt der Daten. Der DHCP-Server reserviert nun die IP damit sie nicht versehentlich noch mal vergeben werden kann.
Der Client sendet als Quelladresse seine eigene MAC-Adresse und an die IP-Adresse 0.0.0.0.
Der DHCP-Server
Der Server verfügt über die DHCP-Server-Software. Dieser lauscht auf UDP Port 67. Ihm ist durch die Konfiguration des Administrators mitgeteilt worden welche IP-Adressen er unter welcher Bedingung an die Clients vergeben werden. Dabei muss er unterscheiden zwischen Clients, die neu im Netzwerk sind und Clients, die bereits schon mal da waren und ggf. noch "Besitzer" vergebener IPs sind. Ebenso kann es sein, dass Clients dabei sind, die eine feste IP - also vom Administrator festgelegte IPs für diese Clients - haben.
Konfigurierbar sind folgende Möglichkeiten der IP-Vergabe:
Welche Informationen erhält der Client?
Mittels des DHCP-Protokolls lassen sich weit mehr als nur IP-Adressen vergeben. Es ist üblich weitere Einstellungen an den Client zu übermitteln wie bspw. Gateway, DNS, Subnetzmaske, Client-IP, Domäne. Es gibt aber noch weitere Informationen dazu was alles per DHCP übermittelt werden kann.