IPv6-Adresse - IPv6 address

Zersetzung einer IPv6 - Adresse in die binäre Form

Eine Internet Protocol Version 6-Adresse ( IPv6-Adresse ) ist eine numerische Bezeichnung, die verwendet wird, um eine Netzwerkschnittstelle eines Computers oder eines Netzwerkknotens, der an einem Computernetzwerk mit IPv6 beteiligt ist, zu identifizieren und zu lokalisieren . IP-Adressen sind im Paketheader enthalten , um die Quelle und das Ziel jedes Pakets anzugeben. Die IP-Adresse des Ziels wird verwendet, um Entscheidungen über das Routing von IP-Paketen zu anderen Netzwerken zu treffen .

IPv6 ist der Nachfolger der ersten Adressierungsinfrastruktur des Internets , Internet Protocol Version 4 (IPv4). Im Gegensatz zu IPv4, das eine IP-Adresse als 32-Bit-Wert definiert, haben IPv6-Adressen eine Größe von 128 Bit. Daher hat IPv6 im Vergleich einen stark vergrößerten Adressraum .

Adressierungsmethoden

IPv6-Adressen werden nach den in Netzwerken üblichen primären Adressierungs- und Routingmethoden klassifiziert: Unicast-Adressierung, Anycast-Adressierung und Multicast-Adressierung.

Eine Unicast- Adresse identifiziert eine einzelne Netzwerkschnittstelle. Das Internet Protocol liefert Pakete, die an eine Unicast-Adresse gesendet werden, an diese spezifische Schnittstelle.

Eine Anycast- Adresse wird einer Gruppe von Schnittstellen zugewiesen, die normalerweise zu verschiedenen Knoten gehören. Ein an eine Anycast-Adresse gesendetes Paket wird nur an eine der Mitgliedsschnittstellen geliefert, typischerweise den nächsten Host, gemäß der Definition der Distanz des Routing-Protokolls. Anycast-Adressen sind nicht leicht zu identifizieren, sie haben das gleiche Format wie Unicast-Adressen und unterscheiden sich nur durch ihre Präsenz im Netzwerk an mehreren Stellen. Als Anycast-Adresse kann fast jede Unicast-Adresse verwendet werden.

Eine Multicast- Adresse wird auch von mehreren Hosts verwendet, die das Multicast-Adressziel erwerben, indem sie an dem Multicast-Verteilungsprotokoll zwischen den Netzwerkroutern teilnehmen. Ein Paket, das an eine Multicast-Adresse gesendet wird, wird an alle Schnittstellen zugestellt , die der entsprechenden Multicast-Gruppe beigetreten sind. IPv6 implementiert keine Broadcast- Adressierung. Die traditionelle Rolle von Broadcast wird durch Multicast-Adressierung an die verbindungslokale Multicast-Gruppe ff02::1 aller Knoten subsumiert . Die Verwendung der All-Nodes-Gruppe wird jedoch nicht empfohlen, und die meisten IPv6-Protokolle verwenden eine dedizierte Link-Local-Multicast-Gruppe, um zu vermeiden, dass jede Schnittstelle im Netzwerk gestört wird.

Adressformate

Eine IPv6-Adresse besteht aus 128 Bit. Für jede der wichtigsten Adressierungs- und Routing-Methoden werden verschiedene Adressformate erkannt, indem die 128 Adressbits in Bitgruppen unterteilt werden und etablierte Regeln verwendet werden, um die Werte dieser Bitgruppen mit speziellen Adressierungsmerkmalen zu verknüpfen.

Unicast- und Anycast-Adressformat

Unicast- und Anycast- Adressen bestehen normalerweise aus zwei logischen Teilen: einem 64-Bit-Netzwerkpräfix, das für das Routing verwendet wird , und einer 64-Bit-Schnittstellenkennung, die zur Identifizierung der Netzwerkschnittstelle eines Hosts verwendet wird.

Allgemeines Unicast-Adressformat (Routing-Präfixgröße variiert)
Bits 48 (oder mehr) 16 (oder weniger) 64
Gebiet Routing-Präfix Subnetz-ID Schnittstellenkennung

Das Netzwerkpräfix (das Routingpräfix kombiniert mit der Subnetz-ID ) ist in den höchstwertigen 64 Bits der Adresse enthalten. Die Größe des Routing-Präfixes kann variieren; eine größere Präfixgröße bedeutet eine kleinere Größe der Subnetz-ID. Die Bits des Subnet-ID- Felds stehen dem Netzwerkadministrator zur Verfügung, um Subnetze innerhalb des gegebenen Netzwerks zu definieren. Die 64-Bit- Schnittstellenkennung wird entweder automatisch aus der MAC-Adresse der Schnittstelle im modifizierten EUI-64- Format generiert , von einem DHCPv6- Server bezogen, automatisch zufällig festgelegt oder manuell zugewiesen.

Einzigartige lokale Adressen sind Adressen analog zu IPv4 privates Netzwerk addresssing.

Einzigartiges lokales Adressformat
Bits 7 1 40 16 64
Gebiet Präfix L willkürlich Subnetz-ID Schnittstellenkennung

Das Präfix - Feld enthält den Binärwert 1111110. Die L Bit Null für global zugeordnet ist, und ein für lokal zugeordneten Adressen. Das Zufallsfeld wird einmal zufällig gewählt, zu Beginn des / 48- Routing-Präfixes.

Eine verbindungslokale Adresse basiert ebenfalls auf der Schnittstellenkennung, verwendet jedoch ein anderes Format für das Netzwerkpräfix.

Link-Local-Adressformat
Bits 10 54 64
Gebiet Präfix Nullen Schnittstellenkennung

Das Präfix- Feld enthält den Binärwert 1111111010. Die folgenden 54 Nullen machen das gesamte Netzwerkpräfix für alle Link-Local-Adressen gleich ( fe80:: / 64 Link-Local-Adresspräfix ), wodurch sie nicht routingfähig sind.

Multicast-Adressformat

Multicast- Adressen werden je nach Anwendung nach mehreren spezifischen Formatierungsregeln gebildet.

Allgemeines Multicast-Adressformat
Bits 8 4 4 112
Gebiet Präfix flg SC Gruppen-ID

Für alle Multicast-Adressen enthält das Präfix- Feld den Binärwert 11111111.

Derzeit sind drei der vier Flag-Bits im flg- Feld definiert; das höchstwertige Flag-Bit ist für die zukünftige Verwendung reserviert.

Multicast-Adress-Flags
Bit Flagge Bedeutung, wenn 0 Bedeutung, wenn 1
8 reserviert reserviert reserviert
9 R (Treffpunkt) Rendezvous-Punkt nicht eingebettet Rendezvous-Punkt eingebettet
10 P (Präfix) Ohne Präfix-Informationen Adresse basierend auf Netzwerkpräfix
11 T (vorübergehend) Bekannte Multicast-Adresse Dynamisch zugewiesene Multicast-Adresse

Das Vier-Bit-Bereichsfeld ( sc ) wird verwendet, um anzuzeigen, wo die Adresse gültig und eindeutig ist.

Darüber hinaus wird das Scope-Feld verwendet, um spezielle Multicast-Adressen wie den angeforderten Knoten zu identifizieren .

Multicast-Adressformat für angeforderte Knoten
Bits 8 4 4 79 9 24
Gebiet Präfix flg SC Nullen Einsen Unicast-Adresse

Das sc(ope) -Feld enthält den Binärwert 0010 (link-local). Multicast-Adressen von angeforderten Knoten werden als Funktion der Unicast- oder Anycast-Adressen eines Knotens berechnet. Eine Multicast-Adresse eines angeforderten Knotens wird erzeugt, indem die letzten 24 Bit einer Unicast- oder Anycast-Adresse in die letzten 24 Bit der Multicast-Adresse kopiert werden.

Unicast-präfixbasiertes Multicast-Adressformat
Bits 8 4 4 4 4 8 64 32
Gebiet Präfix flg SC res riid viel Netzwerkpräfix Gruppen-ID

Link-Scoped Multicast-Adressen verwenden ein vergleichbares Format.

Darstellung

Eine IPv6-Adresse wird als acht Gruppen von vier hexadezimalen Ziffern dargestellt, wobei jede Gruppe 16 Bit repräsentiert. Die Gruppen werden durch Doppelpunkte (:) getrennt. Ein Beispiel für eine IPv6-Adresse ist:

2001:0db8:85a3:0000:0000:8a2e:0370:7334

Die Standards bieten Flexibilität bei der Darstellung von IPv6-Adressen. Die vollständige Darstellung von acht vierstelligen Gruppen kann durch verschiedene Techniken vereinfacht werden, wobei Teile der Darstellung eliminiert werden. Im Allgemeinen werden Darstellungen so weit wie möglich gekürzt. Diese Praxis verkompliziert jedoch mehrere übliche Operationen, nämlich das Suchen nach einer bestimmten Adresse oder einem Adressmuster in Textdokumenten oder -strömen und das Vergleichen von Adressen, um die Äquivalenz zu bestimmen. Um diese Komplikationen zu mildern, hat die IETF in RFC 5952 ein kanonisches Format zum Rendern von IPv6-Adressen in Text definiert:

Die hexadezimalen Ziffern werden immer ohne Beachtung der Groß-/Kleinschreibung verglichen, aber die IETF-Empfehlungen schlagen vor, nur Kleinbuchstaben zu verwenden. Zum Beispiel 2001: DB8 :: 1 über bevorzugt 2001: DB8 :: 1 .

Führende Nullen in jedem 16-Bit-Feld werden unterdrückt, aber jede Gruppe muss im Fall der All-Null-Gruppe mindestens eine Ziffer behalten. Zum Beispiel 2001: 0db8 :: 0001: 0000 als gerenderte 2001: DB8 :: 1: 0 . Das explizit dargestellte Feld, das ausschließlich aus Nullen besteht, wird als 0 gerendert .

Die längste Folge aufeinanderfolgender Felder, die nur aus Nullen bestehen, wird durch zwei Doppelpunkte ("::") ersetzt. Wenn die Adresse mehrere Läufe von Feldern enthält, die ausschließlich aus Nullen bestehen, wird die am weitesten links liegende komprimiert, um Mehrdeutigkeiten zu vermeiden. Zum Beispiel 2001: db8: 0: 0: 1: 0: 0: 1 wird als gerenderte 2001: DB8 :: 1: 0: 0: 1 statt wie 2001: db8: 0: 0: 1 :: 1 .

"::" wird nicht verwendet, um nur ein einzelnes Feld ausschließlich aus Nullen darzustellen. Zum Beispiel 2001: db8: 0: 0: 0: 0: 2: 1 wird verkürzt 2001: DB8 :: 2: 1 , aber 2001: db8: 0000: 1: 1: 1: 1: 1 wird als gerenderte 2001 :db8:0:1:1:1:1:1 .

Diese Methoden können zu sehr kurzen Darstellungen für IPv6-Adressen führen. Beispielsweise werden die localhost (Loopback)-Adresse 0:0:0:0:0:0:0:1 und die nicht spezifizierte IPv6-Adresse 0:0:0:0:0:0:0:0 reduziert zu ::1 bzw. :: .

Während der Umstellung des Internets von IPv4 auf IPv6 ist es typisch, in einer Umgebung mit gemischter Adressierung zu arbeiten. Für solche Anwendungsfälle wurde eine spezielle Notation eingeführt, die IPv4-abgebildete und IPv4-kompatible IPv6-Adressen ausdrückt, indem die niederwertigsten 32 Bits einer Adresse in der bekannten IPv4- Punkt-Dezimal-Notation geschrieben werden , während die 96 höchstwertigen Bits sind im IPv6-Format geschrieben. Die IPv4-zugeordnete IPv6-Adresse ::ffff:c000:0280 wird beispielsweise als ::ffff:192.0.2.128 geschrieben , was die ursprüngliche IPv4-Adresse, die IPv6 zugeordnet wurde, deutlich ausdrückt.

Netzwerke

Ein IPv6-Netzwerk verwendet einen Adressblock, der eine zusammenhängende Gruppe von IPv6-Adressen mit einer Größe von einer Zweierpotenz ist . Die führenden Bits der Adressen sind für alle Hosts in einem gegebenen Netzwerk identisch und werden als Netzwerkadresse oder Routing- Präfix bezeichnet .

Netzwerkadressbereiche werden in CIDR-Notation geschrieben . Ein Netzwerk wird durch die erste Adresse im Block (die mit Nullen endet), einen Schrägstrich (/) und einen Dezimalwert gleich der Größe des Präfixes in Bits angegeben. Beispielsweise beginnt das Netzwerk, das als 2001:db8:1234:: / 48 geschrieben ist, bei der Adresse 2001:db8:1234:0000:0000:0000:0000:0000 und endet bei 2001:db8:1234:ffff:ffff:ffff:ffff :ffff .

Das Routing-Präfix einer Schnittstellenadresse kann direkt mit der Adresse durch CIDR-Notation angegeben werden. Beispielsweise wird die Konfiguration einer Schnittstelle mit der Adresse 2001:db8:a::123, die mit dem Subnetz 2001:db8:a:: / 64 verbunden ist, als 2001:db8:a::123 / 64 geschrieben .

Adressblockgrößen

Die Größe eines Adressblocks wird durch Schreiben eines Schrägstrichs (/) gefolgt von einer Dezimalzahl angegeben, deren Wert die Länge des Netzwerkpräfixes in Bits ist, anstatt explizit anzugeben, welche Adressen sich im Block befinden. Ein Adressblock mit 48 Bit im Präfix wird beispielsweise durch / 48 gekennzeichnet . Ein solcher Block enthält 2 128 − 48 = 2 80 Adressen. Je kleiner der Wert des Netzwerkpräfixes ist, desto größer ist der Block: ein / 21- Block ist 8-mal größer als ein / 24- Block.

Literale IPv6-Adressen in Netzwerkressourcenkennungen

Doppelpunkt (:)-Zeichen in IPv6-Adressen können mit der etablierten Syntax von Ressourcenkennungen wie URIs und URLs in Konflikt geraten . Der Doppelpunkt wurde traditionell verwendet, um den Hostpfad vor einer Portnummer zu beenden . Um diesen Konflikt zu mildern, werden literale IPv6-Adressen in solchen Ressourcenkennungen in eckige Klammern eingeschlossen , zum Beispiel:

http://[2001:db8:85a3:8d3:1319:8a2e:370:7348]/

Wenn die URL auch eine Portnummer enthält, lautet die Notation:

https://[2001:db8:85a3:8d3:1319:8a2e:370:7348]:443/

wobei die nachgestellte 443 die Portnummer des Beispiels ist.

Scoped literale IPv6-Adressen (mit Zonenindex)

Bei Adressen mit einem anderen als dem globalen Geltungsbereich (wie unten beschrieben ) und insbesondere bei verbindungslokalen Adressen kann die Wahl der Netzwerkschnittstelle zum Senden eines Pakets davon abhängen, zu welcher Zone die Adresse gehört: Dieselbe Adresse kann in verschiedenen . gültig sein Zonen und in jeder dieser Zonen von einem anderen Host verwendet werden. Selbst wenn eine einzelne Adresse in verschiedenen Zonen nicht verwendet wird, können die Adresspräfixe für Adressen in diesen Zonen dennoch identisch sein, sodass das Betriebssystem keine ausgehende Schnittstelle basierend auf den Informationen in der Routing-Tabelle auswählen kann (die Präfix- basierend).

Um die Mehrdeutigkeit in Textadressen aufzulösen, a Zonenindex muss an die Adresse angehängt werden, die beiden werden durch einProzentzeichen(%) getrennt. Die Syntax von Zonenindizes ist ein implementierungsabhängiger String, obwohl auch numerische Zonenindizes universell unterstützt werden müssen. Die link-lokale Adresse

fe80::1ff:fe23:4567:890a

könnte ausgedrückt werden durch

fe80::1ff:fe23:4567:890a%eth2

oder:

fe80::1ff:fe23:4567:890a%3

Ersteres (unter Verwendung eines Schnittstellennamens ) ist auf den meisten Unix- ähnlichen Betriebssystemen (zB BSD , Linux , macOS ) üblich. Letzteres (unter Verwendung einer Schnittstellennummer) ist die Standardsyntax unter Microsoft Windows , aber da die Unterstützung dieser Syntax obligatorisch ist, steht sie auch auf anderen Betriebssystemen zur Verfügung.

BSD-basierte Betriebssysteme (einschließlich macOS) unterstützen auch eine alternative, nicht standardmäßige Syntax, bei der ein numerischer Zonenindex im zweiten 16-Bit-Wort der Adresse codiert ist. Z.B:

fe80:3::1ff:fe23:4567:890a

In allen oben erwähnten Betriebssystemen bezieht sich der Zonenindex für Link-Local-Adressen tatsächlich auf eine Schnittstelle, nicht auf eine Zone. Da mehrere Schnittstellen zu derselben Zone gehören können (z. B. wenn sie mit demselben Switch verbunden sind ), können in der Praxis zwei Adressen mit unterschiedlichen Zonenkennungen tatsächlich äquivalent sein und sich auf denselben Host auf derselben Verbindung beziehen.

Verwendung von Zonenindizes in URIs

Bei Verwendung in Uniform Resource Identifiers (URI) führt die Verwendung des Prozentzeichens zu einem Syntaxkonflikt, daher muss es durch eine Prozentcodierung umgangen werden , z.

http://[fe80::1ff:fe23:4567:890a %25 eth0]/

Literale IPv6-Adressen in UNC-Pfadnamen

In Microsoft Windows- Betriebssystemen sind IPv4-Adressen gültige Standortkennungen in UNC-Pfadnamen ( Uniform Naming Convention ). Der Doppelpunkt ist jedoch ein unzulässiges Zeichen in einem UNC-Pfadnamen. Somit ist die Verwendung von IPv6-Adressen auch in UNC-Namen illegal. Aus diesem Grund hat Microsoft einen Transkriptionsalgorithmus implementiert, um eine IPv6-Adresse in Form eines Domänennamens darzustellen, der in UNC-Pfade verwendet werden kann. Zu diesem Zweck hat Microsoft die Second-Level-Domain ipv6-literal.net im Internet registriert und reserviert (obwohl sie die Domain im Januar 2014 aufgegeben haben). IPv6-Adressen werden innerhalb dieses Namensraums wie folgt als Hostname oder Subdomain-Name transkribiert:

2001:db8:85a3:8d3:1319:8a2e:370:7348

wird geschrieben als

2001-db8-85a3-8d3-1319-8a2e-370-7348.ipv6-literal.net

Diese Notation wird von der Microsoft-Software automatisch lokal aufgelöst, ohne Abfragen an DNS-Nameserver.

Wenn die IPv6-Adresse einen Zonenindex enthält, wird dieser nach einem s-Zeichen an den Adressteil angehängt:

fe80::1ff:fe23:4567:890a%3

wird geschrieben als

fe80--1ff-fe23-4567-890a s3 .ipv6-literal.net

Adressbereiche

Jede IPv6-Adresse, mit Ausnahme der unspezifizierten Adresse ( :: ), hat einen "Bereich", der angibt, in welchem ​​Teil des Netzwerks sie gültig ist.

Unicast

Für Unicast- Adressen sind zwei Bereiche definiert: verbindungslokal und global.

Link-lokale Adressen und die Loopback-Adresse haben einen Link-Local- Bereich, was bedeutet, dass sie nur in einem einzigen direkt angeschlossenen Netzwerk (Link) verwendet werden können. Alle anderen Adressen (einschließlich Unique Local Addresses ) haben einen globalen (oder universellen ) Geltungsbereich, was bedeutet, dass sie global routbar sind (oder sein könnten) und verwendet werden können, um eine Verbindung zu Adressen mit globalem Geltungsbereich überall oder zu Adressen mit verbindungslokalem Geltungsbereich herzustellen im direkt angeschlossenen Netzwerk. Pakete mit einer Quelle oder einem Ziel in einem Bereich können nicht an einen anderen Bereich weitergeleitet werden.

Eindeutige lokale Adressen haben einen globalen Geltungsbereich, werden jedoch nicht global verwaltet. Als Ergebnis können nur andere Hosts in derselben Verwaltungsdomäne (zB einer Organisation) oder innerhalb einer kooperierenden Verwaltungsdomäne solche Adressen erreichen, wenn sie richtig geroutet werden. Da ihr Gültigkeitsbereich global ist, gelten diese Adressen als Quelladresse bei der Kommunikation mit anderen globalen Gültigkeitsbereichsadressen, auch wenn es möglicherweise unmöglich ist, Pakete vom Ziel zurück zur Quelle zu leiten.

Anycast

Anycast- Adressen sind syntaktisch identisch mit Unicast-Adressen und nicht von diesen zu unterscheiden. Ihr einziger Unterschied besteht in der Verwaltung. Die Gültigkeitsbereiche für Anycast-Adressen sind daher die gleichen wie für Unicast-Adressen.

Multicast

Für Multicast - Adressen, die vier niedrigstwertigen Bits des zweiten Adresse Oktett ( FF0 s :: ) identifizieren die Adresse s fertig zu werden, dh den Bereich , in dem das Multicast - Paket weitergeleitet werden soll. Vordefinierte und reservierte Bereiche sind:

Scope-Werte
Wert Bereichsname Anmerkungen
0x0 reserviert
0x1 Schnittstelle-lokal Der lokale Schnittstellenbereich umfasst nur eine einzelne Schnittstelle auf einem Knoten und ist nur für die Loopback-Übertragung von Multicast nützlich.
0x2 Link-Lokal Der verbindungslokale Gültigkeitsbereich umfasst denselben topologischen Bereich wie der entsprechende Unicast-Bereich.
0x3 realm-lokal Bereichslokaler Bereich wird als größer als verbindungslokal definiert, automatisch von der Netzwerktopologie bestimmt und darf nicht größer als die folgenden Bereiche sein.
0x4 admin-lokal Der Admin-Local-Bereich ist der kleinste Bereich, der administrativ konfiguriert werden muss, dh nicht automatisch von der physischen Konnektivität oder einer anderen, nicht Multicast-bezogenen Konfiguration abgeleitet wird.
0x5 Standort-lokal Der standortlokale Geltungsbereich soll einen einzelnen Standort umfassen, der zu einer Organisation gehört.
0x8 organisation-lokal Der organisationslokale Bereich umfasst alle Sites, die zu einer einzelnen Organisation gehören.
0xe global Der globale Geltungsbereich umfasst alle erreichbaren Knoten im Internet - er ist unbegrenzt.
0xf reserviert

Alle anderen Bereiche sind nicht zugewiesen und stehen Administratoren zum Definieren zusätzlicher Regionen zur Verfügung.

Adressraum

Allgemeine Zuordnung

Die Verwaltung des IPv6-Adressvergabeprozesses wird vom Internet Architecture Board und der Internet Engineering Steering Group an die Internet Assigned Numbers Authority (IANA) delegiert . Seine Hauptfunktion ist die Zuweisung großer Adressblöcke an die regionalen Internet-Registrierungsstellen (RIRs), die die delegierte Aufgabe der Zuweisung an Netzdienstanbieter und andere lokale Registrierungsstellen haben. Die IANA führt seit Dezember 1995 die offizielle Liste der Zuweisungen des IPv6-Adressraums.

Nur ein Achtel des gesamten Adressraums ist derzeit für die Verwendung im Internet , 2000:: / 3 , zugewiesen , um eine effiziente Route-Aggregation bereitzustellen , wodurch die Größe der Internet-Routing-Tabellen reduziert wird; der Rest des IPv6-Adressraums ist für die zukünftige Verwendung oder für spezielle Zwecke reserviert. Der Adressraum wird den RIRs in großen Blöcken von / 23 bis / 12 zugewiesen .

Die RIRs weisen lokale Internet- Registrys kleinere Blöcke zu , die sie an die Benutzer verteilen. Diese sind typischerweise in den Größen von / 19 bis / 32 erhältlich . Die Adressen werden typischerweise in Blöcken der Größe / 48 bis / 56 an die Endbenutzer verteilt.

Globale Unicast-Zuordnungsdatensätze können bei den verschiedenen RIRs oder anderen Websites gefunden werden.

IPv6-Adressen werden Organisationen im Vergleich zu IPv4-Adresszuweisungen in viel größeren Blöcken zugewiesen – die empfohlene Zuweisung ist ein / 48- Block, der 2 80 Adressen enthält , also 2 48 oder ungefähr2,8 × 10 14 mal größer als der gesamte IPv4-Adressraum von 2 32 Adressen und etwa7,2 × 10 16- mal größer als die / 8 Blöcke von IPv4-Adressen, die die größten Zuweisungen von IPv4-Adressen darstellen. Der Gesamtpool reicht jedoch auf absehbare Zeit aus, denn es sind 2 128 (genau 340.282.366.920.938.463.463.374.607.431.768.211.456) oder ca.3,4 × 10 38 (340 Billionen Billionen Billionen) eindeutige IPv6-Adressen.

Jedes RIR kann jeden seiner mehreren / 23- Blöcke in 512 / 32- Blöcke unterteilen, typischerweise einen für jeden ISP; ein ISP kann seinen / 32- Block in 65 536 / 48- Blöcke unterteilen, typischerweise einen für jeden Kunden; Kunden können 65 536 / 64 Netzwerke aus ihrem zugewiesenen / 48 Block mit jeweils 2 64 (18.446.744.073.709.551.616) Adressen erstellen. Im Gegensatz dazu hat der gesamte IPv4-Adressraum nur 2 32 (genau 4.294.967.296 oder etwa4,3 × 10 9 ) Adressen.

Konstruktionsbedingt wird nur ein sehr kleiner Bruchteil des Adressraums tatsächlich verwendet. Der große Adressraum sorgt dafür, dass Adressen fast immer verfügbar sind, was den Einsatz von Network Address Translation (NAT) zur Adresserhaltung komplett überflüssig macht. NAT wird zunehmend für IPv4-Netzwerke verwendet, um die Erschöpfung der IPv4-Adressen zu verringern .

Sonderzuteilung

Um Providerwechsel ohne Umnummerierung zu ermöglichen, wird der anbieterunabhängige Adressraum – von den RIRs direkt dem Endnutzer zugewiesen – aus dem Sonderbereich 2001:678:: / 29 übernommen .

Internet Exchange Points (IXPs) werden spezielle Adressen aus dem Bereich 2001:7f8:: / 29 für die Kommunikation mit ihren verbundenen ISPs zugewiesen . Root-Nameservern wurden Adressen aus dem gleichen Bereich zugewiesen.

Reservierte Anycast-Adressen

Die niedrigste Adresse innerhalb jedes Subnet-Präfixes (die Schnittstellenkennung auf Null gesetzt) ​​wird als Anycast-Adresse des "Subnet-Routers" reserviert. Anwendungen können diese Adresse verwenden, wenn sie mit einem der verfügbaren Router kommunizieren, da an diese Adresse gesendete Pakete nur an einen Router gesendet werden.

Die 128 höchsten Adressen innerhalb jedes / 64 Subnetzpräfixes sind für die Verwendung als Anycast-Adressen reserviert. Diese Adressen haben normalerweise die ersten 57 Bits der Schnittstellenkennung auf 1 gesetzt, gefolgt von der 7-Bit-Anycast-ID. Präfixe für das Netzwerk, einschließlich Subnetze, müssen eine Länge von 64 Bit haben. In diesem Fall muss das universelle/lokale Bit auf 0 gesetzt werden, um anzuzeigen, dass die Adresse nicht global eindeutig ist. Die Adresse mit dem Wert 0x7e in den 7 niederwertigsten Bits ist als Anycast-Adresse eines mobilen IPv6 - Heimagenten definiert . Die Adresse mit dem Wert 0x7f (alle Bits 1) ist reserviert und darf nicht verwendet werden. Es werden keine Zuweisungen aus diesem Bereich mehr vorgenommen, daher sind auch die Werte 0x00 bis 0x7d reserviert.

Sonderadressen

In IPv6 gibt es eine Reihe von Adressen mit besonderer Bedeutung. Sie machen weniger als 2 % des gesamten Adressraums aus:

Spezielle Adressblöcke
Adressblock (CIDR) Erste Adresse Letzte Adresse Anzahl Adressen Verwendungszweck Zweck
::/0 :: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2 128 Routing Standardroute (keine bestimmte Route)
::/128 :: :: 1 Software Unbekannte Adresse
::1/128 ::1 ::1 1 Gastgeber Loopback-Adresse —eine virtuelle Schnittstelle, die den gesamten Datenverkehr zu sich selbst, dem lokalen Host, zurückschleift
::ffff:0:0/96 ::ffff:0.0.0.0 ::ffff:255.255.255.255 2 128−96 = 2 32 =4 294 967 296 Software IPv4-zugeordnete Adressen
::ffff:0:0:0/96 ::ffff:0:0.0.0.0 ::ffff:0:255.255.255.255 2 32 Software Übersetzte IPv4-Adressen
64:ff9b::/96 64:ff9b::0.0.0.0 64:ff9b::255.255.255.255 2 32 Globales Internet IPv4/IPv6-Übersetzung
64:ff9b:1::/48 64:ff9b:1::0.0.0.0 64:ff9b:1:ffff:ffff:ffff:255.255.255.255 2 80 Privates Internet IPv4/IPv6-Übersetzung
100::/64 100:: 100::ffff:ffff:ffff:ffff 2 64 Routing Präfix verwerfen
2001:0000::/32 2001:: 2001::ffff:ffff:ffff:ffff:ffff:ffff 2 96 Globales Internet Teredo-Tunneling
2001:20::/28 2001:20:: 2001:2f:ffff:ffff:ffff:ffff:ffff:ffff 2 100 Software ORCHIDv2
2001:db8::/32 2001:db8:: 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff 2 96 Dokumentation In Dokumentation und Beispielquellcode verwendete Adressen
2002::/16 2002:: 2002:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2 112 Globales Internet Das 6to4- Adressierungsschema (veraltet)
fc00::/7 fc00:: fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2 121 Privates Internet Eindeutige lokale Adresse
fe80::/10 fe80:: fe80::ffff:ffff:ffff:ffff 2 64 Verknüpfung Linklokale Adresse
ff00::/8 ff00:: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2 120 Globales Internet Multicast-Adresse

Unicast-Adressen

Standardroute

  • :: / 0 — DieStandardroutenadresse(entspricht 0.0.0.0 / 0 in IPv4) für Zieladressen (Unicast, Multicast und andere), die nicht an anderer Stelle in einer Routingtabelle angegeben sind.

Unbekannte Adresse

  • :: / 128 — Die Adresse mit allen Null-Bits wird alsunspezifizierte Adresse bezeichnet(entspricht 0.0.0.0 / 32 in IPv4).
    Diese Adresse darf niemals einer Schnittstelle zugewiesen werden und darf nur in Software verwendet werden, bevor die Anwendung die für eine anstehende Verbindung geeignete Quelladresse ihres Hosts gelernt hat. Router dürfen keine Pakete mit der nicht angegebenen Adresse weiterleiten.
    Anwendungen können auf einer oder mehreren spezifischen Schnittstellen auf eingehende Verbindungen lauschen, die in Listen aktiver Internetverbindungen durch eine spezifische IP-Adresse (und eine Portnummer, getrennt durch einen Doppelpunkt) angezeigt werden. Wenn die nicht angegebene Adresse angezeigt wird, bedeutet dies, dass eine Anwendung auf allen verfügbaren Schnittstellen auf eingehende Verbindungen wartet.

Lokale Adressen

  • ::1 / 128 — DieLoopback-Adresse ist eine Unicast-Localhost-Adresse (entspricht 127.0.0.1 / 8 in IPv4).
    Wenn eine Anwendung in einem Host Pakete an diese Adresse sendet, führt der IPv6-Stack diese Pakete auf derselben virtuellen Schnittstelle zurück.
  • fe80:: / 10 — Adressen im Link-Local-Präfix sind nur auf einem einzigen Link gültig und eindeutig (vergleichbar mit den Autokonfigurationsadressen 169.254.0.0 / 16 von IPv4).
    Innerhalb dieses Präfixes wird nur ein Subnetz zugewiesen (54 Null-Bits), was ein effektives Format von fe80:: / 64 ergibt. Die niedrigstwertigen 64 Bit werden normalerweise als Schnittstellen-Hardwareadresse gewählt, die immodifizierten EUI-64-Format aufgebaut ist. Anjeder IPv6-fähigen Schnittstelle isteineLink-Local-Adresseerforderlich – mit anderen Worten, Anwendungen können sich auf das Vorhandensein einer Link-Local-Adresse verlassen, selbst wenn kein IPv6-Routing vorhanden ist.

Einzigartige lokale Adressen

  • fc00:: / 7Eindeutige lokale Adressen(ULAs) sind für die lokale Kommunikation gedacht (vergleichbar mit denprivaten IPv4-Adressen 10.0.0.0 / 8 , 172.16.0.0 / 12 und 192.168.0.0 / 16 ).
    Sie können nur innerhalb einer Reihe von kooperierenden Sites geroutet werden. Der Block ist in zwei Hälften geteilt. Die untere Hälfte des Blocks ( fc00:: / 8 ) war für global zugewiesene Präfixe gedacht, aber eine Zuweisungsmethode muss noch definiert werden. Die obere Hälfte ( fd00:: / 8 ) wird für "wahrscheinlich eindeutige" Adressen verwendet, bei denen das / 8- Präfix mit einer 40-Bit-lokal generiertenPseudozufallszahlkombiniert wird, um ein / 48- privates Präfix zu erhalten. Die Art und Weise, in der eine solche 40-Bit-Zahl gewählt wird, führt nur zu einer vernachlässigbaren Wahrscheinlichkeit, dass zwei Sites, die miteinander verschmelzen oder miteinander kommunizieren möchten, dieselbe 40-Bit-Zahl und somit dasselbe / 48- Präfix verwenden.

Übergang von IPv4

  • ::ffff:0:0 / 96 — Dieses Präfix wird fürIPv6-Übergangsmechanismen verwendetund alsIPv4-zugeordnete IPv6-Adresse bezeichnet.
    Mit wenigen Ausnahmen erlaubt dieser Adresstyp die transparente Verwendung derTransportschichtProtokolle über IPv4 durch die Vernetzung IPv6Application Programming Interface. Serveranwendungen müssen nur einen einzelnen Listening-Socketöffnen, um Verbindungen von Clients zu verarbeiten, die IPv6- oder IPv4-Protokolle verwenden. IPv6-Clients werden standardmäßig nativ behandelt, und IPv4-Clients werden als IPv6-Clients an ihrer IPv4-zugeordneten IPv6-Adresse angezeigt. Die Übertragung wird ähnlich gehandhabt; etablierte Sockets können verwendet werden, um IPv4- oder IPv6-Datagramme zu übertragen, basierend auf der Bindung an eine IPv6-Adresse oder eine IPv4-abgebildete Adresse.
  • ::ffff:0:0:0 / 96 — Ein Präfix, das fürIPv4-übersetzte Adressen verwendet wird.
    Diese werden vomStateless IP/ICMP Translation (SIIT)Protokoll verwendet.
  • 64:ff9b:: / 96 — Das "Bekannte" Präfix.
    Adressen mit diesem Präfix werden für die automatische IPv4/IPv6-Übersetzung verwendet.
  • 64:ff9b:1:: / 48 — Ein Präfix für lokal übersetzte IPv4/IPv6-Adressen.
    Adressen mit diesem Präfix können für mehrere IPv4/IPv6-Übersetzungsmechanismen wieNAT64undSIIT verwendet werden.
  • 2002:: / 16 — Dieses Präfix wurde für die6to4-Adressierung verwendet (auch eine Adresse aus dem IPv4-Netzwerk 192.88.99.0 / 24 wurde verwendet).
    Das 6to4-Adressierungsschema ist veraltet.

Sonderadressen

Die IANA hat einen sogenannten 'Sub-TLA ID'-Adressblock für spezielle Zuordnungen von 2001:: / 23 reserviert (aufgeteilt in den Bereich von 64 Netzwerk-Präfixen 2001:0000:: / 29 bis 2001:01f8:: / 29 ). Derzeit sind drei Zuweisungen aus diesem Block zugewiesen:
  • 2001:: / 32 — Wird für denTeredo-Tunnelbau verwendet.
  • 2001:2:: / 48 — Wird für dasBenchmarking vonIPv6 verwendet (entspricht 198.18.0.0 / 15 für das Benchmarking von IPv4).
    Der Arbeitsgruppe Benchmarking-Methodik (BMWG) zugeordnet.
  • 2001:20:: / 28 — ORCHIDv2 (Overlay-Routable-Kryptografische Hash-Identifikatoren).
    Dies sind nicht geroutete IPv6-Adressen, die für kryptografische Hash-Identifikatoren verwendet werden.

Dokumentation

  • 2001:db8:: / 32 — Dieses Präfix wird in der Dokumentation verwendet (entspricht 192.0.2.0 / 24 , 198.51.100.0 / 24 und 203.0.113.0 / 24 in IPv4.)
    Die Adressen sollten überall dort verwendet werden, wo eine Beispiel-IPv6-Adresse ist gegebene oder modellhafte Vernetzungsszenarien beschrieben.

Verwerfen

  • 100:: / 64 — Dieses Präfix wird zum Verwerfen von Datenverkehr verwendet.

Veraltete und veraltete Adressen

Multicast-Adressen

Die Multicast-Adressen ff0x:: wobei x ein beliebiger hexadezimaler Wert ist, sind reserviert und sollten keiner Multicast-Gruppe zugewiesen werden. Die Internet Assigned Numbers Authority (IANA) verwaltet Adressreservierungen.

Einige gängige IPv6-Multicast-Adressen sind die folgenden:

Die Anschrift Beschreibung Verfügbare Bereiche
ff0X::1 Alle Knotenadresse, identifizieren Sie die Gruppe aller IPv6-Knoten Verfügbar in Scope 1 (Interface-Local) und 2 (Link-Local):
  • ff01::1 → Alle Knoten im Interface-Local
  • ff02::1 → Alle Knoten im Link-Local
ff0X::2 Alle Router Verfügbar in Scope 1 (Interface-Local), 2 (Link-Local) und 5 (Site-Local):
  • ff01::2 → Alle Router im Interface-Local
  • ff02::2 → Alle Router im Link-Local
  • ff05::2 → Alle Router im Site-Local
ff02::5 OSPFIGP 2 (link-lokal)
ff02::6 Von OSPFIGP bestimmte Router 2 (link-lokal)
ff02::9 RIP- Router 2 (link-lokal)
ff02::a EIGRP- Router 2 (link-lokal)
ff02::d Alle PIM- Router 2 (link-lokal)
ff02::1a Alle RPL- Router 2 (link-lokal)
ff0X::fb mDNSv6 In allen Bereichen erhältlich
ff0X::101 Alle NTP- Server In allen Bereichen erhältlich
ff02::1:1 Linkname 2 (link-lokal)
ff02::1:2 Alle DHCP-Agenten ( DHCPv6 ) 2 (link-lokal)
ff02::1:3 Link-lokale Multicast-Namensauflösung 2 (link-lokal)
ff05::1:3 Alle DHCP-Server ( DHCPv6 ) 5 (standortlokal)
ff02::1:ff00:0/104 Multicast-Adresse des angeforderten Knotens . Siehe unten 2 (link-lokal)
ff02::2:ff00:0/104 Abfragen von Knoteninformationen 2 (link-lokal)

Multicast-Adresse des angeforderten Knotens

Die niedrigstwertigen 24 Bits der Multicast-Adressgruppen -ID des angeforderten Knotens werden mit den niedrigstwertigen 24 Bits der Unicast- oder Anycast-Adresse der Schnittstelle gefüllt. Diese Adressen ermöglichen die Adressauflösung der Verbindungsschicht über das Neighbor Discovery Protocol (NDP) auf der Verbindung, ohne alle Knoten im lokalen Netzwerk zu stören. Ein Host muss einer Multicast-Gruppe mit angeforderten Knoten für jede seiner konfigurierten Unicast- oder Anycast-Adressen beitreten.

Zustandslose Adressen-Autokonfiguration

Beim Systemstart erstellt ein Knoten automatisch eine Link-Local-Adresse auf jeder IPv6-fähigen Schnittstelle, selbst wenn global routbare Adressen manuell konfiguriert oder über "Konfigurationsprotokolle" (siehe unten) abgerufen werden. Dies geschieht unabhängig und ohne vorherige Konfiguration durch Stateless Address Autoconfiguration (SLAAC) unter Verwendung einer Komponente des Neighbor Discovery Protocol . Diese Adresse wird mit dem Präfix fe80:: / 64 ausgewählt .

Bei IPv4 umfassen typische "Konfigurationsprotokolle" DHCP oder PPP. Obwohl DHCPv6 existiert, verwenden IPv6-Hosts normalerweise das Neighbor Discovery Protocol , um eine global routingfähige Unicast-Adresse zu erstellen: Der Host sendet Router-Solicitation-Anfragen und ein IPv6- Router antwortet mit einer Präfixzuweisung.

Die unteren 64 Bit dieser Adressen werden mit einer 64-Bit-Schnittstellenkennung im modifizierten EUI-64- Format gefüllt . Diese Kennung wird normalerweise von allen automatisch konfigurierten Adressen dieser Schnittstelle geteilt, was den Vorteil hat, dass nur eine Multicast- Gruppe für die Nachbarerkennung beigetreten werden muss. Dazu wird eine Multicast-Adresse verwendet, die aus dem Netzwerkpräfix ff02::1:ff00:0 / 104 und den 24 niederwertigsten Bits der Adresse gebildet wird.

Modifiziertes EUI-64

Eine 64-Bit-Schnittstellenkennung wird am häufigsten von ihrer 48-Bit- MAC-Adresse abgeleitet . Aus einer MAC-Adresse 00-0C-29-0C-47-D5 wird durch Einfügen von FF-FE in der Mitte eine 64-Bit- EUI-64 : 00-0C-29- FF-FE -0C-47-D5 . Wenn diese EUI-64 verwendet wird, um eine IPv6-Adresse zu bilden, wird sie modifiziert: Die Bedeutung des Universal/Local- Bits (das 7. höchstwertige Bit der EUI-64, beginnend bei 1) wird invertiert, sodass eine 1 jetzt bedeutet Universell . Um eine IPv6-Adresse mit dem Netzwerkpräfix 2001:db8:1:2:: / 64 zu erstellen , ergibt sich die Adresse 2001:db8:1:2:0 2 0c:29ff:fe0c:47d5 (mit dem Universal/Local- Bit, dem zweitniedrigstwertiges Bit des unterstrichenen Quartetts, hier invertiert zu 1, da die MAC-Adresse universell eindeutig ist).

Erkennung doppelter Adressen

Die Zuweisung einer Unicast- IPv6-Adresse zu einer Schnittstelle beinhaltet einen internen Test auf die Eindeutigkeit dieser Adresse unter Verwendung von Neighbor Solicitation- und Neighbor Advertisement- Nachrichten ( ICMPv6 Typ 135 und 136). Während die Eindeutigkeit hergestellt wird, hat eine Adresse einen vorläufigen Zustand.

Der Knoten verbindet die Multicast-Adresse des angeforderten Knotens für die vorläufige Adresse (falls dies noch nicht geschehen ist) und sendet Nachbaranfragen mit der vorläufigen Adresse als Zieladresse und der nicht spezifizierten Adresse ( :: / 128 ) als Quelladresse. Der Knoten verbindet sich auch mit der Multicast-Adresse ff02::1 für alle Hosts , sodass er Neighbor Advertisements empfangen kann .

Wenn ein Knoten eine Nachbaranfrage mit seiner eigenen vorläufigen Adresse als Zieladresse empfängt, dann ist diese Adresse nicht eindeutig. Das gleiche gilt, wenn der Knoten eine Nachbarankündigung mit der vorläufigen Adresse als Quelle der Ankündigung empfängt. Erst nach erfolgreicher Feststellung der Eindeutigkeit einer Adresse darf diese von einer Schnittstelle vergeben und verwendet werden.

Adresslebensdauer

Jede IPv6-Adresse, die an eine Schnittstelle gebunden ist, hat eine feste Lebensdauer. Die Lebensdauer ist unendlich, es sei denn, sie ist auf einen kürzeren Zeitraum konfiguriert. Es gibt zwei Lebensdauern, die den Status einer Adresse bestimmen: die bevorzugte Lebensdauer und die gültige Lebensdauer . Lebensdauern können in Routern konfiguriert werden , die die für die Autokonfiguration verwendeten Werte bereitstellen oder bei der manuellen Konfiguration von Adressen auf Schnittstellen angegeben werden.

Wenn einer Schnittstelle eine Adresse zugewiesen wird, erhält sie den Status "bevorzugt", den sie während ihrer bevorzugten Lebensdauer behält. Nach Ablauf dieser Lebensdauer wird der Status "veraltet" und es sollten keine neuen Verbindungen über diese Adresse hergestellt werden. Die Adresse wird nach Ablauf ihrer Gültigkeitsdauer ebenfalls "ungültig"; die Adresse wird aus der Schnittstelle entfernt und kann an anderer Stelle im Internet vergeben werden .

Hinweis: In den meisten Fällen läuft die Lebensdauer nicht ab, da neue Router Advertisements (RAs) die Timer aktualisieren. Wenn jedoch keine RAs mehr vorhanden sind, läuft schließlich die bevorzugte Lebensdauer ab und die Adresse wird "veraltet".

Temporäre Adressen

Die global eindeutigen und statischen MAC-Adressen, die von der zustandslosen automatischen Adresskonfiguration zum Erstellen von Schnittstellenkennungen verwendet werden, bieten die Möglichkeit, Benutzergeräte – über Zeit und IPv6-Netzwerkpräfixänderungen hinweg – und damit Benutzer zu verfolgen. Um die Wahrscheinlichkeit zu verringern, dass eine Benutzeridentität dauerhaft an einen IPv6-Adressteil gebunden ist, kann ein Knoten temporäre Adressen mit Schnittstellenkennungen basierend auf zeitvariablen zufälligen Bitfolgen und relativ kurzer Lebensdauer (Stunden bis Tage) erstellen, wonach sie durch . ersetzt werden neue Adressen.

Temporäre Adressen können als Quelladresse für Ursprungsverbindungen verwendet werden, während externe Hosts eine öffentliche Adresse verwenden, indem sie das Domain Name System abfragen.

Für IPv6 konfigurierte Netzwerkschnittstellen verwenden standardmäßig temporäre Adressen in OS X Lion und neueren Apple-Systemen sowie in Windows Vista , Windows 2008 Server und neueren Microsoft-Systemen.

Kryptografisch generierte Adressen

Als Mittel zur Erhöhung der Sicherheit für das Neighbor Discovery Protocol wurden im Jahr 2005 kryptographisch generierte Adressen (oder CGAs) als Teil des Secure Neighbor Discovery (SEND) Protocol eingeführt.

Eine solche Adresse wird mithilfe von zwei Hash-Funktionen generiert , die mehrere Eingaben benötigen. Die erste verwendet einen öffentlichen Schlüssel und einen zufälligen Modifikator; wobei letzteres wiederholt inkrementiert wird, bis eine bestimmte Menge von Null-Bits des resultierenden Hash erfasst wird. (Vergleichbar mit dem Feld 'Proof of Work' beim Bitcoin- Mining.) Die zweite Hash-Funktion nimmt das Netzwerkpräfix und den vorherigen Hash-Wert. Die niederwertigsten 64 Bit des zweiten Hash-Ergebnisses werden an das 64-Bit-Netzwerkpräfix angehängt, um eine 128-Bit-Adresse zu bilden.

Die Hash-Funktionen können auch verwendet werden, um zu überprüfen, ob eine bestimmte IPv6-Adresse die Anforderungen eines gültigen CGA erfüllt. Auf diese Weise kann die Kommunikation ausschließlich zwischen vertrauenswürdigen Adressen aufgebaut werden.

Stabile Datenschutzadressen

Die Verwendung zustandsloser automatisch konfigurierter Adressen hat schwerwiegende Auswirkungen auf Sicherheits- und Datenschutzbedenken, da die zugrunde liegende Hardwareadresse (meist die MAC-Adresse ) über das lokale Netzwerk hinaus offengelegt wird, was die Verfolgung von Benutzeraktivitäten und die Korrelation von Benutzerkonten mit anderen Informationen ermöglicht. Es erlaubt auch herstellerspezifische Angriffsstrategien und reduziert die Größe des Adressraums für die Suche nach Angriffszielen.

Um diese Mängel zu beheben, wurden stabile Datenschutzadressen eingeführt. Sie sind innerhalb eines bestimmten Netzwerks stabil, ändern sich jedoch beim Wechsel zu einem anderen, um die Privatsphäre zu verbessern. Sie werden deterministisch, aber zufällig, im gesamten Adressraum des Netzwerks gewählt.

Die Generierung einer stabilen Datenschutzadresse basiert auf einer Hash-Funktion, die mehrere stabile Parameter verwendet. Es ist implementierungsspezifisch, es wird jedoch empfohlen, mindestens das Netzwerkpräfix, den Namen der Netzwerkschnittstelle, einen Zähler für doppelte Adressen und einen geheimen Schlüssel zu verwenden. Der resultierende Hash-Wert wird verwendet, um die endgültige Adresse zu konstruieren: Normalerweise werden die 64 niederwertigsten Bits mit dem 64-Bit-Netzwerkpräfix verkettet, um eine 128-Bit-Adresse zu erhalten. Wenn das Netzwerkpräfix kleiner als 64 Bit ist, werden mehr Bits des Hashs verwendet. Wenn die resultierende Adresse nicht mit bestehenden oder reservierten Adressen kollidiert, wird sie der Schnittstelle zugewiesen.

Standardadressenauswahl

IPv6-fähige Netzwerkschnittstellen haben normalerweise mehr als eine IPv6-Adresse, beispielsweise eine link-lokale und eine globale Adresse. Sie können auch temporäre Adressen haben, die sich nach Ablauf einer bestimmten Lebensdauer ändern. IPv6 führt die Konzepte des Adressbereichs und der Auswahlpräferenz ein, wodurch mehrere Auswahlmöglichkeiten für die Auswahl von Quell- und Zieladressen bei der Kommunikation mit einem anderen Host entstehen.

Der in RFC 6724 veröffentlichte Präferenzauswahlalgorithmus wählt die am besten geeignete Adresse für die Kommunikation mit einem bestimmten Ziel aus, einschließlich der Verwendung von IPv4-abgebildeten Adressen in Dual-Stack- Implementierungen. Es verwendet eine konfigurierbare Präferenztabelle, die jedem Routing-Präfix eine Prioritätsebene zuordnet. Die Standardtabelle hat folgenden Inhalt:

Präfix Vorrang Etikett Verwendungszweck
::1/128 50 0 Localhost
::/0 40 1 Standard-Unicast
::ffff:0:0/96 35 4 IPv4-abgebildete IPv6-Adresse
2002::/16 30 2 6to4
2001::/32 5 5 Teredo-Tunneling
fc00::/7 3 13 Eindeutige lokale Adresse
::/96 1 3 IPv4-kompatible Adressen (veraltet)
fec0::/10 1 11 Standortlokale Adresse (eingestellt)
3ffe::/16 1 12 6Knochen (zurückgegeben)

Die Standardkonfiguration bevorzugt IPv6-Nutzung und wählt Zieladressen innerhalb des kleinstmöglichen Bereichs aus, sodass verbindungslokale Kommunikation gegenüber global gerouteten Pfaden bevorzugt wird, wenn sie ansonsten gleichermaßen geeignet sind. Die Präfix-Richtlinientabelle ähnelt einer Routing-Tabelle, wobei der Prioritätswert als die Rolle der Linkkosten dient, wobei eine höhere Präferenz als ein größerer Wert ausgedrückt wird. Quelladressen haben vorzugsweise denselben Labelwert wie die Zieladresse. Adressen werden Präfixen basierend auf der längsten übereinstimmenden höchstwertigen Bitfolge zugeordnet. Kandidaten-Quelladressen werden vom Betriebssystem bezogen und Kandidaten-Zieladressen können über das Domain Name System (DNS) abgefragt werden .

Um die Zeit für den Verbindungsaufbau zu minimieren, wenn mehrere Adressen für die Kommunikation zur Verfügung stehen, wurde der Happy Eyeballs- Algorithmus entwickelt. Es fragt das Domain Name System nach IPv6- und IPv4-Adressen des Zielhosts ab, sortiert Kandidatenadressen anhand der Standardadressauswahltabelle und versucht parallel Verbindungen aufzubauen. Die erste hergestellte Verbindung bricht aktuelle und zukünftige Verbindungsversuche zu anderen Adressen ab.

Domainnamensystem

Im Domain Name System werden Hostnamen durch AAAA- Ressourcen-Records, sogenannte Quad-A- Records, auf IPv6-Adressen abgebildet . Für Reverse Lookup reservierte die IETF die Domain ip6.arpa , wobei der Namensraum hierarchisch durch die 1-stellige hexadezimale Darstellung von Nibble- Einheiten (4 Bit) der IPv6-Adresse unterteilt ist.

Wie bei IPv4 wird jeder Host im DNS durch zwei DNS-Records repräsentiert: einen Adress-Record und einen Reverse-Mapping-Pointer-Record. Ein Host-Computer namens derrick in der Zone example.com hat beispielsweise die Unique Local Address fdda:5cc1:23:4::1f . Sein Quad-A-Adressdatensatz ist

 derrick.example.com.  IN  AAAA  fdda:5cc1:23:4::1f

und sein IPv6-Pointer-Record ist

 f.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4.0.0.0.3.2.0.0.1.c.c.5.a.d.d.f.ip6.arpa.  IN  PTR   derrick.example.com.

Dieser Zeigersatz kann in einer Reihe von Zonen definiert werden, abhängig von der Kette der Befugnisübertragung in der Zone dfip6.arpa.

Das DNS-Protokoll ist unabhängig von seinem Transportschichtprotokoll . Anfragen und Antworten können unabhängig von der Adressfamilie der angeforderten Daten über IPv6- oder IPv4-Transporte übertragen werden.

AAAA-Datensatzfelder
NAME Domainname
TYP AAA (28)
KLASSE Internet (1)
TTL Zeit zum Leben in Sekunden
RDLÄNGE Länge des RDATA-Feldes
RDATA 128-Bit-IPv6-Adresse, Netzwerk-Byte-Reihenfolge

Historische Notizen

Veraltete und veraltete Adressen

  • Das standortlokale Präfix fec0:: / 10 gibt an, dass die Adresse nur innerhalb des Standortnetzwerks einer Organisation gültig ist. Es war im Dezember 1995 Teil der ursprünglichen Adressierungsarchitektur, aber seine Verwendung wurde im September 2004 eingestellt, da die Definition des Begriffs Site mehrdeutig war, was zu verwirrenden Routing-Regeln führte. Neue Netze dürfen diesen speziellen Adresstyp nicht unterstützen. Im Oktober 2005 wurde dieser Adresstyp durch eine neue Spezifikation durch eindeutige lokale Adressen ersetzt .
  • Der Adressblock 200:: / 7 wurde im August 1996 als OSI-NSAP-zugeordnetes Präfix definiert, wurde jedoch im Dezember 2004 eingestellt.
  • Das 96-Bit-Nullwert-Präfix :: / 96 , ursprünglich als IPv4-kompatible Adressen bekannt , wurde 1995 erwähnt, aber erstmals 1998 beschrieben. Dieser Adressbereich wurde verwendet, um IPv4- Adressen innerhalb einer IPv6-Übergangstechnologie darzustellen . Bei einer solchen IPv6-Adresse sind die ersten (höchsten) 96 Bit auf Null gesetzt, während die letzten 32 Bit die dargestellte IPv4-Adresse sind. Im Februar 2006 hat die Internet Engineering Task Force (IETF) die Verwendung von IPv4-kompatiblen Adressen eingestellt. Die einzige verbleibende Verwendung dieses Adressformats besteht darin, eine IPv4-Adresse in einer Tabelle oder Datenbank mit Elementen fester Größe darzustellen, die auch in der Lage sein müssen, eine IPv6-Adresse zu speichern.
  • Der Adressblock 3ffe:: / 16 wurde im Dezember 1998 zu Testzwecken für das 6bone- Netz vergeben. Zuvor wurde hierfür der Adressblock 5f00:: / 8 verwendet. Beide Adressblöcke wurden im Juni 2006 an den Adresspool zurückgegeben.
  • Aufgrund von Betriebsproblemen mit 6to4 wird die Verwendung des Adressblocks 2002:: / 16 eingeschränkt , da der 6to4-Mechanismus seit Mai 2015 veraltet ist. Obwohl der IPv4-Adressblock 192.88.99.0 / 24 veraltet ist, ist 2002:: / 16 dies nicht der Fall .
  • Im April 2007 wurde der Adressblock 2001:10:: / 28 für Overlay Routable Cryptographic Hash Identifiers (ORCHID) vergeben. Es war für experimentelle Zwecke gedacht. Im September 2014 wurde eine zweite Version von ORCHID spezifiziert und mit der Einführung des Blocks 2001:20:: / 28 wurde der ursprüngliche Block an die IANA zurückgegeben .

Sonstig

  • Für die Reverse-DNS-Suche wurden IPv6-Adressen ursprünglich in der DNS-Zone ip6.int registriert , da erwartet wurde, dass die Top-Level-Domain arpa zurückgezogen würde. Im Jahr 2000 kehrte das Internet Architecture Board (IAB) diese Absicht zurück und entschied 2001, dass arpa seine ursprüngliche Funktion behalten soll. Domains in ip6.int wurden nach ip6.arpa verschoben und die Zone ip6.int wurde am 6. Juni 2006 offiziell entfernt.
  • Im März 2011 hat die IETF die Empfehlungen zur Vergabe von Adressblöcken an Endstandorte verfeinert. Anstatt entweder a / 48 , / 64 oder / 128 zuzuweisen (gemäß den Ansichten von IAB und IESG aus dem Jahr 2001), sollten Internetdienstanbieter erwägen, Endbenutzern kleinere Blöcke (z. B. a / 56 ) zuzuweisen. Die Richtlinien der regionalen Register von ARIN , RIPE & APNIC fördern gegebenenfalls / 56 Zuweisungen.
  • Ursprünglich gab es zwei Vorschläge zur Übersetzung von Domainnamen in IPv6-Adressen: einer mit AAAA-Records, der andere mit A6-Records. AAAA-Records, die vorherrschende Methode, sind mit A-Records für IPv4 vergleichbar und ermöglichen eine einfache Zuordnung von Hostname zu IPv6-Adresse. Das Verfahren, das A6-Records verwendet, verwendet ein hierarchisches Schema, bei dem die Abbildung nachfolgender Gruppen von Adressbits durch zusätzliche A6-Records spezifiziert wurde, was die Möglichkeit bietet, alle Hosts in einem Netzwerk durch Ändern eines einzelnen A6-Records neu zu nummerieren. Da der wahrgenommene Nutzen des A6-Formats die wahrgenommenen Kosten nicht überwiegt, wurde die Methode 2002 in den experimentellen Status und 2012 schließlich in den historischen Status überführt.
  • Im Jahr 2009 wurde festgestellt, dass viele DNS-Resolver in Heimnetzwerk-NAT-Geräten und -Routern AAAA-Einträge nicht ordnungsgemäß verarbeiten. Einige von ihnen ließen einfach DNS-Anfragen für solche Datensätze fallen, anstatt die entsprechende negative DNS-Antwort ordnungsgemäß zurückzugeben. Da die Anfrage verworfen wird, muss der Host, der die Anfrage sendet, auf das Auslösen einer Zeitüberschreitung warten. Dies führt häufig zu einer Verlangsamung der Verbindung zu Dual-Stack-IPv6/IPv4-Hosts, da die Client-Software wartet, bis die IPv6-Verbindung fehlschlägt, bevor sie IPv4 versucht.

Anmerkungen

Verweise

Externe Links