DHCP
Definition
DHCP (Dynamic Host Configuration Protocol) ist ein Standardprotokoll, das durch RFC 1541
(wurde durch RFC 2131 ersetzt) definiert wird und einem Server ermöglicht, IP-Adressen und
Konfigurationsinformationen dynamisch an Clients zu verteilen. In der Regel stellt der
DHCP-Server dem Client mindestens diese grundlegenden Informationen zur Verfügung:
Es können auch andere Informationen bereitgestellt werden, wie etwa DNS-Serveradressen
(Domain Name Service) und WINS-Serveradressen (Windows Internet Name Service). Bei der
Konfiguration des DHCP-Servers werden die Optionen, die an den Client übergeben werden,
definiert.
Verfahren
DHCP bietet die Möglichkeit dreier verschiedener Verfahren:
Im DHCP Server wird ein Pool an Adressen definiert, die an die anfragenden Clients verteilt
und verwaltet werden.
Vorteil: Optimale Nutzung der bereitgestellten Adressen, kaum Administration
Im DHCP Server wird ein Pool an Adressen definiert, wobei zu jeder Adresse ein Clientrechner
zugewiesen wird. Die Zuweisung erfolgt anhand der MAC-Adresse des Clients, d.h. die anfragenden
Clients erhalten immer die gleiche IP-Adresse.
Vorteil: Clients sind immer dierkt zur IP-Adresse zugeordnet, hohe Security
Nachteil: Hoher Verwaltungsaufwand, keine optimale Nutzung der Adressen nutzbar
Im DHCP Server wird ein Pool an Adressen definiert. Zusätzlich werden alle Clients, die
eine Adresse erhalten sollen, im DHCP Server eingetragen, was anhand der MAC-Adresse des
Clients erfolgt. Die anfragenden Clients erhalten eine IP-Adresse aus dem Pool, unbekannte
Clients werden abgewiesen.
Vorteil: Hohe Security, optimale Nutzung der bereitgestellten Adressen
Nachteil: Hoher Verwaltungsaufwand
DHCP Prozess
Verschiedene DHCP-Clients unterstützen unterschiedliche Optionen, die sie vom DHCP-Server
empfangen können. Wenn ein Client zum ersten Mal nach dem Konfigurieren für den
Empfang von DHCP-Informationen initialisiert wird, stellt der Client die Kommunikation mit dem
Server her.
Es folgt eine Tabelle, in der die Kommunikation zwischen Client und Server zusammengefasst wird,
gefolgt von einer Beschreibung des Vorgangs auf Paketebene:
MAC-
QuelladrMAC-
ZieladrIP-
QuelladrIP-
ZieladrPaket-
Beschreibung
Client
Broadcast
0.0.0.0
255.255.255.255
DHCP Discover
DHCP-Server
Broadcast
DHCP-Server
255.255.255.255
DHCP Offer
Client
Broadcast
0.0.0.0
255.255.255.255
DHCP Request
DHCP-Server
Broadcast
DHCP-Server
255.255.255.255
DHCP ACK
Es folgt die ausführliche Kommunikation zwischen DHCP-Client und DHCP-Server:
Quelle: Microsoft GmbH
Der Client sendet ein DHCPDISCOVER-Paket. Im IP-Abschnitt lautet die Zieladresse
255.255.255.255 und die Quelladresse 0.0.0.0. Der DHCP-Abschnitt bezeichnet das Paket als ein
"DHCP-Discover"-Paket und bezeichnet den Client an zwei Stellen mithilfe der physischen Adresse
der Netzwerkkarte. Die Werte im Feld CHADDR und im Feld DHCP: CLIENT IDENTIFIER sind identisch.
Der DHCP-Server reagiert durch Senden eines DHCPOFFER-Pakets. Im IP-Abschnitt ist die Quelladresse
nun die IP-Adresse des DHCP-Servers, und die Zieladresse ist die Broadcastadresse
255.255.255.255. Der DHCP-Abschnitt identifiziert das Paket als ein Angebot (Offer). Das Feld
YIADDR enthält die IP-Adresse, die der Server dem Client anbietet. Das Feld CHADDR
enthält noch immer die physische Adresse des Clients, der die Anforderung ausgegeben hat.
Darüber hinaus werden im Abschnitt "DHCP Option Field" die verschiedenen Optionen
aufgeführt, die vom Server zusammen mit der IP-Adresse gesendet werden. Im Normalfall
werden vom Server die Subnetzmaske, der Standardgateway (Router) und die Leasedauer gesendet.
Der Client reagiert auf DHCPOFFER durch Senden von DHCPREQUEST. Im IP-Abschnitt ist die
Quelladresse des Clients noch immer 0.0.0.0, und das Ziel des Pakets ist noch immer
255.255.255.255. Der Client behält 0.0.0.0 bei, da er keine Bestätigung des Servers
erhalten hat, dass die angebotene Adresse verwendet werden kann. Das Ziel lautet noch immer
"Broadcast", da möglicherweise mehr als ein DHCP-Server reagiert hat und über eine
Reservierung für ein Angebot (Offer) an den Client verfügt. Dadurch werden andere
DHCP-Server in Kenntnis gesetzt, dass sie die angebotenen Adressen freigeben und an die
verfügbaren Pools zurückgeben können. Der DHCP-Abschnitt identifiziert das Paket
als eine Anforderung (Request) und überprüft die angebotene Adresse mithilfe des
Feldes DHCP: REQUESTED ADDRESS. Das Feld DHCP: SERVER IDENTIFIER enthält die IP-Adresse
des DHCP-Servers, der die Lease anbietet.
Der DHCP-Server reagiert auf DHCPREQUEST mit DHCPACK und beendet so den Initialisierungszyklus.
Die Quelladresse ist die IP-Adresse des DHCP-Servers, und die Zieladresse ist noch immer
255.255.255.255. Das Feld YIADDR enthält die Adresse des Clients, und die Felder CHADDR und
DHCP: CLIENT IDENTIFIER enthält die physische Adresse der Netzwerkkarte des Clients, der die
Anforderung ausgegeben hat. Der Abschnitt "DHCP Option" bezeichnet das Paket als "ACK".
Wenn der Client bereits zuvor über eine vom DHCP-Server zugewiesene IP-Adresse verfügt
hat und nun neu gestartet wird, fordert der Client ausdrücklich die zuvor geleaste
IP-Adresse in einem speziellen DHCPREQUEST-Paket an. Die Quelladresse lautet 0.0.0.0, und das
Ziel ist die Broadcastadresse 255.255.255.255. RFC-kompatible Clients tragen die angeforderte
Adresse in das Feld CIADDR ein.
An dieser Stelle ist nicht sicher, ob der Server reagiert. Wenn der Server feststellt, dass der
Client die Adresse noch immer verwenden kann, reagiert er entweder nicht oder gibt ACK
(Ackknowledgement, Bestätigung) als Antwort auf DHCPREQUEST zurück. Wenn der Server
feststellt, dass der Client die Adresse nicht verwenden kann, sendet er ein NACK-Signal
(No Ackknowledgement).
Lease
DHCP-Informationen, die der Client von einem DHCP-Server erhält, ist eine Leasedauer
(Lebensdauer) zugewiesen. Die Leasedauer legt fest, wie lange der Client die per DHCP
zugewiesenen Informationen verwenden kann. Wenn die Lease bestimmte Punkte erreicht, versucht
der Client, die DHCP-Informationen zu aktualisieren.
Verweise
Weitere Informationen über DHCP wird in den RFC1541 und RFC2131 beschrieben.
Hinweis:
Bei Einsatz von zentralen DHCP Diensten in grösseren Netzen, die über Router gekoppelt
sind, werden DHCP-Requests nicht automatisch über den Router durchgelassen (Broadcasts).
Um dennoch einen zentralen Dienst aufbauen zu können muss der Router diesen Request an den
betreffenden DHCP-Server weiterleiten (DHCP-Relay, Helper-Adressen).
Ein weitere Punkt sind oftmals Probleme zu nennen, bei denen an einem physikalischen
Netzwerkinterface eines Routers mehr als ein IP-Subnetz definiert wurden (Secondary Addresses).
Hierfür wurden aber mittlerweile die DHCP-Server überarbietet, was sicherlich jedoch
nur für hochwertige DHCP-Server gilt.
Adressen für DHCP
Zur Nutzung von DHCP im lokalen Netz bieten sich die IP-Adressen zu privaten Nutzung an
(siehe auch
IP-Adressierung -> Tabelle IP-Klassen).
Empfehlung:
Der Einsatz von DHCP ist unumstritten, können doch Änderungen im Netz sofort zentral
umgesetzt werden. Gleichzeitig verringert sich der Konfigrationsaufwand beim Client, der in
wechselnden Umgebungen und verschiedenen Adressen arbeitet. Um die Security zu erhöhen
sollten die Clients im DHCP-Server geflegt werden - der Mehraufwand ist gerechtfertigt.
© kahlhans.de
September 2002