Kategorie

A B C D E
F G H I J
K L M N O
P Q R S T
U V W X Y
Z 0      

dynamic host configuration protocol

da db dc dd de df dg dh di dj dk dl dm
dn do dp dq dr ds dt du dv dw dx dy dz

Dynamic Host Configuration Protocol

DHCP im TCP/IP-Protokollstapel
Anwendung DHCP
Transport UDP
Netzwerk IP
Netzzugang Ethernet Token
Ring
FDDI ...
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). Durch DHCP ist die Einbindung eines neuen Computers in ein bestehendes Netzwerk ohne weitere Konfiguration möglich. Ohne DHCP ist ein relativ aufwendiges Setup nötig, das neben der IP-Adresse die Eingabe weiterer Parameter wie Netzmaske, Gateway, Drucker usw. verlangt. DHCP kann diese Parameter beim Starten eines neuen Rechners automatisch vergeben.

DHCP verwendet das BOOTP-Protokoll, mit dem sich laufwerklose Workstations realisieren lassen, die sich zunächst eine IP-Adresse vom BOOTP-Server holen, und anschließend ein Kernel-Image aus dem Netz nachladen, 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 Netzwerkkonfiguation belastet werden sollen

In großen 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.

Table of contents
1 Der DHCP-Server
2 Ablauf der DHCP-Kommunikation
3 DHCPv6
4 Weblinks

Der DHCP-Server

Der DHCP-Server ist als Daemon implementiert und wartet auf UDP-Port 67 auf Client-Anfragen. In seiner Konfigurationsdatei hat er Angaben, 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. Dem Client wird entweder eine freie Adresse aus einem vom Administrator festgelegten Pool, den der DHCP-Server verwaltet, zugeteilt, alternativ kann in der Konfigurationsdatei des Servers aber auch die MAC-Adresse des jeweiligen Clients hinterlegt werden, so dass ein auf diese Weise identifizierter Client keine pseudo-zufällige, sondern jedesmal die gleiche IP-Nummer zugeteilt bekommt. Zusätzliche Angaben über netzwerkrelevante Parameter wie die Subnetzmaske, die lokale DNS-Domäne oder das zu verwendende Gateway komplettieren die Konfigurationsdatei des DHCP-Servers.

Ablauf der DHCP-Kommunikation

Initiale Adresszuweisung

Wenn ein Client erstmalig eine IP-Adresse benötigt, schickt er eine DHCPDISCOVER-Nachricht als Netzwerk-Broadcast, auf die die verfügbaren DHCP-Server (es kann durchaus mehrere davon im gleichen Subnetz geben) mit DHCPOFFER antworten und einen Vorschlag für eine IP-Adresse machen. Dieser Broadcast hat als Absenderadresse 0.0.0.0 und als Zieladresse 255.255.255.255. Der Client darf nun unter den eingetroffenen Angeboten wählen. Wenn er sich für eines entschieden hat, kontaktiert er den entsprechenden Server mit der Nachricht DHCPREQUEST, worauf der Server ihm in einer DHCPACK-Nachricht 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 ein anderer Rechner auf der Adresse sitzt.

DHCP-Refresh

Zusammen mit der IP-Adresse erhält der Client in der DHCPACK-Nachricht eine Lease-Zeit mitgeteilt, die ihm sagt, wie lange die zugeteilte Adresse für ihn reserviert ist. 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 im Datenpaket enthaltenen Server gesendet. 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. 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.

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. Bis hierhin funktioniert diese statuslose Autokonfiguration recht zuverlässig, wenn der Client jedoch auch noch einen DNS-Server braucht, bekommt er ein Problem, weil das Konzept der Autokonfiguration an dieser Stelle nicht zu Ende gedacht wurde: 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 Szenarios, 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. Abweichend zu DHCPv4 läuft bei v6 die Kommunikation über die UDP-Ports 546 (Client) und 547 (Server).

Weblinks

  • RFC 2131 - Dynamic Host Configuration Protocol, Version 4
  • RFC 3315 - Dynamic Host Configuration Protocol, Version 6
  • MacGyver OSX - Tutorium "DHCP-Server auf OSX"

Impressum

Datenschutzerklärung