Zum Inhalt springen

Skript/IPv6/Zusammenfassung

Aus Foxwiki

Skript/Netzwerk/IPv6

Einführung

IPv6 - Internetprotokoll Version 6

Beschreibung

Nachfolger von IPv4

  • 1998 definiert


Header

IPv6/Header - Aufbau des Protokollkopfes von IPv6

Beschreibung

IPv6-Header hat eine feste Größe von 40 Byte (320 Bit)

Trotz vierfacher IPv6-Adresslänge (16 Byte) nur doppelte Headerlänge

IPv6 Header

00-03 04-07 08-11 12-15 16-19 20-23 24-27 28-31
Version Traffic Class Flow Label H
e
a
d
e
r
Payload Length Next Header Hop Limit
Source-Address
Destination-Address

Payload


IPv6/Header/Format

Header-Felder

Feld Länge (bit) Inhalt
Version 4 IP-Versionsnummer (6)
Traffic Class 8 Quality of Service (QoS) Priorisierung (RFC/2474)
Flow Label 20 Ebenfalls für QoS oder Echtzeitanwendungen verwendeter Wert. Pakete, die dasselbe Flow Label tragen, werden gleich behandelt.
Payload Length 16 Länge der Daten nach dem IPv6 Header; Länge des IPv6-Paketinhaltes (ohne Kopfdatenbereich, aber inklusive der Erweiterungs-Kopfdaten) in Byte
Next Header 8 Identifiziert den Typ des nächsten Kopfdatenbereiches, dieser kann entweder einen Erweiterungs-Kopfdatenbereich (siehe nächste Tabelle) oder ein Protokoll höherer Schicht (engl.: Upper Layer Protocol) bezeichnen, wie z. B. TCP (Typ 6) oder UDP (Typ 17).

Protokoll Nummer oder Extension-Header

Hop Limit 8 Maximale Anzahl an Zwischenschritten über Router, die ein Paket zurücklegen darf; wird beim Durchlaufen eines Routers ("Hops") um eins verringert. Pakete mit null als Hop Limit werden verworfen. Es entspricht dem Feld Time to Live (TTL) bei IPv4.

Anzahl der Routerhops

Source Address 128 Adresse des Senders
Destination Address 128 Adresse des Empfängers
Summe (bit) 360

Vereinfachung des Headers

Enthält nur grundlegende Forwarding-Information

Zusätzliche Informationen in Erweiterungs-Headern

Header im Vergleich

Entfallene Felder

Option Beschreibung
HL IPv6Header eine feste Länge hat
Protocol Feld Next-Header angibt welches Protokoll auf der Transportschicht verwendet wird.
Felder zur
IP/Fragmentierung
IPv6 Fragmentierung wird anders handhabt, IPv6-Router fragmentieren keine Pakete, sondern schicken der Quelle eine Nachricht kleinere Pakete zu schicken.
Checksum die Berechnung der Prüfsumme bei jedem Hop sich negativ auf die Performance auswirkt, auf den Schichten über und unter der Vermittlungsschicht werden bereits Prüfsummen berechnet
Padding


Adressierung

IPv6/Adresse - IP/Adresse in einem IPv6-Netzwerk

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



IP-Adressierung

IP/Adresse - Adresse des Internet Protokolls

Beschreibung

Eine IP-Adresse ist eine Adresse in Computernetzen, die – wie das Internet – auf dem Internetprotokoll (IP) basieren

  • Sie wird Geräten zugewiesen, die an das Netz angebunden sind, macht die Geräte so adressierbar und damit erreichbar
  • Die IP-Adresse kann einen einzelnen Empfänger oder eine Gruppe von Empfängern (Multicast, Broadcast) bezeichnen
  • Umgekehrt können einem Computer mehrere IP-Adressen zugeordnet sein

Die IP-Adresse wird vor allem verwendet, um Daten von ihrem Absender zum vorgesehenen Empfänger zu transportieren

  • Ähnlich der Postanschrift auf einem Briefumschlag werden Datenpakete mit einer IP-Adresse versehen, die den Empfänger eindeutig identifiziert
  • Aufgrund dieser Adresse können die „Poststellen“, die Router, entscheiden, in welche Richtung das Paket weitertransportiert werden soll
  • Im Gegensatz zu Postadressen sind IP-Adressen nicht an einen bestimmten Ort gebunden
Notation

Die bekannteste Notation der heute geläufigen IPv4-Adressen besteht aus vier Zahlen, die Werte von 0 bis 255 annehmen können und mit einem Punkt getrennt werden, beispielsweise 192.0.2.42

  • Technisch gesehen ist die Adresse eine 32-stellige (IPv4) oder 128-stellige (IPv6) Binärzahl
Beschreibung

Adresse in Computernetzen

Sie wird Geräten zugewiesen, die an das Netz angebunden sind, macht die Geräte so adressierbar und damit erreichbar

  • Die IP-Adresse kann einen einzelnen Empfänger oder eine Gruppe von Empfängern bezeichnen (Multicast, Broadcast)
  • Umgekehrt können einem Computer mehrere IP-Adressen zugeordnet sein

Die IP-Adresse wird vor allem verwendet, um Daten von ihrem Absender zum vorgesehenen Empfänger zu transportieren. Ähnlich der Postanschrift auf einem Briefumschlag werden Datenpakete mit einer IP-Adresse versehen, die den Empfänger eindeutig identifiziert

  • Aufgrund dieser Adresse können die "Poststellen", die Router, entscheiden, in welche Richtung das Paket weitertransportiert werden soll
  • Im Gegensatz zu Postadressen sind IP-Adressen nicht an einen bestimmten Ort gebunden

Die bekannteste Notation der heute geläufigen IPv4-Adressen besteht aus vier Zahlen, die Werte von 0 bis 255 annehmen können und mit einem Punkt getrennt werden, beispielsweise 192.0.2.42

  • Technisch gesehen ist die Adresse eine 32-stellige (IPv4) oder 128-stellige (IPv6) Binärzahl


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

Adress-Notation

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

RFC/4291 - 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

RFC/5952 - 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



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

IPv6/Adresse/Typen - Unterteilung des IPv6-Adressraums

IPv6-Adressentypen

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

"IPv6 Address Types

Haupttypen
Typ Beschreibung
Unicast 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 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 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 IPv6 nutzte keine Broadcasts
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


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
Lehren aus IPv4
Vorteilhaft

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

Adressraum

IANA weist IPv6-Adressraum zu

Internet Assigned Numbers Authority (IANA)

Kleiner Teil zugewiesen

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
IANA vergibt nur Adressen, die mit den ersten 3 Bit 001 beginnen
  • Derzeit beginnen in der Internet-IPv6-Routing-Tabelle alle Präfixe mit der hexadezimalen Ziffer 2 oder 3

Präfix

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

Host-Teil

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

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/Adresse/Typen - Unterteilung des IPv6-Adressraums

IPv6-Adressentypen

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

"IPv6 Address Types

Haupttypen
Typ Beschreibung
Unicast 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 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 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 IPv6 nutzte keine Broadcasts
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


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
Lehren aus IPv4
Vorteilhaft

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

Adressraum

IANA weist IPv6-Adressraum zu

Internet Assigned Numbers Authority (IANA)

Kleiner Teil zugewiesen

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
IANA vergibt nur Adressen, die mit den ersten 3 Bit 001 beginnen
  • Derzeit beginnen in der Internet-IPv6-Routing-Tabelle alle Präfixe mit der hexadezimalen Ziffer 2 oder 3

Präfix

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

Host-Teil

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

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


ICMPv6

IPv6/ICMPv6 - ICMPv6 (Internet Control Message Protocol in IPv6-Netzwerken

Beschreibung

ICMPv6 (Internet Control Message Protocol Version 6)
Familie Internetprotokolle
Einsatzgebiet Fehlermeldungen, Diagnose, Autoconfiguration, Routing
Internet-Protokolle im TCP/IP-Protokollstapel
Internet ICMPv6
IPv6
Netzzugang Ethernet Token
Bus
IEEE
802.11a/b/g/n
FDDI


Fehlererkennung und -meldung

Fehleranalyse

  • Echo-Request und Echo-Reply für Ping-Operationen
Hilfsprotokoll für IPv6

OSI-Schicht 3

Austausch von Fehler- und Informationsmeldungen in IPv6-Netzwerken

Neighbor Discovery Protocol

Aufgaben
Bedeutung von ICMPv6

ICMPv6 oft erforderlich

  • Im Gegensatz zum ICMP bei IPv4 ist ICMPv6 zwingend für den Betrieb von IPv6 erforderlich
  • Ein generelles Blockieren von ICMPv6 auf der Firewall führt dazu, dass IPv6 nicht funktioniert (vgl. RFC 4890)

Verarbeitung

Regeln für die Verarbeitung von ICMPv6-Nachrichten
Nachricht Beschreibung
Unbekannte ICMPv6-Fehlernachrichten müssen an die darüberliegende Netzwerkschicht weitergereicht werden
Unbekannte ICMPv6-Informationsnachrichten müssen ohne Benachrichtigung des Absenders verworfen werden
Fehlerverursachendes Paket Jeder Fehlernachricht wird am Ende so viel wie möglich des fehlerverursachenden Pakets angehängt
Protokollnummer Die Protokollnummer zum Weiterreichen von unbekannten Fehlernachrichten wird aus dem angehängten Originalpaket entnommen
Keine Antworten auf

Netz darf nicht mit ICMPv6-Fehlernachrichten geflutet werden

Auf folgende Pakete werden keine Fehlernachrichten versandt

  • Fehlernachrichten
  • Pakete an Multicast-, Link-Level-Multicast- oder Link-Level-Broadcast-Adressen mit folgenden

Ausnahmen

  • Packet-Too-Big-Nachrichten
  • Parameter-Problem-Nachrichten mit Code 2 - unbekannte IPv6-Option



IPv6/ICMPv6 Fuktionen

Upper Layer Protokolle

IPv6/Daemons - Hinweise zu IPv6 kompatiblen Daemons

Beschreibung

Änderungen in höheren Protokollschichten (Dual Stack)

Anpassungen in höheren Protokollschichten

  • die durch die Einführung von IPv6 notwendig wurden
  • insbesondere im Kontext der Dual-Stack-Implementierung

Anwendungen und Netzwerkprotokolle

  • Die modifiziert wurden, um mit beiden IP-Versionen zu arbeiten

Herausforderungen, die sich aus der Notwendigkeit der gleichzeitigen Unterstützung ergeben

Software und Netzwerkausrüstungen anpassen

  • um zwischen IPv4 zu IPv6 zu wechseln
Spezielle Anpassungen

Protokolle wie HTTP, SMTP und FTP

  • erforderlich, um eine vollständige Funktionalität über beide Protokollversionen zu gewährleisten

Upper Layer Protokolle

Seit einiger Zeit ist dies meist einfach, suchen Sie einfach nach einer Kommandozeilen-Option oder einer Konfigurationsvariable, um das Lauschen an IPv6-Adressen zu aktivieren

  • Schauen Sie dazu in den Manual-Seiten des Daemons oder in den entsprechenden FAQs nach
  • Es kann allerdings sein, daß sich der Daemon nur an die IPv6-"any"-Adresse (::) binden läßt und kein dediziertes Binden an eine spezielle IPv6-Adresse möglich ist (das hängt von der Unterstützung des Programmierers ab)
Dienst Beschreibung
BIND Berkeley Internet Name Domain (daemon "named") IPv6/BIND
Xinetd Internet super daemon xinetd
Webserver Apache (httpd2) Webserver Apache (httpd2)
Router Advertisement Daemon (radvd) Router Advertisement Daemon
Dynamic Host Configuration v6 Server (dhcp6s) dhcp6s
ISC Dynamic Host Configuration Server (dhcpd) dhcpd
tcp_wrapper Tcp wrapper
vsftpd Vsftpd
proftpd Proftpd


Sicherheit

Skript/IPv6/Zusammenfassung - Sicherheit von IPv6-Knoten

Beschreibung

Empfehlung Beschreibung
1 Patches einspielen
2 Nicht benötigte Dienste deaktivieren
3 Firewall konfigurieren
4 Dienste nur an benötigte IPv4/IPv6 Adressen binden


QoS

IPv6/QoS - Quality of Service mit IPv6

Beschreibung

IPv6 unterstützt QoS durch die Anwendung von


Router

Skript/IPv6/Zusammenfassung

Beschreibung

Migration

Skript/IPv6/Zusammenfassung - Umstieg von IPv4 auf IPv6

Beschreibung

IPv4 und IPv6 können auf derselben Infrastruktur parallel betreiben werden
Betriebssystem

Geeignete Betriebssysteme benötigen keine neuen

  • Leitungen
  • Netzwerkkarten
  • Geräte
Unterstützung

IPv6 sollte von aktuellen Betriebssystemen angemessen unterstützt werden

Fehlende Unterstützung
  • ...
Mechanismen für einen Übergang von IPv4 zu IPv6
  • Für Geräte, die ausschließlich über IPv4 oder IPv6 angebunden werden können
  • IPv6 wird dabei in der Regel hinzugeschaltet und bevorzugt
  • Ohne IPv4 abzuschalten
Mechanismen
Übergangstechnologie Beschreibung
Parallelbetrieb
Tunnel
Übersetzung

Parallelbetrieb

IPv6/Parallelbetrieb

Verfahren Beschreibung
Dual Stack Netzknoten mit IPv4 und IPv6
Dual Stack Lite Dual-Stack mit globaler IPv6 und Carrier-NAT IPv4

Tunnel

IPv6/Tunnel

Verfahren Beschreibung Status
4in6 IPv4-Datagramm als Payload in IPv6-Datagramm Aktuell
6in4 IPv6-Datagramm als Payload in IPv4-Datagramm Aktuell
6over4 Transport von IPv6-Datagrammen zwischen Dual-Stack Knoten über ein IPv4-Netzwerk Aktuell
6to4 Transport von IPv6-Datagrammen über ein IPv4-Netzwerk Veraltet
AYIYA Anything In Anything Aktuell
6rd IPv6 rapid deployment Aktuell
ISATAP Intra-Site Automatic Tunnel Addressing Protocol (veraltet) Veraltet
Teredo Kapselung von IPv6-Datagrammen in IPv4-UDP-Datagrammen properitär

Übersetzung

IPv6/Translation

Verfahren Beschreibung
NAT64 IPv4-Adressen in IPv6-Adressen
DNS64 IPv6-DNS Einträge (AAAA) für IPv4-A-Einträge erzeugen
464XLAT IPv4-in-IPv6-in-IPv4

Zusammenfassung

IPv6-Übergangsmechanismen
Bezeichnung Beschreibung Typ Status
4in6 Tunneling von IPv4 in IPv6
6in4 Tunneling von IPv6 in IPv4
6over4 Transport von IPv6-Datenpaketen zwischen Dual-Stack Knoten über ein IPv4-Netzwerk
6to4 Transport von IPv6-Datenpaketen über ein IPv4-Netzwerk (veraltet)
AYIYA Anything In Anything
Dual-Stack Netzknoten mit IPv4 und IPv6 im Parallelbetrieb
Dual-Stack Lite DS-Lite - Wie Dual-Stack, jedoch mit globaler IPv6 und Carrier-NAT IPv4
6rd IPv6 rapid deployment
ISATAP Intra-Site Automatic Tunnel Addressing Protocol (veraltet)
Teredo Kapselung von IPv6-Datenpaketen in IPv4-UDP-Datenpaketen
NAT64 Übersetzung von IPv4-Adressen in IPv6-Adressen
464XLAT Übersetzung von IPv4- in IPv6- in IPv4-Adressen
SIIT Stateless IP/ICMP Translation


Firewall

IPv6/Firewall

Beschreibung

  • Protokolle
  • Netze

ICMP

Internet Control Message Protocol (ICMP) ist Kernbestandteil der Internetprotokollfamilie

  • Austausch von Fehlermeldungen und Informationsnachrichten
IPv4

Bei IPv4 ist es gängige Praxis, ICMP an der Firewall zu blockieren

Bedeutung von ICMPv6

Für wichtige Mechanismen unerlässlich

Eine undifferenzierte Filterung von ICMPv6 kann Erreichbarkeitsprobleme mit sich bringen

Daher sollte bei IPv6 keine generelle Sperrung von ICMPv6 erfolgen

Folgende ICMPv6-Typen sollten zumindest teilweise zugelassen werden (vgl. auch RFC/4890)

  • Nicht genannte Typen sollten gesperrt werden
  • Die Bezeichnungen „vom Internet“ und „zum Internet“ beziehen sich jeweils auf das System, das die Verbindung aufbaut oder deren Endpunkt darstellt (in der Regel ein ALG)
IPv6-ICMP Nachricht (Typ) Zwischen internen Netzen Vom Internet Zum Internet
Destination unreachable (1)
Packet too big (2)
Time exceeded (3)
Parameter Problem (4)
Echo-Request (128) 1 1
Echo-Antwort (129) 2 2
Multicast (130-132, 143, 151-153) 3 3 3
Router (133, 134) 3
Neighbor (135,136) 3 3 3
Redirect (137) 3/4
ICMP-Information (139) 1
ICMP-Information (140) 2
Reverse-Neighbor (141) 1
Reverse-Neighbor (142) 2
Legende
  • 1 = von der Management-Station aus
  • 2 = zur Management-Station hin
  • 3 = ohne Forwarding
  • 4 = ausgehend vom Router

Quelle

OPNsense

iptables

Regeln Client

* mangle
 : PREROUTING ACCEPT [ : ]
 : INPUT ACCEPT [ : ]
 : FORWARD ACCEPT [ : ]
 : OUTPUT ACCEPT [ : ]
 : POSTROUTING ACCEPT [ : ]
 COMMIT
 #
 * filter
 : INPUT DROP [ : ]
 : FORWARD DROP [ : ]
 : OUTPUT ACCEPT [ : ]
 : ndp-slaac - [ : ]
 : trashlog - [ : ]
 -A INPUT -i lo -j ACCEPT
 -A INPUT -m conntrack -- ctstate INVALID -j trashlog
 -A INPUT -m conntrack -- ctstate RELATED , ESTABLISHED -j ACCEPT
 -A INPUT -p ipv6-icmp -j ndp-slaac
 -A INPUT -s fe80::/1 -d fe80::/10 -p ipv6-icmp -m icmp6 --icmpv6-type 128 -m conntrack -- ctstate NEW -j ACCEPT
 -A INPUT -s fe80::/1 -p tcp -m tcp -- dport 22 -m conntrack -- ctstate NEW -j ACCEPT
 -A OUTPUT -o lo -j ACCEPT
 -A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 133 -m hl --hl-eq 255 -j ACCEPT
 -A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 134 -m hl --hl-eq 255 -j ACCEPT
 -A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 135 -m hl --hl-eq 255 -j ACCEPT
 -A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 136 -m hl --hl-eq 255 -j ACCEPT
 -A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 137 -m hl --hl-eq 255 -j ACCEPT
 -A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 130 -m hl --hl-eq   1 -j ACCEPT
 -A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 131 -m hl --hl-eq   1 -j ACCEPT
 -A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 132 -m hl --hl-eq   1 -j ACCEPT
 -A ndp-slaac -p ipv6-icmp -m icmp6 --icmpv6-type 143 -m hl --hl-eq   1 -j ACCEPT
 -A trashlog -j LOG -- log - prefix " TRASHLOG : " --log - level 5
 -A trashlog -j DROP
 COMMIT

Regeln Router

* mangle
: PREROUTING ACCEPT [ : ]
: INPUT ACCEPT [ : ]
: FORWARD ACCEPT [ : ]
: OUTPUT ACCEPT [ : ]
: POSTROUTING ACCEPT [ : ]
COMMIT
#
* filter
: INPUT DROP [ : ]
: FORWARD DROP [ : ]
: OUTPUT ACCEPT [ : ]
: bad - eh - [ : ]
: icmpv6-filter - [ : ]
: ndp-minimal - [ : ]
: trashlog - [ : ]
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack -- ctstate RELATED , ESTABLISHED -j ACCEPT
-A INPUT -m conntrack -- ctstate INVALID -j trashlog
-A INPUT -p ipv6-icmp -j ndp-minimal
-A INPUT -i eth1 -p ipv6-icmp -m icmp6 --icmpv6-type 133 -m hl --hl-eq 255 -j ACCEPT
-A INPUT -i eth1 -p udp -m udp -- dport 53 -m conntrack -- ctstate NEW -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp -- dport 53 -m conntrack -- ctstate NEW -j ACCEPT
-A FORWARD -m conntrack -- ctstate RELATED , ESTABLISHED -j ACCEPT
-A FORWARD -p ipv6-icmp -j icmpv6-filter
-A FORWARD -i eth1 -o sixxs -m conntrack -- ctstate NEW -j ACCEPT
-A FORWARD -i eth1 -o nat64 -m conntrack -- ctstate NEW -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A bad - eh -m rt --rt - type --rt - segsleft -j DROP
-A icmpv6-filter -s fe80::/1 -j DROP
-A icmpv6-filter -d fe80::/1 -j DROP
-A icmpv6-filter -s 2a01:198:200:8a23::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 128 -m conntrack -- ctstate NEW -j ACCEPT
-A icmpv6-filter -d 2a01:198:200:8a23:200:ff:fe60:d1e/128 -p ipv6-icmp -m icmp6 --icmpv6-type 128 -m conntrack -- ctstate NEW -j ACCEPT
-A icmpv6-filter -d ff00::/8 -p ipv6-icmp -m icmp6 --icmpv6-type 129 -j DROP
-A icmpv6-filter -s 2a01:198:200:8a23::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 2   -j ACCEPT
-A icmpv6-filter -s 2a01:198:200:8a23::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 3/1 -j ACCEPT
-A icmpv6-filter -s 2a01:198:200:8a23::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 4/0 -j ACCEPT
-A icmpv6-filter -s 2a01:198:200:8a23::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 4/1 -j ACCEPT
-A icmpv6-filter -s 2a01:198:200:8a23::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 4/2 -j ACCEPT
-A icmpv6-filter -s 2a01:198:200:8a23::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 1   -j ACCEPT
-A icmpv6-filter -s 2a01:198:200:8a23::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 3/0 -j ACCEPT
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 135 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 136 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 133 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 134 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 137 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 130 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 131 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 132 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 143 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 147 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 139 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 140 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 144 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 145 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 146 -j DROP
-A icmpv6-filter -p ipv6-icmp -m icmp6 --icmpv6-type 147 -j DROP
-A icmpv6-filter -j DROP
-A ndp-minimal -p ipv6-icmp -m icmp6 --icmpv6-type 135 -m hl --hl-eq 255 -j ACCEPT
-A ndp-minimal -p ipv6-icmp -m icmp6 --icmpv6-type 136 -m hl --hl-eq 255 -j ACCEPT
-A ndp-minimal -p ipv6-icmp -m icmp6 --icmpv6-type 137 -m hl --hl-eq 255 -j ACCEPT
-A ndp-minimal -p ipv6-icmp -m icmp6 --icmpv6-type 130 -m hl --hl-eq   1 -j ACCEPT
-A ndp-minimal -p ipv6-icmp -m icmp6 --icmpv6-type 131 -m hl --hl-eq   1 -j ACCEPT
-A ndp-minimal -p ipv6-icmp -m icmp6 --icmpv6-type 132 -m hl --hl-eq   1 -j ACCEPT
-A ndp-minimal -p ipv6-icmp -m icmp6 --icmpv6-type 143 -m hl --hl-eq   1 -j ACCEPT
-A trashlog -j LOG -- log - prefix " TRASHLOG : " --log - level 5
-A trashlog -j DROP
COMMIT


Tunnel

Skript/IPv6/Zusammenfassung

Beschreibung

Verfahren
Verfahren Beschreibung Status
4in6 IPv4-Datagramm als Payload in IPv6-Datagramm Aktuell
6in4 IPv6-Datagramm als Payload in IPv4-Datagramm Aktuell
6over4 Transport von IPv6-Datagrammen zwischen Dual-Stack Knoten über ein IPv4-Netzwerk Aktuell
6to4 Transport von IPv6-Datagrammen über ein IPv4-Netzwerk Veraltet
AYIYA Anything In Anything Aktuell
6rd IPv6 rapid deployment Aktuell
ISATAP Intra-Site Automatic Tunnel Addressing Protocol (veraltet) Veraltet
Teredo Kapselung von IPv6-Datagrammen in IPv4-UDP-Datagrammen properitär

Anhang

Siehe auch



Dokumentation

RFC

Links

Weblinks

</noinclude>

Subnetting

IPv6/Subnetting - IPv6-Adressen mit Subnetzmasken in Netz- und Host-Teil unterteilen

Beschreibung

Wie bei IPv4 können IPv6-Adressen mittels Subnetzmasken (subnet masks) in einen Netz- und einen Host-Teil unterteilt werden

Präfixlängen für das Routing

Um eine maximale Reduktion an Routing-Tabellen zu erzielen, war in der frühen Design-Phase noch ein vollkommen hierarchischer Routing-Ansatz vorgesehen

  • Die Überlegungen hinter diesem Ansatz waren die gegenwärtigen IPv4 Routing-Einträge in den Haupt-Routern (mit über 400.000 Einträgen im Jahr 2013) sowie die Reduktion des Speicherbedarfs für die Routing-Tabellen bei Hardware-Routern (ASIC "Application Specified Integrated Circuit", speziell konstuierter Chip) sowie ein daraus resultierender Geschwindigkeitszuwachs (weniger Einträge ergeben hoffentlich schnellere Abfragen)

Heutiger Standpunkt ist, dass das Routing für Netzwerke mit nur einem Service Provider hauptsächlich mit einem hierarchischen Design realisiert wird

  • Eine solche Vorgehensweise ist nicht möglich, wenn mehr als eine ISP-Verbindung besteht
  • Diese Problematik wird unter dem Thema multi-homing diskutiert (Infos zu multi-homing: drafts-ietf-multi6-*,IPv6 Multihoming Solutions)

Präfixlängen (netmasks)

Vergleichbar zu IPv4, handelt es sich hierbei um den routbaren Netzwerkpfad für das stattfindende Routing

  • Da die Standard-Notierung der Netzmaske von 128 bit nicht sehr fein aussieht, verwenden die Designer das aus IPv4 bekannte Classless Inter Domain Routing Schema (CIDR, RFC 1519 / Classless Inter-Domain Routing)
  • Mit Hilfe des CIDR wird die Bitanzahl der IP Adresse festgelegt, welche für das Routing verwendet werden
  • Diese Methode wird auch als "Slash"-Notation genannt
Beispiel

Diese Notation wird erweitert zu

  • Netzwerk
  • Netzmaske

Zutreffende Routen

Im Normalfall (ohne QoS) ergibt eine Suche in der Routing-Tabelle eine Route mit der signifikantesten Adress-Bit-Anzahl, d. h. jene Route mit der größten Präfix-Länge wird zuerst herangezogen

Wenn beispielsweise eine Routing-Tabelle folgende Einträge zeigt (Liste ist nicht komplett)

Die gezeigten Zieladressen der IPv6 Pakete werden über die entsprechenden Geräte geroutet