Zum Inhalt springen

Skript/IPv6/Adressierung

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  procps/Inhalt » Sync » TestTool/Use-Case-Szenarien » Nibble » Skript/IPv6/Adressierung

IPv6/Adressierung

IPv6/Adressierung

Beschreibung

Beschreibung
Adressen Adresse in einem IPv6-Netzwerk
Interface IPv6 Interface Identifier
Adressraum Aufteilung des Adressraums
Privacy


IPv6/Adresse

Skript/IPv6/Adressierung - Adresse in einem IPv6-Netzwerk

Beschreibung

Beschreibung
Eigenschaften
Adressierung
Notation
Typen

Eigenschaften

Eigenschaften von IPv6-Adressen

ip -6 a
 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
 inet6 ::1/128 scope host noprefixroute
 valid_lft forever preferred_lft forever
 2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
 inet6 2001:470:6d:b25:8ad:9fd5:a987:ae27/64 scope global dynamic noprefixroute
 valid_lft 86281sec preferred_lft 14281sec
 inet6 fe80::2aa1:d9b5:c8a6:bcbb/64 scope link noprefixroute
 valid_lft forever preferred_lft forever
1
Localhost
4
Ethernet
Eigenschaft Beschreibung
Länge 128 Bit
  • Präfix: Ersten 64 Bit
  • Suffix: Letzten 64 Bit (Interface-Identifier)

128 Bit sind in dezimaler Darstellung schlecht lesbar

  • Bevorzugt wird eine hexadezimale Darstellung
Scope Gültigkeitsbereich
  • Link-Local: IP-Pakete werden nicht über Grenzen des Link geroutet
  • Site-Local: IP-Pakete werden nicht über Grenzen der Einrichtung geroutet
  • Global: IP-Pakete werden weltweit geroutet
lifetime Begrenzte Lebensdauer
Unicast, Multicast und Anycast Spezifikation verschiedener Unicast, Multicast und Anycast Adressen
  • in IPv6 existiert keine Broadcast Adresse — wird durch Multicast nachgebildet
Mehreren IP-Adressen Netzwerkschnittstellen können unter mehreren IP-Adressen erreichbar sein
  • link-lokalen Adresse
  • global eindeutigen Adressen
Interface-Identifier Ein Interface-Identifier kann damit Teil mehrerer IPv6-Adressen sein
  • welche mit verschiedenen Präfixen auf dieselbe Netzwerkkarte gebunden sind
  • Insbesondere gilt dies auch für Präfixe möglicherweise verschiedener Provider
    • vereinfacht Multihoming



Adressierung

Art Beschreibung Darstellung
Unicast Ein bestimmter Node
Multicast Gruppe von Nodes
Anycast Naheliegendster Node aus einer Gruppe
Broadcast Alle Notes

Notation

IPv6/Adresse/Notation - IPv6 Adresse Notifikation

Beschreibung

IPv6 Adressen sind 128 bit lang

Binär-Darstellung
00100000000000010000110110111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
Nibbles
0010 0000 0000 0001 0000 1101 1011 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001
Byte
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
0010 0000 0000 0001 0000 1101 1011 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001

Darstellung

Solche Zahlen sind schwer zu merken

  • IPv6 Adressdarstellung ist bitorientiert (wie bei IPv4)
Hexadezimale Darstellung
  • Geeignetere Schreibweise
  • 4 bit (nibble) werden durch ein Zeichen 0-9 und a-f (10-15) dargestellt
  • Reduzierung der Darstellung auf 32 Zeichen

Diese Darstellung ist ebenfalls nicht sehr angenehm

  • Mögliche Verwechslung oder Verlust einzelner hexadezimaler Ziffern
  • sodass die IPv6 Designer das hexadezimale Format mit einem Doppelpunkt als Trennzeichen nach jedem 16 bit Block erweiterten
  • Ferner wird das führende "0x" (ein in Programmiersprachen verwendetes Identifizierungsmerkmal für hexadezimale Werte) entfernt
  • Führende Nullen jedes 16 bit-Blocks weggelassen werden

Eine Sequenz von 16 bit-Blöcken, die nur Nullen enthalten, kann durch ein "::" ersetzt werden

  • Diese Komprimierung kann aber nicht öfter als einmal durchgeführt werden

Die höchstmögliche Reduktion sieht man bei der IPv6 Localhost Adresse:

::1

Adressnotation

Binäre Darstellung
0010 0000 0000 0001 0000 1101 1011 1000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001
Byte 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
0010 0000 0000 0001 0000 1101 1011 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001
Hexadezimale Darstellung
Byte 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
20 01 0D B8 00 00 00 00 00 00 00 00 00 00 00 01
2001:0DB8:0000:0000:0000:0000:0000:0001

RFC 4291

Skript/IPv6/Adressierung - IPv6-Adress-Notation

Beschreibung

Regel Beschreibung
1 Hexadezimale Darstellung
2 Führende Nullen streichen
3 0-Blöcke ersetzen

Hexadezimale Darstellung

20010db885a308d313198a2e03707344
Acht Blöcke

Je zwei Byte

  • Durch Doppelpunkt getrennt
2001:0db8:85a3:08d3:1319:8a2e:0370:7344

Führende Nullen

Führende Nullen dürfen ausgelassen werden

2001:0db8:0000:08d3:0000:8a2e:0070:7344

ist gleichbedeutend mit

2001:0db8:0:08d3:0:8a2e:70:7344

0-Blöcke ersetzen

Aufeinander folgende 0-Blöcke werden durch :: ersetzt

2001:0db8:0:0:0:0:1428:57ab

ist gleichbedeutend mit

2001:db8::1428:57ab
Ersetzung darf nur einmal durchgeführt werden

Höchstens eine zusammenhängende Gruppe aus Null-Blöcken darf ersetzt werden

2001:0db8:0:0:8d3:0:0:0

darf gekürzt werden zu

2001:0db8::8d3:0:0:0

oder

2001:0db8:0:0:8d3::

Es empfiehlt sich, den Block mit den meisten Null-Blöcken zu kürzen

Wegen Mehrdeutigkeit unzulässig
2001:db8::8d3::

kann auch als

2001:db8:0:0:0:8d3:0:0

interpretiert werden

Einbettete IPv4-Adresse

Darstellung

Einbettung eines IPv4-Adressraums in den IPv6-Adressraum

2001:0db8:0:0:0:0:1428:57ab


Die letzten vier Byte können dezimal notiert werden

::ffff:127.0.0.1

ist eine alternative Schreibweise für

::ffff:7f00:1

Zulässige Schreibweisen

Zulässige Schreibweisen einer IPv6Adresse nach RFC 4291

2001:db8:0:0:1:0:0:1
2001:0db8:0000:0000:1:00:0:1
2001:db8::1:0:0:1
2001:db8::0:1:0:0:1
2001:0db8::0:1:0:0:1
2001:db8:0:0:1::1
2001:db8:0000:0:1::1
2001:DB8:0:0:1::1
…

Die Darstellung für und zwischen Menschen regelt RFC/5952


RFC 5952

Skript/IPv6/Adressierung - Notation und Darstellung von IPv6-Adressen für und zwischen Menschen

Beschreibung

Notation für und zwischen Menschen

Problem nach RFC/4291

Zulässige Schreibweisen

2001:db8:0:0:1:0:0:1
2001:0db8:0000:0000:1:00:0:1
2001:db8::1:0:0:1
2001:db8::0:1:0:0:1
2001:0db8::0:1:0:0:1
2001:db8:0:0:1::1
2001:db8:0000:0:1::1
2001:DB8:0:0:1::1
…

Übersicht

Regel Aspekt Beschreibung
1 Führende Nullen Müssen weggelassen werden
2 Null-Blöcke Müssen die größtmögliche Anzahl von Null-Blöcken kürzen
3 Alleinstehende Null-Blöcke Dürfen nicht zur Kürzung eines alleinstehenden Null-Blocks benutzt werden
4 Gleichwertige Kürzungen Es muss die Erste von links gekürzt werden
5 Alphabetische Zeichen Müssen kleingeschrieben werden
6 Port-Nummern Bei angabe eine Port-Nummer muss die IPv6-Adressen in eckige Klammern gesetzt werden
7 URL-Notation In URLs müssen IPv6-Adressen in eckige Klammern eingeschlossen werden
8 Netznotation Netzwerke müssen nach CIDR-Notation angegeben werden


Anhang

Siehe auch

Links

Weblinks

</noinclude>

Interface/Identifier

IPv6/Interface/Identifier - IPv6 Interface Identifier

Beschreibung

Aufbau und Erzeugung

Interface Identifier

Link Layer Adresse (OSI-Modell Schicht 2)

  • 64 Bit
  • MAC-Adresse der Schnittstelle

Dazu wird das 64 Bit lange, genormte IEEE EUI-64 Adressformat in einer leicht abgeänderten Form verwendet

  • Durch Invertierung des u-Bits wird die Konfiguration von Hand erleichtert
Kanonische Sichtweise

ISO/OSI-Modell Schicht 2

0-7 8-15 16-23 24-31 32-39 40-47
cccc ccUG cccc cccc cccc cccc xxxx xxxx xxxx xxxx xxxx xxxx
Kennzeichnung Beschreibung
U 1: universal - weltweit eindeutige Adresse
0: local - lokal eindeutige Adresse
G 1: group - Gruppen-/Multicast-Adresse
0: individual - Einzel-Adresse
c Interface-Hersteller
x Adressbit

Abbildung

Quelle Ziel
EUI-64 IPv6-Interface ID Adresse (64 Bit)
MAC-Adresse (48 Bit) IPv6-Interface ID Adresse (64 Bit)

EUI-64

IEEE EUI-64 Adresse (64 Bit) => IPv6-Interface ID Adresse (64 Bit)
  • EUI-64 Adresse wird übernommen
  • Das U-Bit wird invertiert
Adresse 0-7 8-15 16-23 24-31 32-39 40-47 48-55 56-63
IEEE EUI-64 Adresse (64 Bit) cccc cc0G cccc cccc cccc cccc xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
IPv6-Interface ID Adresse (64 Bit) cccc cc1G cccc cccc cccc cccc xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
Beispiel
Option Beschreibung
IEEE EUI-64 Adresse (64 Bit) 7834:1234:ABCD:5678
IPv6-Interface ID Adresse (64 Bit) 7A34:1234:ABCD:5678

MAC-Adresse

IEEE 802.3 MAC-Adresse (48 Bit) => IPv6-Interface ID Adresse (64 Bit)
RFC 2464

Bei der Abbildung der 48 Bit langen IEEE 802.3 auf die 64 Bit langen IPv6-Interface ID Adresse, führt der Weg über die Abbildung auf eine IEEE EUI-64 Adresse RFC/2464

Option Beschreibung
1 Dazu werden die ersten drei Oktette der IEEE 802.3 MAC-Adresse (OUI = Organizational Unique Identfier) in die IEEE EUI-64 Adresse übernommen
2 In das vierte und das fünfte Oktett wird die Zahlen FF16 und FE16 eingefügt
3 Die letzten 3 Oktette der IEEE 802.3 MAC-Adresse werden zu den letzten drei Oktetten der IEEE EUI-64 Adresse. Zusätzlich wird auch das u-Bit invertiert
Adresse 0-7 8-15 16-23 24-31 32-39 40-47
MAC-Adresse (48 Bit) cccc ccUG cccc cccc cccc cccc xxxx xxxx xxxx xxxx xxxx xxxx
Adresse 0-7 8-15 16-23 24-31 32-39 40-47
MAC-Adresse (48 Bit) cccc ccUG cccc cccc cccc cccc xxxx xxxx xxxx xxxx xxxx xxxx
Adresse 0-7 8-15 16-23 24-31 32-39 40-47 48-55 56-63
IPv6-Interface ID Adresse (64 Bit) cccc cc0G cccc cccc cccc cccc 1111 1111 1111 1110 xxxx xxxx xxxx xxxx xxxx xxxx
IPv6-Interface ID Adresse (64 Bit) cccc cc0G cccc cccc cccc cccc F F F E xxxx xxxx xxxx xxxx xxxx xxxx
IPv6-Interface ID Adresse (64 Bit) cccc cc1G cccc cccc cccc cccc F F F E xxxx xxxx xxxx xxxx xxxx xxxx

Beispiel

IEEE 802.3 MAC-Adresse (64 Bit) => IPv6-Interface ID Adresse (64 Bit)
Option Beschreibung
IEEE 802.3 MAC-Adresse (48Bit) 3007:8912:3456
IPv6-Interface ID Adresse (64 Bit) 3207:89FF:FE12:345
EUI-64 (64-Bit Extended Unique Identifier)

Vom IEEE standardisiertes MAC-Adressformat zur Identifikation von Netzwerkgeräten

Eine EUI-64 Adresse ist 64 Bit lang und setzt sich aus zwei Teilen zusammen

Die ersten 24, 28 oder 36 Bit identifizieren den Hardwarehersteller

  • siehe OUI
  • Die restlichen Bit dienen der Geräteidentifikation
Eine Variante davon ist das sogenannte modifizierte EUI-64 Adressformat welches bei IPv6 zum Einsatz kommt
  • Dieses unterscheidet sich darin, dass der Wert des siebten Bit (von links) einer EUI-64 Adresse, auch Universal/Local Bit genannt, invertiert wird


Typen

Skript/IPv6/Adressierung - Unterteilung des IPv6-Adressraums

Beschreibung

Adressraum
IPv4 IPv6
Länge (Bit) 32 128
Maximale Anzahl 232 2128
4.294.967.296 340.282.366.920.938.463.463.374.607.431.768.211.456

Adressraum

IANA weist IPv6-Adressraum zu

Internet Assigned Numbers Authority (IANA)

Kleiner Teil zugewiesen

Die IANA stellt globale Unicast-Adressen bereit

  • die mit den führenden Bit ganz links 001 beginnen
  • Ein kleiner Teil der Adressen, die mit 000 und 111 beginnen, wird für spezielle Typen zugewiesen
  • Alle anderen möglichen Adressen sind für die zukünftige Verwendung reserviert und werden derzeit nicht zugewiesen
Beispiele für globale Unicast-Adressen
2001:4::aac4:13a2
2001:0db6:87a3::2114:8f2e:0f70:1a11
2c0f:c20a:12::1

Derzeit beginnen in der Internet-IPv6-Routing-Tabelle alle Präfixe mit der hexadezimalen Ziffer 2 oder 3

  • IANA vergibt nur Adressen, die mit den ersten 3 Bit 001 beginnen


Subnetzmasken

Teilen IP-Adressen in einen Netz- und einen Host-Teil

Lehren aus IPv4

Es wäre von Vorteil

Interfaces mit meherenen IP-Adresse

  • je nach Bedarf und Zweck (aliases, multicast und weitere)
  • Um in Zukunft flexibler bleiben zu können, geht man bei IPv6 weiter und erlaubt pro Interface mehr als eine zugewiesene IP-Adresse
  • Derzeit sind durch die RFCs kein Limit gesetzt, wohl aber in der Implementierung des IPv6 Stacks (um DoS Attacken vorzubeugen)
Adress-Typen

Neben der großen Bit-Anzahl für Adressen definiert IPv6 basierend auf einigen vorangestellten Bit verschiedene Adress-Typen

  • Diese werden hoffentlich in der Zukunft niemals aufgehoben (zum Unterschied zu IPv4 heute und die Entwicklung der class A, B und C Netze)

Zur Unterstützung einer automatischen Konfiguration wird die Bitanzahl in einen Netzwerk-Teil (vordere 64 Bits) und einen Hostteil (hintere 64 Bit)

Adress-Typ Beschreibung
Adressen ohne speziellen Präfix
Netzteil der Adresse (Präfix)
Adress-Typen (Host-Teil)
Präfixlängen für das Routing

Präfixe

Netzteil der Adresse

Es wurden einige Adress-Typen definiert

  • Zugleich blieb für zukünftige Anforderungen ausreichend Raum für weitere Definitionen
  • In RFC/4291 IP Version 6 Addressing Architecture wird das aktuelle Adress-Schema definiert
Präfixe (Adress-Arten)
Adress-Typ Beschreibung
Link-lokaler Adress-Typ
Site-lokaler Adress-Typ
Unique Local IPv6 Unicast Adressen
Globaler Adress-Typ ("Aggregatable global unicast")
Multicast-Addressen
Anycast-Adressen
IPv6 Präfixe
Bezeichnung Präfix Verwendung
Link Local Unicast fe80::/10 Rechner im eigenen Subnetz
Site Local Unicast fec0 - feff Standortlokale Adressen
Unique Local Unicast fc00 - fdff Private Adressen
Multicast ff00 Für mehrere Clients
Global Unicast 2000 - 3fff Weltweite eindeutige Adressen
2001 An Provider vergeben, die weiterverteilen
2002 Tunnelmechanismus 6to4
NAT64 64:ff9b::/96 Übersetzungsmechanismus NAT64

Ohne Präfix

Adressen ohne speziellen Präfix
Adress-Typ Beschreibung
Localhost Adresse
Unspezifische Adresse
IPv6 Adressen mit eingebetteter IPv4 Adresse

Localhost Adresse

Pakete mit dieser Quell- bzw. Ziel-Adresse sollten niemals den sendenden Host verlassen

::1

Unspezifische Adresse

Dies ist eine spezielle Adresse vergleichbar mit "any" oder "0.0.0.0" bei IPv4

Diese Adresse wird meistens in Routing-Tabellen und beim "socket binding" (zu jeder IPv6 Adresse) angewandt bzw. gesehen

Beachten
Die unspezifizierte Adresse kann nicht als Ziel-Adresse verwendet werden

Adress-Typen (Host-Teil)

In Hinblick auf Auto-Konfigurations- und Mobilitätsfragen wurde entschieden, die niedrigeren 64 bits als Host-Bestandteil zu nutzen

  • Jedes einzelne Subnetz kann deshalb eine große Anzahl an Adressen enthalten

Der Host-Teil kann aus unterschiedlichen Blickwinkeln betrachtet werden:

Adress-Typ Beschreibung
Automatisch erstellte Adressen
Manuell festgelegte Adressen

Automatisch erstellte Adressen

Automatisch erstellte Adressen
  • stateless
Auto-Konfiguration

Bei der Auto-Konfiguration wird der Hostteil der Adresse durch die Konvertierung der MAC-Adresse eines Interfaces (falls vorhanden) zu einer einmaligen IPv6 Adresse (mittels EUI-64 Methode) generiert

  • Falls keine MAC-Adresse verfügbar ist (beispielsweise bei virtuellen Interfaces), wird anstelle dessen etwas anderes herangezogen (wie beispielsweise die IPv4 Adresse oder die MAC-Adresse eines physikalischen Interfaces)

Als Beispiel hat hier ein NIC folgende MAC-Adresse (48 bit)

  • Diese wird gemäß demIEEE-Tutorial EUI-64 Design für EUI-48 Identifiers zum 64 bit Interface Identifier erweitert:
  • Mit einem gegebenen Präfix wird daraus die schon oben gezeigte IPv6-Adresse:
Datenschutzproblem

Datenschutzproblem mit automatisch erstellten Adressen sowie eine Lösung

  • Der "automatisch generierte" Hostteil ist weltweit einmalig
  • mit Ausnahme, wenn der Hersteller einer NIC die gleiche MAC-Adresse bei mehr als einer NIC einsetzt
  • Die Client-Verfolgung am Host wird dadurch möglich, solange kein Proxy verwendet wird
Dies ist ein bekanntes Problem und eine Lösung wurde dafür definiert
  • Datenschutz-Erweiterung
  • definiert in RFC/3041
  • Privacy Extensions for Stateless Address Autoconfiguration in IPv6 (es gibt bereits ein neueres Draft: draft-ietf-ipv6-privacy-addrs-v2-*)
  • Es wird sporadisch mittels eines statischen und eines Zufallswertes ein neues Suffix erstellt
Hinweis
Dies ist nur für ausgehende Client-Verbindungen sinnvoll und bei bekannten Servern nicht wirklich sinnvoll

Manuell festgelegte Adressen

Bei Servern ist es wahrscheinlich leichter, sich einfachere Adressen zu merken

  • Dies kann beispielsweise mit der Zuweisung einer zusätzlichen IPv6 Adresse an ein Interface geschehen

Für das manuelle Suffix, wie "::1" im obigen Beispiel, muss das siebte höchstwertige Bit auf 0 gesetzt sein (das universale/local Bit des automatisch generierten Identifiers)

  • Es sind auch noch andere (ansonsten nichtausgewählte) Bit-Kombinationen für Anycast-Adressen reserviert

Präfixlängen für das Routing

IPv6-Adressentypen

"IPv6 Address Types

Eine IPv6-Adresse ist eine 128-Bit-Kennung der Netzwerkschicht für eine Netzwerkschnittstelle eines IPv6-fähigen Knotens

Type Sub-Type
Unicast Global
Multicast
Anycast

Haupttypen

Typ Beschreibung
Unicast Eine Netzwerkschicht-Kennung für eine einzelne Schnittstelle eines IPv6-fähigen Knotens
  • Pakete, die an eine Unicast-Adresse gesendet werden, werden an die mit dieser IPv6-Adresse konfigurierte Schnittstelle zugestellt
  • Es handelt sich also um eine Eins-zu-eins-Kommunikation
Multicast Eine Netzwerkschicht-Kennung für eine Reihe von Schnittstellen, die zu verschiedenen IPv6-fähigen Knoten gehören
  • Pakete, die an eine Multicast-Adresse gesendet werden, werden an alle durch diese Adresse identifizierten Schnittstellen zugestellt
  • Es handelt sich also um eine One-to-many-Kommunikation
Anycast Eine Netzwerkschicht-Kennung für eine Reihe von Schnittstellen, die zu verschiedenen IPv6-fähigen Knoten gehören
  • Pakete, die an eine Anycast-Adresse gesendet werden, werden an die "nächstgelegene" Schnittstelle zugestellt, die durch diese Adresse identifiziert wird.
  • "Am nächsten" bedeutet in der Regel diejenige mit der besten Routing-Metrik gemäß dem IPv6-Routing-Protokoll
  • Es handelt sich also um eine "one-to-closest"-Kommunikation
Broadcast In IPv6 gibt es keine Broadcast-Adressen

Zu unterstützende Adressen

IPv6 Adressen, die IPv6 Geräte mindestens unterstützen müssen
Device Adressen
Host
  • Unicast Adresse
  • Multicast Adressen (aus Unicast errechnete, Gruppenadressen)
  • Loopback Adresse
  • Link lokale (errechnete) Adresse
Router
  • alle Host Adressen
  • alle Router Anycast
  • alle Router Multicast Adressen
  • berechneten Multicast Adressen für jede Anycast Adresse

Zusammenfassung

Adresse Beschreibung
Global Unicast Derzeit vergibt die IANA globale Unicast-Adressen, die mit dem Binärwert 001 (2000::/3) beginnen
  • Ihre Struktur besteht aus einem 48-Bit-globalen Routing-Präfix und einer 16-Bit-Subnetz-ID, die auch als Site-Level Aggregator (SLA) bezeichnet wird
  • Die Struktur dieser Adressen ermöglicht die Aggregation von Routing-Einträgen, um eine kleinere globale IPv6-Routing-Tabelle zu erhalten
Unique-local Sie haben ein global eindeutiges Präfix, ähnlich wie globale Unicast-Adressen
  • Ihre Struktur ist bekannt (siehe Abbildung 4), was eine einfache Filterung an Standortgrenzen ermöglicht
  • Es handelt sich um einen vom Internetdienstanbieter unabhängigen Adressraum
Loopback Die bekannte Loopback-Adresse in IPv6 lautet ::1/128
  • Ähnliches Konzept wie 127.0.0.0/8 in IPv4
  • Wird in der Regel zum Testen des TCP/IP-Protokollstacks in Betriebssystemen verwendet
Nicht spezifiziert Die nicht spezifizierte Adresse in IPv6 lautet ::/128
  • Ähnliches Konzept wie 0.0.0.0 in IPv4
Eingebettetes IPv4 in IPv6 Die IPv4-Adresse A.B.C.D (in Hexadezimalziffern) wird in IPv6 als 0:0:0:0:0:0:A:B:C:D oder einfach als ::A:B:C:D eingebettet
  • IPv6-Adressen werden in automatischen Tunneln verwendet, die sowohl IPv4 als auch IPv6 unterstützen
Link-local Präfix FE80::/10
  • Wird automatisch jeder IPv6-fähigen Schnittstelle zugewiesen
  • Analog zu 169.254.0.0/16 in IPv4
  • Nicht routbar
  • Sie sind nur im Bereich einer Schnittstelle gültig
  • Wird für die Nachbarerkennung und die zustandslose Autokonfiguration verwendet
Bekannte Multicast-Adressen Alle bekannten Multicast-Adressen beginnen mit dem Präfix ff00::/12
  • Sie haben eine ähnliche Funktion wie 224.0.0.0/24 in IPv4
Solicited-Node-Multicast Jede IPv6-Unicast-Adresse hat eine entsprechende Solicited-Node-Multicast-Adresse
  • Die Struktur besteht aus dem festen Präfix FF02::1:FF00:0/104 und den letzten 24 Bit der entsprechenden IPv6-Adresse
  • Diese speziellen Multicast-Gruppen werden für die Adressauflösung, Nachbarerkennung und Duplikaterkennung verwendet


IPv6/Interface Identifier

IPv6/Interface/Identifier - IPv6 Interface Identifier

Beschreibung

Aufbau und Erzeugung

Interface Identifier

Link Layer Adresse (OSI-Modell Schicht 2)

  • 64 Bit
  • MAC-Adresse der Schnittstelle

Dazu wird das 64 Bit lange, genormte IEEE EUI-64 Adressformat in einer leicht abgeänderten Form verwendet

  • Durch Invertierung des u-Bits wird die Konfiguration von Hand erleichtert
Kanonische Sichtweise

ISO/OSI-Modell Schicht 2

0-7 8-15 16-23 24-31 32-39 40-47
cccc ccUG cccc cccc cccc cccc xxxx xxxx xxxx xxxx xxxx xxxx
Kennzeichnung Beschreibung
U 1: universal - weltweit eindeutige Adresse
0: local - lokal eindeutige Adresse
G 1: group - Gruppen-/Multicast-Adresse
0: individual - Einzel-Adresse
c Interface-Hersteller
x Adressbit

Abbildung

Quelle Ziel
EUI-64 IPv6-Interface ID Adresse (64 Bit)
MAC-Adresse (48 Bit) IPv6-Interface ID Adresse (64 Bit)

EUI-64

IEEE EUI-64 Adresse (64 Bit) => IPv6-Interface ID Adresse (64 Bit)
  • EUI-64 Adresse wird übernommen
  • Das U-Bit wird invertiert
Adresse 0-7 8-15 16-23 24-31 32-39 40-47 48-55 56-63
IEEE EUI-64 Adresse (64 Bit) cccc cc0G cccc cccc cccc cccc xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
IPv6-Interface ID Adresse (64 Bit) cccc cc1G cccc cccc cccc cccc xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
Beispiel
Option Beschreibung
IEEE EUI-64 Adresse (64 Bit) 7834:1234:ABCD:5678
IPv6-Interface ID Adresse (64 Bit) 7A34:1234:ABCD:5678

MAC-Adresse

IEEE 802.3 MAC-Adresse (48 Bit) => IPv6-Interface ID Adresse (64 Bit)
RFC 2464

Bei der Abbildung der 48 Bit langen IEEE 802.3 auf die 64 Bit langen IPv6-Interface ID Adresse, führt der Weg über die Abbildung auf eine IEEE EUI-64 Adresse RFC/2464

Option Beschreibung
1 Dazu werden die ersten drei Oktette der IEEE 802.3 MAC-Adresse (OUI = Organizational Unique Identfier) in die IEEE EUI-64 Adresse übernommen
2 In das vierte und das fünfte Oktett wird die Zahlen FF16 und FE16 eingefügt
3 Die letzten 3 Oktette der IEEE 802.3 MAC-Adresse werden zu den letzten drei Oktetten der IEEE EUI-64 Adresse. Zusätzlich wird auch das u-Bit invertiert
Adresse 0-7 8-15 16-23 24-31 32-39 40-47
MAC-Adresse (48 Bit) cccc ccUG cccc cccc cccc cccc xxxx xxxx xxxx xxxx xxxx xxxx
Adresse 0-7 8-15 16-23 24-31 32-39 40-47
MAC-Adresse (48 Bit) cccc ccUG cccc cccc cccc cccc xxxx xxxx xxxx xxxx xxxx xxxx
Adresse 0-7 8-15 16-23 24-31 32-39 40-47 48-55 56-63
IPv6-Interface ID Adresse (64 Bit) cccc cc0G cccc cccc cccc cccc 1111 1111 1111 1110 xxxx xxxx xxxx xxxx xxxx xxxx
IPv6-Interface ID Adresse (64 Bit) cccc cc0G cccc cccc cccc cccc F F F E xxxx xxxx xxxx xxxx xxxx xxxx
IPv6-Interface ID Adresse (64 Bit) cccc cc1G cccc cccc cccc cccc F F F E xxxx xxxx xxxx xxxx xxxx xxxx

Beispiel

IEEE 802.3 MAC-Adresse (64 Bit) => IPv6-Interface ID Adresse (64 Bit)
Option Beschreibung
IEEE 802.3 MAC-Adresse (48Bit) 3007:8912:3456
IPv6-Interface ID Adresse (64 Bit) 3207:89FF:FE12:345
EUI-64 (64-Bit Extended Unique Identifier)

Vom IEEE standardisiertes MAC-Adressformat zur Identifikation von Netzwerkgeräten

Eine EUI-64 Adresse ist 64 Bit lang und setzt sich aus zwei Teilen zusammen

Die ersten 24, 28 oder 36 Bit identifizieren den Hardwarehersteller

  • siehe OUI
  • Die restlichen Bit dienen der Geräteidentifikation
Eine Variante davon ist das sogenannte modifizierte EUI-64 Adressformat welches bei IPv6 zum Einsatz kommt
  • Dieses unterscheidet sich darin, dass der Wert des siebten Bit (von links) einer EUI-64 Adresse, auch Universal/Local Bit genannt, invertiert wird


Adressraum

IPv6/Adressraum - Aufteilung des Adressraums

IPv6-Adressraum

Adressraum teilt sich in große Blöcke
  • die weiter unterteilt sein können
Alle Adressen unterhalb der hierarchischen Adressebene eines Blockes weisen einen identischen Präfix auf
  • Dadurch wird das Routing entschieden vereinfacht
  • Router können einen großen Teil der Entscheidungen schon anhand des Präfix treffen
IPv4-Adressen
  • Können mit dem Präfix 0 in den IP6-Raum eingeblendet werden

Durch die neue Struktur stehen viele neuer Adressen und neue Adressierungsarten zur Verfügung

Übersicht

Provider Based Unicast Adress
3 5 n Bit 56-n Intranet Subcriber Bereich 64 Bit (z. B. 16+48)
010 Provider‑ID Subsciber‑ID Interface‑ID
Eingebettete IPv4-Adresse
80 Bit 16 Bit 32 Bit
0* 0* bis 1* IPv4‑Adresse
Link Local
10 Bit n Bit 118-n Bit
1111 1101 10 0* Interface‑ID
Side Local
10 Bit n Bit m Bit 118-n-m Bit
1111 11101 11 0* Subnet‑ID Interface‑ID
Multicast
8 Bit 4 Bit 4 Bit 112 Bit
1111 1111 Flags SCOP Group-ID
Flags
4 Bit
0 0 0 T
  • T.
  • 0 - dauerhaft
  • 1 - temporär

Präfixe

Präfixe geben den Netzwerkteil der Adresse an
  • Sie werden in CIDR - Notation angegeben
Alle übrigen Bit können verwendet werden zur
  • Unterteilung in Subnetze
  • Adressierung von Nodes
Das Präfix /128 bezeichnet einen einzelnen Node

Übersicht

Präfix Verwendung
0000 0000 Reserviert und IPv4
0000 0001 Nicht zugewiesen
0000 0010 OSI-NSAP-Adressen
0000 010 Netware IPX-Adressen
0000 011 Nicht zugewiesen
0000 1 Nicht zugewiesen
1 Nicht zugewiesen
1 Nicht zugewiesen
10 Adressen für Service Provider
11 Nicht zugewiesen
100 Adressen für geographische Bereiche
101 Nicht zugewiesen
110 Nicht zugewiesen
1110 Nicht zugewiesen
1111 10 Nicht zugewiesen
1111 110 Nicht zugewiesen
1111 1110 Nicht zugewiesen
1111 1110 0 Nicht zugewiesen
1111 1110 10 verbindungsspezifische lokale Adressen
1111 1110 11 Standortspezifische lokale Adressen
1111 1111 Multicast


Netzsegmente

Typische Präfix-Längen
Link Local
10 Bit n Bit 118-n Bit
1111 1101 10 0* Interface‑ID
Netzsegmenten werden 64 Bit lange Präfixe zugewiesen
  • Bildet mit dem Interface-Identifier die Adresse
Interface-Identifier
  • kann aus der MAC-Adresse der Netzwerkkarte erstellt oder
  • anders eindeutig zugewiesen werden
  • das genaue Verfahren ist in RFC 4291, Anhang A beschrieben

Beispiel

Hat ein Netzwerkgerät die IPv6-Adresse
2001:0db8:85a3:08d3:1319:8a2e:0370:7347/64

so lautet das Präfix

2001:0db8:85a3:08d3::/64

und der Interface-Identifier

1319:8a2e:0370:7347
Provider bekam von der RIR etwa das Netz
2001:0db8::/32

zugewiesen

Endkunde vom Provider gegebenenfalls das Netz
2001:0db8:85a3::/48

oder nur

2001:0db8:85a3:0800::/56

Adressierungsarten

Art Beschreibung Darstellung
Unicast Ein bestimmter Node
Multicast Gruppe von Nodes
Anycast Naheliegendster Node aus einer Gruppe
Broadcast Alle Notes

Gültigkeitsbereiche

Address Scopes (Gültigkeitsbereiche)
  • Es gibt verschiedene IPv6-Adressbereiche mit Sonderaufgaben und unterschiedliche Eigenschaften
Diese werden meist schon durch die ersten Bit der Adresse signalisiert
  • Sofern nicht weiter angegeben, werden die Bereiche in RFC 4291 bzw. RFC 5156 definiert
Scopes
Scope Beschreibung
interface/host Verlässt nie den Host
link-local Verlässt nie das lokale Subnetz
global Geht um die ganze Welt
Address Scopes sind nicht mit Multicast Scopes zu verwechseln

Zugeordnete Adressbereiche

Verwendung Präfix Präfix (binär) % Anteil
reserved 0::/8 0000 0000 0,4%
Loopback 0::0:1
IPv4 compatible (für IPv4 -> IPv6 Transition) ::0102:0304
IPv4 mapped (für IPv4 -> IPv6 Transition) FFFF:0102:0304
ISO Network addresses 200::/7 0000 001 0,8%
Novell Network addresses 400::/7 0000 010 0,8%
Aggregatable global unicast addresses 2000::/3 001 12,5%
ehem. Geographic based unicast adresses 8000::/3 100
Link local address FE80::/10 1111 1110 10 0,1%
Site local address FECO0::/10 1111 1110 11 0,1%
Multicast address FF00::/8 11111111 0,4%
Summe gesamt 15,1 %

Die übrigen Bereiche heben noch keine Verwendung.

Besondere Adressen

Adresse Beschreibung Verwendung
Keine Adresse ::/128 128 0-Bit
  • darf keinem Host zugewiesen werden
  • zeigt das Fehlen einer Adresse an
  • Absenderadresse eines initialisierenden Hosts, solange er noch keine Adresse hat
  • Serverprogramme werden durch Angabe dieser Adresse angewiesen, auf allen Adressen des Hosts lauschen
Loopback-Adresse ::1/128 127 0-Bit
ein 1-Bit
  • Adresse des eigenen Rechners
  • Wird meist mit dem Namen localhost verknüpft


Privacy

IPv6/Privacy - IPv6 Privacy Extensions

Beschreibung

Erzeugung des Interface-Identifiers
  • Die Erzeugung des Interface-Identifiers aus der global eindeutigen MAC-Adresse ermöglicht die Nachverfolgung von Benutzern
Privacy Extensions (RFC/8981)
  • Hebt die Kopplung der Benutzeridentität an die IPv6-Adressen auf
  • Zufällig generiert und regelmäßig gewechselt
Täglich wechselndes Präfix wünschenswert

Im Privatbereich lässt das Präfix allein recht sicher auf einen Nutzer schließen

  • Daher ist aus Datenschutzgründen ein vom Provider dynamisch zugewiesenes Präfix wünschenswert
  • in Verbindung mit den Privacy Extensions z. B. täglich wechselnd


Stateless Address Autoconfiguration (SLAAC)

Nutzt auf einigen Betriebssystemen per Vorgabe die Hardware-Adresse der Netzwerkschnittstelle

  • Solche Adressen sind im Internet leicht wiederzuerkennen
Abhilfe schaffen die Privacy Extensions
  • die zusätzliche, über Zufallszahlen generierte und wechselnde IPv6-Adressen erzeugen
Stateless Address Autoconfiguration
  • schiebt in der Mitte der nur 48 Bit langen MAC-Adresse zusätzlich die Bytes ff:fe ein
  • erzeugt daraus den Local Identifier, also die hinteren 64 Bit einer IPv6-Adresse
  • Die ersten 64 Bit gehören dem Netzwerk-Präfix, das der IPv6-Router im Netzwerk bekannt gibt und das der Rechner in die globale IPv6-Adresse übernimmt.

Betriebsysteme

Linux
  • leiten ohne Eingriff ihre globale IPv6-Adresse aus der Hardware ab
  • damit offenbaren sie Informationen über den Benutzer
Windows
  • erzeugt immer eine temporäre IPv6-Adresse
  • die dem Nutzer mehr Privatheit verschafft

Den IPv6-Entwicklern fiel schnell auf dass dieses Verfahren die Privatsphäre von Rechner und Nutzer gefährdet

  • Solche statischen IPv6-Adressen wirken wie eine eindeutige Hardware-ID, die der Rechner bei jedem Kontakt zu einem IPv6-tauglichen Server überträgt.
  • Brisant ist das bei Geräten wie Tablets oder Smartphones, denn sie werden in der Regel nur von einer Person genutzt.
  • Die für jeden Serverbetreiber und Netzbeobachter zugängliche MAC-Adresse erlaubt es damit, diese Person wiederzuerkennen.
Privacy Extensions for Stateless Address Autoconfiguration in IPv6
  • Daher definierten sie nachträglich das Verfahren "Privacy Extensions for Stateless Address Autoconfiguration in IPv6" (RFC 4941)
  • mit dem sich zusätzlich zu diesen statischen Adressen temporäre erzeugen lassen
  • die der Rechner für seine Anfragen ins IPv6-Internet einsetzt
Der Host Identifier dieser Adressen wird über Zufallszahlen ermittelt
  • Allerdings setzen längst nicht alle aktuellen Betriebssysteme diese Erweiterung ab Werk ein
Derzeit hat einzig Windows die Privacy Extensions eingeschaltet
  • Andere wie Mac OS und Linux beherrschen das Verfahren
  • man muss es aber per Hand aktivieren
Beschreibung
Windows IPv6/Privacy/Windows
Linux IPv6/Privacy/Linux
Android IPv6/Privacy Extension/Android
Mac OS X IPv6/Privacy/Mac OS X
iPhone und iPad (IOS) IPv6/Privacy/IOS