DHCP (für alle)

DHCP (Dynamic Host Configuration Protocol) dient dazu, Clienten eine vollautomatische Konfiguration der TCP/IP-Einstellungen über UDP (User Datagram Protocol) zu ermöglichen und zur Vermeidung von IP-Adresskonflikten. Dies ist besonders in größeren Netzwerken praktisch, weil man durch DHCP nicht jeden einzelnen Host manuell konfigurieren muss, da dieser automatisch IP-Adressen, Subnetzmaske und Standard-Gateway vom DHCP-Server bezieht. Auch für Rechner mit häufig wechselnden Standorten ist DHCP gut geeignet, da auch hier nicht jedes mal der Rechner manuell konfiguriert werden muss, bzw. der Nutzer keine Kenntnis über die im aktuellen Netz gültigen Einstellungen benötigt.

DHCP ist eine Erweiterung zum BOOTP (Bootstrap Protocol), mit dem mann laufwerkslose Workstations realisieren kann. Hierbei wird zuerst die IP-Adresse vom BOOTP-Server bezogen, und danach wird das Betriebssystem heruntergeladen.

Für ein TCP/IP-Netzwerk müssen auf einem Rechner folgende Einstellungen vorgenommen werden, die vom DHCP-Server auf Anfrage übermittelt werden:

  • IP-Adresse
  • Subnetzmaske
  • Standard-Gateway

Es können auch andere Informationen über DHCP bereitgestellt werden, wie etwa DNS- und WINS-Serveradressen. Der Systemadministrator konfiguriert den DHCP-Server mit den Optionen, die an den Client übergeben werden sollen.

DHCP wurde aus zwei Gründen entwickelt:

  1. Für Netzwerke mit häufig wechselnden Topologien
  2. Für Nutzer, die sich mit Netzwerkkonfiguration nicht auskennen

Für DHCP gibt es zwei verschiedene Zuordnungstypen:

  1. Manuelle IP-Adress-Zuordnung
  2. Automatische/Dynamische IP-Adress-Zuordnung

Manuelle/Statische Zuordnung

Bei der manuellen Zuordnung wird die IP-Adresse einer bestimmten MAC-Adresse fest zugeordnet. Dies geschieht in der Konfiguration des DHCP-Servers. Bei Sicherheitsbedenken kann die alleinige Verwendung der statischen Zuordnung der dynamischen Vergabe von IP-Adressen vorgezogen werden. Jedoch führt dies dazu, dass ausschließlich solche Rechner, deren Mac-Adressen in der Konfiguration vermerkt sind, von dem Dienst profitieren können und andere Rechner auch dann keine IP-Adresse vom DHCP-Server erhalten, wenn noch Adressen frei wären.

Automatische/Dynamische Zuordnung

Bei der automatischen Zuordnung wird dem Client vom DHCP-Server auf Anfrage eine IP-Adresse vergeben, ohne dass die Mac-Adresse in der Konfiguration vermerkt sein muss. Der DHCP-Server hält in diesem Fall einen „Pool“ von Adressen vor. Die Vergabe der IP-Adresse erfolgt entweder „für immer“ (sehr selten) oder für eine bestimmte „Lease-Zeit“. In dieser Zeit merkt sich der DHCP-Server, dass die IP-Adresse vergeben ist und teilt sie keinem anderen Rechner zu. Der Client merkt sich, wann die Lease-Zeit abläuft und stellt (falls notwendig) vor Ablauf eine neue Frage an den DHCP-Server, um diese Adresse weiter zu benutzen, wobei die Lease-Zeit auf beiden Rechnern (Server und Client) zurück gesetzt wird und erneut abzulaufen beginnt. Wenn der verfügbare Adresspool ausgeschöpft ist, kann sich kein neuer Client im Netzwerk einbinden, bis ggf. die „Lease- Zeit“ einer IP-Adresse abläuft.

Funktionsweise von DHCP

Der DHCP-Server muss sich im selben Netzwerk befinden wie der Client, da der Client für seine Anfrage Broadcast verwendet und Router Broadcast nicht weiterleiten. Wenn sich der DHCP-Server in einem anderen Netzwerk befindet als der Client, so muss im Netz des Clients ein DHCP-Relay-Agent installiert sein, der die DHCP-Anfragen an den echten DHCP-Server weiterleitet. Diese Funktion wird häufig von den Routern übernommen.

Beim Start eines Client besitzt dieser keine gültige IP-Adresse, keine Subnetzmaske und kein Standard-Gateway. Der Client verschickt eine DHCPDISCOVER-Nachricht als Broadcast-Nachricht, die von allen Rechnern im lokalen Netz (auch DHCP-Server bzw. DHCP-Relay) gesehen wird. Die Zieladresse der Broadcast-Nachricht ist 255.255.255.255 und die Quelladresse 0.0.0.0. Manche DHCP-Implementationen setzen auch die IP-Adresse als Quelladresse ein, die der Client zuletzt verwendet hat. Außerdem ist in der DHCPDISCOVER-Nachricht die MAC-Adresse des Client enthalten. Der DHCP-Server/DHCP-Relay antwortet mit einer DHCPOFFER-Nachricht ebenfalls per Broadcast.

Diese Nachricht enthält folgende Informationen:

  • MAC-Adresse des Clients
  • angebotene IP-Adresse
  • Laufzeit (Lease-Zeit) der IP-Adresse
  • Subnetzmaske
  • IP-Adresse des DHCP-Servers / Server-ID

Abbildung 1: Funktionsweise von DHCP

Erhält der Client mehr als ein Angebot, darf er unter den eingetroffenen Angeboten wählen. Der Client benachrichtigt den DHCP-Server per DHCPREQUEST-Nachricht über sein Auswahl (z.B. wählt er die IP-Adresse mit längster Lease-Zeit). Für die Antwort benutzt der Client als Quell-Adresse jedoch noch nicht die angebotene IP-Adresse, sondern immer noch die gleiche IP-Adresse wie für das DHCPDISCOVER. Zur Identifikation gegenüber dem DHCP-Server dient die in der DHCPREQUEST-Nachricht ebenfalls enthaltene MAC-Adresse des Clients.

Danach übermittelt der DHCP-Server dem Client mit der DHCPACK-Nachricht die IP-Adresse mit den weiteren relevanten Daten (z.B. IP-Adresse des Standard-Gateways/Router). Der Client überprüft per ARP-Request ob die IP-Adresse schon versehentlich an einen anderen Clienten vergeben wurde (oder manuell, also ohne DHCP, konfiguriert wurde). Ist dies der Fall weisst der Client den DHCP-Server per DHCPDECLINE-Nachricht die IP-Adresse zurück. Ansonsten ist die Konfiguration abgeschlossen.

Funktionsweise von DHCP bei dynamischer Zuordnung

In der DHCPACK-Nachricht hat der Client die Lease-Zeit erhalten. Nach Ablauf der halben Lease-Zeit sendet der Client eine erneute DHCPREQUEST-Nachricht per Unicast zum DHCP-Server und zeigt somit, dass er die IP-Adresse noch benötigt. Der Server sollte mit einer DHCPACK-Nachricht und den identischen Daten wie zuvor, jedoch mit einer neuen Lease-Zeit reagieren und die effektive Lease-Zeit damit verlängern. Falls der Client es versäumt, seine Lease-Zeit zu verlängern oder der Server nicht mit einer entsprechenden DHCPACK-Nachricht antwortet bzw. die Verlängerung mit einer DHCPNACK-Nachricht ablehnt, muss der Client nach Ablauf der Lease-Zeit die erhaltenen Konfigurationsdaten löschen. Er muss dann mit einer DHCPDISCOVER-Nachricht von vorn beginnen. Wenn der Client die IP-Adresse vor Ablauf der Lease-Zeit nicht mehr benötigt, so gibt er die Konfiguration durch eine DHCPRELEASE-Nachricht an den Server frei. Der DHCP-Server kann die IP-Adresse dann einem anderen Client zuweisen.

netz/dhcp/dhcp_fuer_alle.txt · Zuletzt geändert: 2014/08/12 11:57 (Externe Bearbeitung)
Gau-IT-Zentrum