Die fortschreitende Digitalisierung und das rasante Wachstum vernetzter Geräte haben in den letzten Jahren zu einem kritischen Engpass im IPv4-Adressraum geführt. Während IPv4 mit seinen rund 4,3 Milliarden Adressen (4.294.967.296) die Anfänge des Internets maßgeblich geprägt hat, ist dieser Adresspool bei der heutigen Nachfrage nicht mehr ausreichend. IPv6 wurde daher als zukunftssichere Weiterentwicklung konzipiert, um das Adresslimit zu überwinden und gleichzeitig neue Protokollfunktionen zu integrieren.
Mit einem 128-Bit-Adressformat ermöglicht IPv6 nicht nur eine praktisch unerschöpfliche Anzahl eindeutiger Adressen, sondern führt auch Verbesserungen bei Autokonfiguration, Routing-Effizienz und eingebauter Sicherheit durch IPsec mit sich. Darüber hinaus vereinfacht das Protokoll durch klar strukturierte Subnetze und eine optimierte Paketverarbeitung die Netzwerkadministration erheblich.
IPv6-Adressen
IPv6-Adressen bestehen aus 128 Bit und werden hexadezimal in acht Gruppen zu je vier Hexadezimalziffern dargestellt. Jede Gruppe wird durch einen Doppelpunkt getrennt:
AAAA:BBBB:CCCC:DDDD:EEEE:FFFF:GGGG:HHHH
Ein Beispiel für eine vollständige IPv6-Adresse ist:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
Zur Verbesserung der Lesbarkeit können aufeinanderfolgende Gruppen mit dem Wert 0000 mithilfe der Nullkompression einmalig durch :: ersetzt werden. Zusätzlich dürfen führende Nullen innerhalb jeder Gruppe entfallen:
2001:db8:85a3::8a2e:370:7334
Achtung: Die Nullkompression (::) darf in einer Adresse nur einmal angewendet werden, um Mehrdeutigkeiten zu vermeiden.
Adresstypen
Bei IPv6 unterscheidet man mehrere Adresstypen, die sich sowohl in ihrem Aufbau als auch in ihrer Verwendung unterscheiden:
Typ |
Präfix |
Beschreibung |
Global Unicast |
2000::/3 |
Öffentlich routbare Adressen |
Link-Local Unicast |
fe80::/10 |
Automatisch jedem Interface zugewiesen, nur im lokalen Segment |
Unique Local Unicast |
fd00::/8 |
Privat genutzte Adressen, nicht global geroutet |
Multicast |
ff00::/8 |
Gruppensendungen mit Scope- und Typ-Feldern |
Loopback |
::1/128 |
Internes Interface |
Unspecified |
::/128 |
Platzhalter vor Adressenzuweisung |
Adressaufbau (allgemein)
Adressentyp |
Präfix |
Feldaufbau |
Global Unicast |
2000::/3 |
48 Bit Global Routing Prefix |
Unique Local Unicast |
fd00::/8 |
8 Bit „fd“ Prefix |
Link-Local Unicast |
fe80::/10 |
10 Bit „fe80“ Prefix |
Multicast |
ff00::/8 |
8 Bit „ff“ Prefix |
Loopback |
::1/128 |
127 Bit Null (also alle Bit = 0) 1 Bit Interface Identifier (Wert = 1) |
Unspecified |
::/128 |
128 Bit Null (Wert = 0) |
Global-Unicast-Adressen
Verwendung
Global-Unicast-Adressen dienen dazu, Hosts und Geräte weltweit eindeutig im Internet erreichbar zu machen. Sie bilden die Grundlage für jegliche Kommunikation über das öffentliche Netz und gewährleisten, dass Pakete von jedem Punkt des Internets an den richtigen Empfänger geleitet werden.
Ihre Hauptanwendungen sind:
- Kommunikation über das öffentliche Internet:
Endgeräte nutzen Global Unicast, um Webseiten aufzurufen, E-Mails zu versenden oder Cloud-Dienste zu erreichen. - Hosting von Diensten:
Webserver, Mailserver, VPN-Gateways und IoT-Plattformen erhalten Global-Unicast-Adressen, damit sie weltweit erreichbar sind. - Fernzugriff und Remote Management:
Administratoren greifen per SSH, RDP oder VPN auf global adressierte Systeme zu, um Wartung und Monitoring durchzuführen. - Internet of Things:
Vernetzte Sensoren und Aktoren in Smart-City- oder Industrie-4.0-Szenarien benötigen eine globale Adresse, wenn sie direkt aus externen Netzwerken angesprochen werden. - Anycast und Content Delivery:
Mehrere Server teilen sich dieselbe Global-Unicast-Adresse, um Traffic georedundant und latenzoptimiert zu verteilen
Aufbau
IPv6-Global-Unicast-Adressen gliedern sich in drei klar abgegrenzte Felder. Diese Struktur erlaubt eine hierarchische Aggregation im Internet-Routing, eine flexible interne Segmentierung und eine eindeutige Host-Kennung.
Aufbau von IPv6-Global-Unicast-Adressen. Quelle: Technik-Kiste.de
Bestandteil |
Länge |
Funktion |
Global Routing Prefix |
48 Bit |
Hierarchische Zuweisung durch RIR/ISP, aggregierbar |
Subnet ID |
16 Bit |
Lokale Unterteilung (Standort, VLAN, Abteilung) |
Interface Identifier |
64 Bit |
Eindeutige Hostadresse (EUI-64 oder Privacy-Based) |
Global Routing Prefix: Dieses erste Feld wird von RIR über ISPs bis zum Endkunden in Schritten verteilt. Typischerweise erhalten Endkunden ein /48-Präfix, das zur weltweiten Routenaggregation dient.
Subnet ID: Mit 16 Bit lassen sich innerhalb des zugewiesenen Präfixes bis zu 65.536 Subnetze bilden. Best Practice ist, jedem /64-Subnetz eine eigene Subnet ID zuzuordnen, um SLAAC (Stateless Address Autoconfiguration) und NDP (Neighbor Discovery Protocol) optimal zu unterstützen.
Interface Identifier: Die letzten 64 Bit bilden die Hostkennung. Klassisch leitet man sie via EUI-64 aus der MAC-Adresse ab, oder man nutzt zufällige Privacy-Adressen nach RFC 7217/8981, um Tracking zu verhindern.
Beispiel: 2001:db8:1234:0001:abcd:ef12:3456:7890
- Global Prefix (2001:db8:1234)
- Subnetz-ID (0001)
- Interface Identifier (abcd:ef12:3456:7890)
Unique Local Unicast-Adressen
Unique Local Unicast Adressen (ULA) sind für private Netzwerke bestimmt und gewährleisten interne Konnektivität ohne globale Routbarkeit. Sie ergänzen Global Unicast und Link-Local, indem sie eine eindeutige, aber nicht öffentliche Adressierung innerhalb einer Organisation ermöglichen.
Verwendung
Unique Local Unicast Adressen kommen dort zum Einsatz, wo private, interne Kommunikation benötigt wird, ohne auf öffentliche IPv6-Routen angewiesen zu sein:
- Vernetzung mehrerer Standorte über VPN oder MPLS, ohne Überschneidungen mit öffentlichen Adressen.
- Interne Server und Dienste (Datenbanken, Datei- und Druckserver) in Unternehmensnetzen.
- Test- und Entwicklungsumgebungen, in denen private Adressen von Live-Umgebungen getrennt bleiben sollen.
- IoT-Installationen und industrielle Automatisierung, wenn Endgeräte ausschließlich im lokalen Management-Netz erreichbar sein müssen.
Durch den ULA-Ansatz fällt die Notwendigkeit weg, NAT oder globale Adresszuweisungen für rein interne Zwecke zu verwenden, und verhindert gleichzeitig Kollisionen bei der späteren Netzwerkaggregation.
Aufbau
Der 40-Bit Global ID-Block wird einmalig und zufällig erzeugt (RFC 4193), um Überschneidungen bei der späteren Zusammenführung von Netzteilen zu verhindern. Mit der 16 Bit Subnet ID lassen sich /64-Subnetze nach Belieben segmentieren, während das 64-Bit Interface Identifier-Feld wie bei Global Unicast-Adressen Hosts eindeutig adressiert.
Aufbau von IPv6-Unique Local Unicast-Adressen. Quelle: Technik-Kiste.de
Feld |
Länge |
Beschreibung |
Prefix |
8 Bit |
Fest auf „fd“ gesetzt, Kennzeichnung als ULA |
Global ID |
40 Bit |
Zufällig generierter Wert zur Vermeidung von Kollisionen zwischen Netzwerken |
Subnet ID |
16 Bit |
Lokale Unterteilung, erlaubt bis zu 65.536 Subnetze |
Interface Identifier |
64 Bit |
Eindeutige Hostkennung, klassisch via EUI-64 oder Privacy-Adresse nach RFC 7217/8981 |
Beispieladresse:
fd8f:1a2b:3c4d:0001:abcd:ef12:3456:7890
Link-Local Unicast-Adressen
Sie sind ein essenzieller Bestandteil von IPv6 und werden automatisch jedem Netzwerkinterface zugewiesen. Sie ermöglichen die Kommunikation im lokalen Netzwerksegment – also zwischen Geräten, die direkt miteinander verbunden sind – und sind dabei weder über Router weiterleitbar noch global eindeutig.
Verwendung
Link-Local-Adressen kommen in zahlreichen grundlegenden IPv6-Funktionen zum Einsatz:
- Neighbor Discovery Protocol (NDP):
Geräte tauschen Informationen über benachbarte Nodes aus, z. B. für MAC/IP-Zuordnungen (vergleichbar mit ARP in IPv4). - Router Discovery & SLAAC:
Clients empfangen Konfigurationsinformationen von Routern, etwa Präfixe für globale Adressen. - Routing-Protokolle (z. B. OSPFv3, RIPng):
Diese setzen Link-Local Adressen für die Kommunikation zwischen Routern auf einem gemeinsamen Medium ein. - Fehlersuche und Diagnose:
Tools wie ping oder traceroute nutzen Link-Local Adressen, um lokale Konnektivität zu testen – meist in Kombination mit Interface-Spezifizierung. - IPv6-Adressen von Interface-spezifischen Services:
Beispielsweise bei Kommunikation über virtuelle Maschinen, Tunnel-Endpunkte oder innerhalb eines Host-Stacks.
Aufbau
Der Präfix fe80::/10 kennzeichnet grundsätzlich Link-Local-Adressen bei IPv6. Die weiteren Bit, insgesamt 54, dienen als Padding und sorgen für die Trennung vom Interface Identifier, der wiederum 64 Bit umfasst und entweder aus der MAC-Adresse per EUI-64-Verfahren oder zufällig generiert wird. In Ausgaben wird häufig die Netzwerkschnittstelle hinter der Adresse und einem Prozentzeichen angegeben, da Link-Local-Adressen auf verschiedenen Interfaces mehrfach existieren können.
Aufbau von IPv6-Link-Local Unicast-Adressen. Quelle: Technik-Kiste.de
Feld |
Länge |
Beschreibung |
Prefix |
10 Bit |
Fix auf fe80::/10 gesetzt |
Padding |
54 Bit |
Null-Füllung zur Trennung vom Interface Identifier |
Interface Identifier |
64 Bit |
Eindeutige Kennung basierend auf MAC-Adresse oder Privacy-ID |
Beispieladresse:
fe80::1a2b:3c4d:5e6f:7890%38
Diese Adresse setzt sich zusammen aus:
fe80:0000:0000:0000:1a2b:3c4d:5e6f:7890
bzw. gekürzt:
fe80::1a2b:3c4d:5e6f:7890
und der dahinter befindlichen Nummer der Netzwerkschnittstelle:
%38
Multicast-Adressen
Verwendung
IPv6-Multicast-Adressen ermöglichen die gezielte Kommunikation an Gruppen von Hosts, ohne dass Pakete an jeden Einzelnen oder an alle (Broadcast) gesendet werden müssen. Als konkrete Einsatzgebiete zählen:
- Router- und Nachbarerkennung (NDP): Geräte verwenden Multicast-Adressen zur automatischen Erkennung von Nachbarn und Routern.
- Dienste mit Gruppenkommunikation wie Multimedia-Streaming, IP-Telefonie, Live-Konferenzen senden Daten nur an Teilnehmergruppen.
- Routing-Protokolle (OSPFv3, RIPng) über welche Router Updates via Multicast austauschen – effizienter als Unicast an jeden Nachbarn.
- Protokolle/Dienste wie mDNS oder SSDP arbeiten multicast-basiert, um lokal verfügbare Dienste zu finden.
- Client-Anfragen an Gruppenserver werden durch fest definierte Multicast-Adressen realisiert (z. B. DHCP & NTP).
Aufbau
Multicast-Adressen folgen einem festen Format, beginnend immer mit dem Präfix ff00::/8.
Aufbau von IPv6-Multicast-Adressen. Quelle: Technik-Kiste.de
Feld |
Bits |
Beschreibung |
Prefix |
8 |
Immer 11111111 → ff in Hex |
Flags |
4 |
Steuerbits für Adressgenerierung und Verwendung |
Scope |
4 |
Gültigkeitsbereich: z. B. Link-Local, Site-Local, Global |
Group ID |
112 |
Identifiziert die Multicast-Gruppe eindeutig |
Das Scope-Feld ist ein besonderes 4-Bit-Feld innerhalb der Multicast-Adresse und legt den Gültigkeitsbereich fest. Damit wird gesteuert, ob das Paket nur im lokalen Netz verbleibt oder über Router weitergeleitet werden darf. Typische Scope-Feldwerte sind (Auswahl):
Wert |
Scope-Typ |
Gültigkeitsbereich |
Beispieladresse |
1 |
Interface-Local |
Nur innerhalb eines Netzwerkinterface |
ff01::1 |
2 |
Link-Local |
Nur im direkten LAN/Subnetz |
ff02::1 |
5 |
Site-Local |
Innerhalb einer Organisation/Standort |
ff05::1 |
8 |
Organization-Local |
Alle Standorte einer Organisation |
ff08::1 |
E |
Global |
Weltweit gültig |
ff0e::1 |
Beispieladresse:
ff02::1
Setzt sich zusammen aus:
- ff → Multicast
- 0 (Flags) → keine besonderen Optionen gesetzt
- 2 (Scope) → Link-Local (nur im lokalen Netzwerksegment gültig)
- ::1 (Group ID) → „All Nodes“ – alle Geräte im lokalen Netz hören mit
Loopback-Adressen
Verwendung
Die IPv6-Loopback-Adresse ::1 dient ausschließlich der internen Kommunikation eines Geräts mit sich selbst. Sie ermöglicht es Anwendungen und Diensten, miteinander zu kommunizieren, ohne dass Daten das Gerät verlassen oder ein physisches Netzwerk passieren.
Diese Adresse wird typischerweise für Diagnosetools, lokale Webserver oder Softwaretests verwendet, bei denen Entwickler Dienste auf dem eigenen Rechner ausführen und prüfen wollen. Sie bietet den Vorteil, dass externe Faktoren wie Netzwerkgeräte, Router oder Firewall-Regeln keinen Einfluss auf den Kommunikationsweg nehmen können.
Ein wesentliches Merkmal der Loopback-Adresse ist ihre „nicht Routbarkeit“: Pakete mit Ziel ::1 verlassen nie das Gerät und sind für andere Systeme nicht sichtbar. Jeder Rechner besitzt seine eigene Loopback-Adresse, was bedeutet, dass sie nicht zur Kommunikation zwischen mehreren Geräten geeignet ist. Zudem darf die Adresse ausschließlich für interne Zwecke genutzt werden. Sie ist weder Bestandteil eines Subnetzes noch Teil eines Adressbereichs.
Aufbau
Sie wird in der Regel dargestellt als:
::1
Und steht nicht komprimiert für:
0000:0000:0000:0000:0000:0000:0000:0001
In der CIDR-Notation wird die Loopback-Adresse als ::1/128 angegeben, da sie einen einzelnen /128-Präfix repräsentiert.
Unspecified-Adresse
Die IPv6-Unspecified-Adresse :: ist eine ganz besondere Adresse, denn sie besteht ausschließlich aus Nullen. Sie steht für „keine Adresse angegeben“ und kommt nur in initialen Zuständen (z. B. beim Start) zum Einsatz.
Geräte oder Prozesse verwenden diese Adresse, wenn sie noch keine eigene IPv6-Adresse besitzen, aber bereits eine Verbindung aufbauen oder eine Anfrage senden möchten.
Ein klassisches Beispiel ist die Verwendung in einem DHCPv6-Client, der eine Adresse vom Server anfordert – dabei ist die Quelladresse ::, da der Client zu diesem Zeitpunkt noch nicht weiß, wie er selbst heißt.
Die Unspecified-Adresse darf nie als Zieladresse in einem Paket verwendet werden und wird nicht geroutet. Sie ist also rein intern und temporär. Ihre Rolle besteht darin, eine Verbindung zu initiieren, bevor eine gültige Adresse vergeben wurde – ein digitaler Platzhalter für „Ich bin noch nicht zugewiesen“.
IPv6-Header
Der IPv6-Grundheader besteht aus den ersten 40 Byte (320 Bit) eines jeden IPv6-Pakets. Er liefert essenzielle Steuerinformationen für die Verarbeitung und Weiterleitung im Netzwerk und bleibt immer gleich lang – im Gegensatz zu IPv4 gibt es hier keine variablen Optionen.
Länge und relevante RFCs
Der IPv6-Header nimmt stets 40 Byte ein. Er ist definiert in folgenden RFCs:
- RFC 2460 (Dezember 1998): Erstdefinition des IPv6-Protokolls
- RFC 8200 (Juli 2017): Überarbeitung und aktuelle Spezifikation des IPv6-Headers
Erweiterungen wie Fragmentierung oder Routing werden über Extension Headers realisiert und folgen direkt auf den Grundheader.
Felder des IPv6-Headers
Aufbau des IPv6-Headers. Quelle: Technik-Kiste.de
Feld |
Länge |
Beschreibung |
Version |
4 Bit |
Protokollversion (immer Wert = 6) |
Traffic Class |
8 Bit |
Prioritäts- und QoS-Markierung (z. B. Differentiated Services) |
Flow Label |
20 Bit |
Kennung für Datenflusssteuerung („Flow“) von „00001“ bis „FFFFF“. Pakete ohne Angabe vom Absender erhalten automatisch „00000“ als Wert. |
Payload Length |
16 Bit |
Länge des nachfolgenden Payloads in Byte (ohne Header) |
Next Header |
8 Bit |
Typ des direkt folgenden Headers (z. B. TCP = 6, UDP = 17, Extension Header IDs) |
Hop Limit |
8 Bit |
Maximal erlaubte Weiterleitungen (Decrement um 1 pro Router; wenn 0 = Paket verwerfen) |
Source Address |
128 Bit |
Quelladresse des Pakets |
Destination Address |
128 Bit |
Zieladresse des Pakets |