Übersicht zum Internetprotokoll Version 6 (IPv6)

Beim Internetprotokoll Version 6 (IPv6) handelt es sich um eine neue Standardprotokollsammlung für die Netzwerkebene des Internets. IPv6 wurde entwickelt, um viele der Probleme der aktuellen Version der Internetprotokollsammlung (IPv4) hinsichtlich Adressenknappheit, Sicherheit, automatischer Konfiguration, Erweiterbarkeit usw. zu lösen. IPv6 erweitert die Funktionen des Internets, um neue Arten von Anwendungen zu ermöglichen, einschließlich Peer-zu-Peer-Anwendungen und mobile Anwendungen. Nachfolgend sind die Hauptprobleme des aktuellen IPv4-Protokolls aufgelistet:

  • Schnelle Erschöpfung des Adressraums

    Dies hat zur Verwendung von Netzwerkadressübersetzungen (NATs, Network Address Translators) geführt, wodurch mehrere private Adressen einer einzelnen IP-Adresse zugeordnet werden. Die wichtigsten dadurch entstandenen Probleme sind Mehraufwand und Verlust von End-to-End-Verbindungen.

  • Fehlende hierarchische Unterstützung

    Aufgrund seiner inhärenten Organisation in vordefinierte Klassen verfügt IPv4 über keine echte hierarchische Unterstützung. Die IP-Adressen können unmöglich so strukturiert werden, dass sie der tatsächlichen Netzwerktopologie entsprechen. Durch diesen entscheidenden Entwurfsfehler sind umfangreiche Routingtabellen notwendig, um IPv4-Pakete an einem beliebigen Speicherort im Internet bereitzustellen.

  • Komplexe Netzwerkkonfiguration

    Mit IPv4 müssen Adressen statisch oder mithilfe eines Configuration-Protokolls, wie z.B. DHCP, zugewiesen werden. Idealerweise sollten Hosts nicht auf die Verwaltung einer DHCP-Infrastruktur vertrauen müssen. Sie sollten stattdessen selbst Konfigurationen basierend auf dem Netzwerksegment, in dem sie sich befinden, vornehmen können.

  • Fehlende integrierte Authentifizierung und Vertraulichkeit

    IPv4 benötigt keine Unterstützung für Mechanismen zum Authentifizieren oder Verschlüsseln der ausgetauschten Daten. Dies ändert sich mit IPv6. Internetprotokollsicherheit (IPSec, Internet Protocol Security) ist eine Supportanforderung von IPv6.

Eine neue Protokollsammlung muss die folgenden grundlegenden Anforderungen erfüllen:

  • umfangreiches Routing und Adressierung mit geringem Mehraufwand
  • automatische Konfiguration für verschiedene Verbindungssituationen
  • integrierte Authentifizierung und Vertraulichkeit

IPv6-Adressierung

Bei IPv6 sind Adressen 128 Bit lang. Ein Grund für solch einen großen Adressbereich ist das Unterteilen der verfügbaren Adressen in eine Hierarchie von Routingdomänen, die die Topologie des Internets widerspiegeln. Ein weiterer Grund ist das Zuordnen der Adressen des Netzwerkadapters (oder der Netzwerkschnittstellen), die Geräte mit dem Netzwerk verbinden. IPv6 verfügt über die inhärente Funktion, Adressen auf ihrer niedrigsten Ebene aufzulösen, bei der es sich um die Ebene der Netzwerkschnittstelle handelt. Weiterhin verfügt es über Funktionen zur automatischen Konfiguration.

Textdarstellung

Die folgenden drei konventionellen Formate werden verwendet, um die IPv6-Adressen als Textzeichenfolgen darzustellen:

  • Hexadezimalformat mit Doppelpunkt:

    Dies ist die bevorzugte Methode: n:n:n:n:n:n:n:n. Jedes n stellt den Hexadezimalwert eines der acht 16-Bit-Elemente der Adresse dar. Beispiel: 3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562.

  • Komprimiertes Format:

    Aufgrund der Adresslänge ist es üblich, dass die Adressen lange Zeichenfolgen enthalten, die aus Nullen (0) bestehen. Verwenden Sie das komprimierte Format, um das Schreiben dieser Adressen zu vereinfachen. Dabei wird eine einzelne zusammenhängende Folge von 0-Blöcken durch zwei Doppelpunkte (::) dargestellt. Dieses Symbol kann in einer Adresse nur einmal vorkommen. Die Multicastadresse FFED:0:0:0:0:BA98:3210:4562 ist in komprimierter Form zum Beispiel FFED::BA98:3210:4562. Die Unicastadresse 3FFE:FFFF:0:0:8:800:20C4:0 ist in komprimierter Form 3FFE:FFFF::8:800:20C4:0. Die Loopbackadresse 0:0:0:0:0:0:0:1 im komprimierten Format lautet ::1. Die nicht definierte Adresse 0:0:0:0:0:0:0:0 ist in komprimierter Form ::.

  • Gemischtes Format:

    Dieses Format kombiniert IPv4- und IPv6-Adressen. In diesem Fall lautet das Adressformat n:n:n:n:n:n:d.d.d.d. Jedes „n“ stellt die Hexadezimalwerte der 6 oberen Elemente der 16-Bit-Adresse der IPv6 dar und jedes „d“ den Dezimalwert der IPv4-Adresse.

Adresstypen

Die führenden Werte in der Adresse definieren den spezifischen IPv6-Adresstyp. Das Feld mit variabler Länge, das diese führenden Bits enthält, wird als Formatpräfix (FP) bezeichnet.

Eine IPv6-Unicastadresse ist in zwei Teile unterteilt. Der erste Teil enthält das Adresspräfix, und der zweite Teil enthält den Schnittstellenbezeichner. Bei Folgendem handelt es sich um eine präzise Methode, um die Kombination aus einer IPv6-Adresse und einem Präfix auszudrücken: IPv6-Adresse/Präfixlänge.

Das folgende Beispiel enthält eine Adresse mit einem 64-Bit-Präfix.

3FFE:FFFF:0:CD30:0:0:0:0/64.

Das Präfix in diesem Beispiel ist 3FFE:FFFF:0:CD30. Die Adresse kann auch in einem komprimierten Format (3FFE:FFFF:0:CD30::/64) geschrieben werden.

IPv6 definiert die folgenden Adresstypen:

  • Unicastadresse:

    Ein Bezeichner für eine einzelne Schnittstelle. Ein Paket, das an diese Adresse gesendet wird, wird an die angegebene Schnittstelle übermittelt. Die Unicastadressen werden von den Multicastadressen durch den Wert des oberen Oktetts unterschieden. Das obere Oktett der Multicastadressen hat den Hexadezimalwert von FF. Jeder andere Wert für dieses Oktett bezeichnet eine Unicastadresse. Es gibt folgende verschiedene Typen von Unicastadressen:

    • Verbindungslokale Adressen:

      Diese Adressen werden in einem einzigen Link verwendet und weisen folgendes Format auf: FE80::*InterfaceID*. Verbindungslokale Adressen werden zwischen Knoten auf einem Link zur automatischen Adresskonfiguration und Nachbarsuche verwendet oder wenn keine Router vorhanden sind. Eine verbindungslokale Adresse wird in erster Linie beim Start verwendet und wenn das System noch keine größeren Adressen abgerufen hat.

    • Standortlokale Adressen:

    Diese Adressen werden an einem einzigen Standort verwendet und weisen folgendes Format auf: FEC0::*SubnetID*:*InterfaceID*. Die standortlokalen Adressen werden für die Adressierung innerhalb eines Standorts verwendet, wenn kein globales Präfix benötigt wird.

    • Globale IPv6-Unicastadressen:

    Diese Adressen können im gesamten Internet verwendet werden und weisen folgendes Format auf: *GlobalRoutingPrefix*::*SubnetID*:*InterfaceID*.

  • Multicastadresse:

    Ein Bezeichner für eine Reihe von Schnittstellen, die normalerweise zu den unterschiedlichen Knoten gehören. Ein Paket, das an diese Adresse gesendet wird, wird an alle von der Adresse angegebenen Schnittstellen gesendet. Die Multicastadresstypen ersetzen die IPv4-Broadcastadressen.

  • Anycastadresse:

    Ein Bezeichner für eine Reihe von Schnittstellen, die normalerweise zu den unterschiedlichen Knoten gehören. Ein Paket, das an diese Adresse gesendet wird, wird nur an eine von der Adresse angegebenen Schnittstellen gesendet. Dabei handelt es sich um die Schnittstelle, die von den Routingmetriken als die nächstgelegene angegeben wird. Anycastadressen werden aus dem Unicastadressraum erstellt und sind syntaktisch nicht unterscheidbar. Die adressierte Schnittstelle nimmt die Unterscheidung zwischen Unicast- und Anycastadressen als Funktion ihrer Konfiguration vor.

Im Allgemeinen verfügt der Knoten immer über eine verbindungslokale Adresse. Er kann auch über eine standortlokale Adresse und eine oder mehrere globale Adressen verfügen.

IPv6-Routing

Der flexible Routingmechanismus ist ein Vorteil von IPv6. Aufgrund der Art, wie IPv4-Netzwerk-IDs zugeordnet wurden und werden, müssen große Routingtabellen von den Routern verwaltet werden, die sich auf den Internetbackbones befinden. Diese Router müssen alle Routen zum Weiterleiten von Paketen kennen, die eventuell zu einem beliebigen Knoten im Internet weitergeleitet werden. IPv6 ermöglicht flexiblere Adressen durch seine Fähigkeit zum Aggregieren von Adressen und reduziert die Größe von Routingtabellen drastisch. In dieser neuen Adressarchitektur müssen zwischengeschaltete Router nur den lokalen Teil ihres Netzwerks nachverfolgen, um Nachrichten korrekt weiterzuleiten.

Nachbarsuche

Im Folgenden finden Sie einige der Features, die von der Nachbarsuche bereitgestellt werden:

  • Routersuche: Dadurch können Hosts lokale Router identifizieren.
  • Adressauflösung: Dadurch können Knoten eine Verbindungsschichtadresse für eine entsprechende Adresse für den nächsten Hop auflösen – ein Ersatz für das Address Resolution-Protokoll [ARP].
  • Automatische Adresskonfiguration: Dadurch können Hosts automatisch standortlokale und globale Adressen konfigurieren.

Die Nachbarsuche verwendet das Internet Control Message-Protokoll für IPv6-Nachrichten (ICMPv6), die Folgendes enthalten:

  • Routerankündigung: Wird von einem Router auf pseudoperiodischer Basis oder als Antwort auf eine Routeranforderung versendet. IPv6-Router verwenden Routerankündigungen, um ihre Verfügbarkeit, ihre Adresspräfixe und andere Parameter anzukündigen.
  • Routeranforderung: Wird von einem Host gesendet, um von den Routern auf einem Link eine sofortige Routerankündigung anzufordern.
  • Nachbaranforderung: Wird von Knoten für die Adressauflösung gesendet, für die Erkennung doppelter Adressen oder für das Überprüfen, ob ein Nachbar weiterhin erreichbar ist.
  • Nachbarankündigung: Wird von Knoten gesendet, um auf eine Nachbaranforderung zu reagieren oder Nachbarn über eine Änderung in der Verbindungsschichtadresse zu informieren.
  • Weiterleitung: Wird von Routern gesendet, um eine bessere Adresse für den nächsten Hop für ein bestimmtes Ziel eines Sendeknotens anzugeben.

Automatische IPv6-Konfiguration

Ein wichtiges Ziel von IPv6 ist die Unterstützung von Plug & Play für Knoten. Das bedeutet, dass es möglich sein soll, dass ein Knoten in ein IPv6-Netzwerk eingeführt und dann automatisch ohne Benutzereingriff konfiguriert wird.

Automatische Konfigurationstypen

IPv6 unterstützt die folgenden Typen der automatischen Konfiguration:

  • Zustandsbehaftete automatische Konfiguration:

    Diese Art der Konfiguration erfordert ein gewisses Maß an Benutzereingriff, da ein Server mit einem Dynamic Host Configuration-Protokoll für IPv6 (DHCPv6) für die Installation und Verwaltung der Knoten benötigt wird. Der DHCPv6-Server führt eine Liste von Knoten, für die er Konfigurationsinformationen bereitstellt. Er verwaltet auch Statusinformationen, sodass der Server weiß, wie lange jede Adresse verwendet wird und wann diese für eine Neuzuweisung verfügbar ist.

  • Zustandslose automatische Konfiguration:

    Diese Art der Konfiguration ist für kleine Organisationen und Einzelpersonen geeignet. In diesem Fall bestimmt jeder Host seine Adressen aus den Inhalten der empfangenen Routerankündigungen. Wenn der IEEE EUI-64-Standard verwendet wird, um die Netzwerk-ID einer Adresse zu definieren, empfiehlt es sich, die Eindeutigkeit der Hostadresse auf dem Link anzunehmen.

Unabhängig davon, wie die Adresse bestimmt wird, muss der Knoten überprüfen, dass die potenzielle Adresse für den lokalen Link eindeutig ist. Dies erfolgt, indem eine Nachbaranfrage eine Nachricht an die potenzielle Adresse sendet. Wenn der Knoten eine Antwort empfängt, weiß er, dass die Adresse bereits verwendet wird und er eine andere Adresse bestimmen muss.

IPv6-Mobilität

Durch die weite Verbreitung mobiler Geräte wurde eine neue Anforderung nötig: Ein Gerät muss dazu in der Lage sein, seinen Standort beliebig im IPv6-Internet zu ändern und dennoch seine bestehenden Verbindungen beizubehalten. Zur Gewährleistung dieser Funktionalität wird einem mobilen Knoten eine Privatadresse zugewiesen, über die er immer erreicht werden kann. Wenn der mobile Knoten zuhause ist, verbindet er sich mit dem Privatlink und verwendet seine Privatadresse. Wenn der mobile Knoten sich nicht an der Privatadresse befindet, überträgt ein eigener Agent – üblicherweise ein Router – Nachrichten zwischen dem mobilen Knoten und den Knoten, mit denen dieser kommuniziert.

Deaktivieren oder Aktivieren von IPv6

Um das IPv6-Protokoll verwenden zu können, stellen Sie sicher, dass eine Betriebssystemversion ausgeführt wird, die IPv6 unterstützt. Stellen Sie zudem sicher, dass das Betriebssystem und die Netzwerkklassen ordnungsgemäß konfiguriert sind.

Konfigurationsschritte

In der folgenden Tabelle werden verschiedene Konfigurationen aufgelistet:

Betriebssystem-IPv6 aktiviert? Code-IPv6 aktiviert? BESCHREIBUNG
❌ Nein ❌ Nein Kann IPv6-Adressen analysieren.
❌ Nein ✔️ Ja Kann IPv6-Adressen analysieren.
✔️ Ja ❌ Nein Kann IPv6-Adressen analysieren und mithilfe von nicht als veraltet markierten Methoden zur Namensauflösung auflösen.
✔️ Ja ✔️ Ja Kann IPv6-Adressen analysieren und mithilfe von allen Methoden auflösen, einschließlich der als veraltet markierten Methoden.

IPv6 ist standardmäßig aktiviert. Verwenden Sie die Umgebungsvariable DOTNET_SYSTEM_NET_DISABLEIPV6, um diese Option in einer Umgebungsvariablen zu konfigurieren. Weitere Informationen finden Sie unter .NET-Umgebungsvariablen: DOTNET_SYSTEM_NET_DISABLEIPV6.

Siehe auch