Auf dieser Seite findet man grundsätzliche Informationen zu IPv6.
Quelle: https://www.elektronik-kompendium.de/sites/net/1902111.htm
Vorteile von IPv6:
IPv6
Beispiel:
hexadezimal: 2001:0db8:0000:0000:0001:0000:0000:0001/64
binär: 0010000000000001:0000110110111000:0000000000000000:0000000000000000:0000000000000001:0000000000000000:0000000000000000:0000000000000001
Netzwerk Prefix (64 Bit) Inferface Identifier (64 Bit) / \ / \ / \ / \ / \ / \ / \ / \ 2001 : 0db8 : 0000 : 0000 : 0001 : 0000 : 0000 : 0001 \ / \ \ / \ \ / \ \ / \ Netzwerk Prefix (56 Bit) Subnetz Prefix (8 Bit)
IPv4
Beispiel:
hexadezimal: 192.168.000.001/24
binär: 11000000.10101000.00000000.00000001
Subnetz Prefix (24 Bit) Inferface Identifier (8 Bit) / \ / \ / \ / \ / \ / \ / \ / \ 192 . 168 . 000 . 001
Unicast Adressen für ein einzelnes Interface.
Anycast Adressen für mehrere Interfaces, wobei nur eines davon das Paket empfängt.
Multicast Adressen für mehrere Interfaces, die alle das selbe Paket empfangen.
Broadcast existiert nicht und wird mit Multicast-Adressen realisiert.
Um die Schreibweise von IP-Adressen zu vereinfachen oder zur kürzen, lässt man führende Nullen in den Blöcken weg.
Das wird bei IPv4 und IPv6 gemacht, bei IPv6 gibt es noch folgende Regeln zur richtigen Schreibweise (in RFC 5952 zusammengefasst):
Beispiel anhand einer voll ausgeschriebenen IPv6 Adresse:
2001 : 0db8 : 0000 : 0000 : 0001 : 0000 : 0000 : 0001
Welche Schreibweis ist richtig?
2001 : db8 : 0 : 0 : 1 : 0 : 0 : 1 2001 : 0db8 : 0000 : 000 : 1 : 00 : 0 : 1 2001 : db8 : : 0 : 1 : 0 : 0 : 1 2001 : db8 : 0 : 0 : 1 : : 1 2001 : DB8 : 0 : 0 : 1 : : 1 2001 : db8 : : 1 : 0 : 0 : 1
Die einzige korrekte Schreibweise nach den o.g. Notationsregeln ist die letzte.
Weiteres Beispiel:
die Adresse: 2001 : 0000 : 0000 : 0000 : 0001 : 0000 : 0000 : 0001
wird gekürzt in: 2001 : : 1 : 0 : 0 : 1
Schreibweise in URLs
In URLs werden Doppelpunkte „:“ für eigene Trennzeichnungen verwendet.
Die IPv6 Adresse wird durch eckige Klammern „[]“ zusammengefasst.
Beispiel:
Schreibweise in UNC
UNC-Pfade dürfen nach der Definition von Microsoft keine Doppelpunkte enthalten.
Die IPv6 Adresse wird durch Bindestriche „-“ getrennt und mit dem Zusatz „.ipv6-literal.net“ gekennzeichnet
Beispiel:
Scopes sind Gültigkeitsbereiche für eine IPv6 Adresse. Somit hat ein Interface mehrere IPv6 Adressen, aber mindestens die Link-Local Adresse.
Folgende Scopes werden unterschieden:
Nur IPv6-Pakete mit einer Absenderadresse des Global-Scope werden außerhalb des lokalen Netzwerks geroutet.
Das ist die Localhost-Adresse.
Das ist die IPv6 Adresse eines Hosts im lokalen Netzwerk.
Die Adresse reicht nur bis zum nächsten Router und wird nur innerhalb des Netzwerksegments benötigt.
Jedes Interface mus eine Link-Local Adresse haben, da es bei ipv6 kein Broadcast mehr gibt.
Hinter dem Link-Local-Scope stecken Mechanismen wie Neighbor Discovery, dass das Address Resolution Protocol (ARP) ablöst oder die Stateless Address Autoconfiguration (SLAAC) als Alternative zu DHCP.
Der Link-Local-Scope bezeichnet nicht ein lokales Netzwerk (LAN).
In einem LAN kann es auch mehrere Link-Local-Scopes geben, wenn z.B. ein IPv6 Router ein LAN in mehrere Link-Local-Scopes unterteilt.
Hat man, wie Zuhause, ein Netzwerk mit einem Router, so entspricht dies einem LAN so auch einem Link-Local-Scope.
Besteht das LAN aus mehreren lokalen Netzwerken kann es mehrere Link-Local-Scopes geben.
Diese Netzwerke reichen nur bis zur entsprechenden „link-lokalen“ Netzgrenze.
Der Router leitet link-lokale Datenpakete nicht darüber hinaus weiter.
Das sind reservierte Adressbereiche (Unique Local Adressses, ULA) für lokale Netze unter ipv6, ahnlich wie private Adressbereiche unter ipv4.
Um mit diesen Adressen global kommunizieren zu können benötigt man NAT66.
NAT erzeugt, bevor ein Datenpaket ins Internet geroutet wird, im Datenpaket eine globale IPv6-Absender-Adresse.
ULA sollte man nicht verwenden.
Mit diesem Scope lassen sich private Netze unter ipv6 nachbilden.
Ähnlich wie lokale Unicast-Adressen und nur in der aktuellen Site (ein großes Netzwerk, dass über den Link-Local-Scope hinausgeht) gültig.
IPv6-Pakete werden von Routern nicht geroutet.
Der Site-Local-Scope gilt als veraltetet.
Das sind global routbare IPv6 Adressen.
IPv6-Adressen werden per Autokonfiguration (z.B. per „SLAAC“ oder „SFAAC“) bezogen.
Hierbei handelt es sich um Multicastgruppen, welche Netzwerkdienste wie Router, Zeitserver oder andere Dienste zusammenfassen.
Diese Gruppen sind über eigene Adressen erreichbar.
Wird diese Gruppe per Multicast angesprochen, werden alle, in einer Gruppe zugewiesenen, Hosts angesprochen.
Eine IPv6-Adresse besteht aus dem Netwerk Prefix (Präfix oder Netz-ID) und dem Interface Identifier (Suffix, IID oder EUI).
Der Netzwerk Prefix beschreibt das Netz, also Subnetz bzw. Adressbereich, während der Interface Identifier einen Host in diesem Netz beschreibt.
Der Interface Identifier wird mit Hilfe der 48-Bit langen MAC-Adresse des Interfaces gebildet und in eine 64-Bit-Adresse umgewandelt (Modified-EUI-64-Format).
Auf diese Weise ist das Interface unabhängig vom Netzwerk Prefix eindeutig identifizierbar.
Es gibt 2 Methoden zum automatischen Erstellen einer Link-Local-Scope IPv6 Adresse für ein Interface:
Vorgehensweise:
Beispiel:
MAC-Adresse des Interfaces: 1c:1b:b5:00:0a:28
Die vollständig ausgeschriebene IPv6 Adresse inkl. IPv6 Subnetz lautet „fe80:0000:0000:0000:1e1b:b5ff:fe00:0a28/64“.
Hierbei wird der Interface Identifier durch einen, vom Host, erstellten Hash-Wert ermittelt.
Dieser wird periodisch gewechselt und die Anonymität, im Gegensatz zu EUI-64 wieder hergestellt.
Der Hash-Wert wird wie folgt erstellt:
Die temporäre globale IPv6 Adresse bleibt solange aktiv, wie sie benutzt wird.
Danach wird eine Neue verwendet und die Alte als veraltet gekennzeichnet.
Alle neuen Verbindungen verwenden die neue Adresse, während alle bestehenden Verbindungen die Alte verwenden.
Gibt es keine Verbindungen über die alte Adresse mehr, oder wird der Host neugestartet, wird die alte Adresse glöscht.
Privacy Extensions ist nur dann aktiv, wenn ein Host einen globalen Präfix (Global Scope) zugewiesen bekommen hat.
Erst dann wird ein zufälliger Interface Identifier gebildet.
Andere Verfahren erzeugen Cryptographically Generated Addresses (CGAs)
SLAAC - Stateless Address Autoconfiguration
Die link-lokale Adresse wird wie oben beschrieben mit Hilfe des Interface Ientifiers gebildet.
Bevor der Host sich die Adresse zuweist, prüft er mittels Duplicate Address Detection (DAD), ob sich die Adresse bereits im Netzwerk befindet.
Dazu fragt er die adresse im Netzwerk wie folgt ab:
Der Host kann mit der Link-Local Adresse nur im lokalen Netzwerk kommunizieren.
Damit der Host auch ins Internet kommunizieren kann, wird die Link-Global Adresse benötigt. Auch die wird selbständig generiert.
Der Host fragt dazu am Standardgateway (der nächste Router) nach dem Präfix des globalen Adressbereiches.
Ein Router gibt diesen Präfix in regelmäßigen Anständen per „Router Advertisement“ bekannt.
Falls der Host diesen noch nicht erhalten hat, fragt er den Präfix per „Solicitation Message“ vom Router ab.
Als Antwort sendet der Router ein oder mehrere Router Advertisements zurück.
Vorgehensweise bei SLAAC:
Aus dem, im Router Advertisement enthaltenen, Präfix für den globalen Adressbereich und dem Interface Identifier der link-lokalen Adresse wird die globale ipv6 Adresse gebildet.
Diese wird erneut per DAD geprüft und erst dann verwendet.
DHCPv6 - Stateful Address Autoconfiguration
Hierbei erhält der Host vom DHCP Server einen Teil der link-globale Adresse.
Der DHCP Server speichert sich die Adresse des Hosts zentral im Netzwerk ab und dient als Auskunftstelle.
Vorgehensweise bei DHCPv6:
Detaillierte Vorgehensweise: