Zum Inhalt springen

DHCPv6/DHCPv4

Aus Foxwiki

DHCPv6/DHCPv4 - Gemeinsamkeiten und Unterschiede

Beschreibung

IPv4

In IPv4-Netzwerken können die IP-Adressen der Knoten entweder statisch konfiguriert oder dynamisch mit DHCPv4 zugewiesen werden

IPv6

IPv6 bietet mehrere Methoden zur Zuweisung von IPv6-Adressen an Endknoten

  • Natürlich können Knoten ihre IPv6-Adresse statisch konfigurieren, aber es gibt auch zwei dynamische Adresskonfigurationsmethoden
  • StateLess Address AutoConfiguration (SLAAC) und Stateful DHCPv6
Betriebsmodell

Es wird häufig empfohlen, dass Unternehmen für IPv4 und IPv6 dasselbe Betriebsmodell verwenden

  • Wenn Unternehmen DHCPv4 verwenden, kann es sinnvoll sein, DHCPv6 zu wählen
  • Es kann sich als aufwendig erweisen, DHCPv4 für IPv4 und SLAAC mit rekursivem DNS-Server (RDNSS) und DNS-Suchliste (DNSSL) (RFC/8106) für IPv6 zu verwenden
  • In diesem Fall ist es möglicherweise am besten, die Dinge einfach zu halten und DHCPv6 neben DHCPv4 einzusetzen
  • Es kann jedoch Geräte geben, wie z. B. solche mit Android- oder ChromeOS-Betriebssystem, die DHCPv6 nicht unterstützen

Gemeinsamkeiten

Standards der Internet Engineering Task Force (IETF)

Innerhalb der Dynamic Host Configuration Working Group (DHC WG) veröffentlicht

  • DHCPv4 wurde 1993 in RFC/1531 definiert und 1997 in RFC/2131 weiterentwickelt
  • DHCPv6 wurde erstmals 2003 in RFC/3315 definiert, die aktuelle Version ist in RFC/8415 definiert
Grundlegende Eigenschaften

Beide Protokolle erfüllen die Funktion

  • Dynamischen Zuweisung einer IP-Adresse an einen Endgerät
  • Beide verfügen über das Konzept eines Bereichs oder einer Reichweite und einer Leasinggabe einer einzelnen Adresse an einen Endknoten
Funktionalen Komponenten
  • DHCP/DHCPv6-Client
  • DHCP/DHCPv6-Relay
  • DHCP/DHCPv6-Server

Dieselben Clients, Relays und Server können DHCPv4 und DHCPv6 gleichzeitig in einem Dual-Protokoll-Szenario verwenden

Unterschiede

DHCPv6-Client
  • Geräte, die die Kommunikation initiieren
  • Nachrichten senden, um IPv6-Adressen oder andere Konfigurationsdetails vom Server anzufordern
DHCPv6-Server

Der Server ist das zentrale Gerät, das auf die Anfragen des Clients antwortet

  • Er weist IPv6-Adressen zu und stellt andere Netzwerkkonfigurationsparameter bereit
  • Er kommuniziert mit den Clients über Protokollnachrichten und wird durch eine DUID (DHCP Unique Identifier) identifiziert
DHCPv6-Nachrichten (MSG)
  • Dies sind die verschiedenen Nachrichten, die zwischen den Clients, dem Server und dem Relay Agent gesendet werden
  • Sie helfen dabei, IPv6-Adressen zu vergeben und das Netzwerk einzurichten
DUID
  • Clients und Server verfügen über eine DUID (DHCP Unique Identifier)
  • Komponenten verwenden diese Kennung in ihrer Kommunikation, um eine eindeutige und dauerhafte Identität im Protokollprozess sicherzustellen
Router (RA-Nachrichten)
  • Dies ist ein Router, der Router Advertisement (RA)-Nachrichten als Teil des IPv6 Neighbor Discovery Protocol (NDP) versendet
  • Diese Nachrichten können den Clients mitteilen, dass ein DHCPv6-Server vorhanden ist und ob sie dieses Protokoll, Stateless Address Autoconfiguration (SLAAC) oder beides verwenden sollen
DHCPv6-Relay-Agent
  • Der Relay-Agent ist ein Netzwerkgerät, das Nachrichten zwischen Clients und dem Server weiterleitet, insbesondere wenn diese sich nicht im selben lokalen Netzwerk befinden

UDP-Portnummern

DHCPv4 und DHCPv6 verwenden ein verbindungsloses Dienstmodell mit User Datagram Protocol (UDP)-Nachrichten

DHCPv4
  • Server/Relays lauschen auf UDP-Port 67
  • Clients auf UDP-Port 68 (BOOTP)
DHCPv6
  • Server/Relays lauschen auf UDP-Port 546
  • Clients auf UDP-Port 547

Dies sind registrierte Port-Nummern Von der Internet Assigned Numbers Authority (IANA) dokumentiert

  • „Service Name and Transport Protocol Port Number Registry“

SARR statt DORA

DHCPv4 und DHCPv6 sind funktional gleichwertig, da ein Client zustandsbehaftet Nachrichten oft über einen Relay an den Server sendet

  • Nachrichtentypen und -namen sind unterschiedlich

IPv4-DHCP-Clients senden zunächst eine DHCPDISCOVER-Nachricht an die IPv4-Broadcast-Adresse (z. B. 255.255.255.255), woraufhin der Server mit einer DHCPOFFER-Nachricht antwortet

  • Der Client sendet dann eine DHCPREQUEST-Nachricht, und schließlich schließt der Server die Transaktion mit einer DHCPACK-Bestätigungsnachricht ab
  • Dies wird als Discover, Offer, Request, Acknowledge oder „DORA“ abgekürzt
Die vier wichtigsten Nachrichten von DHCPv6 (SARR)
  • SOLICIT
  • ADVERTISE
  • REQUEST
  • REPLY
Gängigsten Nachrichten

Funktional äquivalent mit DHCPv6

DHCP-Nachrichtentypen DHCPv6-Nachrichtentypen Beschreibung
DHCPDISCOVER SOLICIT Entdeckung eines DHCP-Servers
DHCPOFFER ADVERTISE Angebot
DHCPREQUEST REQUEST Anftrage
DHCPACK REPLY Bestätigung
DHCPRELEASE RELEASE Freigabe
DHCPINFORM INFORMATION-REQUEST Informationsanfrage
DHCPDECLINE DECLINE Ablehnung

Weitere Nachrichtentypen sind bei der IANA zu finden.

Multicast statt Broadcast

Effiziente Nutzung von Multicast anstelle von Broadcast

Ein wesentlicher Unterschied zwischen IPv4 und IPv6 besteht in der Verwendung von Broadcast- und/oder Multicast-Nachrichten

  • IPv4-Netzwerke konnten Subnetz-Broadcast-Nachrichten verwenden, die unter Verwendung von 255.255.255.255 an alle lokalen Knoten gesendet wurden, oder IPv4 konnte Multicast-Zieladressen (224.0.0.0/4) verwenden
  • IPv6 verfügt über keinen Mechanismus oder Adresstyp, der als Broadcast fungiert
  • Stattdessen verwendet IPv6 Multicast-Adressen (ff00::/8) für alle Eins-zu-Viele-Kommunikationen
DHCPv4

DHCP-Clients senden ihre DHCPDISCOVER- und DHCPREQUEST-Nachrichten als Broadcast an 255.255.255.255

  • Alle anderen Knoten im lokalen Segment empfangen diese Nachricht und müssen sie verarbeiten und entscheiden, ob sie darauf reagieren müssen
  • Der DHCP-Relay empfängt diese unaufgeforderte Broadcast-Nachricht und leitet sie an den DHCP-Server weiter
  • Beispielsweise wird die IPv4-Zugangsnetzwerkschnittstelle eines Cisco-Routers mit einem „ip helper“-Befehl mit der Unicast-IPv4-Adresse des DHCP-Servers konfiguriert
DHCPv6

Clients senden ihre erste SOLICIT-Nachricht an die link-lokale Multicast-Adresse ff02::1:2 des Bereichs All_DHCP_Relay_Agents_and_Servers

  • Das On-Link-DHCPv6-Relay (oder der DHCPv6-Server) ist auf diese Multicast-Adresse eingestellt und empfängt und verarbeitet diese Nachrichten
  • Der DHCPv6-Relay könnte auch die Multicast-Adresse ff05::1:3 im lokalen Bereich „All_DHCP_Servers“ verwenden, um Nachrichten an alle DHCPv6-Server in der Umgebung zu senden

Client-Quelladressen

Unterschiede bei den Client-Quelladressen

Endgeräte, die DHCPv4 und/oder DHCPv6 verwenden, befinden sich zunächst in einem „Henne-Ei“-Dilemma, da sie ein Paket senden müssen, um den Prozess zum Abrufen einer Unicast-Adresse zu starten, aber auch eine Quelladresse für ihre erste DHCP- oder DHCPv6-Kommunikation benötigen

  • IPv4-DHCP-Clients verwenden 0.0.0.0 als erste Quelladresse zum Senden ihrer DHCPDISCOVER- und DHCPREQUEST-Nachrichten
  • DHCPv6-Clients verwenden ihre link-lokale IPv6-Adresse (im Netzwerk fe80::/10), wenn sie ihre SOLICIT- und REQUEST-Nachrichten zur Kommunikation mit dem Relay oder Server senden
  • DHCPv4 verwendet Broadcasts, um Nachrichten an das Relay oder den Server zu senden, und das Relay oder der Server verwendet Unicast-Adressen, um die Antworten zurückzusenden
  • Bei DHCPv4 erhält der Client seine Adresse in der Zieladresse der DHCPOFFER-Nachricht
  • DHCPv6-Clients und Relay/Server verwenden ihre link-lokalen Adressen als Quelladresse, und der Relay/Server ist auf link-lokale Multicasts eingestellt, um Nachrichten von Clients zu empfangen
  • DHCPv6-Clients erhalten ihre globale Unicast-Adresse erst, wenn der vollständige Vier-Wege-Protokollwechsel abgeschlossen ist

Router-Advertisement

Router-Advertisement-Nachrichten initiieren DHCPv6

Einer der Hauptunterschiede zwischen der Funktionsweise von IPv4 und IPv6 in einem LAN-Segment ist die Verwendung von ICMPv6 für die Routererkennung in IPv6

  • IPv6-Router senden ICMPv6-Nachrichten vom Typ 134 (Router Advertisement, RA) an die link-lokale Multicast-Adresse ff02::1 aller Knoten, um Informationen über das lokale Netzwerk an alle Knoten im Segment weiterzugeben
  • Diese vom First-Hop-Router gesendeten RAs sind wichtige Nachrichten, die den Startvorgang für Endknoten initiieren
  • Tatsächlich ist es die RA mit dem auf „1“ gesetzten Flag „Managed Address Configuration“, die einen Client dazu veranlasst, den DHCPv6-Prozess zur Zuweisung einer zustandsbehafteten Adresse zu starten
  • IPv4 verfügt über keine Entsprechung zur Router-Erkennungsfunktion
  • Ein DHCP-Client startet einfach und sendet die DHCPDISCOVER-Nachricht, um den Prozess zu starten

MACs versus DUIDs

DHCPv4

Verwendet die MAC-Adresse der Verbindungsschicht als Kennung für den Client

  • Die MAC-Adresse des Clients wird vom Relay und vom Server notiert und mit der Adresszuweisung verknüpft
DHCPv6

Verwendet für die Client-Kennung eine sogenannte DHCPv4 Unique Identifier (DUID)

  • In DHCPv6 (RFC/8415) sind vier DUID-Typen definiert, wobei die Wahl des DUID-Formats dem Client überlassen bleibt
    • Link-Layer-Adresse plus Zeit (DUID-LLT) – wird von Windows 10/11-Clients und Apple MacOS verwendet
    • Vom Hersteller zugewiesene eindeutige ID basierend auf der Enterprise ID (DUID-EN) – wird von einigen Linux-Distributionen verwendet
    • Link-Layer-Adresse (DUID-LL)
    • UUID-basierte DUID (DUID-UUID) RFC/6355 – wird von einigen Linux-Distributionen verwendet

Dies kann für Unternehmen eine operative Herausforderung darstellen, da DHCPv4 und DHCPv6 nicht einfach beide die MAC-Adresse des Clients verwenden

Statischen Reservierung

DHCPv4 und DHCPv6 ermöglichen beide die Erstellung einer statischen Reservierung

  • Für IPv4 ermöglicht DHCPv4 die Erstellung einer festen Adressbindung zwischen einer IP-Adresse basierend auf der MAC-Adresse des Clients
  • Durch die Nutzung von IP Address Management wird eine optimierte Verwaltung der Adresszuweisungen und der Leasingverfolgung für DHCPv4- und DHCPv6-Umgebungen gewährleistet
  • Für IPv6 verwendet DHCPv6 die DUID für die statische Reservierungszuordnung zur globalen IPv6-Adresse innerhalb des Bereichs

Hochverfügbarkeit

Für IPv4-Netzwerke, die im Falle eines Ausfalls einen hochverfügbaren Satz von DHCP-Servern erforderten, konnten Leases beibehalten und neue Leases von den überlebenden DHCP-Servern bereitgestellt werden

  • Zunächst wurde das DHCP-Failover-Protokoll konzipiert und später der „DHC Load Balancing Algorithm“ (RFC/3074) vorgeschlagen

Hochverfügbarkeit war für DHCPv6-Server bisher eine Herausforderung, da es lange keine standardisierte Redundanzmethode gab

  • Die IETF hat diese Probleme in „DHCPv6 Redundancy Deployment Considerations“ (RFC/6853) und „DHCPv6 Failover Requirements“ (RFC/7031) dokumentiert
  • Mit dem DHCPv6-Failover-Protokoll (RFC/8156) entspricht die Redundanz von DHCPv6-Servern nun der Redundanz von DHCP-Servern

Lease-Zeiten

DHCPv4-Lease-Zeiten

Da der IPv4-Adressraum knapp ist, sind die Bereiche in der Regel klein und die Lease-Zeiten sehr niedrig angesetzt, um Adressraum zu sparen

  • Tatsächlich können DHCP-Netzwerke sogar so konfiguriert werden, dass Clients ihre Adressen freigeben, bevor sie ein Netzwerk verlassen
  • IPv6-Subnetze sind hingegen groß (in der Regel /64) und es besteht keine Gefahr, dass der Pool erschöpft wird
  • Daher können Clients bei jedem Beitritt zu einem Netzwerk eine neue Adresse anfordern
  • Die maximale Anzahl von Knoten in einem IPv4-Subnetz kann aufgrund der Gefahr von Subnetz-Broadcast-Stürmen auf einige Hundert begrenzt sein
  • Andererseits ermöglicht die effiziente Nutzung von Multicast durch IPv6, dass Netzwerke weitaus mehr Knoten in einem reinen IPv6-Segment haben können
DHCPv6-Lease-Zeiten

Müssen nicht mit den IPv4-DHCP-Lease-Zeiten des Netzwerks übereinstimmen

  • Bei beiden Protokollen erfolgt die Erneuerung nach der Hälfte der Lease-Zeit, dies kann jedoch angepasst werden und ist implementierungsspezifisch
  • Die DHCPv6-Lease-Zeiten können jedoch von den üblichen IPv4-DHCP-Lease-Zeiten abweichen, sodass Sie möglicherweise unterschiedliche Lease-Zeiten für DHCPv4 und DHCPv6 festlegen möchten

DHCPv6-Bereiche

DHCPv6-Bereiche sind in der Regel /64-Präfixe, und DHCPv6-Server verfügen über genügend verfügbare Adressen, um bei jeder Lease-Anforderung eines Clients eine neue Adresse zuzuweisen

  • Der DHCPv6-Server erneuert und wiederverwendet Leases bis zum Intervall, wiederverwendet, erneuert und bereinigt jedoch nach diesem Intervall abgelaufene Leases

Optionen

Optionen ermöglichen es DHCP-Servern zusätzliche Konfigurationsinformationen an Clients zu senden

  • DHCPv6-Optionen unterscheiden sich von DHCPv4 für IPv4, sind jedoch funktional gleichwertig
    • Optionsnummern und -namen sind unterschiedlich
    • DHCPv4 verwendet ein einzelnes Oktett-Optionsfeld
    • DHCPv6 eine größere 16-Bit-Optionstyp-Codelänge hat

Die IANA führt die vollständige Liste aller DHCPv4-Optionen und DHCPv6-Optionen (s. u)

Zusammenfassung

DHCPv4 und DHCPv6 sind hinsichtlich der von ihnen bereitgestellten Basisdienste (dynamische Hostadressierung) funktional gleichwertig

  • Die Integration von DHCPv4 und DHCPv6 in eine einheitliche Lösung kann die betriebliche Effizienz steigern und die Netzwerkverwaltung vereinfachen
  • Beide Protokolle weisen jedoch ihre eigenen Nuancen und Besonderheiten auf, deren Verständnis von Vorteil ist
  • Und obwohl DHCPv4 und DHCPv6 Unterschiede aufweisen, können sie beide nebeneinander existieren
  • Hosts, Netzwerke und Server können beide gleichzeitig verwenden können

Anhang

Siehe auch


Dokumentation

Links

Projekt

Weblinks

  1. DHCPv4 Message Types
  2. DHCPv6 Message Types
  3. DHCPv4-Optionen
  4. DHCPv6-Optionen
  5. https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol
  6. https://www.networkacademy.io/ccna/ipv6/stateful-dhcpv6
  7. https://www.rapidseedbox.com/blog/guide-to-dhcpv6