Netzwerk Grundlagen

IP - AdressenWAN-TechnikZahlensystemBinärzahlenDezimalzahlHexadezimalProtokollstapel

IP-Adressen IPv6

Das Internet Engineering Task Force (IETF) hatte sich bereits ab 1990 Gedanken gemacht einen Nachfolger von IPv4 zu entwickeln, die alle Nachteile von IPv4 beseitigen soll und weitere neue Funktionen mitbringt.

Wie schon seit langer Zeit bekannt ist, werden aufgrund der stetig ansteigenden Internetgeräte die IP-Adressen immer weniger. Ebenso hatte auch IPv4 so seine Nachteile, weshalb es dringend notwendig war einen neuen Standard ins Leben zu rufen.

Und warum nicht IPv5?

Aufgrund eines Streaming-Protocol (was nie eingesetzt wurde) in RFC was IPv5 genannt wurde und deshalb konnte der Name IPv5 nicht verwendet werden.

Weitere Informationen

RFC-Editor (rfc1819): IPv5

Probleme bei IPv4

  • Trotz Subneting -> Adressenknappheit (4,3 Milliarden = 4.300.000.000);
  • Routingprobleme;
  • Analyse von Netzkennung und Hostkennung;
  • Starre Klasseneinteilung von IP-Adressen;

Vorteile durch IPv6

  • Der Adressenraum wird extrem erweitert. (340 Sextillionen = 340.000.000.000.000.000.000.000.000.000.000.000.000) Dies entspricht 600 Billionen Adressen pro mm² auf der Erdoberfläche.
  • Automatische Konfiguration von IP-Adressen;
  • Verschlüsselung von IP-Adressen (IPSec)
  • Überprüfung der IP-Adressen auf Authentizität (IPSec);
  • Schnelleres Routing;
  • Verfügbare Multicast-Adressen;
  • Ein IP-Datenpaket darf 4Gb groß sein;

Die IPv6-Adresse

Die Unterschiede in der Darstellung einer IPv6-Adresse gegenüber der IPv4-Adresse:

IPv4
Schreibweise: dezimal
Adressenlänge: 32 Bit
Blöcke: 4 je 8 Bit (xxxx.xxxx.xxxx.xxxx)
Blocktrennung: (.)

IPv6
Schreibweise: Hexadezimal
Adressenlänge: 128 Bit Blöcke: 8 je 16 Bit Hex (xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx)
Blocktrennung: (:)

Die Organisation "Regional Internet Registry (RAR)" ist für die Vergabe von IPv6-Adrssen zuständig von der auch die Internetprovider die ersten 48 Bit (Standortpräfix) beziehen.

Die IPv6-Adresse unterteilt sich auch in Segmente wie die altbekannte IPv4-Adresse (Netzwerk-ID, Host-ID), jedoch mit anderen Bezeichnungen.

  1. Präfix-ID
  2. Teilnetz-ID
  3. Schnittstellen-ID
IPv6 Adressenaufbau
Der Aufbau einer IPv6-Adresse

Die Adresse

2001:0bd5:20a4:1918:020c:f1ff:0080:c1d8

Der Internet-Provider (ISP) erhielt von Regional Internet Registry (RIR) das Netz: 2001:0db5::/32
Der Nutzer erhielt vom Internet-Provider (ISP): 2001:0db5:20a4::/48 oder bei größeren Netzen 2001:0bd5:20a4:1918::/56

Drei wichtige Regeln!

  1. Alle führende Nullen können weg gelassen werden.
    Lang: fe80:0000:0000:0000:020c:f1ff:fe80:c1d8
    kurz: fe80::20c:f1ff:fe80:c1d8
  2. Folgen von Nullen werden durch 2 Doppelpunkte (::) ersetzt.
  3. Alles soll klein geschrieben werden. Nur Hardware-Adressen (z.B. MAC-Adressen) werden groß geschrieben, so dass man sie von IPv6-Adressen unterscheiden kann.

Die Schreibformen

Lang: 2001:0bd8:3eb1:0000:0000:0000:00b2:8b4a
Kurz: 2001:bd8:3eb1::b2:8b4a

Lang: fe80:0ee6:0000:0000:0000:1473:446a:4bba
Kurz: fe80:ee6::1473:446a:4bba

Lang: 2001:0ba8:0000:0000:0000:0000:0317:0057
Kurz: 2001:ba8::317:57

Lang: fe80:00a6:1224:0000:0000:0000:0000:0000
Kurz: fe80:a6:1224::


Gültigkeitsbereiche

Man kann anhand der IP-Adresse erkennen zu welchen Gültigkeitsbereich sie zugehört. Nicht jede IP-Adresse ist eine öffentliche IP-Adresse. Es gibt auch nichts vergleichbares wie bei der IPv4-Adresse, wo es Private und Öffentliche Adressen gibt. Diese Unterscheidung fällt bei IPv6 weg.

Statt dessen gibt es folgende Gültigkeitsbereiche

  • Link lokale Adresse: fe80::1 wird nicht nach außen geroutet. (wie bei privaten IPv4 Adressen)
  • Globale Adresse (wie bei öffentlichen IPv4 Adressen)
  • Multicast Adresse: sind gültig bei Link-lokal
    ff02::1 betrifft alle Hosts im Link-lokal-Netzwerk
    ff02::2 betrifft alle Router

fc00::/7
fc00 - fdff -> Unique Local Unicast
Dieser Bereich ersetzt seit 2004 die fec0::/10 für private Adressen.
fd= für lokal generierte Adressen.
fc= für global generierte Adressen.

Weitere Informationen

RFC 4193:
Unique Local IPv6 Unicast Addresses

fe80::/10 -> Link Lokal-Adresse

fec0::/10 (veraltet) -> Site Local Unicast (Standortlokale Adresse)
Werden nicht mehr verwendet.  Unique Local Adressen (fc00 - fdff) sind der Nachfolger.
Dieser Bereich war für den privaten Bereich vorgesehen. (Vergleichbar mit Ipv4: 192.168.x.x)

ff00::/8
ff01::1, ff02::1
ff02::1, ff02::2, ff05::02 -> Multicast-Adresse
Broadcast wie bei Ipv4. Für alle Router.

2000::/3 -> Global Unicast-Adresse

2001::/32 -> Teredo-Adressen (Tunneling)
RFC-Editor (rfc4380): Teredo: Tunneling IPv6 over UDP
RFC-Editor (rfc5991): Teredo: Security Updates

2002::/4 -> Für 6to4-Tunnelnetz-Adressen

Weitere Adressen die für besondere Fälle.

::1/128 -> Loopback-Adresse Localhost
Die Loopback-Adresse ist eine reservierte Adresse und ist nicht für andere Netzwerkschnittstellen vorgesehen.
In der IPv4 Welt entspricht diese Adresse 0:0:0:0:0:0:0:1 (::1/128) der 127.0.0.1

::/128 -> Undefinierte Adresse
Eine Adresse mit 128 Nullen nennt man Undefinierte-Adresse 0:0:0:0:0:0:0:0 (::/128) und wird von einem Host während des Startvorgangs verwendet.
Dies bedeutet, dass der Host über noch keine IP-Konfiguration verfügt.


IPv4-Mapped

Es gibt Bereiche wo IPv4 u. IPv6 - Adressen Parallel in einem Netzwerk verwendet werden. Hierzu gibt es die Möglichkeit, dass man IPv4-Adressen in IPv6-Adressen einbauen kann, um auch eine Kommunikation der Host's untereinander sicherzustellen. Hierzu wird ganz einfach die IPv4-Adresse in dem hinteren Teil notiert.

IPv4-Adresse: 192.168.20.10
=
IPv6-Adresse: 0000:0000:0000:0000:0000:ffff:192.168.20.10
(Notierung der IPv4-Adresse = Punkte anstatt Doppelpunkte)

in Hexadezimal: 0000:0000:0000:0000:0000:ffff:c0a8:140a oder kurz: ::c0a8:140a

IPv6 Adressenaufbau
Ergebins als grafische Darstellung

IPv6 zu IPv4 Tunnel-Adressen

Da es sicherlich noch Jahre dauern wird, bis sich IPv6 komplett durchgesetzt hat und die Verwendung von IPv4-Adressen eingestellt ist. Bis dahin wird man weiterhin bestimmte Adressbereiche nutzen die beide Versionen untereinander kommunizieren lässt.
Verschickt ZB. ein IPv6-Host Datenpakete durchs Netz und es muss dabei ein IPv4 Netz durchquert werden, dann wird anders als bei IPv4 Mapped die IPv4-Adresse in den vorderen Teil notiert. Die Rede ist von den sog. 6to4-Adressen die an der Präfix-ID 2002 zu erkennen ist.

IPv4-Adresse: 192.168.20.10
=
IPv6-Adresse lang: 2002:c0a8:140a:0001:0000:0000:0000:0004
IPv6-Adresse kurz: 2002:c0a8:140a:1::4

IPv6 Adressenaufbau
Ergebins als grafische Darstellung

SLAAC

SLAAC (Stateless Address Autoconfiguration für globale IPv6-Adresse)

Ein IPv6-Host benötigt für die Kommunikation außerhalb des Netzwerks eine Globale IP-Adresse, die er sich aber nicht selbst vollständig generieren kann. Der Host muss sich dafür das Präfix (vorderer Teil der IP-Adresse) von einem Router im Netzwerk beschaffen.

Er stellt hierbei nicht eine Verbindung zu einen bestimmten Router her, sondern er generiert eine sog. "Router Solicitation Messages" (Anforderung) und sendet diese an eine Multicast Adresse ff02::2 (alle Router).
Alle Router senden dann ein sog. Router Advertisement (RA) an den Host zurück, indem sich das Präfix für das Netzwerk befindet.

Der Host bildet sich dann aus dem erhaltenen Präfix und seiner Schnittstellen-ID eine globale IPv6-Adresse.

Bevor der Host diese jedoch erst verwenden darf, benötigt er noch eine Duplicate Address Detection (DAD).

Der Host schickt dadurch ein Datenpaket an sich selbst und überprüft dadurch ob die neu generierte IP-Adresse bereits in Verwendung ist bzw. noch nicht verwendet wurde. Erhält er darauf keine Antwort, übernimmt er die Adresse in seine IPv6-Konfiguration.

Autokonfiguration einer Link-lokalen Adresse

Eine Link-lokale-Adresse beginnt immer mit fe80:0000:0000:0000, der Rest wird aus der MAC-Adresse generiert.

Von der MAC-Adresse wird das 7 Zeichen umgewandelt. Würde dort anstatt der 0 eine 1 stehen, wird diese in eine 0 umgewandelt.

net ipv6 slacc
Veranschaulichung wie die Umrechnung durchgeführt wird

Weitere Informationen

RFC-Editor (rfc2460): Internet Protocol, Version 6 (IPv6)Specification
RFC-Editor (rfc4291): IP Version 6 Addressing Architecture
RFC-Editor (rfc5095): Deprecation of Type 0 Routing Headers in IPv6
RFC-Editor (rfc5722): Handling of Overlapping IPv6 Fragments
RFC-Editor (rfc5871): IANA Allocation Guidelines for the IPv6 Routing Header
RFC-Editor (rfc5952): A Recommendation for IPv6 Address Text Representation
RFC-Editor (rfc6052): IPv6 Addressing of IPv4/IPv6 Translators