DHCP
Zur dynamischen IP-Adressen Vergabe wird das DHCP (Dynamic Host Configuration Protocol) verwendet.
Ein DHCP-Server vergibt IPs aus einem definierten Pool mit entsprechenden Parameter.
Die Parameter können unter anderen das Standardgateway, DNS-Server, WINS-SRV und viele andere
Daten enthalten. Dafür verwendet DHCP das BOOTP Protokoll.
DHCP arbeitet in der Anwendungsschicht und wird via UDP übertragen.
Der große Vorteil liegt in der Flexibilität. So können Clients schnell an Änderungen
im Netzwerk angepasst werden. Wird z.B. ein neuer DNS-Server eingesetzt, kann dieser über
DHCP den Clients bekannt gegeben werden. Ebenso können DHCP Server die Clients, die eine
IP zugewiesen bekommen haben, bei einen DNS Server dynamisch anmelden.
Der DHCP Server wartet auf UDP-Port 67 auf Client-Anfragen. Diese kommt vom Port 68.
Neue Adressen Anfrage:
(1) Wenn ein Client erstmalig eine IP-Adresse benötigt, schickt er ein DHCP-DISCOVER
als BootP Broadcast (Empfänger IP 255.255.255.255, Absender IP 0.0.0.0) ins Netzwerk.
(2) Alle DHCP Server, die diese Anfrage erhalten, antworten mit einem DHCP-OFFER BootP
Broadcast und unterbreiten einen Vorschlag für eine IP-Adresse. Im dem Paket ist auch die
Absender IP des DHCP Server enthalten.
(3) Der Client wählt einen Vorschlag aus, und antwortet mit einen DHCP-REQUEST BootP
Broadcast an alle, da es sich bei den angebotenen IPs nur um Vorschläge handelt, und die anderen
DHCP Server ihre IPs wieder freigeben können. In der Antwort ist die Wunsch-IP und die IP des
DHCP Server von dem das Angebot stamm.
(4) Der Server, dessen Angebot sich der Client ausgewählt hat, makiert intern diese IP
als vergeben, und sendet nun die IP-Config mit den Parametern und einer Lease Zeit als DHCP-ACK
zurück. Die Leasezeit gibt vor wie lange die IP verwendet werden darf. Alle anderen DHCP Server
makieren ihre Angebotenen IPs wieder als frei. Der Client übernimmt die aktuellen Vorgaben und
ist jetzt via IP erreichbar.
Address Refresh:
Nach der Hälfte der Leasezeit, oder nach einen reboot fragt der Client wieder mit einem
DHCP-REQUEST (3) nach einer Verlängerung. Der Request wird wieder als BootP Broadcast versendet,
da die genutzte IP noch unbestätigt ist. Allerdings inkl. der derzeit genutzen IP und der IP des
DHCP Server.
Solange die Leastime nicht abgelaufen ist, arbeitet der Client mit seiner IP-Adresse weiter.
Der entsprechende Server sendet dann wieder ein DHCP-ACK (4).
Befindet sich der Client nun in einem andern Subnetz (z.B. Notebookuser wechselt Standort)
bekommt er ein DHCP Not Ack vom zuständigen DHCP Server. Der Client wird dann das Standard
DHCP verfahren für die Erstanmeldung durchlaufen.
Ist die Leasetime komplett abgelaufen, ohne Verlängerung, wird ebenfalls das volle
Standardverfahren angewendet. Der Client wird seine IP-Adresse dann nicht mehr benutzen!
DHCP arbeitet mit Broadcast. Da diese im LAN nicht geroutet werden, ist theoretisch pro
Subnetz ein DHCP Server nötig. Praktisch werden DHCP / BOOTP Relay Agents eingesetzt. Diese
können auf Server oder Router installiert werden.
DHCP / BOOTP Relay Agents leiten die Broadcastanfragen gezielt (Unicast) an einen bestimmten
DHCP Server weiter.
Die Antwort kommt an den Relay Agent zurück, der sie dann an den eigentlich anfragenden Client
weitergibt.