IPv6 Merkmale
Vereinfachter Header
Routingeffizienz - keine Fragmentierung, keine Prüfsumme
Keine Broadcasts
Extension Header
Flow Labels
Darüber hinaus:
Ende-zu-Ende Verbindung durch Verzicht auf NAT
Unterstützung von Sicherheit und Mobilität
Headerfelder
Der Basisheader besteht in IPv6 aus 8 Feldern.
Die Headergröße beträgt 40 Bytes.
Gegenüber IPv6 wird auf 6 der 12 Felder verzichtet:
Header Length
Identification
Flags
Fragment Offset
Header Checksum
Padding
Optimierungen
Vereinfachung des Headers - Beschleunigung des Routings
Die Prüfsummen für Header und Paket sind nicht in jedem Knoten neu zu berechnen, das TTL-Feld ist jedoch zu dekrementieren
Keine Broadcasts: Broadcast werden als Multicast umgesetzt
Dienstgüte
Flexibilität bei Optionen durch Extension-Header
Erweiterung der Protokollfamilie - ICMPv6, DHCPv6
Der große Adressraum von IPv6 ermöglicht
einerseits ein globales hierarchisches Adressierungsschema, um das Routing zu optimieren und die Routingtabelleneinträge zu reduzieren
andererseits stellt es genügend Adressen für neue Dienste und Geräte bereit
Felder
Flow Label: dieses Feld erlaubt den Anwendungen der Endsysteme den Verkehr auf IP-Basis zu differenzieren. Flow Labels identifizieren einen Paketstrom und ermöglichen folglich eine gezielte Verarbeitung durch Router auf dem Weg
Next Header: Der Wert diese Feldes bestimmt die anschließende Verarbeitung des Paketes. Ist keine explizite Verarbeitung vorgesehen, steht hier die Kennung für ein Upper-Layer protocol: 6 = TCP und 17 = UDP
Realisiert Fragmentierung, Authentication, etc. falls benötigt.
ICMPv6 ist als Extension Header definiert.
Änderungen an Applikationen
Manche Anwendungen erwarten einen IP4-Protokollstapel
Prüfung, dass alle Eingabemasken nicht nur IPv4-Adressen akzeptieren
Druckserver oder ähnliche Geräte, die nicht aufgerüstet werden können, müssen ausgetuascht werden
DNS-Server um die Fähigkeit erweitern, AAAA-Recordeinträge zu akzeptieren
Für Firewalls müssen die Weiterleitregeln hinsichtlich IPv6 aktualisiert werden.
Bei ISP muss ein IPv6-Zugang beauftragt werden
Umstellung des Routing incl. Übergangslösungen
Adressveränderungen
IPv6 kennt keine variablen Subnetzmasken wie IPv4
Die ersten 64 Bit adressieren das Netz, der Rest den Host
IPv6-Adressen beziehen sich immer explizit auf einen Gültigkeitsbereich
- Scope
Jede Netzwerkkarte kann mehrere Adressen besitzen
Jeder IPv6-Rechner besitzt nach dem Start eine Adresse des link-local-Bereichs (verbindungslokal), die mit dem Präfix FE80::/64 beginnt (Netzteil). Der Hostteil kann aus der MAC-Adresse bestimmt werden.
Automatische Adresskonfiguration ohne DHCP
Adresspräfix
Der Präfix ist Teil der Adresse und stellt die höherwertigen Bits dar. Damit wird das Netzwerk identifiziert.
Die Angabe der Präfixlänge geschieht über eine Dezimalzahl, die die Anzahl der Bits bezogen auf die Adresslnge von 128 Bits angibt
Beispiel:
1080:6809:8086:6502::/64 entspricht der CIDR-Darstellung in IPv4
Adresskomponenten
Eine Adresse besteht aus zwei Teilen:
einem Präfix
einer Interface-ID
beide Teile sind 64 Bit lang
Die Interface-ID kann von Ethernet, PPP, HDLC Adressen automatisch erzeugt werden
Adresstypen
IPv6 unterscheidet drei Hauptadresstypen:
Unicast - eine Adresse für ein einzelnes Interface, die als Quelle und Ziel einer gezielten Paketzustellung dient
Anycast - eine Adresse für eine Menge von Interfaces, die zu unterschiedlichen Knoten gehören. Ein Paket wird an die nächstliegende Schnittstelle im Sinne des Rountingprotokolls gesendet
Multicast - eine Adressierung einer Gruppe von Interfaces auf unterschiedlichen Knoten
Adresszuweisung
Eine IPv6-Adresse ist einem einzelnen Interface nicht einem Host/Knoten zugewiesen.
Einem einzelnen Interface können mehrere IPv6-Adressen zugeordnet sein (Uni-, Any- oder Multicast)
Mehrere physikalische Interfaces können zum Zwecke des Load-Sharing über eine einzige Unicast-Adresse verfügen
Unicast-Adresstypen
Es gibt mehrere Unicast-Adresstypen
Global Unicast-Adressen
Unique-Local Adressen
Link-Local Adressen
IPv4-mapped IPv6-Adressen
PIv4 kompatible IPv6-Adressen
Globale Unicast-Adresse
Die globale IPv6 Unicast-Adresse entspricht der herkömmlichen IPv4 globalen Unicast-Adresse.
Sie erlaubt die Zusammenfassung in Präfixe und damit der Verringerung der Zahl der Routingtabelleneinträge
Eigenschaften
globale eindeutige Adresse: 2001 Präfix
der Präfix 2001:/3 entspricht dem Binärwert 0010 ist durch die IANA für die Allgemeinheit freigegeben
Adressen besitzen eine Lebenszeit (RFC 4192 on Renumbering)
Bestandteile
Ein 48-Bit globaler Routingpräfix
Eine 16-Bit Subnetzkennung: diese wird von einzelnen Organisationen genutzt, um eine eigene hierarchische Adressstruktur und Subnetze vergleichbar denen in IPv4 aufzubauen.
Eine 64-Bit Interface-ID: sie identifiziert eindeutig ein Interface
Interface Identifier
Die Interface-ID der Unicastadresse können auf mehrere Arten bestimmt werden:
automatisch nach 64-bit EUI-64
automatisch durch eine generierte Pseudozufallszahl
zugewiesen über DHCP
manuell konfiguriert
Modifiziertes EUI-64-Format
Adressen mit dem Präfix 2000::/3 (=001) müssen einen 64-Bit Interface Identifier tragen, der dem EUI-64-Format entspricht.
Der 64-Bit-Interface Identifier wird benötigt, um ein Interface auf einem Link eindeutig zu erkennen
Das EUI-Format leitet sich aus 48-Bit-MAC-Adresse ab, indem die hexadezimale Zahl FFFE zwischen die obersten und uuntersten 3 Bytes eingefügt wird.
Modifiziertes EUI-64-Format: Anschließend wird das 7-te Bit des oberen Bytes invertiert
Unique-lokale Adresse
Unique-lokale Adressen entsprechen den privaten Adressen von IPv4.
Diese Adressen sind auf einen speziellen Bereich begrenzt und werden nicht ins Internet weitergegeben. Sie können allerdings innerhalb eines bestimmten Nutzerbereichs geroutet werden
Eine derartige Adresse verwendet den Präfix FC00::/7 (=1111 110), den Subnetz-Identifier (16 Bits) und die Interface-ID nach dem EUI-64-Format.
Global ID ist zufällig zu generieren und Local ist 1 für die lokale Generierung.
Unique-Lokale Adressen sind in RFC 4193 “Unique Local IPv6 Unicast Addresses” definiert.
Link-lokale Adresse
Hierbei handelt es sich um eine automatisch erzeugte Adresse.
Sie verwendet den Präfix FE80::/10 (=1111 1110 11), Subnetz Bits die Nullen enthalten können und die Interface-ID im EUI-Format
Dieser Adresstyp wird in Verbindung mit dem Neighbor Discovery Protokoll für den automatischen Adresszuweisungsprozess genutzt.
Link-lokale Adressen werden nur für den Link erzeigt und darüber hinaus nicht weitergegeben. Stationen eines Links können ohne Router miteinander kommunizieren ohne, dass sie über eine Unique-lokale oder globale Adresse verfügen.
Multicast Adresse
EIne IPv6 Multicastadresse besitzt einen Präfix von FF00::/8 (1111 1111).
Das zweite Halbbyte der Adresse FF00::/16 definiert die Lebenszeit und den Geltungsbereich (scope)
Flag: Eine permanente Adresse besitzt einen Wert von 0 eine temporäre Adresse einen von 1
Scope: der Gültigkeitsbereich einer Multicastadresse variiert von node, link, site, organization bis zu global mit den Parametern 1, 2, 5, 8 bzw. E angezeigt
Vorgebene Multicast-Adressen
All Nodes: FF02::1 (entsprich dem Broadcast in IPv4)
All Routers: FF02::2
Multicast Gruppenzugehörigkeit
IPv6 Knoten wie Router und Hosts müssen folgenden Gruppen angehören:
FF02::1 link-local
FF02::1:FF00:0 Solicated Node für jede Uni- und Ancast-Adresse
Router müssen zusätzlich der Gruppe FF02::2 angehören
Solicited Node Mulitcast-Adressen werden zur Entdeckung von Nachbarn durch das Neighbor Discovery Protokoll verwendet.
Die unteren 24 Bits dieser speziellen Adresse entsprechen der IPv6 Unicast- oder Anycast-Adresse. Sie besitzt nur link-lokale Signifikanz
Spezielle Adressen
Die unspezifizierte Adresse ::/128 - sie besteht vollständig aus Nullen. Diese Adresse darf keinem Interface zugeordnet werden. Sie wurd nur in Software benutzt, bevor eine Anwendung die genaue Quelladresse erkannt hat.
Die link local Adresse ::1/128 - ist die Loopbackadresse. Eine Anwendung, die ein Paket an diese Adresse sendet, veranlasst IPv6 dieses an das gleiche Interface zurückzugeben (entspricht 127.0.0.1 in IPv4). Diese Adresse kann keinem Interface explizit zugewiesen werden. Sie wird nicht “gerouted"
IPv6- und IPv4-Adressen
Dual Stack: Ein Host unterstützt sowohl IPv4 und IPv6
Tunnel: Wenn Teile des Netzwerkes nicht IPv6 fähig sind können IPv6 in IPv4 getunnelt werden.
Adressumsetzung (DNS64, NAT64)
Zusammenfassung - Adressraum
Die Internet Assigned Numbers Authority (IANA) teilt 2000::/3 Adressen an Registries zu.
Von der IANA erhält eine Registry einen Präfix der Länge von 20 bis 23 im Adressraum 2001::/16
Die Registries geben dann einen Präfix /32 an ISPs weiter, die ihrerseits einen Präfix/48 an ihre Kunden geben.
IPv6-Adressen in URLs
Da die Strukturierung der IPv6-Adressen über : erfolgt, dieser aber in URLs als Abtrennung für Ports genutzt wird, ist eine Unterscheidung notwendig.
Die IPv6-Adresse wird daher in eckigen Klammern gesetzt
http://[2001:1:4F3A::206:AE14]:8080/index.html
Adressen pro Knoten
Wie viele IPv6-Adressen benötigt ein Knoten, um die Funktionsfähigkeit von IPv6 zu garantieren?
Link-lokale Adresse für jedes Interface
Zugewiesene Unicast-Adresse
Loopback-Adresse
All-nodes Multicast-Adresse
Solicited-node Multicast-Adresse für jedes Interface mit einer Uni- oder Anycast-Adresse
Eventuelle Multicast-Adressen
Adressen pro Router
Router benötigen folgende Adressen:
Unicast-Adressen für Interfaces
All-router Multicast-Adressen
Eventuell Anycast-Adressen
Spezielle Multicast-Adressen abhängig vom Routingprotokoll
Protokollfamilie
IPv6 besteht nicht nur aus einem isolierten Protokoll, sondern aus einer Familie weiterer Begleitprotokolle:
erweitertes ICMPv6, das
die Autokonfiguration
das Neighbor Discovery (ähnlich zu ARP)
…
DHCPv6, das durch die Autokonfiguration weniger genutzt werden dürfte
Mit ICMPv6 können Hosts und Router Fehler melden und einfache Nachrichten versenden
ICMPv6 gibt den Rahmen für zwei neue Protokolle in IPv6 vor:
ND: stellt eine Folge von fünf ICMPv6-Nachrichten bereit, die die Kommunikation der Knoten untereinander verwaltet. ND erstetzt ARP, die ICMPv4-Routersuche und das ICMPv4-Redirect. Darüber hinaus stellt es weitere Funktionen bereit.
ICMPv6-Nachrichten werden in der Regel automatisch gesendet, wenn ein IPv6-Paket das gewünschte Ziel nicht erreicht
ICMPv6-Nachrichten werden in IPv6-Pakete als Nutzlast gekapselt
Internet Control Message Protocol Version 6 ist in RFC 2463 beschrieben.
Die verschiedenen Arten von ICMPv6-Nachrichten werden im ICMPv6-Header gekennzeichnet.
Next Headervalue beträgt 58
Eine Nachricht besteht aus folgenden Feldern:
Type - identifiziert die Nachricht oder Aktion
Code - ist ein type-spezifischer Subidentifier, z.B. Destination Unreachable, Port unreachable, adminstrativ verboten
Checksum - über die gesamte ICMPv6-Nachricht berechnet
Nachrichten
Ziele des Neighbor Discovery
Adressauflösung
Next-hop Bestimmung
Discovery
Präfix (finde den local-link Nachbarn)
Parameter (hop limit, MTU)
Router (welches ist das Defaultgateway)
Maintenance
Neighbor Erkennung der Nichterreichbarkeit
Erkennung doppelter Adressen
Umleitung = Redirection
Neighbor Discovery
Der Neighbor Discovery Prozess kennt zwei Nachrichten:
Neighbor Solicitation
Neighbor Advertisement
Antwort auf die Neighbor Soliciation Nachricht mit der Neighbor Advertisement Nachricht Typ 136
Quell- und Zieladressen sind gegenüber der Solicitation Nachricht vertauscht.
Der Datenteil enthält die Layer-2-Adresse des Knotens der die Advertisement-Nachricht schickt.
Wird ebenfalls genutzt, um über Änderungen der Linklayer-Adresse zu informieren. In diesem Fall ist die Zieladresse die “all-nodes multicast Adresse”
Ersetzt ARP
Host A (FE80::AAAA:AAAA) möchte Daten an Host B (fe80::BBBB:BBBB) senden.
(FE80::AAAA:AAAA)
(fe80::BBBB:BBBB)
Host A benötigt die MAC-Adresse: Dazu sendet Host A eine Neighbor Solicitation Message an die Solicited-node multicast address FF02::1:FFBB:BBBB mit dem Inhalt fe80::BBBB:BBBB.
FF02::1:FFBB:BBBB
fe80::BBBB:BBBB
Host B antwortet mit einer Neighbor Advertisement Message. Diese beinhaltet die MAC-Adresse von Host B.
Wird ein Paket über die Subnetzgrenze hinaus versendet, erfolgt die Adressauflösung für den gewählten Router.
Der Unterschied zu ARP ist, dass bereits IPv6 (Multicast) Adressen verwendet werden, welche automatisch konfiguriert wurden.
Neighbor Solicitation - Beispiel
Duplicate Adress Detection
IPv6 Hosts konfigurieren selbstständig Adressen.
Zur Überprüfung, ob diese in einem LAN bereits vergeben sind führen Sie für die selbst gewählte Adresse eine Adressauflösung durch.
Erhalten Sie keine Antwort, wird davon ausgegangen, dass die Adresse nicht vergeben ist und der Host nutzt diese.
Erhalten Sie eine Antwort, kann die gewählte Adresse nicht genutzt werden.
Router Discovery
Router Discovery ist ein Prozess, der Router auf dem lokalen Link identifiziert.
Dazu stehen die Nachrichten:
Router advertisement
Router solicitation zur Verfügung
Router Advertisement
Router advertisement (RA) Nachrichten sind durch den Typ 134 kenntlich gemacht und werden in bestimmten Zeitspannen von jedem konfigurierten Interface eines IPv6-Routers gesendet
Die Nachricht ist an die “all nodes multicast Adresse” FF02::1 gerichtet
Die Source IP-Adresse ist entweder die link local Adresse oder die unspezifizierte IPv6-Adresse (::)
Für die stateless Autokonfiguration besitzt der bekanntgegebene Präfix einer Länge von 64 Bit
RA - Informationen
Die Nachricht enthält folgende Informationen:
Ein Flag, das anzeigt, ob der Knoten den Autokonfigurationsmechanismus nutzen kann und dessen Typ
Ein oder mehrere IPv6-Präfixe, die Hosts des lokalen Links zur Konfiguration verwenden können
Lifetime-Informationen für jeden Präfix
Ob der Router, der die RA-Nachricht sendet als Defaultrouter angesehen werden soll
Zusatzinformationen für Hop Limit und MTU
Router Solicitation
Router Solicitation Nachrichten besitzen den ICMP-Typ 133 und werden beim Systemstart eines Hosts gesendet, so dass ein Host sofort automatisch konfiguriert wird, ohne auf einen Router Advertisement warten zu müssen
Die Quelladresse dieser Nachricht ist du unspezifizierte IPv6-Adresse 0:0:0:0:0:0:0:0
Die Zieladresse ist die All-Router Multicast Adresse FF02::2
Automatische Adresskonfiguration
Jedes IPv6-System ist in der Lage, seine eigene globale Unicastadresse zu konfigurieren
IPv6 Router - senden folgende Informationen auf dem local link
IPv6 Präfix - dabei kann nach altem und neuem Präfix nach einer Umnummerierung unterschieden werden, da Präfix mit einer Lifetime versehen sind
Default IPv6 Route
IPv6 Hosts - hören den local link ab und konfigurieren sich selbständig
Adresse mit Präfix der RA-Nachricht und dem EUI-64 Format
Defaultroute
Automatische Adresskonfiguration - Ablauf
Ein Knoten kann automatisch eine unique-lokale und globale IPv6 Adresse konfigurieren
Dazu wird an die 64-Bit Interface-ID der über eine Router Advertisement Nachricht bezogene Präfix angehängt
Ist der Präfix in der RA-Nachricht global eindeutig, trifft dies auch für die neue konfigurierte Adresse zu
Automatische Adresskonfiguration - Beispiel
Formen der Adresszuweisung
In IPv6 existieren vier Arten, auf die ein Host eine IPv6-Adresse erhalten kann:
Statische Konfiguration: vergleichbar der manuellen Zuweisung einer Adresse in IPv4
Stateless Adress Autoconfiguration (SLAAC): der Host konfiguriert automatisch seine IPv6-Adresse wie in RFC 2462 beschrieben
Stateful DHCPv6: der Host nutzt DHCPv6, um eine Adresse zu erhalten wie in RFC 3315 beschrieben
Stateless DHCP: der Host nutzt SLAAC und zusätzlich DHCP, um zusätzliche Parameter für DNS Server, TFTP Server etc. zu bekommen
Der Konfigurationstyp wird über die M- und O-Flags des Router Advertisements gesteuert.
Automatische Adresskonfiguration - Details
Eine IPv6-Adresse kann steful (DHCPv6) oder stateless (IMCPv6) bezogen werden
Das M-Bit in der Router Advertisement Nachricht zeigt an, wie die Adresse erhalten wurde
M-Bit = 1 DHCPv6 stateful
M-Bit = 0 IMCPv6 stateless
Das O-Bit bestimmt, ob eine Station weitere Prameter von einem DHCPv6 Server anfragen soll (stateless DHCPv6)
Statische Konfiguration
Die Adresse wird manuell zugeteilt.
Diese Verfahren wird für kritische Netzwerkkomponenten wie Router, Switches oder Firewalls gewählt, aber nicht für die Mehrzahl der Hosts
Stateless Address Autoconfiguration (SLAAC)
Hier wird die Adresse durch die Kombination eines Präfixes mit dem Interface Identifier bestimmt.
Dazu sendet der Router auf dem “local-link all nodes” Multicastadresse Router Advertisements, die u.a. den Präfix enthalten.
Der Host kombiniert diese Information mit seiner Interface-ID, die er z.B. nach dem EUI-64-Verfahren bestimmt oder zufällig generiert.
SLAAC Wertung
Diese Form der Adresskonfiguration unterstützt das Intranet-weite Management der Adressen
Die automatische Konfiguration ermöglicht ein “Plug-and-Play” der Geräte und integriert neue Geräte nahtlos.
Dieses Merkmal erleichtert zudem einen Wechsel des Providers, da der neue Präfix über die Router Advertisements automatisch verteilt wird.
Stateful DHCPv6
DHCPv6 nutzt Multicasts zur Informationssuche und -zustellung
Zunächst muss ein Host einen Router auf seinem Link durch Neighbor Discovery Nachrichten entdecken
Wenn ein Router Advertisement die Nutzung von DHCP anzeigt, startet der Host die DHCP Solicitation-Phase, um einen DHCP-Server zu finden.
Der weitere Verlauf entspricht demjenigen bei IPv4.
Stateless DHCP
In diesem Fall wird DHCP nur dazu verwendet, um zusätzliche Parameter in Erfahrung zu bringen
Ein Host stützt sich auf den SLAAC-Prozess und sendet dann eine DHCPv6 Solicit-Nachricht an den DCHP-Server
Zusammenfassung
Vereinfachter Header mit längeren Adressen
Link local
Globale Adresse über SLAAC
Statische Konfiguration und DHCPv6 weiterhin möglich
Neue Adressformen:
Multicast anstelle von Broadcast
Link-local Adressen
Zuletzt geändertvor einem Tag