DHCP

Mithilfe des Dynamic Host Configuration Protocol (DHCP) ist es möglich, verschiedene Netzwerkkonfigurationen von Clients von einem Server aus zu steuern. Ein solcher Client bekommt neben einer IP-Adresse noch eine Subnetzmaske, Gatewayadresse und IP-Adressen der DNS-Server zugewiesen. Die Client-eigene IP-Adresse hat meist ein Verfallsdatum, wenn die Adressvergabe dynamisch erfolgt. Antwortet der Client eine bestimmte Zeit nicht, so wird vom Server die Adresse erneut vergeben. Daher spricht man von der „Lease Time“. Andernfalls kann bei manueller Konfiguration auch eine Verbindung auf unbestimmte Zeit erfolgen.

Geschichte

Erstmals verwendet wurde DHCP 1993. Aufgebaut wurde es auf dem Bootstrap Protocol (BOOTP) von 1985. Die Definition des Dynamic Host Configuration Protocol befindet sich im RFC 2131 und ist unter den UDP-Portnummern 67 und 68 zu finden.

Vorteile des Systems

Hauptvorteil ist die einfache Nutzung und Konfiguration, da die Netzwerkparameter nur einmal eingetragen werden müssen. Außerdem ist eine optimale Ausnutzung der vorhandenen IP-Adressen möglich. Bei mobilen Geräten ist es aufgrund der häufig wechselnden Standorte nahezu unmöglich, diese ständig selbst zu konfigurieren. Hier bietet das automatische DHCP-System einen Vorteil der unkomplizierten und einfachen Anwendbarkeit. Es ist ein Plug & Play-Netzwerk entstanden.

Einsatzgebiete

Die Entwicklung des DHCP erfolgte für zwei Gebiete. Zum einen sollten große Netzwerke mit wechselnden Anwendern unkompliziert verwaltet werden. Dies ist zum Beispiel in öffentlichen Netzwerken, Firmennetzwerken oder auch Universitätsnetzwerken der Fall. Außerdem ermöglicht es dem nicht IT-erfahrenen Netzwerkbenutzer eine einfache Verbindungsherstellung, ohne sich mit der Thematik beschäftigen zu müssen.

Grundsätzliche Funktionsweise

Voraussetzung für die Nutzung ist, dass am Client der automatische Bezug der IP-Adresse eingestellt ist. Soll sich der Client in ein erreichbares Netz einloggen, kann er automatisch die nötigen Parameter wie IP-Adresse, Subnetzmaske, Gateway und einige weitere vom DHCP-Server beziehen.

Aufbau eines DHCP-Paketes

  • op (1 Byte): Unterscheidung zwischen Anforderung oder Antwort
  • htype (1 Byte): Beschreibung des Netztyps (z. B. 1 = Ethernet, 6 = IEEE 802 Netzwerke)
  • hlen (1 Byte): gibt die Länge der physikalischen Netzadresse an
  • hops (1 Byte, optional): gibt die Anzahl der DHCP-Relay-Agents auf dem Datenpfad an
  • xid (4 Byte): dient der Identifikation zwischen Client und Server
  • secs (2 Byte): Zeit seit dem Start des Clients in Sekunden
  • flags (2 Byte): gibt an, ob Client eine gültige IP-Adresse besitzt (1. Byte), über das 2. Byte können noch Erweiterungen vorgenommen werden
  • ciaddr (4 Byte): Client-IP-Adresse
  • yiaddr (4 Byte): eigene IP-Adresse
  • siaddr (4 Byte): Server-IP-Adresse
  • giaddr (4 Byte): Relay-Agent-IP-Adresse
  • chaddr (16 Byte): Client-MAC-Adresse
  • sname (64 Byte): Name des DHCP-Servers, wenn sich Client mit einem bestimmten verbinden soll (optional)
  • file (128 Byte): Name einer Datei (z. B. System-Kernel), die vom an den Client gesendet werden (optional)

Vergabevarianten des DHCP-Servers

Die Verteilung der IP-Adressen vom Server an die Clients kann auf drei unterschiedlichen Wegen erfolgen. Je nach Bedarf kann zwischen manueller, automatischer und dynamischer Zuordnung ausgewählt werden. Wurde der Server gestartet, wartet er auf dem UDP-Port 67 auf die Anfrage eines Clients, der sich mit dem Netz verbinden will. In einer vorher festgelegten Konfigurationsdatei befinden sich die erforderlichen Parameter, die dann zum Client gesendet werden, um ihn zu konfigurieren.

  • Manuelle Zuordnung: Diese Art wird auch statisches DHCP genannt. Dabei werden am Server bestimmten MAC-Adressen (einzigartige Identifikationsnummer eines netzwerkfähigen Gerätes) feste IP-Adressen zugeteilt. Die geschieht auf unbestimmte Zeit. Problematisch ist, dass keine zusätzlichen Clients dem Netzwerk beitreten können, ohne dass der Administrator dies am Server konfiguriert. Das erlaubt allerdings erhöhte Sicherheit vor ungewünschten Eindringlingen.
  • Automatische Zuordnung: Hierbei erfolgt die Zuordnung ähnlich dem manuellen System, nur dass vom Server ein Bereich von IP-Adressen dem Client angeboten werden. Ist aber einmal eine MAC-Adresse mit einer IP-Adresse verknüpft, so bleibt sie auf unbestimmte Zeit fest mit ihr verbunden. Sind alle IP-Adressbereiche vergeben, kann auch hier nur manuell ein weiterer Client neu verbinden.
  • Dynamische Zuordnung: Dieses Verfahren entspricht wiederum der automatischen Zuordnung mit dem Unterschied, dass die Zuordnung nur für eine bestimmte Zeit erfolgt. Besteht über diese bestimmte Zeit (Lease-Time = Mietzeit) keine Verbindung, so wird die Verknüpfung zwischen MAC-Adresse und IP-Adresse gelöst und die Adresse wird wieder frei. Die Lease-Time wird bei der Verbindung dem Client mitgeteilt. Nach der Hälfte der Zeit führt der Client einen Request aus und zeigt somit dem Server ein weiteres Interesse an der IP-Adresse an. Funktionierte dies nicht, besteht die Verbindung trotzdem weiterhin, bis bei 7/8 der Zeit ein zweiter Request durchgeführt wird

Sicherheit

Das Problem bei DHCP ist, dass Clients jeden Server akzeptieren. Ist also ein weiterer Server in der Nähe, kann es vorkommen, dass sich der Client mit diesem verbindet und dieser eventuell ungültige Daten an den Client sendet.
Außerdem ist die vermeintliche Sicherheit der einmaligen MAC-Adresse nicht gegeben, da es relativ unkompliziert möglich ist, die MAC-Adresse eines Gerätes zu ändern und es somit als ein anderes auszugeben und sich mit dem Netz zu verbinden.