Computerpartner

Sie befinden sich hier: HOMENachrichtenKnow HowIT-Grundlagen
24.08.2017

IPv10: Lösung der IP-Adressprobleme

Das Internet Protokoll Version 10 (IPv10) ist auf dem Weg zum Standard.

Mathias Hein

Nach mehr als 14 Jahren, seit die erste Version des IPv6-Protokolls von der Internet Engineering Task Force (IETF) verabschiedet wurde, hat sich dieses Protokoll noch immer nicht durchgesetzt. Inzwischen gibt es weltweit zu viele IP-Endgeräte. Folglich gibt es beim klassischen IPv4-Protokoll zu wenige Adressen. Die "alte" IP Version 4 (IPv4) sollte durch IP Version 6 (IPv6) ersetzt werden. IPv6 bietet jedoch keine signifikanten "must have" Features, um eine Migration auf eine neue IP-Version zu beschleunigen. Den Umstieg zwischen den unterschiedlichen IP-Protokollen soll jetzt die IP-Version 10 (IPv10) erleichtern.

Vorgeschichte

Das globale Internet mit seinen angeschlossenen Netzwerken wird für die Kommunikation einer Vielzahl unterschiedlichster Systeme genutzt. Diese nutzen für die Kommunikation ein eindeutiges Protokoll und globale, eindeutige Adressen. Die Kommunikationsmechanismen und die eindeutigen Adressen sind im Internet Protocol (IP) festgelegt. Die erste praxisrelevante Version des Internet Protokolls wird als IPv4 bezeichnet und basiert auf dem ende der 1980er Jahre entwickelten Kommunikationsvisionen. Der damals für die "Ewigkeit" festgelegte Adressraum bestand aus 32 Bit und ermöglichte die Adressierung von etwa 4,3 Milliarden öffentliche IP-Geräten. Da Mitte der 1990er Jahre die Anzahl der im Internet integrierten Rechner extrem stark anstieg – und dadurch die IP-Adressen auszugehen drohten – wurden drei kurzfristige Lösungen (CIDR, Private Addressing und NAT) gegen die Adressverknappung veröffentlicht. Aber auch diese Maßnahmen halfen nur temporär, denn im Februar 2011 verkündete die IANA die Erschöpfung des kompletten IPv4-Adressraums.

Als langfristige Lösung gegen die Adressverknappung wurde die IP Version 6 (IPv6) ab Mitte der 1990er Jahre entwickelt und seit mehr als 20 Jahren offiziell eingeführt. Diese IP-Variante nutzt 128 Bit lange Adresse und kann daher eine riesige Anzahl von eindeutigen IP-Adressen bereitstellen. Eine großflächige Migration von IPv4 zu IPv6 fand jedoch nicht statt. Meist behalfen sich die Unternehmen mit den privaten IP-Adressen und dem Network Address Translation (NAT) über den Adressmangel hinweg. Da keine vollständige Migration des Internets auf IPv6 absehbar war, drohte ein Aufbrechen des Internets in zwei Teile. Langsam wurde den Verantwortlichen dieses Problem bewusst und die Notwendigkeit einer IPv4/IPv6 Koexistenz erkannt. Es wurden beispielsweise die folgenden Migrationslösungen entwickelt:

  • IPv4 / IPv6 Dual Stacks: Ermöglicht die Kommunikation eines Rechners sowohl auf Basis des IPv4-Protokolls als auch des IPv6-Protokolls. Eine direkte Kommunikation eines IPv4-Rechners zu einem IPv6-Rechner (bzw. umgekehrt) ist nicht möglich.
  • Tunnel: Ermöglicht die Kommunikation zwischen IPv6-Hosts (bzw. IPv4-) über ein IPv4- (bzw. IPv6) Netzwerk. . Eine direkte Kommunikation eines IPv4-Rechners zu einem IPv6-Rechner (bzw. umgekehrt) ist nicht möglich.
  • NAT-PT und NAT64: NAT-PT sollte ursprünglich mit Hilfe der DNS-Mechanismen für eine direkte Kommunikation zwischen IPv6-Hosts und IPv4-Hosts sorgen. Dieser Mechanismus stellte sich jedoch in der Praxis als zu ineffizient und komplex heraus. Im RFC 2766 wurde deshalb der NAT-PT-Mechanismus als nicht mehr anwendbar (historic) erklärt. Auch der NAT64-Mechanismus erfordert viele Protokollübersetzungsfunktionen und viele statisch konfigurierte Übersetzungsverfahren, was die beteiligten Kommunikationsprozesse kompliziert macht.

Internet Protokoll Version 10 (IPv10)

Das neue IP Version 10 (IPv10) wurde inzwischen als Draft (https://tools.ietf.org/html/draft-omar-ipv10-01 ) veröffentlicht und löst das Problem, dass niemals Rechner mit unterschiedlichen Protokollversionen (IPv6 ßà mit IPv4) kommunizieren können. Dabei ist es egal, ob bei der IP-Kommunikation die realen IP-Adressen oder die logischen Rechnernamen (DNS) zwischen IPv10-Hosts genutzt werden. Bei diesem Lösungsansatz entfällt die Notwendigkeit für eine Protokollübersetzung. In einem IPv10-Paket können in einem Header beide IP-Versionen (Mischung aus IPv4 und IPv6-Adressen) enthalten sein. Somit erklärt sich auch der Name des Protokolls: IPv6 + IPv4 = IPv10. Daraus ergeben sich folgende Vorteile:

  • Einführung einer effizienten Kommunikation zwischen IPv6-Hosts und IPv4-Hosts.
  • Ermöglicht die Kommunikation von IPv4-Hosts zu IPv6-Hosts auch nach der Ausschöpfung des kompletten IPv4-Adressraums.
  • Agiert gegenüber früheren Lösungen erheblich flexibler, da bei einer Anfrage (per Hostnamen) an ein DNS-System nur die IPv4- bzw. IPv6-Adresse (IPv6: AAAA-Record bzw. IPv4: A Record) übermittelt werden muss.
  • Es entfällt die Notwendigkeit über eine Migration nachzudenken, da sowohl IPv4- als auch IPv6-Adressräume.
  • Eine IPv10-Unterstützung kann auf allen Rechnern in sehr kurzer Zeit durch die Installation eines IPv10-Stacks realisiert werden.

IPv10 ermöglich die folgenden Kommunikationsarten zwischen Rechnern:

  • IPv6-Hosts zu IPv4-Hosts (6 zu 4)
  • IPv4-Hosts zu IPv6-Hosts (4 zu 6)
  • IPv6-Hosts zu IPv6-Hosts (6 zu 6)
  • IPv4-Hosts zu IPv4-Hosts (4 zu 4)

Kommunikation IPv6- mit einem IPv4-Rechner

Die folgende Abbildung zeigt die IPv6-Absende- und die IPv4-Zieladressfelder eines IPv10-Pakets:

128 Bit

32 Bit

 

Source IPv6

Destination IPv4

Daten

IPv10 Header

 

IPv6-Absende- und die IPv4-Zieladressfelder im IPv10-Header

Bei der Zieladresse handelt es sich um ein 128 Bit langes Feld. Handelt es sich bei der Zieladresse um einen IPv4-Rechner, werden die ersten 96 Bits des Zieladressfelds mit 0-Werten gefüllt. Der verbleibende Teil (32 Bit) der Zieladresse entspricht der IPv4-Adresse des Zielrechners.

Die IPv10 TCP / IP-Konfiguration auf dem sendenden Rechner lautet wie folgt:

  • IP-Adresse: IPv6-Adresse
  • Präfix Länge: /Länge
  • Standard-Gateway: IPv6-Adresse (optional)
  • DNS-Adressen: IPv6 / IPv4-Adressen

Im IPv10-Betrieb verhält sich der IP-Mechanismus wie folgt:


Kommunikation IPv6- mit einem IPv4-Rechner

Kommunikation zwischen einem IPv4- mit einem IPv6-Rechner

Die folgende Abbildung zeigt die IPv4-Absende- und die IPv6-Zieladressfelder eines IPv10-Pakets:

32 Bit

128 Bit

 

Source IPv4

Destination IPv6

Daten

IPv10 Header

 

IPv4-Absende- und die IPv6-Zieladressfelder im IPv10-Header

Beim Feld Absenderadresse handelt es sich bei IPv10 um ein 128 Bit langes Feld. Handelt es sich beim Absender des Pakets um einen IPv4-Rechner, dann werden die ersten 96 Bit der  Quelladresse mit 0-Werten gefüllt. Die verbleibenden 32 Bit der Absenderadresse entsprechen der IPv4-Quelladresse.

Die IPv10 TCP/IP-Konfiguration auf dem sendenden Rechner lautet wie folgt:

  • IP-Adresse: IPv4-Adresse
  • Subnetzmaske: Maske
  • Standard-Gateway: IPv4-Adresse
  • DNS-Adressen: IPv6/IPv4-Adressen

Im IPv10-Betrieb verhält sich der IP-Mechanismus wie folgt:


Kommunikation zwischen einem IPv4- mit einem IPv6-Rechner

Kommunikation zwischen zwei IPv6-Rechnern

Die folgende Abbildung zeigt IP-Adressen im IPv10-Paket:

128 Bit

128 Bit

 

Source IPv6

Destination IPv6

Daten

IPv10 Header

 

IPv6-Adressen im IPv10-Header

Kommunikation zwischen zwei IPv4-Rechnern

Die folgende Abbildung zeigt IPv4-Adressen im IPv10-Header:

32 Bit

32 Bit

 

Source IPv4

Destination IPv4

Daten

IPv10 Header

 

IPv4-Adressen im IPv10-Header

Der IPv10 Paketheader

0

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

3

 

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

Version

Priority

Flow Label

Payload Length

Next Header

Hop Limit

 

Source Adresse

 

 

 

Destination Adresse

 

 

IPv10 Header-Format

Ein IPv10 Header besteht aus folgenden Feldern:

Version (4 Bit): Das Versionsfeld gibt die verwendete Version des IP Headers an. Folgende Werte wurden für IPv10 festgelegt.

  • 0100: IPv4 Paket (Quell- und Zieladressen entsprechen IPv4)
  • 0110: IPv6 Paket (Quell- und Zieladressen entsprechen IPv6)
  • 1010: IPv10 Paket (Quell- und Zieladressen entsprechen IPv4/IPv6)

Priority (8-Bits): Definiert den Prioritätswert des jeweiligen Pakets.

Flow Label (20 Bits): Definiert die spezielle Behandlung bei der Übermittlung des jeweiligen Pakets.

Payload Length (16 Bit): Die Payload Länge gibt die auf den IPv6-Header folgenden Rest des Pakets in Anzahl der darin enthaltenen Oktetts an. Wird dieses Feld auf den Wert = 0 gesetzt, so wird signalisiert, dass die Payload Länge als Funktion der Jumbo Payload Hop-by-Hop Option dargestellt wird.

Next Header (8 Bit): Im Protokollfeld wird definiert, welches höhere Protokoll als nächstes dem Datenteil vorangestellt ist. Die den höheren Protokollen zugeteilten Nummern werden in den sogenannten Assigned Internet Protocol Numbers veröffentlicht.

Hop Limit (8 Bit): Das Hop Limit-Feld definiert die verbleibende Lebensdauer eines Datagramms im Netz. Fällt der Wert auf Null, muss das Datagramm zerstört werden. Als Basis der Hop Limit-Funktion dient der Begriff Hop. Ein Hop beschreibt den Sprung von einem Netz zu einem anderen Netz der mit Hilfe eines Routers durchgeführt wird. Bei jeder Übertragung durch einen Router wird dieser Wert um mindestens eine Einheit herabgesetzt.

IP Source Adresse (128 Bit): Das IP Source Adressfeld enthält die Internet-Adresse des Rechners, der das Datagramm erzeugt hat.

96 Bit

32 Bit

000 .......0

IP Version 4

IPv10-Source Adressfeld mit integrierter IPv4-Adresse

128 Bit

IP Version 6

IPv10-Source Adressfeld mit integrierter IPv6-Adresse

IP Destination Adresse (128 Bit): Enthält die Internet Adresse des Rechners, für den das Datagramm bestimmt ist. Die Codierung der IP Destination Adresse erfolgt hexadezimal.

96 Bit

32 Bit

000 .......0

IP Version 4

IPv10-Destinion Adressfeld mit integrierter IPv4-Adresse

128 Bit

IP Version 6

IPv10-Destinion Adressfeld mit integrierter IPv6-Adresse

Routing-Mechanismen

In der Praxis müssen zur Vermittlung der IPv10-Pakete in den Routern das IPv4- und das IPv6-Routing aktiviert. Empfängt ein Router ein IPv10-Paket, muss dieser die spezifische IPv6 bzw. IPv4-Routingtabelle nutzen und das Paket entsprechend der darin enthaltenen Zieladresse weiterleiten. Enthält ein empfangenes IPv10-Paket eine IPv4-Adresse im Zieladressenfeld, nutzt der Router die IPv4-Routingtabelle zur Weiterleitung des Pakets in Richtung des Zielrechners. Entsprechend nutzt der Router beim Empfang eines IPv10-Pakets mit integrierter IPv6-Adresse im Zieladressenfeld das IPv6 Routing zur Weiterleitung des betreffenden Pakets in Richtung des Ziels.

IPv10 in Kombination mit DNS

Die folgende Abbildung zeigt die Zusammenarbeit zwischen IPv10 und dem Domain Name Service (DNS):

  

IPv10 in Kombination mit DNS

Fazit

Die vorgestellte neue Version 10 des IP-Protokolls bietet einen Ausweg aus dem Migrationsdilemma von IPv4 auf IPv6. Die IP-Prinzipien (Einfachheit und Minimalismus) bleiben bei diesem Lösungsansatz gewahrt. Es bleibt jedoch abzuwarten, ob diese IP-Variante zum Stein der Weisen wird und das Internet für zukünftige Anforderungen rüstet.

 +