IPv6 - IPv6

Internetprotokoll Version 6
Kommunikationsprotokoll
IPv6 header-en.svg
IPv6-Header
Zweck Internetworking- Protokoll
Entwickler Internettechnik-Arbeitsgruppe
Eingeführt Dezember 1995 ; vor 25 Jahren ( 1995-12 )
Beyogen auf IPv4
OSI-Schicht Netzwerkschicht
RFC(s) RFC 2460, RFC 8200

Internet Protocol Version 6 ( IPv6 ) ist die neueste Version des Internet Protocol (IP), des Kommunikationsprotokolls , das ein Identifizierungs- und Ortungssystem für Computer in Netzwerken bereitstellt und den Datenverkehr über das Internet leitet . IPv6 wurde von der Internet Engineering Task Force (IETF) entwickelt, um das lang erwartete Problem der Erschöpfung der IPv4-Adressen zu lösen . IPv6 soll IPv4 ersetzen . Im Dezember 1998 wurde IPv6 ein Draft Standard für die IETF, die es anschließend am 14. Juli 2017 als Internet Standard ratifizierte .

Geräten im Internet wird eine eindeutige IP-Adresse zur Identifizierung und Standortbestimmung zugewiesen . Mit dem schnellen Wachstum des Internets nach der Kommerzialisierung in den 1990er Jahren wurde deutlich, dass weit mehr Adressen benötigt werden, um Geräte zu verbinden, als der IPv4-Adressraum zur Verfügung hatte. 1998 hatte die IETF das Nachfolgeprotokoll formalisiert. IPv6 verwendet eine 128-Bit-Adresse, die theoretisch 2 128 oder ungefähr ermöglicht3,4 × 10 38 Adressen. Die tatsächliche Anzahl ist etwas kleiner, da mehrere Bereiche für eine spezielle Verwendung reserviert oder vollständig von der Verwendung ausgeschlossen sind. Die beiden Protokolle sind nicht auf Interoperabilität ausgelegt , sodass eine direkte Kommunikation zwischen ihnen unmöglich ist, was den Umstieg auf IPv6 erschwert. Es wurden jedoch mehrere Übergangsmechanismen entwickelt, um dies zu korrigieren.

IPv6 bietet neben einem größeren Adressraum weitere technische Vorteile. Insbesondere erlaubt es hierarchische Adresszuweisungsverfahren, die die Routen-Aggregation über das Internet erleichtern und somit die Erweiterung von Routing-Tabellen begrenzen . Die Verwendung der Multicast-Adressierung wird erweitert und vereinfacht und bietet eine zusätzliche Optimierung für die Bereitstellung von Diensten. Beim Entwurf des Protokolls wurden Aspekte der Gerätemobilität, Sicherheit und Konfiguration berücksichtigt.

IPv6-Adressen werden als acht durch Doppelpunkte getrennte Gruppen von vier hexadezimalen Ziffern dargestellt. Die vollständige Darstellung kann gekürzt werden; Beispiel: 2001:0db8:0000:0000:0000:8a2e:0370:7334 wird 2001:db8::8a2e:370:7334 .

Haupteigenschaften

Glossar der für IPv6-Adressen verwendeten Begriffe

IPv6 ist ein Internet-Layer- Protokoll für paketvermitteltes Internetworking und bietet eine Ende-zu-Ende- Datagrammübertragung über mehrere IP-Netzwerke hinweg und hält sich eng an die Designprinzipien, die in der vorherigen Version des Protokolls, Internet Protocol Version 4 (IPv4), entwickelt wurden.

IPv6 bietet nicht nur mehr Adressen, sondern implementiert auch Funktionen, die in IPv4 nicht vorhanden sind. Es vereinfacht Aspekte der Adresskonfiguration, Neunummerierung des Netzwerks und Router-Ankündigungen beim Wechseln des Netzwerkkonnektivitätsanbieters. Es vereinfacht die Verarbeitung von Paketen in Routern, indem es die Verantwortung für die Paketfragmentierung auf die Endpunkte überträgt. Die IPv6- Subnetzgröße wird standardisiert, indem die Größe des Host-Identifier-Teils einer Adresse auf 64 Bit festgelegt wird.

Die Adressierungsarchitektur von IPv6 ist in RFC  4291 definiert und erlaubt drei verschiedene Übertragungsarten: Unicast , Anycast und Multicast .

Motivation und Herkunft

Erschöpfung der IPv4-Adresse

Zerlegung der punktdezimalen IPv4-Adressdarstellung in ihren Binärwert

Internet Protocol Version 4 (IPv4) war die erste öffentlich genutzte Version des Internet Protocol . IPv4 wurde als Forschungsprojekt von der Defense Advanced Research Projects Agency (DARPA), einer US-Verteidigungsbehörde , entwickelt , bevor es zur Grundlage für das Internet und das World Wide Web wurde . IPv4 enthält ein Adressierungssystem, das numerische Kennungen verwendet, die aus 32 Bit bestehen. Diese Adressen werden normalerweise in Punkt-Dezimal-Notation als Dezimalwerte von vier Oktetten angezeigt , die jeweils im Bereich von 0 bis 255 oder 8 Bit pro Zahl liegen. Somit bietet IPv4 eine Adressierungskapazität von 2 32 oder ungefähr 4,3 Milliarden Adressen. Die Erschöpfung der Adresse war bei IPv4 anfangs kein Problem, da diese Version ursprünglich als Test der Netzwerkkonzepte von DARPA angesehen wurde. Während des ersten Jahrzehnts des Betriebs des Internets wurde deutlich, dass Methoden entwickelt werden mussten, um Adressraum zu sparen. Anfang der 1990er Jahre wurde auch nach der Neugestaltung des Adressierungssystems mit einem klassenlosen Netzwerkmodell klar, dass dies nicht ausreichen würde, um die Erschöpfung der IPv4-Adressen zu verhindern , und dass weitere Änderungen an der Internet-Infrastruktur erforderlich waren.

Die letzten nicht zugewiesenen Top-Level-Adressblöcke von 16 Millionen IPv4-Adressen wurden im Februar 2011 von der Internet Assigned Numbers Authority (IANA) an die fünf regionalen Internet-Registrys (RIRs) vergeben. Jeder RIR verfügt jedoch noch über verfügbare Adresspools und wird voraussichtlich mit Standardadresszuweisungsrichtlinien fortfahren, bis ein /8 Classless Inter-Domain Routing (CIDR)-Block übrig bleibt. Danach werden nur noch Blöcke von 1.024 Adressen (/22) von den RIRs an eine lokale Internet-Registrierung (LIR) bereitgestellt . Mit Stand September 2015 haben das gesamte Asia-Pacific Network Information Center (APNIC), das Réseaux IP Européens Network Coordination Centre (RIPE_NCC), das Latin America and Caribbean Network Information Center (LACNIC) und das American Registry for Internet Numbers (ARIN) erreicht diese Phase. Damit bleibt das African Network Information Center (AFRINIC) die einzige regionale Internet-Registrierungsstelle, die immer noch das normale Protokoll zur Verteilung von IPv4-Adressen verwendet. Ab November 2018 beträgt die Mindestzuweisung von AFRINIC /22 oder 1024 IPv4-Adressen. Eine LIR kann eine zusätzliche Zuweisung erhalten, wenn etwa 80 % des gesamten Adressraums verwendet wurden.

RIPE NCC gab am 25. November 2019 bekannt, dass die IPv4-Adressen vollständig ausgegangen sind, und forderte größere Fortschritte bei der Einführung von IPv6.

Es wird allgemein erwartet, dass das Internet auf absehbare Zeit neben IPv6 auch IPv4 verwenden wird.

Vergleich mit IPv4

Im Internet werden Daten in Form von Netzwerkpaketen übertragen . IPv6 spezifiziert ein neues Paketformat , das entwickelt wurde, um die Paket-Header-Verarbeitung durch Router zu minimieren. Da sich die Header von IPv4-Paketen und IPv6-Paketen erheblich unterscheiden, sind die beiden Protokolle nicht interoperabel. Die meisten Protokolle der Transport- und Anwendungsschicht benötigen jedoch nur wenige oder keine Änderungen, um über IPv6 zu funktionieren; Ausnahmen sind Anwendungsprotokolle, die Internet-Layer-Adressen einbetten, wie File Transfer Protocol (FTP) und Network Time Protocol (NTP), bei denen das neue Adressformat Konflikte mit der bestehenden Protokollsyntax verursachen kann.

Größerer Adressraum

Der Hauptvorteil von IPv6 gegenüber IPv4 ist der größere Adressraum. Die Größe einer IPv6-Adresse beträgt 128 Bit im Vergleich zu 32 Bit bei IPv4. Der Adressraum hat somit 2 128 = 340.282.366.920.938.463.463.374.607.431.768.211.456 Adressen (ca.3,4 × 10 38 ). Einige Blöcke dieses Raums und einige spezifische Adressen sind für spezielle Zwecke reserviert .

Obwohl dieser Adressraum sehr groß ist, war es nicht die Absicht der Entwickler von IPv6, eine geografische Sättigung mit verwendbaren Adressen sicherzustellen. Vielmehr vereinfachen die längeren Adressen die Zuweisung von Adressen, ermöglichen eine effiziente Routenaggregation und ermöglichen die Implementierung spezieller Adressierungsmerkmale. In IPv4 wurden komplexe Classless Inter-Domain Routing (CIDR)-Methoden entwickelt, um den kleinen Adressraum optimal zu nutzen. Die Standardgröße eines Subnetzes bei IPv6 beträgt 2 64 Adressen, etwa das Vier-Milliarden-fache der Größe des gesamten IPv4-Adressraums. Somit wird die tatsächliche Adressraumnutzung bei IPv6 gering sein, aber die Netzwerkverwaltung und die Routing-Effizienz werden durch den großen Teilnetzraum und die hierarchische Routenaggregation verbessert.

Multicasting

Multicast-Struktur in IPv6

Multicasting , die Übertragung eines Pakets an mehrere Ziele in einem einzigen Sendevorgang, ist Teil der Basisspezifikation von IPv6. In IPv4 ist dies eine optionale (obwohl häufig implementierte) Funktion. Die IPv6-Multicast-Adressierung hat Funktionen und Protokolle gemeinsam mit IPv4-Multicast, bietet jedoch auch Änderungen und Verbesserungen, da bestimmte Protokolle überflüssig werden. IPv6 implementiert keinen traditionellen IP-Broadcast , dh die Übertragung eines Pakets an alle Hosts auf dem angeschlossenen Link unter Verwendung einer speziellen Broadcast-Adresse , und definiert daher keine Broadcast-Adressen. In IPv6 wird das gleiche Ergebnis erreicht, indem ein Paket an die Link-Local- All-Nodes- Multicast-Gruppe an der Adresse ff02::1 gesendet wird, was analog zum IPv4-Multicasting an die Adresse 224.0.0.1 ist. IPv6 bietet auch neue Multicast-Implementierungen, einschließlich der Einbettung von Rendezvous-Punkt-Adressen in eine IPv6-Multicast-Gruppenadresse, was die Bereitstellung von domänenübergreifenden Lösungen vereinfacht.

Bei IPv4 ist es für eine Organisation sehr schwierig, auch nur eine global routingfähige Multicast-Gruppenzuweisung zu erhalten, und die Implementierung von domänenübergreifenden Lösungen ist obskur. Unicast-Adresszuweisungen durch eine lokale Internet-Registrierung für IPv6 haben mindestens ein 64-Bit-Routing-Präfix, was die kleinste in IPv6 verfügbare Subnetzgröße (ebenfalls 64 Bit) ergibt. Mit einer solchen Zuweisung ist es möglich, das Unicast-Adresspräfix in das IPv6-Multicast-Adressformat einzubetten, während immer noch ein 32-Bit-Block, die niederwertigsten Bits der Adresse oder ungefähr 4,2 Milliarden Multicast-Gruppenkennungen bereitgestellt werden. Somit steht jedem Benutzer eines IPv6-Subnetzes automatisch ein Satz global routbarer quellenspezifischer Multicast-Gruppen für Multicast-Anwendungen zur Verfügung.

Zustandslose Adressen-Autokonfiguration (SLAAC)

IPv6-Hosts konfigurieren sich automatisch. Jede Schnittstelle hat eine selbsterzeugte Link-Local-Adresse, und wenn sie mit einem Netzwerk verbunden ist, wird eine Konfliktlösung durchgeführt und Router stellen Netzwerkpräfixe über Router-Advertisements bereit. Eine zustandslose Konfiguration von Routern kann mit einem speziellen Router-Neunummerierungsprotokoll erreicht werden. Bei Bedarf können Hosts zusätzliche zustandsbehaftete Adressen über das Dynamic Host Configuration Protocol Version 6 (DHCPv6) oder statische Adressen manuell konfigurieren .

Wie IPv4 unterstützt IPv6 global eindeutige IP-Adressen . Das Design von IPv6 sollte das Ende-zu-Ende-Prinzip des Netzwerkdesigns, das ursprünglich während der Etablierung des frühen Internets konzipiert wurde, neu betonen, indem die Netzwerkadressübersetzung obsolet wurde. Daher ist jedes Gerät im Netzwerk global direkt von jedem anderen Gerät aus adressierbar.

Eine stabile, eindeutige, global adressierbare IP-Adresse würde die Verfolgung eines Geräts über Netzwerke hinweg erleichtern. Daher sind solche Adressen ein besonderes Datenschutzproblem für mobile Geräte wie Laptops und Mobiltelefone. Um diese Datenschutzbedenken auszuräumen, enthält das SLAAC-Protokoll sogenannte "Datenschutzadressen" oder genauer "temporäre Adressen", die in RFC 4941 "Privacy Extensions for Stateless Address Autoconfiguration in IPv6" kodifiziert sind. Temporäre Adressen sind zufällig und instabil. Ein typisches Verbrauchergerät generiert täglich eine neue temporäre Adresse und ignoriert den Verkehr, der an eine alte Adresse adressiert ist, nach einer Woche. Temporäre Adressen werden standardmäßig von Windows ab XP SP1, macOS ab (Mac OS X) 10.7, Android ab 4.0 und iOS ab Version 4.3 verwendet. Die Verwendung temporärer Adressen durch Linux-Distributionen variiert.

Die Neunummerierung eines bestehenden Netzwerks für einen neuen Konnektivitätsanbieter mit anderen Routing-Präfixen ist bei IPv4 ein großer Aufwand. Bei IPv6 kann jedoch die Änderung des von einigen Routern angekündigten Präfixes im Prinzip ein ganzes Netzwerk umnummerieren, da die Host-Identifier (die niederwertigsten 64 Bit einer Adresse) von einem Host selbstständig selbst konfiguriert werden können.

Die SLAAC-Adressgenerierungsmethode ist implementierungsabhängig. Die IETF empfiehlt, dass Adressen deterministisch, aber semantisch undurchsichtig sind.

IPsec

Internet Protocol Security (IPsec) wurde ursprünglich für IPv6 entwickelt, fand aber zuerst in IPv4 breite Anwendung, für das es neu entwickelt wurde. IPsec war ein obligatorischer Bestandteil aller IPv6-Protokollimplementierungen, und Internet Key Exchange (IKE) wurde empfohlen, aber mit RFC 6434 wurde die Einbeziehung von IPsec in IPv6-Implementierungen auf eine Empfehlung herabgestuft, da es als unpraktisch angesehen wurde, eine vollständige IPsec-Implementierung für alle Typen zu verlangen von Geräten, die IPv6 verwenden können. Ab RFC 4301 müssen IPv6-Protokollimplementierungen, die IPsec implementieren, jedoch IKEv2 implementieren und einen Mindestsatz an kryptografischen Algorithmen unterstützen . Diese Anforderung trägt dazu bei, die Interoperabilität von IPsec-Implementierungen zwischen Geräten verschiedener Hersteller zu verbessern. Der IPsec Authentication Header (AH) und der Encapsulating Security Payload Header (ESP) sind als IPv6 Extension Header implementiert.

Vereinfachte Verarbeitung durch Router

Der Paket-Header in IPv6 ist einfacher als der IPv4-Header. Viele selten verwendete Felder wurden in optionale Header-Erweiterungen verschoben. Mit dem vereinfachten IPv6-Paket-Header wurde der Prozess der Paketweiterleitung durch Router vereinfacht. Obwohl IPv6-Paketheader mindestens doppelt so groß sind wie IPv4-Paketheader, kann die Verarbeitung von Paketen, die nur den Basis-IPv6-Header enthalten, durch Router in einigen Fällen effizienter sein, da in Routern aufgrund der Ausrichtung der Header weniger Verarbeitung erforderlich ist um gängige Wortgrößen abzugleichen . Viele Geräte implementieren jedoch IPv6-Unterstützung in Software (im Gegensatz zu Hardware), was zu einer sehr schlechten Paketverarbeitungsleistung führt. Darüber hinaus führt die Verwendung von Extension Headern bei vielen Implementierungen dazu, dass Pakete von der CPU eines Routers verarbeitet werden, was zu einer schlechten Leistung oder sogar zu Sicherheitsproblemen führt.

Außerdem enthält ein IPv6-Header keine Prüfsumme. Die IPv4-Header-Prüfsumme wird für den IPv4-Header berechnet und muss von Routern jedes Mal neu berechnet werden, wenn die Time-to-Life ( im IPv6-Protokoll als Hop-Limit bezeichnet ) um eins reduziert wird. Das Fehlen einer Prüfsumme im IPv6-Header fördert das End-to-End-Prinzip des Internet-Designs, das vorsah, dass die meiste Verarbeitung im Netzwerk in den Blattknoten stattfindet. Integritätsschutz für die Daten , die in dem IPv6 - Paket eingekapselt wird , wird davon ausgegangen , sowohl durch die sichergestellt wird Verbindungsschicht in einem höheren Schicht Protokollen oder Fehlererkennung, nämlich das Transmission Control Protocol (TCP) und das User Datagram Protocol (UDP) auf dem Transport Schicht . Während IPv4 es also erlaubt, dass UDP-Datagramm-Header keine Prüfsumme haben (angezeigt durch 0 im Header-Feld), erfordert IPv6 eine Prüfsumme in UDP-Headern.

IPv6-Router führen keine IP-Fragmentierung durch . IPv6-Hosts müssen entweder eine Pfad-MTU-Erkennung durchführen , eine Ende-zu-Ende-Fragmentierung durchführen oder Pakete senden, die nicht größer als die standardmäßige maximale Übertragungseinheit (MTU) sind, die 1280 Oktette beträgt .

Mobilität

Im Gegensatz zu mobilem IPv4 vermeidet mobiles IPv6 triangulares Routing und ist daher genauso effizient wie natives IPv6. IPv6-Router ermöglichen möglicherweise auch, dass ganze Subnetze zu einem neuen Router-Verbindungspunkt verschoben werden, ohne dass eine Neunummerierung erforderlich ist.

Erweiterungs-Header

Mehrere Beispiele für IPv6-Erweiterungsheader.

Der IPv6-Paketheader hat eine Mindestgröße von 40 Oktetten (320 Bit). Optionen sind als Erweiterungen implementiert. Dies bietet die Möglichkeit, das Protokoll in Zukunft zu erweitern, ohne die Kernpaketstruktur zu beeinträchtigen. RFC 7872 stellt jedoch fest, dass einige Netzbetreiber IPv6-Pakete mit Erweiterungsheadern verwerfen, wenn sie autonome Transitsysteme durchqueren .

Jumbogramme

IPv4 begrenzt Pakete auf 65.535 (2 16 −1) Oktette der Nutzlast. Ein IPv6-Knoten kann optional Pakete über dieser Grenze verarbeiten, die als Jumbogramme bezeichnet werden und bis zu 4.294.967.295 (2 32 –1) Oktette groß sein können . Die Verwendung von Jumbogrammen kann die Leistung über Verbindungen mit hoher MTU verbessern . Die Verwendung von Jumbogrammen wird durch den Erweiterungsheader Jumbo Payload Option angezeigt.

IPv6-Pakete

IPv6-Paket-Header

Ein IPv6-Paket besteht aus zwei Teilen: einem Header und einer Nutzlast .

Der Header besteht aus einem festen Teil mit minimaler Funktionalität, die für alle Pakete erforderlich ist, und kann von optionalen Erweiterungen gefolgt werden, um spezielle Funktionen zu implementieren.

Der feste Header belegt die ersten 40  Oktette (320 Bit) des IPv6-Pakets. Es enthält die Quell- und Zieladressen, die Verkehrsklasse, die Hop-Anzahl und den Typ der optionalen Erweiterung oder Nutzlast, die dem Header folgt. Dieses Feld Next Header teilt dem Empfänger mit, wie die Daten zu interpretieren sind, die dem Header folgen. Wenn das Paket Optionen enthält, enthält dieses Feld den Optionstyp der nächsten Option. Das Feld "Next Header" der letzten Option zeigt auf das Protokoll der oberen Schicht, das in der Nutzlast des Pakets mitgeführt wird .

Die derzeitige Verwendung des IPv6-Verkehrsklassenfelds teilt dies zwischen einem 6-Bit-Codepunkt für differenzierte Dienste und einem 2-Bit-Feld für die explizite Überlastungsbenachrichtigung auf.

Extension-Header tragen Optionen, die für eine spezielle Behandlung eines Pakets im Netzwerk verwendet werden, zB für Routing, Fragmentierung und für die Sicherheit unter Verwendung des IPsec- Frameworks.

Ohne spezielle Optionen muss eine Nutzlast kleiner als 64 kB sein . Bei einer Jumbo-Payload-Option (in einem Hop-By-Hop-Options- Erweiterungsheader) muss die Nutzlast weniger als 4 GB betragen.

Anders als bei IPv4 fragmentieren Router niemals ein Paket. Von Hosts wird erwartet, dass sie Path MTU Discovery verwenden , um ihre Pakete klein genug zu machen, um das Ziel ohne Fragmentierung zu erreichen. Siehe IPv6-Paketfragmentierung .

Adressierung

Eine allgemeine Struktur für eine IPv6-Unicast-Adresse

IPv6-Adressen haben 128 Bit. Das Design des IPv6-Adressraums implementiert eine andere Designphilosophie als bei IPv4, bei dem Subnetting verwendet wurde, um die Effizienz der Nutzung des kleinen Adressraums zu verbessern. Bei IPv6 wird der Adressraum für die absehbare Zukunft als groß genug erachtet, und ein lokales Subnetz verwendet immer 64 Bit für den Hostteil der Adresse, der als Schnittstellenkennung bezeichnet wird, während die wichtigsten 64 Bit als Routing verwendet werden Präfix. Während der Mythos existiert, dass IPv6-Subnetze nicht gescannt werden können, stellt RFC 7707 fest, dass Muster, die aus einigen IPv6-Adresskonfigurationstechniken und -algorithmen resultieren, das Adressscannen in vielen realen Szenarien ermöglichen.

Adressdarstellung

Die 128 Bit einer IPv6-Adresse werden in 8 Gruppen zu je 16 Bit dargestellt. Jede Gruppe wird als vier hexadezimale Ziffern geschrieben (manchmal Hextette oder formaler Hexadektette und informell ein Quibble oder Quad-Nibble genannt) und die Gruppen werden durch Doppelpunkte (:) getrennt. Ein Beispiel für diese Darstellung ist 2001:0db8:0000:0000:0000:ff00:0042:8329 .

Der Einfachheit und Übersichtlichkeit halber kann die Darstellung einer IPv6-Adresse mit den folgenden Regeln gekürzt werden.

  • Eine oder mehrere führende Nullen aus einer beliebigen Gruppe von hexadezimalen Ziffern werden entfernt, was normalerweise bei allen führenden Nullen der Fall ist. Beispielsweise wird die Gruppe 0042 in 42 umgewandelt .
  • Aufeinanderfolgende Nullstellen werden durch zwei Doppelpunkte (::) ersetzt. Diese darf nur einmal in einer Adresse verwendet werden, da eine Mehrfachverwendung die Adresse unbestimmt machen würde. RFC  5952 erfordert, dass kein Doppelpunkt verwendet wird, um einen ausgelassenen einzelnen Abschnitt von Nullen zu kennzeichnen.

Ein Beispiel für die Anwendung dieser Regeln:

Anfangsadresse : 2001:0db8:0000:0000:0000:ff00:0042:8329 .
Nachdem alle führenden Nullen in jeder Gruppe entfernt wurden: 2001:db8:0:0:0:ff00:42:8329 .
Nach Auslassen aufeinanderfolgender Nullstellen: 2001:db8::ff00:42:8329 .

Die Loopback-Adresse 0000:0000:0000:0000:0000:0000:0000:0001 ist in RFC  5156 definiert und wird unter Verwendung beider Regeln zu ::1 abgekürzt .

Da eine IPv6-Adresse mehr als eine Darstellung haben kann, hat die IETF einen vorgeschlagenen Standard für ihre Darstellung im Text herausgegeben .

Da IPv6-Adressen Doppelpunkte enthalten und URLs Doppelpunkte verwenden, um den Host von der Portnummer zu trennen, legt RFC2732 fest, dass eine IPv6-Adresse, die als Host-Teil einer URL verwendet wird, in eckige Klammern eingeschlossen werden sollte, z. B. http://[2001:db8 :4006:812::200e] oder http://[2001:db8:4006:812::200e]:8080/path/page.html.

Linklokale Adresse

Die Link-Local-Unicast-Adressstruktur in IPv6

Alle Schnittstellen von IPv6-Hosts benötigen eine Link-Local-Adresse . IPv6 Link-Local-Adressen haben das Präfix fe80:: / 10 . Dieses Präfix wird mit einem 64-Bit-Suffix kombiniert, das der Host selbst berechnen und/oder zuweisen kann – ohne Konfiguration und ohne Anwesenheit oder Mitwirkung einer externen Netzwerkkomponente wie einem DHCP-Server.

Die unteren 64 Bit der Link-Local-Adresse (das Suffix) wurden ursprünglich von der MAC-Adresse der zugrunde liegenden Netzwerkkarte abgeleitet. Da diese Methode der Adressenvergabe beim Austausch fehlerhafter Netzwerkkarten zu unerwünschten Adressänderungen führen würde und auch unter einer Reihe von Sicherheits- und Datenschutzproblemen litt, hat RFC 8064 die ursprüngliche MAC-basierte Methode durch die Hash-basierte Methode nach ersetzt RFC 7217.

Eindeutigkeit der Adresse und Router-Anfrage

IPv6 verwendet einen neuen Mechanismus zur Zuordnung von IP-Adressen zu Link-Layer-Adressen ( MAC-Adressen ), da es das Broadcast- Adressierungsverfahren nicht unterstützt , auf dem die Funktionalität des Address Resolution Protocol (ARP) in IPv4 basiert. IPv6 implementiert das Neighbor Discovery Protocol (NDP, ND) in der Verbindungsschicht , das auf ICMPv6 und Multicast- Übertragung beruht . IPv6-Hosts überprüfen die Eindeutigkeit ihrer IPv6-Adressen in einem lokalen Netzwerk (LAN), indem sie eine Neighbor Solicitation-Nachricht senden, die nach der Link-Layer-Adresse der IP-Adresse fragt. Wenn ein anderer Host im LAN diese Adresse verwendet, antwortet er.

Ein Host, der eine neue IPv6-Schnittstelle aufruft, generiert zuerst eine eindeutige Link-Local-Adresse unter Verwendung eines von mehreren Mechanismen, die entwickelt wurden, um eine eindeutige Adresse zu generieren. Sollte eine nicht eindeutige Adresse erkannt werden, kann der Host es erneut mit einer neu generierten Adresse versuchen. Sobald eine eindeutige Link-Local-Adresse eingerichtet ist, bestimmt der IPv6-Host, ob das LAN über diesen Link mit einer Router- Schnittstelle verbunden ist, die IPv6 unterstützt. Dazu wird eine ICMPv6-Router-Solicitation-Nachricht an die All-Router-Multicast-Gruppe mit ihrer Link-Local-Adresse als Quelle gesendet. Wenn nach einer vorgegebenen Anzahl von Versuchen keine Antwort erfolgt, kommt der Host zu dem Schluss, dass keine Router verbunden sind. Wenn er von einem Router eine Antwort erhält, die als Router-Ankündigung bekannt ist, enthält die Antwort die Netzwerkkonfigurationsinformationen, um die Einrichtung einer global eindeutigen Adresse mit einem geeigneten Unicast-Netzwerkpräfix zu ermöglichen. Es gibt auch zwei Flag-Bits, die dem Host mitteilen, ob er DHCP verwenden soll, um weitere Informationen und Adressen zu erhalten:

  • Das Manage-Bit, das angibt, ob der Host DHCP verwenden soll, um zusätzliche Adressen zu erhalten, anstatt sich auf eine automatisch konfigurierte Adresse aus der Router-Ankündigung zu verlassen.
  • Das Other-Bit, das angibt, ob der Host andere Informationen über DHCP beziehen soll oder nicht. Die anderen Informationen bestehen aus einer oder mehreren Präfix-Informationsoptionen für die Subnetze, mit denen der Host verbunden ist, einer Lebensdauer für das Präfix und zwei Flags:
    • On-Link: Wenn dieses Flag gesetzt ist, behandelt der Host alle Adressen im spezifischen Subnetz als On-Link und sendet Pakete direkt an sie, anstatt sie für die Dauer der angegebenen Lebensdauer an einen Router zu senden.
    • Adresse: Dieses Flag weist den Host an, tatsächlich eine globale Adresse zu erstellen.

Globale Adressierung

Die globale Unicast-Adressstruktur in IPv6

Das Zuweisungsverfahren für globale Adressen ähnelt dem Aufbau lokaler Adressen. Das Präfix wird von Router-Ankündigungen im Netzwerk bereitgestellt. Mehrere Präfix-Ansagen führen dazu, dass mehrere Adressen konfiguriert werden.

Stateless Address Autoconfiguration (SLAAC) erfordert einen / 64- Adressblock, wie in RFC  4291 definiert . Lokalen Internet-Registrys werden mindestens / 32 Blöcke zugewiesen , die sie auf untergeordnete Netzwerke aufteilen. Die anfängliche Empfehlung besagte die Zuweisung eines / 48- Subnetzes an Endverbraucherstandorte ( RFC  3177 ). Dies wurde durch RFC  6177 ersetzt , der "empfohlen, Home-Sites deutlich mehr als eine einzelne / 64 zu geben , aber nicht empfiehlt, auch jeder Home-Site ein / 48 zu geben ". / 56 s werden speziell berücksichtigt. Es bleibt abzuwarten, ob die ISPs dieser Empfehlung nachkommen. Beispielsweise erhielten Comcast- Kunden bei ersten Tests ein Single / 64- Netzwerk.

IPv6 im Domain Name System

Im Domain Name System (DNS) werden Hostnamen IPv6-Adressen durch AAAA ("Quad-A") Resource Records zugeordnet. Für die umgekehrte Auflösung 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. Dieses Schema ist in RFC  3596 definiert .

Wenn ein Dual-Stack-Host einen DNS-Server abfragt, um einen vollqualifizierten Domänennamen (FQDN) aufzulösen , sendet der DNS-Client des Hosts zwei DNS-Anfragen, von denen eine A-Einträge und die andere AAAA-Einträge abfragt. Das Host-Betriebssystem kann mit einer Präferenz für die Adressauswahlregeln RFC  6724 konfiguriert sein .

In frühen DNS-Implementierungen für IPv6 wurde ein alternativer Eintragstyp verwendet, der die Neunummerierung des Netzwerks, die A6- Einträge für die Vorwärtssuche und eine Reihe anderer Neuerungen wie Bit-String-Labels und DNAME- Einträge erleichtern sollte . Es ist in RFC  2874 und seinen Referenzen definiert (mit weiterer Diskussion der Vor- und Nachteile beider Schemata in RFC  3364 ), wurde jedoch auf experimentellen Status ( RFC  3363 ) eingestellt.

Übergangsmechanismen

IPv6 soll IPv4 nicht sofort ersetzen. Beide Protokolle werden noch einige Zeit gleichzeitig betrieben. Daher sind IPv6-Übergangsmechanismen erforderlich, damit IPv6-Hosts IPv4-Dienste erreichen und isolierte IPv6-Hosts und -Netzwerke einander über die IPv4-Infrastruktur erreichen können.

Laut Silvia Hagen ist eine Dual-Stack-Implementierung von IPv4 und IPv6 auf Geräten der einfachste Weg, um auf IPv6 zu migrieren. Viele andere Übergangsmechanismen verwenden Tunneling, um IPv6-Datenverkehr in IPv4-Netzwerken zu kapseln und umgekehrt. Dies ist eine unvollkommene Lösung, die die maximale Übertragungseinheit (MTU) einer Verbindung reduziert und daher die Pfad-MTU-Erkennung verkompliziert und die Latenzzeit erhöhen kann .

Dual-Stack-IP-Implementierung

Dual-Stack-IP-Implementierungen bieten vollständige IPv4- und IPv6-Protokollstapel im Betriebssystem eines Computers oder Netzwerkgeräts zusätzlich zu der üblichen Implementierung der physikalischen Schicht , wie z. B. Ethernet . Dadurch können Dual-Stack-Hosts gleichzeitig an IPv6- und IPv4-Netzwerken teilnehmen. Die Methode ist in RFC  4213 definiert .

Ein Gerät mit Dual-Stack-Implementierung im Betriebssystem hat eine IPv4- und IPv6-Adresse und kann mit anderen Knoten im LAN oder dem Internet entweder über IPv4 oder IPv6 kommunizieren. Das Domain Name System (DNS)-Protokoll wird von beiden IP-Protokollen verwendet, um vollqualifizierte Domänennamen (FQDN) und IP-Adressen aufzulösen , aber Dual Stack erfordert, dass der auflösende DNS-Server beide Arten von Adressen auflösen kann. Ein solcher Dual-Stack-DNS-Server würde IPv4-Adressen in den A-Records und IPv6-Adressen in den AAAA-Records halten. Abhängig vom aufzulösenden Ziel kann ein DNS-Nameserver eine IPv4- oder IPv6-IP-Adresse oder beides zurückgeben. Ein standardmäßiger Adressauswahlmechanismus oder ein bevorzugtes Protokoll muss entweder auf den Hosts oder auf dem DNS-Server konfiguriert werden. Die IETF hat Happy Eyeballs veröffentlicht , um Dual-Stack-Anwendungen zu unterstützen, damit sie sowohl IPv4 als auch IPv6 verwenden können, aber eine IPv6-Verbindung bevorzugen, wenn diese verfügbar ist. Allerdings muss Dual-Stack auch auf allen Routern zwischen dem Host und dem Dienst implementiert werden, für den der DNS-Server eine IPv6-Adresse zurückgegeben hat. Dual-Stack-Clients sollten nur so konfiguriert werden, dass sie IPv6 bevorzugen, wenn das Netzwerk IPv6-Pakete unter Verwendung der IPv6-Versionen der Routingprotokolle weiterleiten kann . Wenn Dual-Stack-Netzwerkprotokolle vorhanden sind , kann die Anwendungsschicht auf IPv6 migriert werden.

Während Dual-Stack von den wichtigsten Herstellern von Betriebssystemen und Netzwerkgeräten unterstützt wird , unterstützen ältere Netzwerkhardware und Server IPv6 nicht.

ISP-Kunden mit öffentlich zugänglichem IPv6

IPv6-Präfix-Zuweisungsmechanismus mit IANA, RIRs und ISPs

Internet Service Provider (ISPs) stellen ihren Geschäfts- und Privatkunden zunehmend öffentlich zugängliche globale IPv6-Unicast-Adressen zur Verfügung. Wenn jedoch im lokalen Netzwerk (LAN) immer noch IPv4 verwendet wird und der ISP nur ein öffentliches IPv6 bereitstellen kann, werden die IPv4-LAN-Adressen mithilfe von NAT64 , einem Netzwerkadressübersetzungsmechanismus (NAT), in die öffentliche IPv6- Adresse übersetzt . Einige ISPs können ihren Kunden keine öffentlich zugänglichen IPv4- und IPv6-Adressen bereitstellen und unterstützen somit Dual-Stack-Netzwerke, da einige ISPs ihren global routingfähigen IPv4-Adresspool erschöpft haben. In der Zwischenzeit versuchen ISP-Kunden immer noch, IPv4 -Webserver und andere Ziele zu erreichen .

Ein erheblicher Prozentsatz der ISPs in allen regionalen Internet-Registry- Zonen (RIR) hat IPv6-Adressraum erhalten. Dazu gehören viele der weltweit größten ISPs und Mobilfunknetzbetreiber wie Verizon Wireless , StarHub Cable , Chubu Telecommunications , Kabel Deutschland , Swisscom , T-Mobile , Internode und Telefonica .

Während einige ISPs ihren Kunden immer noch nur IPv4-Adressen zuweisen, weisen viele ISPs ihren Kunden nur IPv6 oder Dual-Stack-IPv4 und IPv6 zu. ISPs geben an, dass der Anteil des IPv6-Verkehrs von Kunden über ihr Netzwerk zwischen 20 und 40 % liegt, aber Mitte 2017 machte IPv6-Verkehr immer noch nur einen Bruchteil des Gesamtverkehrs an mehreren großen Internet Exchange Points (IXPs) aus. AMS-IX meldete 2 % und SeattleIX 7 %. Eine Umfrage aus dem Jahr 2017 ergab, dass viele DSL-Kunden, die von einem Dual-Stack-ISP bedient wurden, keine DNS-Server aufforderten, vollqualifizierte Domänennamen in IPv6-Adressen aufzulösen. Die Umfrage ergab auch, dass der Großteil des Datenverkehrs von IPv6-fähigen Webserver-Ressourcen immer noch über IPv4 angefordert und bereitgestellt wurde, hauptsächlich aufgrund von ISP-Kunden, die die von ihrem ISP bereitgestellte Dual-Stack-Funktion nicht nutzten, und in geringerem Maße aufgrund von IPv4-Kunden -nur ISPs.

Tunnelbau

Die technische Grundlage für das Tunneling oder die Kapselung von IPv6-Paketen in IPv4-Paketen ist in RFC 4213 beschrieben. Als das Internet-Backbone nur IPv4 war, war eines der am häufigsten verwendeten Tunneling-Protokolle 6to4 . Teredo-Tunneling wurde auch häufig verwendet, um IPv6-LANs mit dem IPv4-Internet-Backbone zu integrieren. Teredo wird in RFC 4380 beschrieben und ermöglicht IPv6 Local Area Networks , über IPv4-Netzwerke zu tunneln, indem IPv6-Pakete in UDP gekapselt werden. Das Teredo-Relay ist ein IPv6-Router, der zwischen einem Teredo-Server und dem nativen IPv6-Netzwerk vermittelt. Es wurde erwartet, dass 6to4 und Teredo weit verbreitet sein würden, bis ISP-Netzwerke auf natives IPv6 umstellen würden, aber bis 2014 zeigte Google Statistics, dass die Verwendung beider Mechanismen auf fast 0 gesunken war.

IPv4-abgebildete IPv6-Adressen

IPv4-kompatible IPv6-Unicast-Adresse
IPv4-zugeordnete IPv6-Unicast-Adresse

Hybride Dual-Stack-IPv6/IPv4-Implementierungen erkennen eine spezielle Klasse von Adressen, die IPv4-abgebildeten IPv6-Adressen. Diese Adressen werden typischerweise mit einem 96-Bit-Präfix im Standard-IPv6-Format geschrieben, und die restlichen 32 Bit werden in der üblichen Punkt-Dezimal-Notation von IPv4 geschrieben. IPv4-abgebildete Adressen sind in RFC  6890 Abschnitt 2.2.3 Tabelle 20 angegeben und in RFC 4291 definiert.

Adressen in dieser Gruppe bestehen aus einem 80-Bit-Präfix von Nullen, die nächsten 16 Bit sind Einsen und die verbleibenden, niederwertigsten 32 Bit enthalten die IPv4-Adresse. ::ffff:192.0.2.128 steht beispielsweise für die IPv4-Adresse 192.0.2.128. Ein anderes Format, das als "IPv4-kompatible IPv6-Adresse" bezeichnet wird, ist ::192.0.2.128; Diese Methode ist jedoch veraltet.

Aufgrund der erheblichen internen Unterschiede zwischen IPv4- und IPv6-Protokollstapeln funktionieren einige der untergeordneten Funktionen, die Programmierern im IPv6-Stapel zur Verfügung stehen, nicht gleich, wenn sie mit IPv4-zugeordneten Adressen verwendet werden. Einige gängige IPv6-Stacks implementieren die IPv4-mapped-Adress-Funktion nicht, entweder weil die IPv6- und IPv4-Stacks separate Implementierungen sind (z. B. Microsoft Windows 2000, XP und Server 2003) oder aus Sicherheitsgründen ( OpenBSD ). Auf diesen Betriebssystemen muss ein Programm für jedes verwendete IP-Protokoll einen separaten Socket öffnen. Auf einigen Systemen, zB dem Linux-Kernel , NetBSD und FreeBSD , wird diese Funktion von der Socket-Option IPV6_V6ONLY gesteuert, wie in RFC  3493 spezifiziert .

RFC  6052 definiert eine Klasse von IPv4-eingebetteten IPv6-Adressen mit dem Adresspräfix 64:ff9b::/96 zur Verwendung in NAT64- Übergangsmethoden. 64:ff9b::192.0.2.128 steht beispielsweise für die IPv4-Adresse 192.0.2.128.

Sicherheit

Aus der Verwendung von IPv6 können sich eine Reihe von Sicherheitsimplikationen ergeben. Einige von ihnen können mit den IPv6-Protokollen selbst zusammenhängen, während andere mit Implementierungsfehlern zusammenhängen.

Schattennetzwerke

Das Hinzufügen von Knoten mit standardmäßig aktiviertem IPv6 durch den Softwarehersteller kann zur unbeabsichtigten Erstellung von Schattennetzwerken führen , was dazu führt, dass IPv6-Datenverkehr in Netzwerke fließt, in denen nur IPv4-Sicherheitsmanagement vorhanden ist. Dies kann auch bei Betriebssystem-Upgrades auftreten, wenn das neuere Betriebssystem IPv6 standardmäßig aktiviert, das ältere jedoch nicht. Wenn die Sicherheitsinfrastruktur nicht aktualisiert wird, um IPv6 zu unterstützen, kann IPv6-Datenverkehr umgangen werden. Schattennetzwerke sind in Unternehmensnetzwerken aufgetreten, in denen Unternehmen Windows XP- Systeme ohne standardmäßig aktivierten IPv6-Stack durch Windows 7- Systeme ersetzen , die dies tun. Einige IPv6-Stack-Implementierer haben daher empfohlen, IPv4-zugeordnete Adressen zu deaktivieren und stattdessen ein Dual-Stack-Netzwerk zu verwenden, wo sowohl IPv4 als auch IPv6 unterstützt werden müssen.

IPv6-Paketfragmentierung

Untersuchungen haben gezeigt, dass die Verwendung von Fragmentierung genutzt werden kann, um Netzwerksicherheitskontrollen zu umgehen, ähnlich wie bei IPv4. Daher verlangt RFC  7112 , dass das erste Fragment eines IPv6-Pakets die gesamte IPv6-Header-Kette enthält, sodass einige sehr pathologische Fragmentierungsfälle verboten sind. Zusätzlich als Ergebnis der Forschung über die Umgehung von RA-Guard in RFC  7113 , RFC  6980 hat die Verwendung von Fragmentierung mit Neighbor Discovery veraltet und entmutigt die Verwendung von Fragmentierung mit Secure Neighbor Discovery (SEND).

Standardisierung durch RFCs

Vorschläge der Arbeitsgruppen

Ein Zeitplan für die Standards für IPv6

Aufgrund des erwarteten weltweiten Wachstums des Internets begann die Internet Engineering Task Force (IETF) in den frühen 1990er Jahren mit der Entwicklung eines IP-Protokolls der nächsten Generation. Anfang 1992 erschienen mehrere Vorschläge für ein erweitertes Internet-Adressierungssystem und Ende 1992 kündigte die IETF einen Aufruf zur Einreichung von Weißbüchern an. Im September 1993 richtete die IETF einen temporären Ad-hoc-Bereich für IP Next Generation (IPng) ein, um sich speziell mit solchen Problemen zu befassen. Der neue Bereich wurde von Allison Mankin und Scott Bradner geleitet und hatte eine Direktion mit 15 Ingenieuren mit unterschiedlichem Hintergrund für die Richtungssetzung und vorläufige Dokumentenprüfung: Die Mitglieder der Arbeitsgruppe waren J. Allard (Microsoft), Steve Bellovin (AT&T), Jim Bound (Digital Equipment Corporation), Ross Callon (Wellfleet), Brian Carpenter (CERN), Dave Clark (MIT), John Curran (NEARNET), Steve Deering (Xerox), Dino Farinacci (Cisco), Paul Francis (NTT), Eric Fleischmann (Boeing), Mark Knopper (Ameritech), Greg Minshall (Novell), Rob Ullmann (Lotus) und Lixia Zhang (Xerox).

Die Internet Engineering Task Force hat das IPng-Modell am 25. Juli 1994 mit der Bildung mehrerer IPng-Arbeitsgruppen angenommen. Bis 1996 wurde eine Reihe von RFCs veröffentlicht, die Internet Protocol Version 6 (IPv6) definieren, beginnend mit RFC  1883 . (Version 5 wurde vom experimentellen Internet Stream Protocol verwendet .)

RFC-Standardisierung

Der erste RFC, der IPv6 standardisierte, war der RFC  1883 im Jahr 1995, der 1998 durch RFC  2460 obsolet wurde . Im Juli 2017 wurde dieser RFC durch RFC  8200 obsolet , der IPv6 zum "Internet Standard" (dem höchsten Reifegrad für IETF-Protokolle) erhob. .

Einsatz

Die Einführung von Classless Inter-Domain Routing (CIDR) in das Routing und die IP-Adressvergabe für das Internet im Jahr 1993 und der umfassende Einsatz von Network Address Translation (NAT) verzögerten die Erschöpfung der IPv4-Adressen , um die IPv6-Bereitstellung zu ermöglichen, die Mitte begann -2000er.

Monatliche IPv6-Zuweisungen pro regionaler Internet-Registrierungsstelle (RIR)

Universitäten gehörten zu den ersten Anwendern von IPv6. Virginia Tech führte IPv6 2004 an einem Teststandort ein und erweiterte später die IPv6 - Bereitstellung im gesamten Campus - Netzwerk . Bis 2016 nutzten 82 % des Datenverkehrs in ihrem Netzwerk IPv6. Das Imperial College London begann 2003 mit der experimentellen Bereitstellung von IPv6 und bis 2016 lag der IPv6-Datenverkehr in ihren Netzwerken im Durchschnitt zwischen 20 und 40 %. Ein erheblicher Teil dieses IPv6-Datenverkehrs wurde durch ihre Zusammenarbeit mit CERN in der Hochenergiephysik generiert , die vollständig auf IPv6 beruht.

Das Domain Name System (DNS) unterstützt IPv6 seit 2008. Im selben Jahr wurde IPv6 erstmals bei einem großen Weltereignis während der Olympischen Sommerspiele 2008 in Peking eingesetzt .

Bis 2011 verfügten alle wichtigen Betriebssysteme, die auf PCs und Serversystemen verwendet werden, über IPv6-Implementierungen in Produktionsqualität. Mobilfunksysteme stellten ein großes Einsatzfeld für Internet Protocol-Geräte dar, da der Mobilfunkdienst den Übergang von 3G- zu 4G- Technologien vollzog , bei denen Sprache als Voice-over-IP (VoIP)-Dienst bereitgestellt wird, der IPv6-Verbesserungen nutzen würde. Im Jahr 2009 veröffentlichte der US-Mobilfunkbetreiber Verizon technische Spezifikationen für Geräte, die in seinen Netzen der „nächsten Generation“ betrieben werden sollen. Die Spezifikation verlangte den IPv6-Betrieb gemäß den 3GPP Release 8 Specifications (März 2009) und verwarf IPv4 als optionale Funktion.

Der Einsatz von IPv6 im Internet-Backbone wurde fortgesetzt. Im Jahr 2018 haben nur 25,3% der rund 54.000 autonomen Systeme sowohl IPv4- als auch IPv6-Präfixe in der globalen Routing-Datenbank des Border Gateway Protocol (BGP) angekündigt. In weiteren 243 Netzen wurde nur ein IPv6-Präfix angekündigt. Internet-Backbone-Transitnetze mit IPv6-Unterstützung gab es in jedem Land weltweit, außer in Teilen Afrikas , des Nahen Ostens und Chinas. Bis Mitte 2018 hatten einige große europäische Breitband- ISPs IPv6 für die Mehrheit ihrer Kunden implementiert. British Sky Broadcasting versorgte über 86 % seiner Kunden mit IPv6, die Deutsche Telekom nutzte IPv6 zu 56 %, XS4ALL in den Niederlanden zu 73 % und in Belgien die Breitband-ISPs VOO und Telenet zu 73 % bzw. 63 % IPv6. In den Vereinigten Staaten hatte der Breitband-ISP Comcast eine IPv6-Implementierung von etwa 66 %. Im Jahr 2018 meldete Comcast schätzungsweise 36,1 Millionen IPv6-Benutzer, während AT&T 22,3 Millionen IPv6-Benutzer meldete.

Siehe auch

Verweise

Externe Links