IPv6-Adresstypen: Global, Link-Local, Multicast erklärt
Lernen Sie die verschiedenen IPv6-Adresstypen: Global Unicast fürs Internet, Link-Local für LANs, Multicast für Gruppen und mehr.
IPv6-Adressen funktionieren anders als IPv4 in der Art, wie sie Pakete zustellen. Das Verständnis dieser Unterschiede ist wichtig, wenn Sie Netzwerkprobleme debuggen oder Systeme entwerfen.
TL;DR - Kurzübersicht
Wichtige Punkte:
- IPv6 verwendet Unicast (eins-zu-eins), Multicast (eins-zu-viele) und Anycast (eins-zum-nächsten) — kein Broadcast
- Global Unicast (2xxx/3xxx) fürs Internet, Link-Local (fe80::) für lokale Segmente, ULA (fd00::) für private Netzwerke
- Multicast (ffxx::) ersetzt Broadcast; Solicited-Node Multicast macht Neighbor Discovery effizient
- Link-Local-Adressen benötigen Zone IDs wie
fe80::1%eth0, um das Interface anzugeben
Direkt zu: Global Unicast | Multicast | Schnellreferenz
Drei Zustellungsmethoden#
IPv6 verwendet drei grundlegende Zustellungsmodelle:
- Unicast: Ein Sender an einen Empfänger. Die Standardmethode, um mit einem bestimmten Host zu kommunizieren.
- Multicast: Ein Sender an mehrere Empfänger. Effizient für Gruppenkommunikation.
- Anycast: Ein Sender an den nächstgelegenen Empfänger in einer Gruppe. Wird für Lastverteilung und Redundanz verwendet.
Kein Broadcast in IPv6
IPv6 eliminiert Broadcast vollständig. Wo IPv4 an alle Hosts broadcasten würde (wie ARP-Anfragen, die Ihr Netzwerk fluten), verwendet IPv6 gezieltes Multicast. Dies reduziert unnötigen Verkehr und verbessert die Netzwerkeffizienz.
Unicast-Adressen#
Jede Unicast-Adresse identifiziert genau ein Netzwerk-Interface. Senden Sie ein Paket an diese Adresse, und genau ein Host empfängt es.
Global Unicast-Adressen (2000::/3)#
Dies sind Ihre öffentlichen IPv6-Adressen, routbar im gesamten Internet. Wenn eine Adresse mit 2 oder 3 beginnt, ist es eine Global Unicast-Adresse.
2001:0db8:85a3:0000:0000:8a2e:0370:7334
│ │ │ │
│ │ │ └─ Interface ID (64 Bits)
│ │ └──────────────── Subnet ID (16 Bits)
│ └────────────────────────── Site Prefix (48 Bits)
└──────────────────────────────────── Global Routing PrefixDie typische Struktur teilt eine /48-Zuteilung so auf:
| Bits | Komponente | Zweck |
|---|---|---|
| 0-47 | Global Routing Prefix | Ihre Zuteilung von Ihrem ISP oder RIR |
| 48-63 | Subnet ID | 65.536 Subnetze pro Standort |
| 64-127 | Interface ID | Generiert aus MAC-Adresse oder randomisiert |
Echte Anbieter weisen typischerweise einen /48 an Standorte zu, einen /56 an kleine Unternehmen oder einen /64 an Privatanwender. Jedes /64-Subnetz enthält 18 Trillionen Adressen, weshalb Sie an /64-Grenzen subnetten.
Dokumentationsadressen
Das Präfix 2001:db8::/32 existiert nur für Dokumentation und Beispiele. Verwenden Sie diese Adressen nicht in der Produktion. Jedes Beispiel in RFCs verwendet 2001:db8 aus gutem Grund – sie kollidieren nicht mit echten Netzwerken.
Link-Local-Adressen (fe80::/10)#
Jedes IPv6-Interface generiert automatisch eine Link-Local-Adresse, wenn Sie IPv6 aktivieren. Diese Adressen funktionieren nur im lokalen Netzwerksegment und werden nie geroutet.
fe80::1
fe80::a1b2:c3d4:e5f6:7890Link-Local-Adressen sind zwingend erforderlich, damit IPv6 funktioniert. Neighbor Discovery, Router Solicitation und andere Kernprotokolle benötigen sie. Ihr Interface hat möglicherweise keine globale Adresse, aber es wird immer eine Link-Local-Adresse haben.
Zone IDs: Das Interface spezifizieren#
Da fe80::1 auf jedem Interface existieren könnte, müssen Sie angeben, welches Interface Sie meinen:
ping6 fe80::1%eth0 # Linux
ping6 fe80::1%en0 # macOS
ping fe80::1%12 # Windows (Interface-Index verwenden)Das %-Symbol steht vor der Zone ID. Unter Linux und macOS verwenden Sie den Interface-Namen. Unter Windows verwenden Sie den Interface-Index von netsh interface ipv6 show interface.
Unique Local-Adressen (fc00::/7)#
Betrachten Sie diese als IPv6-Version der RFC 1918 privaten Adressen. Sie sind nicht global routbar und eignen sich daher für interne Netzwerke.
In der Praxis sehen Sie fd00::/8-Adressen, weil der fc00::/8-Bereich eine zentrale Zuteilung erfordert, die nie implementiert wurde. Generieren Sie die 40-Bit-Global-ID zufällig:
fd 3a:c7b1:29f4 :0001:0000:0000:0000:0001
│ └──────────┘ │ └──────────────────┘
│ │ │ │
│ │ │ └─ Interface ID (64 Bits)
│ │ └─────────────── Subnet ID (16 Bits)
│ └──────────────────────── Zufällige Global ID (40 Bits)
└──────────────────────────────── ULA-Präfix (fd = lokal zugewiesen)Wenn Sie diese 40-Bit-Kennung zufällig generieren, minimieren Sie das Kollisionsrisiko, falls zwei Netzwerke später zusammengeführt werden. Verwenden Sie nicht einfach überall fd00::1.
Spezielle Adressen#
Zwei Adressen haben einzigartige Zwecke:
Loopback (::1): Pakete an sich selbst senden. Das IPv6-Äquivalent zu 127.0.0.1. Verkehr an ::1 verlässt nie den Host.
Nicht spezifiziert (::): Repräsentiert das Fehlen einer Adresse. Hosts verwenden :: als Quelladresse während DHCPv6 oder wenn sie noch keine Adresse konfiguriert haben. Sie können keine Pakete an :: senden.
Multicast-Adressen (ff00::/8)#
Jede Adresse, die mit ff beginnt, ist Multicast. Das Paket geht an jedes Interface, das dieser Multicast-Gruppe beigetreten ist.
Adressstruktur#
ff 0 2 : 0000:0000:0000:0000:0001
│ │ │ └──────────────────────┘
│ │ │ │
│ │ │ └─ Gruppen-ID (112 Bits)
│ │ └──────────────── Scope (4 Bits)
│ └─────────────────── Flags (4 Bits)
└────────────────────── Multicast-PräfixDas Scope-Feld bestimmt, wie weit das Multicast-Paket reist:
| Scope | Wert | Reichweite |
|---|---|---|
| Interface-lokal | 1 | Nur dieses Interface |
| Link-lokal | 2 | Lokales Netzwerksegment |
| Admin-lokal | 4 | Administrative Grenze |
| Site-lokal | 5 | Organisationsstandort |
| Organisation-lokal | 8 | Mehrere Standorte in der Organisation |
| Global | e | Gesamtes Internet |
Wesentliche Multicast-Gruppen#
Mehrere Multicast-Adressen dienen kritischen Funktionen:
| Adresse | Zweck |
|---|---|
ff02::1 | Alle Knoten im Link (ersetzt IPv4-Broadcast) |
ff02::2 | Alle Router im Link |
ff02::5 | Alle OSPF-Router |
ff02::6 | Alle OSPF Designated Router |
ff02::9 | Alle RIP-Router |
ff02::1:2 | Alle DHCPv6-Server/Relays |
ff02::fb | mDNSv6 (Multicast DNS) |
Solicited-Node Multicast#
Dieser Mechanismus macht Neighbor Discovery effizient. Anstatt jeden Host zu fragen „wer hat diese IP?" (wie ARP), fragt IPv6 eine kleine Multicast-Gruppe.
Jede Unicast-Adresse generiert automatisch eine entsprechende Solicited-Node Multicast-Adresse:
Unicast: 2001:db8:1234:5678::abcd:ef12:3456
└────┬─────┘
│
(letzten 24 Bits)
│
Solicited-Node: ff02::1:ff12:3456 ────────┘Wenn ein Host 2001:db8:1234:5678::abcd:ef12:3456 auflösen muss, sendet er eine Neighbor Solicitation an ff02::1:ff12:3456. Nur Hosts mit Adressen, die auf 12:3456 enden, verarbeiten die Anfrage. Dies reduziert den Multicast-Overhead drastisch im Vergleich zum Broadcast an jeden Host.
Anycast-Adressen#
Anycast-Adressen sehen identisch aus wie Unicast-Adressen – es gibt kein spezielles Präfix. Der Unterschied liegt in der Konfiguration: Sie weisen dieselbe Adresse mehreren Interfaces zu, und das Routing liefert Pakete an das topologisch nächstgelegene.
Häufige Anwendungsfälle#
DNS-Root-Server: Alle 13 Root-Server-Buchstaben (a.root-servers.net bis m.root-servers.net) verwenden Anycast. Dieselben IP-Adressen existieren an Hunderten von Standorten weltweit. Ihre Anfrage erreicht den nächstgelegenen Root-Server.
CDN-Edge-Server: Content Delivery Networks verwenden Anycast, um Benutzer zu nahe gelegenen Cache-Servern zu leiten. Gleiche Adresse, verschiedene geografische Standorte.
6to4-Relay-Router: Die Adresse 192.88.99.1 (IPv4) und 2002:c058:6301:: (IPv6) sind Anycast-Adressen für 6to4-Relays.
Subnet-Router Anycast#
Jedes Subnetz hat automatisch eine reservierte Anycast-Adresse mit der Interface-Kennung auf Null gesetzt:
Subnet: 2001:db8:1234:5678::/64
Subnet-Router: 2001:db8:1234:5678::Router in diesem Subnetz sollten auf diese Adresse antworten. In der Praxis wird sie selten verwendet.
Schnellreferenz: Adresstypen identifizieren#
Schauen Sie auf die ersten paar Zeichen, um jede IPv6-Adresse zu identifizieren:
| Beginnt mit | Typ | Geltungsbereich |
|---|---|---|
::1 | Loopback | Host-lokal |
:: | Nicht spezifiziert | N/A |
fe80: | Link-Local Unicast | Link-lokal |
fc00: oder fd00: | Unique Local Unicast | Privat |
ff00: bis ffff: | Multicast | Variiert (zweite Ziffer prüfen) |
2... oder 3... | Global Unicast | Internet |
Alles andere ist entweder reserviert oder noch nicht zugewiesen.
Ihre Adressen überprüfen#
Sehen Sie, welche Adressen Ihr System konfiguriert hat:
Linux:
ip -6 addr showmacOS:
ifconfig | grep inet6Windows:
netsh interface ipv6 show addressesSie sehen typischerweise:
- Mehrere Link-Local-Adressen (
fe80::), eine pro Interface - Eine oder mehrere Global Unicast-Adressen, wenn Sie IPv6-Konnektivität haben
- Die Loopback-Adresse
::1auf dem Loopback-Interface - Mehrere Multicast-Gruppenmitgliedschaften (normalerweise standardmäßig nicht angezeigt)
Multicast testen#
Senden Sie eine ICMPv6-Echo-Anfrage an alle Knoten in Ihrem lokalen Link:
# Ersetzen Sie eth0 durch Ihren Interface-Namen
ping6 ff02::1%eth0Sie erhalten Antworten von jedem IPv6-fähigen Gerät in diesem Netzwerksegment. Dies ist nützlich für die Erkennung, kann aber in großen Netzwerken laut sein.
Prüfen Sie, ob Router vorhanden sind:
ping6 ff02::2%eth0Nur Router sollten antworten.
Adresstypen validieren
Verwenden Sie den IPv6 Validator, um jede Adresse zu überprüfen. Geben Sie eine Adresse ein und sehen Sie sofort ihren Typ, Geltungsbereich und ob sie gültig ist. Nützlich bei der Fehlerbehebung von Konfigurationen.
Praktische Auswirkungen#
Verschiedene Adresstypen beeinflussen, wie Sie Netzwerke entwerfen und Probleme beheben:
Sicherheitsrichtlinien: Filtern Sie Global Unicast an Ihrer Firewall, aber Link-Local muss für Neighbor Discovery passieren. Das Blockieren von fe80::/10 bricht IPv6 vollständig.
Anwendungsbindung: Server, die an :: binden, hören auf allen Adressen (wie 0.0.0.0 in IPv4). Bindung an ::1 beschränkt auf localhost nur.
Routing-Tabellen: Link-Local-Adressen erscheinen als Next-Hops in Routing-Tabellen, was Menschen verwirrt, die an IPv4 gewöhnt sind. Das ist normal – Router verwenden Link-Local-Adressen für Stabilität, da sie sich nie ändern.
DNS: Veröffentlichen Sie nur Global Unicast-Adressen im DNS. Veröffentlichen Sie niemals Link-Local- oder Unique Local-Adressen in öffentlichen DNS-Zonen.
Das Verständnis dieser Adresstypen ist nicht akademisch – es ist notwendig für die Konfiguration von Firewalls, das Debugging von Konnektivität und das Entwerfen von Netzwerken, die tatsächlich funktionieren.
Verwandte Artikel#
- IPv6-Grundlagen - Verstehen Sie die Grundlagen der IPv6-Adressierung und warum es wichtig ist
- IPv6-Subnetting-Leitfaden - Lernen Sie, Ihren IPv6-Adressraum effizient aufzuteilen
- IPv6-Sicherheits-Best-Practices - Sichern Sie Ihr IPv6-Netzwerk gegen häufige Bedrohungen und Schwachstellen
Validieren Sie Adresstypen
Verwenden Sie den IPv6 Validator, um jede Adresse zu überprüfen. Geben Sie eine Adresse ein und sehen Sie sofort ihren Typ, Geltungsbereich und ob sie gültig ist. Nützlich bei der Fehlerbehebung von Konfigurationen.