Das DHCP Protokoll

Dezember 2016

Begriffserklärung DHCP

DHCP bedeutet Dynamic Host Configuration Protocol. Dieses Protokoll ermöglicht einem Rechner, der sich ans Netz anbindet, sich dynamisch und ohne besondere Massnahmen zu konfigurieren (vordergründig die Netzkonfiguration). Sie brauchen lediglich dem Rechner mitzuteilen das er sich selbständig eine IP Adresse über DHCP finden soll. Das Hauptziel liegt in der Vereinfachung der Netzverwaltung.

Das DHCP Protokoll dient hauptsächlich dazu die IP Adressen im Netz zu verteilen. Es war aber ursprünglich als Ergänzung für das BOOTP Protokoll (Bootstrap Protocol) gedacht. Letzteres wird Beispielsweise für die Einbettung einer station ins Netz (BOOTP nutzt man in enge Zusammenarbeit mit einem TFTP server von dem der Client Dateien auf sein PC transferieren kann). Ein DHCP server kann BOOTP Parameter oder die für einen vorgegeben Host eigene Konfigurationsparameter vermitteln.

Aufbau des DHCP Protokoll

Benötigt wird zunächst ein DHCP server der IP Adressen verteilt. Diese Maschine wird als Kern für alle DHCP Aufträge eingesetzt, somit muss sie eine feste IP Adresse haben. In einem Netz wird es daher nur eine Maschine mit einer festen IP Adresse geben, nähmlich der DHCP server.

Der Basisvorgang in der Kommunikation ist BOOTP (mit UDP Träger). Eine Maschine hat, nach ihrem Start, keine Angaben über ihre Netzkonfiguration und der Benutzer darf vor allem nichts besonderes tun um eine IP Adresse zu suchen. Die hier verwendete Technik, ist der Broadcast : zum auffinden und kommunizieren mit einem DHCP Server, wird die Maschine einfach ein Sonderbroadcastpacket ( broadcast auf 255.255.255.255. mit sonstigen Informationen wie Requesttyp, Portbelegung ...) ins lokale Netz senden. Der DHCP server antwortet auf diesen Broadcast mit einem anderen Broadcast ( vergessen wir nicht dass der Client nicht unbedingt eine IP Adresse hat und somit nicht unmittelbar zu erreichen ist) mit sämtlicher vom Benutzer geforderten Angaben .

Wir könnte annehmen dass ein einziges Packet für das gute Ausführen des Protokoll ausreicht. De Facto, existieren mehrere DHCP Packettypen, die gesendet werden können, sei es vom Clienten zu den Server als auch vom Server zum Clienten :

  • DHCPDISCOVER (Lokalisieren der verfügbaren DHCP Server)
  • DHCPOFFER (Der Server antwortet auf ein DHCPDISCOVER mit den Anfangsparameter)
  • DHCPREQUEST (diverse Anfrage des Clienten um bespielsweise sein Lease zu verlängern)
  • DHCPACK (Der Server antwortet mit Parameter und die Client IP Adresse)
  • DHCPNAK (Serverantwort um dem Clienten mitzuteilen dass seine Lease-Zeit abgelaufen ist oder wenn der Client keine gültige Netzkonfiguration hat)
  • DHCPDECLINE (Der Client teilt dem Server eine bereits belegte Adresse mit)
  • DHCPRELEASE (Der Client detzt seine Adresse frei)
  • DHCPINFORM (Der Client fordert lokale Parameter, er hat bereits seine Adresse)

Das erste Client Sendepaket ist ein Paket vom Typ DHCPDISCOVER. Der server erwidert mit einem DHCPOFFER, insbesonder um dem client eine Adresse vorzuschlagen. Der Client stellt seine Konfiguration auf, dann setzt ein DHCPREQUEST frei um seine Adresse zu bestätigen (die Anfrage geschiet in broadcast DHCPOFFER seine Adresse nicht kennt). Der Server antwortet einfach über DHCPACK mit der IP Adresse zwecks Bestätigung der Zuweisung. Im Normalfall und für eine zuverlässige Client Netzkonfiguration, reicht dies schon aus, aber das kann sich über eine länger Zeit ziehen, je nachdem ob der Client die Adresse bestätigt oder nicht ...

Die Lease-Zeiten

IP Adressen werden, aufgrund der Netzressourcenoptimierung, mit einem Gültichkeitsdatumanfang und -ende, übertragen. Dies heisst ein "Lease". Ein Client dessen Lease abgelaufen ist, kann beim Server eine Verlängerung seines Lease über ein DHCPREQUEST beantragen. Auf der anderen Seite, sendet der Server, wenn ein Lease abgelaufen ist, ein DHCPNAK-Paket und fragt damit den Client ob sein Lease verlängert werden soll. Wenn der Server kein gültige Antwort zurückbekommt, setzt er die IP Adresse frei.

Dies ist der ganze Scharfsinn von DHCH : man kann die Adresszuweisungen optimieren wenn man auf die Dauer der Lease Einfluss hat. Das Heikle ist : Wenn, nach einer bestimmten Zeit keine Adresse mehr frei wird, - sprich, keine verteilbare Adresse mehr -, werden keine DHCP Anfragen mehr zufriedengestellt.

In einem Netz wo sich Unmengen von Rechnern austoben ( zB. Schulnetze, Einkaufzentren), sind kürzere Leasezeiten angebracht. Auf der anderen Seite, wenn ein Netz hauptsächlich aus einzelnen Arbeitstationen besteht, die öfter angeworfen werden, reichen lange Leasezeiten aus. Man darf aber nicht vergessen dass DHCP mit broadcast gespeist wird, und daher die Netzbandbreite bei kleineren stark besuchten Netze, zum stocken kommen kann.

Wie treibt man ein DHCP server auf ?

Das Internet Software Consortium ist für den DHCP Server, in der Welt der freien Software, zuständig. Er ist der am meist verbreiteten Server und er "befolgt" am ehesten die RFCs. ACHTUNG ! Ein DHCP Server ist fern der einfachen Entwicklung und die von ihm bereitgestellten Server werden regelmässig gepatcht und vervollständigt. Die allerletzte Version bis Dato ist die 3.0; sie ist aber noch in dem Beta Zustand. Die wichtigste Innovation dieser Version ist das dynamische Updaten der DNS anhand der vom DHCP Server bereitgestellten IP Adressen. Zur Information : Der erste Draft auf den dynamischen DNS geht auf März 1996 zurück.Noch mehr Infos zur Aktualisierung von DNS mittels DHCP Server..

Microsoft hat serbstverständkich seinen eigenen DHCP Server für NT aber er implementiert noch nicht das dynamische DNS Updaten.

Noch mehr Infos

Die wichtigste Literatur über DHCP besteht aus den unumgänglichen RFCs :

geschrieben von Sylvain Baudoin


Lesen Sie auch :


The DHCP protocol
The DHCP protocol
El protocolo DHCP
El protocolo DHCP
Le protocole DHCP
Le protocole DHCP
Il protocollo DHCP
Il protocollo DHCP
O protocolo DHCP
O protocolo DHCP
Das Dokument mit dem Titel « Das DHCP Protokoll » aus CCM (de.ccm.net) wird zur Verfügung gestellt unter den Bedingungen der Creative Commons Lizenz. Sie dürfen das Dokument verwenden, verändern sowie Vervielfältigungen dieser Seite erstellen, unter den Bedingungen, die in der vorgenannten Lizenz erwähnt sind und unter der gleichzeitigen Bedingung, dass Sie im Rahmen Ihrer Verwendung, Veränderung oder Vervielfältigung nach außen hin klar und deutlich auf den Urheber (= de.ccm.net) des Dokuments hinweisen.