DHCPv6 (Stateful Address Configuration)

DHCP ist ein Protokoll, um die IP-Konfiguration in einem TCP/IP-Netzwerk zu verwalten und an die Hosts zu verteilen. Mit DHCP ist jede Netzwerk-Station in der Lage sich selber halbautomatisch zu konfigurieren.

Bei IPv6 benötigt die IP-Konfiguration eigentlich keinen DHCP-Dienst. Dafür gibt es die Stateless Address Autoconfiguration (SLAAC). Doch nicht alle IPv6-Clients können alle Optionen der IP-Konfiguration auf diese Weise entgegennehmen. Zum Beispiel die RDNSS-Option mit dem DNS-Server. DHCPv6 ist im Prinzip das einzige Verfahren, welches diese und weitere Angaben innerhalb der Autokonfiguration ergänzen kann. Um wie bei IPv4 mit DHCPv4 die gleichen Funktionalitäten für IPv6 zu ermöglichen, wurde DHCPv6 definiert.
Weil bei DHCPv6 die IP-Konfiguration zentral vergeben und gespeichert wird, spricht man von "Stateful" Address Configuration.

In der Praxis sieht die IP-Autokonfiguration häufig so aus: Per Router-Advertisement werden die IP-Grundparameter verteilt und mit DHCPv6 alles weitere. Die Autokonfiguration bleibt dabei "stateless". Anders sieht es aus, wenn auch DHCPv6 der Präfix verteilt wird. Dann ist die Autokonfiguration "stateful".

Hinweis: Auch bei einer "stateful" IPv6-Konfiguration muss das Router-Advertisement aktiviert sein. Nur so kann jeder Host seine link-lokale IPv6-Adresse erzeugen. Dann allerdings ohne den globalen Netzpräfix für die globale IPv6-Adresse. Der globale Präfix ist in diesem Fall im DHCPv6-Server hinterlegt (stateful). Der generiert daraus die 128 Bit lange IPv6-Adresse für die anfragenden Clients. Welchen Hostanteil (Interface Identifier) der Server aus dem möglichen Adressraum verwendet, hängt dabei von der Implementierung ab.

Ablauf von DHCPv6

DHCPv6-Client / DHCPv6-Server

Der eigentliche Ablauf von DHCPv6 erfolgt in 4 Schritten (Schritt 3 bis 6). In der folgenden Beschreibung ist die vorhergehende Autokonfiguration der globalen IPv6-Adresse über SLAAC berücksichtigt (Schritt 1 und 2). Wobei das Router Advertisement (Schritt 2) der Router Solicitation (Schritt 1) zuvorkommen kann.

  1. Der Client bzw. Host sendet eine Router Solicitation (RS) an die Multicast-Adresse "ff02::2". Damit bittet der Client um einen Präfix für die globale IPv6-Adresse.
  2. Der zuständige Router antwortet mit einem Router Advertisement (RA). Die Nachricht enthält die MTU (Größe der IP-Pakete) und den globalen Präfix für das Netzwerk (stateless) oder das Flag "managed" (stateful).
  3. Dann sendet der Client eine DHCP-Solicitation-Nachricht an die DHCPv6-Multicast-Adresse "ff02::1:2" (alle DHCPv6-Server).
  4. Die erreichbaren DHCPv6-Server antworten mit einer DHCP-Advertisement-Nachricht, die die Parameter (DNS-Server, NTP-Server etc.) zur Vervollständigung der IP-Konfiguration enthält (bei stateful auch den globalen Präfix).
  5. Der Client wählt eine IP-Konfiguration aus und fordert sie beim jeweiligen DHCPv6-Server mit einem DHCPv6-Request explizit an.
  6. Der DHCPv6-Server speichert die IP-Konfiguration mit der Client-ID (Stateful Address Configuration) und bestätigt dem Client die IP-Konfiguration per DHCPv6-Reply. Alle anderen DHCPv6-Server, die keine Anforderung des Clients erhalten haben, geben ihre angebotene IPv6-Adresse wieder frei.

Der Client konfiguriert sich nach Erhalt der Bestätigung und kann anschließend im Netz mit einer globalen IPv6-Adresse kommunizieren.

DHCPv6 vs. Router Advertisment

Ob man DHCPv6 ODER Router Advertisement für die IPv6-Autokonfiguration verwendet, darüber kann man gar nicht entscheiden. Grundsätzlich kommt man ohne Router Advertisements nicht aus. Auch wenn man keine "stateless" IPv6-Adressen haben möchte, sind Router Advertisements nötig. Der zuständige Router verteilt seine Router Advertisements mit dem Flag "managed", woran ein Host erkennt, dass er sich die globale IPv6-Adresse per DHCPv6 holen muss. Das heißt, ohne RA ist kein DHCPv6 möglich.

DHCPv6 hat noch einen weiteren Makel, weshalb RAs unverzichtbar sind. Die ursprüngliche Spezifikation von DHCPv6 sah die Konfiguration eines Standard-Gateways nicht vor. Hierzu gibt es nur den Vorschlag "DHCPv6 Route Options", womit sich die Adresse des Default-Gateways über DHCPv6 konfigurieren lässt, wie es bei DHCPv4 üblich ist. "DHCPv6 Route Options" würde es erlauben, DHCPv6 ohne Router-Advertisements zu betreiben. Allerdings ist es fraglich, ob das jemals so zum Einsatz kommen wird.
Deshalb gilt, dass jede IPv6-Konfiguration mit DHCPv6 auch immer parallel mit Router Advertisements erfolgen muss.

Aufgaben und Übungen mit dem Raspberry Pi

Wer mit IPv6 experimentieren will, der kann das zum Beispiel auf einem Raspberry Pi tun. Dazu gibt es ein paar Aufgaben und Übungen speziell für IPv6.

Übersicht: IPv6

Weitere verwandte Themen:

Teilen:

Netzwerktechnik-Fibel

Netzwerktechnik-Fibel

Das will ich haben!