IPv6 Zusammenfassung 24. März 2009 Das IPv6 ist der Nachfolger der gegenwärtigen Version 4 des Internet Protokolls. Beide Protokolle sind Standards für die Vermittlungsschicht des OSI Modells und regeln die Adressierung und das Routing von Datenpaketen durch ein Netz.
Inhaltsverzeichnis Gründe für ein neues Internet Protokoll... 3 Erläuterung des Adressaufbaus... 3 Adressnotation... 4 Header Format... 5 Paketgrößen... 6 Übergangsmechanismen... 6 Dual Stack... 7 Tunnelmechanismen... 7 Übersetzungsverfahren... 7 Verbreitung... 7 2 S eite
Gründe für ein neues Internet Protokoll Das alte IPv4 bietet einen Adressraum von ca. 4,3 Milliarden IP Adressen. Am Anfang des Internets dachte man wegen der begrenzten Anzahl an Rechnern, dass dieser Adressraum mehr als ausreichend sein wird. Viele Bereiche davon sind allerdings nicht nutzbar, da sich die ersten Teilnehmer am Internet (Universitäten, US Behörden und große Firmen) Class A Netze mit je 16,8 Millionen Adressen sicherten und nicht vollkommen ausnutzen. Bisher wurden nur wenige dieser Adressbereiche wieder zurückgegeben. China hat ca. 250 Millionen Internetbenutzer aber lediglich soviel IP Adressen wie ein Campus der University of California (Stand: Dezember 2004). Das Ergebnis dieser Aktionen war, dass heutzutage Adressknappheit herrscht. Es wird davon ausgegangen, dass die IANA (Internet Assigned Numbers Authority) im Januar 2011 die letzten IPv4 Netze an die RIR (Regional Internet Registries) vergeben wird und diese dann ca. nach einem Jahr keine Adressen mehr an die Internetgemeinde zur Verfügung stellen werden kann. Unter anderem aus diesen Gründen begannen 1995 die Arbeiten an IPv6 und der Adressraum wurde von ca. 4,3 Milliarden Adressen auf ca. 340 Sextillionen (=340.282.366.920.938.463.463.374.607.431.768.211.456) vergrößert. Erläuterung des Adressaufbaus Im Gegensatz zu den 32 Bit langen IPv4 Adressen sind IPv6 Adressen 128 Bit lang. Typischerweise bekommt ein Internetprovider die ersten 32 Bit als Netz von einer RIR zugewiesen. Dieser Bereich wird vom Provider weiter in Subnetze aufgeteilt. Oft wird dabei einem Netzsegment ein 64 Bit langes Präfix zugewiesen, das dann zusammen mit einem 64 Bit langen Interface Identifier die Adresse bildet. Der Interface Identifier kann entweder aus der MAC Adresse der Netzwerkkarte erstellt oder anders eindeutig zugewiesen werden. Hat z.b. 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, der Interface Identifier 1319:8a2e:0370:7347 und der Provider bekam von der RIR wahrscheinlich das Netz 2001:0db8::/32 zugewiesen. 3 S eite
Da die global eindeutige MAC Adresse die Nachverfolgung von Benutzern ermöglicht, wurde die Privacy Extension entwickelt, um die permanente Kopplung zwischen einer Benutzeridentität und einem Interface Identifier aufzuheben. Damit soll ein Teil der Anonymität von IPv4 wiederhergestellt werden. Die Privacy Extension ermöglicht die Identifikation der Netzwerkkarte über ständig wechselnde, zufällige Interface Identifier, statt diesen aus der MAC Adresse zu errechnen. Da aber in der IPv6 Adresse sowohl der Interface Identifier als auch das Präfix allein recht eindeutig auf einen Nutzer deuten können, benötigt man in Verbindung mit der Privacy Extension ein vom Provider dynamisch zugewiesenes (z. B. täglich wechselndes) Präfix. Dieses könnte wie oben beschrieben parallel zu einem fest zugewiesenen Präfix auf derselben Netzwerkkarte verwendet werden. Adressnotation Für die Adressnotation der IPv6 Adressen gibt es die folgenden vier Regeln: 1. IPv6 Adressen werden hexadezimal notiert. Die Zahl wird dabei in 8 Blöcke zu jeweils 16 Bit unterteilt. Diese Blöcke werden nicht mit Punkten wie bei IPv4 getrennt sondern mit Doppelpunkten. 2001:0db8:85a3:08d3:1319:8a2e:0370:7344 2. Führende Nullen eines Blocks dürfen ausgelassen werden, aber 0000 darf bis auf Regel 3 nur durch 0 ersetzt werden. 2001:0db8:0000:08d3:0000:8a2e:0070:7344 2001:db8:0:8d3:0:8a2e:70:7344 3. Ein oder mehrere aufeinander folgende Blöcke, deren Wert 0 (bzw. 0000) beträgt, dürfen ausgelassen und durch zwei Doppelpunkte ersetzt werden. 2001:0db8:0000:0000:0000:0000:1428:57ab 2001:0db8::1428:57ab 4. Die Reduktion durch Regel 3 darf nur einmal durchgeführt werden, d. h. es darf nur eine zusammenhängende Gruppe aus Null Blöcken in der Adresse ersetzt werden, sonst wäre keine Eindeutigkeit gegeben. 4 S eite
Header Format Im Gegensatz zu IPv4 hat der IP Header bei IPv6 in den sogenannten Extension Header (s.o. Next Header ), der Version 6 eine feste Länge von 320 Bits. Seltener Benutztee Daten werden zwischen dem eigentlichen Header und den Nutzdaten, eingebettet. Die Kopfdaten setzen sich aus folgenden Bestandteilen zusammen: Feld Version Traffic Class Flow Label Payload Length Next Header Hop Limit Source Address Destination Address Länge 4 Bit 8 Bit 20 Bit 16 Bit 8 Bit 8 Bit 128 Bit 128 Bit Inhaltsbeschreibung IP Versionsnummer Für Quality of Service verwendeter Wert. Vergleichbar mit einer Prioritätsangabe. Ebenfalls für Quality of Service oder Echtzeitanwendungen verwendeter Wert. Pakete, die ein Flow Label tragen, werden alle gleich behandelt. Länge des IPv6 Paketinhaltes (ohne Kopfdatenbereich, aber inklusive der Erweiterungs Kopfdaten) Identifiziert den Typ des nächsten Kopfdatenbereiches. Dieser kann entweder einen Erweiterungs Kopfdatenbereich oder ein Protokoll höherer Schicht bezeichnen, wie z. B. TCP oder UDP. Maximale Anzahl an Zwischenschritten über Router, die ein Paket zurücklegen darf. Die Anzahl 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. Adresse des Senders Adresse des Empfängers 5 Seite
Wie im Next Header Feld verwiesen sind sechs Extension Headers und ein Platzhalter definiert: Name Größe Beschreibung Hop By Hop Options Variabel Enthält Optionen, die von allen IPv6 Geräten, welche das Paket durchläuft beachtet werden müssen. Routing Variabel Durch diesen Header kann der Weg des Paketes durch das Netzwerk beeinflusst werden, er wird unter anderem für Mobile IPv6 verwendet. Fragment 64 Bit In diesem Header können die Parameter einer Fragmentierung festgelegt werden. Authentication Header Variabel Enthält Daten, welche die Vertraulichkeit des Paketes sicherstellen können. Encapsulating Variabel Enthält Daten zur Verschlüsselung des Paketes. Security Payload Destination Options Variabel Enthält Optionen, die nur vom Zielrechner des Paketes beachtet werden müssen. No Next Header Leer Dieser Typ ist nur ein Platzhalter, um das Ende eines Header Stapels anzuzeigen. Paketgrößen Die Maximum Transmission Unit (MTU) darf in einem IPv6 Netzwerk 1280 Byte nicht unterschreiten. Somit unterschreitet auch die Path MTU (PMTU) diesen Wert nicht und es können Pakete bis zu dieser Größe garantiert ohne Fragmentierung übertragen werden. Ein IPv6 Paket darf auch fragmentiert laut Payload Length Feld im IPv6 Header die Größe von 65.575 Byte einschließlich Kopfdaten nicht überschreiten, da dieses Feld 16 Bit lang ist. RFC 2675 stellt aber über eine Option des Hop by Hop Extension Headers die Möglichkeit zur Verfügung, Pakete mit Größen bis zu 4.294.967.335 Byte, sogenannte Jumbograms zu erzeugen. Dies erfordert allerdings Anpassungen in Protokollen höherer Schichten, wie z. B. TCP oder UDP, da diese oft auch nur 16 Bit für Größenfelder definieren. Übergangsmechanismen Um einen reibungslosen Übergang von IPv4 zu IPv6 zu ermöglichen wurden verschieden Mechanismen erdacht. IPv6 wird dabei in der Regel hinzu geschaltet, ohne IPv4 abzuschalten. Sie unterteilen sich in einfachen Parallelbetrieb (Dual Stack), Tunnelmechanismen und Übersetzungsverfahren. 6 S eite
Dual Stack Bei diesem Verfahren werden allen beteiligten Schnittstellen neben der IPv4 Adresse zusätzlich eine IPv6 Adresse und den Rechnern die notwendigen Routinginformationen zugewiesen. Die Rechner können dann über beide Protokolle unabhängig kommunizieren. Tunnelmechanismen Tunnelmechanismen dienen dazu, Router zu überbrücken, die noch keine IPv6 Weiterleitung unterstützen und somit kein Dual Stack Verfahren anwenden können. Dabei werden immer IPv6 Pakete in der Nutzlast anderer Protokolle (meist IPv4), zu einer Tunnelgegenstelle übertragen, die sich im IPv6 Internet befindet. Dort werden sie aus der Nutzlast herausgelöst und zum Ziel via IPv6 Routing übertragen. Der Rückweg funktioniert analog. Jedes Tunnelverfahren ist abhängig von der Qualität des tunnelnden Protokolls, und die mögliche Nutzlast sinkt, da mehr Kopfdaten übertragen werden müssen. Übersetzungsverfahren Kann auf einem Gerät IPv6 nicht aktiviert werden oder stehen nicht mehr genügend IPv4 Adressen zur Verfügung, können Verfahren wie NAT Protocol Translation oder Transport Relay Translation nötig werden, um zwischen beiden Protokollen zu übersetzen. Verbreitung IPv6 setzt sich im praktischen Einsatz nur langsam durch. Die Adressvergabe für IPv6 ist im Juli 1999 vom experimentellen in den Regelbetrieb übergegangen[15] und immer mehr ISPs betreiben neben IPv4 auch IPv6 in ihrem Netz, dieses aber zumeist nur testweise und entweder ohne entsprechende Produkte, oder ohne Verfügbarkeitsgarantien für ihre Kunden. Somit werden vollwertige IPv6 Anbindungen im Dual Stack Verfahren fast nur von kleineren Providern angeboten, so dass man im Moment auf Tunnel zurückgreifen muss. Die meisten der großen Austauschpunkte für Internetverkehr erlauben und fördern neben IPv4 auch den Austausch von IPv6 über ihre Infrastruktur. 7 S eite