article

Automatischer Bezug von
IP-Adressen und weiteren
Parametern 67/UDP (Anfrage, BOOTP)
68/UDP (Antwort)

RFC 2131 (1997)

-
DHCP (Dynamic Host Configuration Protocol)
-
Familie: Internetprotokollfamilie
-
Einsatzgebiet:
-
Ports:
-

-
Standards:

Das DHCP (Dynamic Host Configuration Protocol) ermöglicht mit Hilfe eines entsprechenden Servers die dynamische Zuweisung einer IP-Adresse und weiterer Konfigurationsparameter an Computer in einem Netzwerk (z. B. Internet oder LAN).

DHCP bekam von der IANA den UDP-Port 67 zugewiesen.

Konzept


Durch DHCP ist die Einbindung eines neuen Computers in ein bestehendes Netzwerk ohne weitere Konfiguration möglich. Es muss lediglich der automatische Bezug der IP-Adresse am Client eingestellt werden. Ohne DHCP sind relativ aufwendige Einstellungen nötig, was neben der IP-Adresse die Eingabe weiterer Parameter wie Netzmaske, Gateway, DNS-Server, WINS-Server usw. verlangt. Per DHCP kann ein DHCP-Server diese Parameter beim Starten eines neuen Rechners (DHCP-Client) automatisch vergeben.

DHCP ist eine Erweiterung des BOOTP-Protokolls, mit dem sich laufwerklose Workstations realisieren lassen, die sich zunächst eine IP-Adresse vom BOOTP-Server holen. Diese laden anschließend ein startbares Betriebssystem aus dem Netz, mit dem sie dann booten. DHCP ist weitgehend kompatibel zu BOOTP und kann mit BOOTP-Clients und -Servern eingeschränkt zusammenarbeiten.

DHCP wurde im Hinblick auf zwei Einsatzszenarien entwickelt:

  1. Große Netzwerke mit häufig wechselnder Topologie
  2. Anwender, die „einfach nur Netzwerkverbindung“ haben wollen und nicht mit Netzwerkkonfiguration belastet werden sollen
In Netzwerken bietet DHCP den Vorteil, dass bei Topologieänderungen nicht mehr alle betroffenen Workstations per Hand umkonfiguriert werden müssen, sondern die entsprechenden Vorgaben vom Administrator nur einmal in der Konfigurationsdatei des DHCP-Servers gemacht werden müssen. Auch für Rechner mit häufig wechselndem Standort (z. B. Notebooks) entfällt die fehleranfällige Konfiguration – der Rechner wird einfach ans Netzwerk gesteckt und erfragt alle relevanten Parameter vom DHCP-Server. Dies wird manchmal auch als Plug'n'Play für Netzwerke bezeichnet.

Das DHCP wurde erstmalig 1993 in RFC 1531 und RFC 1541, aufbauend auf dem 1985 entstandenen BOOTP definiert.

Der DHCP-Server


Der DHCP-Server wird wie alle Netzwerkdienste als Hintergrundprozess Daemon oder Dienst gestartet und wartet nun auf UDP-Port 67 auf Client-Anfragen. In seiner Konfigurationsdatei befinden sich Informationen über den zu vergebenden Adresspool sowie zusätzliche Angaben über netzwerkrelevante Parameter wie die Subnetzmaske, die lokale DNS-Domäne oder das evtl. zu verwendende Gateway. Weiter lassen sich auch weitere BOOTP-Server oder der Ort des zu verwendenden Bootimages einstellen.

Es gibt verschiedene Betriebsmodi eines DHCP-Servers:

Manuelle Zuordnung

In diesem Modus werden die IP-Adressen zu einer bestimmten MAC-Adresse fest zugeordnet. Diese Konfiguration erfolgt am DHCP-Server. Die Adressen werden ohne Leasezeit zugeordnet, das bedeutet das sie auf unbestimmte Zeit der zugeteilten MAC-Adresse gehören. Der Nachteil liegt darin, dass sich keine zusätzlichen Clients in das Netz einbinden können, da die Adressen fest vergeben sind.

Manuelle Zuordnungen werden vor allem dann vorgenommen, wenn der DHCP-Client beispielsweise Server-Dienste zur Verfügung stellt und daher unter einer festen IP-Adresse zu erreichen sein soll. Auch Port-Weiterleitungen von einem Router an einen Client benötigen in der Regel eine feste IP-Adresse.

Automatische Zuordnung

Bei der automatischen Zuordnung wird ein Adresspool definiert. Wenn die Adresse einmal einem Client zugeordnet wurde, dann gehört sie diesem auf unbestimmte Zeit. Denn auch hier wird die zugewiesene IP-Adresse an die MAC-Adresse gebunden. Ist der Pool komplett vergeben, so können sich keine zusätzlichen Clients in das Netz einbinden. Das geht auch dann nicht, wenn die Rechner gar nicht aktiv (eingeschaltet) sind. Denn im Cache des DHCP-Server wird die IP-Adresse, die einer bestimmten MAC-Adresse zugeordnet wurde gespeichert. Es hilft dann nur ein löschen des Cache, um die an nicht aktive Rechner vergebenen Adressen verwenden zu können.

Dynamische Zuordnung

Dieses Verfahren gleicht der automatischen Zuordnung, allerdings hat der Server hier in seiner Konfigurationsdatei eine Angabe, wie lange eine bestimmte IP-Adresse an einen Client „vermietet“ werden darf, bevor der Client sich erneut beim Server melden und eine „Verlängerung“ beantragen sollte. Meldet er sich nicht, wird die Adresse frei und kann an einen anderen (oder auch den gleichen) Rechner neu vergeben werden. Diese Zeit, die vom Administrator bestimmt werden kann, heißt Lease-Zeit (zu deutsch also: „Mietzeit“).

Ablauf der DHCP-Kommunikation


Initiale Adresszuweisung

Damit der Client einen DHCP-Server nutzen kann, muss sich dieser im selben IP-Subnetz befinden. (Das liegt an der Tatsache, dass DHCP Broadcasts verwendet (siehe dazu auch weiter unten) und dass Router keine Broadcasts weiterleiten; Router bilden Broadcast-Domänen). Befindet sich der DHCP-Server in einem anderen Subnetz, so muss ein so genannter DHCP-Relay installiert werden, der die DHCP-Anfragen in das Subnetz des eigentlichen Servers weitergibt.

Wenn ein Client erstmalig eine IP-Adresse benötigt, schickt er eine DHCP-DISCOVER-Nachricht (mit seiner MAC-Adresse) als Netzwerk-Broadcast an die verfügbaren DHCP-Server (es kann durchaus mehrere davon im gleichen Subnetz geben). Dieser Broadcast hat als Absender-IP-Adresse 0.0.0.0 und als Zieladresse 255.255.255.255, da der Absender natürlich noch keine IP-Adresse besitzt und seine Anfrage „an alle“ richtet. Dabei ist der Quellport 68 und der Zielport 67. Die DHCP-Server antworten mit DHCP-OFFER und machen einen Vorschlag für eine IP-Adresse. Dies geschieht ebenfalls mit einem Broadcast an die Adresse 255.255.255.255 mit Quellport 68 und Zielport 67.

Der Client darf nun unter den eingetroffenen Angeboten wählen. Wenn er sich für eines entschieden hat (z. B. wegen längster Lease-Zeit oder auch wegen Ablehnung eines speziellen, evtl. falsch konfigurierten DHCP-Servers), kontaktiert er per Broadcast und einem im Paket enthaltenen Serveridentifier den entsprechenden Server mit der Nachricht DHCP-REQUEST, worauf der Server ihm in einer DHCP-ACKNOWLEDGE-Nachricht (DHCP-ACK) die IP-Adresse mit den weiteren relevanten Daten übermittelt.

Bevor der Client sein Netzwerkinterface mit der zugewiesenen Adresse konfiguriert, sollte er noch prüfen, ob nicht versehentlich noch ein anderer Rechner die Adresse verwendet. Dies geschieht üblicherweise durch einen ARP-Request mit der soeben zugeteilten IP-Adresse. Antwortet ein anderer Host im Netz auf diesen Request, so wird der Client die vorgeschlagene Adresse mit einer DHCP-DECLINE-Nachricht zurückweisen.

DHCP-Refresh (nur bei dynamischer Zuordnung)

Zusammen mit der IP-Adresse erhält der Client in der DHCP-ACK-Nachricht die Lease-Zeit. Dies ist ein Zeitwert, der angibt, wie lange der Client die zugewiesene IP-Konfiguration verwenden darf; er wird vom Administrator des DHCP-Servers eingestellt. Der Standard sieht vor, dass der Client nach der Hälfte der Lease-Zeit einen erneuten DHCPREQUEST sendet und so bekundet, dass weiter Interesse an der reservierten IP-Nummer besteht. Dieser DHCPREQUEST wird per Unicast an den Server gesendet, der die IP-Konfiguration vergeben hat. Der Server sollte dann in der Regel ein DHCPACK mit identischen Daten wie vorher, aber einer neuen Lease-Zeit senden. Damit gilt die Adresse als verlängert.

Antwortet der Server nicht, so kann der Client die IP-Konfiguration ohne Einschränkungen weiter verwenden. Er wird jedoch nach Ablauf von 7/8 der Lease-Zeit (87,5 %) versuchen, eine Verlängerung der IP-Konfiguration von irgendeinem DHCP-Server im selben Subnetz zu erhalten. (Ein möglicher Grund dafür ist, dass der ursprüngliche Server abgeschaltet worden sein kann und nun ein neuer Server für die Verwaltung der IP-Adressen zuständig ist.)

Sollte der Client es versäumen, bis zum Ablauf der Lease-Zeit eine Verlängerung zu beantragen, so muss er seine Netzwerkkarte dekonfigurieren und wieder bei DHCPDISCOVER mit einer initialen Adresszuweisung beginnen. Sollte der DHCP Server keine Adressen mehr zur Verfügung haben oder während des Vorganges schon ein anderer Client seine letzte Adresse zugesagt bekommen haben, sendet der Server ein DHCP-NAK (DHCP-Not Acknowledged) und der Vorgang der Adressanfrage beginnt erneut.

Sonstiges

Die negative Bestätigung DHCPNAK tritt ein, wenn der Client versucht, seine ehemalige IP-Adresse zu leasen, die jedoch inzwischen nicht mehr verfügbar ist (Lease abgelaufen und anderweitig vergeben) oder wenn der Clientcomputer in ein anderes Subnetz verschoben wurde.

Um die Ausfallwahrscheinlichkeit zu verringern ist es auch möglich, mehrere DHCP-Server in einem Netz zu platzieren. Dabei sollte allerdings beachtet werden, dass sich die Adressbereiche der einzelnen Server nicht überlappen, da es sonst zu Doppelvergaben von IP-Adressen kommen kann. Dazu gibt es die „authorative“ Einstellung mit der man einstellen kann, ob ein DHCPNAK auch verschickt werden soll, wenn der DHCP-Server für die vom Client vorgeschlagene Adresse nicht zuständig ist.

Wenn der Client eine negative Bestätigung erhält, wird der DHCP-Leasevorgang erneut gestartet.

Ein Client sendet DHCPRELEASE, wenn er eine IP-Adresse vor Ablauf der Lease-Zeit zurückgeben will.

Sollte der Client feststellen, dass die zugewiesene Adresse bereits benutzt wird, so teilt er dies dem Server durch DHCPDECLINE mit, welcher seinerseits den Administrator von dieser potentiellen Fehlkonfiguration unterrichten sollte.

Eine Liste der möglichen DHCP-Optionen, die DHCPACK enthalten kann, ist hier zu finden.

DHCP und DNS

Einige DHCP-Server können mit DNS zusammenarbeiten, indem sie IP-Adresse, Rechnernamen und Leasetime an den DNS-Server weiterleiten. Damit ist eine Namensauflösung für Arbeitsstationen auch in Netzen mit DHCP bequem möglich.

Mögliche Zuweisungen

Standardmäßig kann DHCP dem Client folgende Einstellungen zuweisen:

  • IP-Adresse und Netzwerkmaske
  • Default-Gateway
  • Nameserver
  • WINS-Server

DHCP für mehrere Subnetze


Der DHCP-Server kann Subnetze bedienen, wenn er über Definitionen für die jeweilige Netzwerkkarte verfügt. Die Auswahl der Definition bestimmt dann die Netzwerkkarte, über welche die Anforderung hereinkommt. Beim Start des DHCP-Servers kann angegeben werden, auf welche Interfaces der Server hört.

DHCPv6


IPv6 sollte DHCP als eigenständiges Protokoll ursprünglich überflüssig machen, da viele DHCP-Funktionen serienmäßig in IPv6 enthalten sind. Ein IPv6-fähiger Rechner kann aus der MAC-Adresse seines Netzwerk-Interfaces eine Link-lokale IPv6-Adresse errechnen, unter der er dann im lokalen Netz erreichbar ist.

Mit einer Anfrage an eine bestimmte Multicast-Gruppe (ff02::2) kann der Client nach erreichbaren Routern suchen und diese als Gateway verwenden. Diese statuslose Autokonfiguration funktioniert recht zuverlässig, allerdings benötigt der Client oft neben einem Gateway auch noch die Zuweisung eines DNS-Servers; das wird jedoch durch diese Form der Konfiguration nicht bewerkstelligt: Eine automatische Suche nach DNS-Servern kommt in den gegenwärtigen Fassungen der IPv6-RFCs nicht vor.

Es existieren verschiedene Lösungsansätze, wie z. B. eine weitere Multicastgruppe, an der die DNS-Server des lokalen Netzwerks lauschen. Diese sind jedoch bislang nicht standardisiert, so dass man für autokonfiguriertes DNS unter IPv6 bislang auf DHCP angewiesen bleibt.

Für den beschriebenen Fall und Szenarien, in denen die automatische Netzwerkkonfiguration von IPv6-Clients nicht in die Hände des lokalen IPv6-Stacks im Betriebssystem gelegt werden soll, ist daher seit Juli 2003 in RFC 3315 das Protokoll DHCPv6 definiert, das in der IPv6-Welt die gleiche Funktionalität wie das gegenwärtig aktuelle DHCPv4 für IPv4 zur Verfügung stellt. Darüber hinaus ist DHCPv6 darauf ausgelegt, über optionale Felder im DHCPv6-Protokoll Konfigurationsinformationen über NIS+-, SIP-, NTP- und weitere Dienste zu transportieren. Welche Optionen in DHCPv6 aufgenommen werden, wird von der DHCP-Arbeitsgruppe der IETF festgelegt. Weitere Features von DHCPv6 sind die integrierten Sicherheitsfunktionen, durch die es möglich ist, DHCPv6 nur autorisierten Clients zugänglich zu machen, sowie die Möglichkeit die Adresskonfiguration weiterhin per statusloser Autokonfiguration erfolgen zu lassen, jedoch weitere Konfigurationsdetails per DHCPv6 auf die Clients zu bringen.

Abweichend zu DHCPv4 läuft bei v6 die Kommunikation über die UDP-Ports 546 (Client) und 547 (Server).

Weblinks


Netzwerkprotokoll auf Anwendungsschicht

DHCP | DHCP | DHCP | Dynamic Host Configuration Protocol | DHCP | Dünaamiline hostikonfiguratsiooni protokoll | DHCP | DHCP | Dynamic Host Configuration Protocol | Dynamic Host Configuration Protocol | DHCP | DHCP | DHCP | Dynamic Host Configuration Protocol | Dynamic Host Configuration Protocol | DHCP | DHCP | DHCP | DHCP | Dynamic Host Configuration Protocol | DHCP | DHCP | Dynamic Host Configuration Protocol | DHCP | DHCP

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Dynamic Host Configuration Protocol".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld