„IPv6“ – Versionsunterschied

[ungesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K link
KKeine Bearbeitungszusammenfassung
Zeile 72:Zeile 72:


== Weblinks ==
== Weblinks ==
* http://www.iana.org/assignments/ipv6-address-space/ - der derzeit allozierte IPv6-Adressbereich im Überblick
* http://www.iana.org/assignments/ipv6-address-space - der derzeit allozierte IPv6-Adressbereich im Überblick
* http://www.bieringer.de/linux/IPv6/ - Peter Bieringers Homepage mit einer HOWTO für IPv6 unter Linux
* http://www.bieringer.de/linux/IPv6/ - Peter Bieringers Homepage mit einer HOWTO für IPv6 unter Linux
* http://6bone.net/ - Homepage des experimentellen IPv6-Netzwerks 6Bone
* http://6bone.net/ - Homepage des experimentellen IPv6-Netzwerks 6Bone

Version vom 6. Juli 2003, 16:10 Uhr

IPv6, das Internet Protocol Version 6, ist der Nachfolger des gegenwärtig im Internet überwiegend verwendeten Internet Protocol v4.

Das alte IPv4 bietet einen Adressraum von etwas über 4 Milliarden IP-Adressen, mit denen Computer angesprochen werden können. In den Anfangstagen des Internet, als es nur wenige Rechner gab, die eine IP-Nummer brauchten, galt dies als mehr als ausreichend, weil sich kaum jemand vorstellen konnte, dass überhaupt jemals so viele Rechner zu einem einzigen Netzwerk zusammengeschlossen würden, dass es im Adressraum eng werden könnte. Viele der theoretisch 4 Milliarden IP-Adressen sind jedoch in der Praxis nicht nutzbar, da sie Sonderaufgaben dienen (z.B. Multicast) oder zu großen Subnetzen gehören: Den ersten Anschließern am Internet wurden riesige Adressbereiche (sog. Class-A-Netze) mit je 16,7 Millionen Adressen zugeteilt, auf denen diese Organisationen bis heute sitzen, ohne sie jemals voll ausnutzen zu können. Die Amerikaner (und teilweise die Europäer) teilten sich die relativ wenigen großen Adressbereiche unter sich auf, während die Internet-Späteinsteiger wie Südamerika, aber vor allem Asien, zunächst außen vor blieben. Als Resultat herrscht besonders im zukünftigen IT-Wachstumsmarkt Asien heute eine latente Adressenknappheit, der man mit Notbehelfen wie NAT (Network Adress Translation) oder dynamischer Vergabe von Adressen begegnen muss. Auf Grund des Wachstums und der Wichtigkeit des Internet konnte dies kein Dauerzustand bleiben; Zusätzlich ist abzusehen, dass in den nächsten Jahren durch neue technische Innovationen (z.B. Handys mit Internet-Anschluss, bald wohl auch Fernseher, Mikrowellen, Kühlschränke und Autos) der Bedarf an Adressen auch im Rest der Welt ansteigen wird.

Hauptsächlich wegen der Adressknappheit, aber auch, um einige der Probleme zu lösen, die sich im Zuge der großräumigen Verwendung von IPv4 gezeigt hatten, zu lösen, begann man 1995 mit den Arbeiten am neuen IPv6 (die ersten RFCs waren 1883ff.). Folgende Liste soll einen kurzen Überblick über die wesentlichen neuen Features von IPv6 geben, einige Punkt werden weiter unten näher erklärt:

  • Vergrößerung des Adressraums von 232 bei IPv4 auf 2128 bei IPv6
  • Autokonfiguration (ähnlich DHCP), Mobile IP und automatisches Renumbering
  • Services wie IPsec, QoS und Multicast serienmäßig
  • Vereinfachung und Verbesserung der Header (wichtig für Router)

Adressaufbau von IPv6

Eine IPv6-Adresse ist 128 bit lang (IPv4: 32 bit). Damit gibt es etwa 3,4 x 1038 IPv6-Adressen - für jeden Quadratmeter Erdoberfläche könnten 6,5 x 1023 Adressen bereitgestellt werden. IPv6-Adressen werden nicht mehr dezimal (z.B. 80.130.234.185), sondern hexadezimal mit Doppelpunkten geschrieben: 243f:6a88:85a3:08d3:1319:8a2e:0370:7344. Wenn eine 16-bit-Gruppe 0000 ist, kann sie durch einen Doppelpunkt ersetzt werden, und wenn dann mehr als 2 Doppelpunkte aufeinander folgen würden, können diese auf 2 Doppelpunkte reduziert werden, solange es in der resultierenden Adresse nur einmal zwei aufeinanderfolgende Doppelpunkte gibt. 0588:2353::1428:57ab ist also das selbe wie 0588:2353:0000:0000:0000:0000:1428:57ab, aber 3906::25de::cade wäre nicht erlaubt, da zweimal zwei Doppelpunkte in der Zeichenkette vorkommen - ein Computer wüsste nicht, wo mit wie vielen Nullen aufzufüllen wäre.

Die ersten 64 bit der IPv6-Adresse dienen standardmäßig der Netzadressierung, die letzten 64 bit können zur Host-Adressierung verwendet werden - hiermit implementiert man elegant das Konzept der Netzmasken von IPv4. Wer möchte, kann jedoch auch andere Netzmasken verwenden.

Arten von IPv6-Adressen

Es gibt verschiedene IPv6-Adressen mit Sonderaufgaben und unterschiedlichen Eigenschaften. Diese werden durch die ersten Bits der Adresse (das "Präfix") signalisiert:

  • Das Präfix 00 steht für IPv4 und IPv4-über-IPv6-Kompatibilitätsadressen. Ein geeigneter Router kann diese Pakete zwischen IPv4 und IPv6 konvertieren und so die neue mit der alten Welt verbinden. Zwei weitere Adressen tragen ebenfalls dieses Präfix; ::0 ist die undefinierte Adresse, ähnlich der 0.0.0.0 in IPv4, und ::1 ist die Adresse des Loopback Devices "localhost".
  • Die Präfixe 2 oder 3 stehen für Globale Unicast-Adressen, also eine routbare und weltweit einzigartige Adresse.
    • Eine Abart davon sind die 6Bone-Testadressen 3ffe, die einem Rechner gehören, der Teil des IPv6-Testnetzwerkes 6Bone ist.
    • 2001-Adressen werden an Provider vergeben, die diese dann wieder an ihre Kunden verteilen
    • 2002-Präfixe deuten auf Adressen des Tunnelmechanismus 6to4 hin.
  • fe80 bis febf sind so genannte Link-local-Adressen, die nicht geroutet werden dürfen und daher nur im gleichen Subnetz erreichbar sind. Interessant werden sie bei der Autokonfiguration.
  • Adressen mit Präfixen fec0 bis feff sind die Nachfolger der privaten IP-Adressen (z.B. 192.168.x.x). Sie dürfen nur innerhalb der gleichen Organisation geroutet werden. Man nennt sie daher Site-local.
  • Das Präfix ff steht für Multicast-Adressen. Dem Präfix folgt eine Angabe über den Gültigkeitsbereich des Pakets:
    • ffx1: Node-lokal, diese Pakete verlassen den Knoten nie.
    • ffx2: Link-lokal, werden von Routern grundsätzlich nie weitergeleitet und können deshalb das Subnetz nicht verlassen.
    • ffx5: Site-lokal, dürfen zwar geroutet werden, jedoch nicht von Border-Routern.
    • ffx8: Organisations-lokal, die Pakete dürfen auch von Border-Routern weitergeleitet werden, bleiben jedoch "in der Firma" (hierzu müssen seitens des Routing-Protokolls entsprechende Vorkehrungen getroffen werden).
    • ffxe: Globaler Multicast, der nach überall hin geroutet werden darf.

Autokonfiguration

Ein IPv6-fähiges Interface kann aus seiner Layer 2-MAC-Adresse eine sog. Link-lokale Adresse errechnen, mit der es sich auf die Suche nach den Routern in seinem Netzwerksegment machen kann. Der Router kann dem Gerät dann eine "Unicast"-Adresse aus seinem Adressbereich zuweisen, mit der das Gerät aufs Internet zugreifen kann. Der ganze Vorgang läuft ohne Benutzerintervention vollautomatisch ab und ist eine Verbesserung des IPv4-DHCP (er kommt ohne Server aus). Ein IPv6-fähiges Gerät ist so "out-of-the-box" startklar, was besonders für unerfahrene Endnutzer oder stressgeplagte Admins ein großer Vorteil ist.

Renumbering

Sobald man bei IPv4 erstmal genug Rechner zu einem Subnetz zusammengeschlossen hat, bekommt man Probleme, wenn sich an den Adressparametern dieses Netzes etwas ändert (z.B. ein Providerwechsel). Jeder Rechner darf dann nämlich per Hand umkonfiguriert werden - wenn das Netz groß genug ist, kann sich dies als praktisch undurchführbar darstellen. In diesem Fall hat man bei IPv4 häufig den Adressraum fragmentiert, d.h. ein Teil der IP-Adressen eines Subnetzes wurde anders geroutet als der Rest. Für die Router brachte dies eine vergrößerte Routing-Tabelle, da sie sich die Ausnahmen merken und beachten müssen, und damit Performance-Verlust. Bei IPv6 gibt es diese Probleme nicht, da man ja den Autokonfigurationsmechanismus hat. Der neue Adressbereich muss nur einmal neu am Router eingestellt werden, und schon haben alle Clients ihre neuen Adressen.

Mobile IP

Bei Mobile IP geht es darum, mit der gleichen IP-Adresse überall erreichbar zu sein, beispielsweise im heimischen Netzwerk und auf einer Konferenz. Normalerweise müssten dazu Routing-Tabellen geändert werden (noch dazu für jede mobile IP-Adresse einzeln!). IPv6 regelt dies unter Zuhilfenahme eines Agenten-Rechners am Hauptstandort des Mobilgeräts und ICMPv6-Redirects. Eingehende Verbindungen werden durch den Agenten an den momentanen Standort des Mobilgeräts umgeleitet.

Effizienzsteigerungen und neues Header-Format

Im Gegensatz zu IPv4 hat der IP-Header bei v6 eine feste Länge. Außerdem gibt es keine Paketfragmentierung mehr und es werden keine Checksummen über das IP-Paket berechnet, man nutzt nur noch die Fehlerkorrektur in den Layern 2 und 4. Die meisten Felder im Header sind 64-bit-aligniert, so dass der Speicherzugriff im Router nicht unnötig ausgebremst wird. Die Flags liegen jetzt in Zwischenheadern zwischen dem IP-Header und dem Layer-4-Header (TCP/UDP). Dadurch können sich Hochleistungsrouter auf ihre eigentlichen Kernaufgaben konzentrieren und müssen nicht mehr die Fehler anderer Schichten ausbügeln.

Der frühere Broadcast wird nun konsequent über Multicast implementiert: ARP wurde beispielsweise durch das neue Verfahren "Neighbor Solicitation" ersetzt: Jeder Host muss sich bei einer aus seiner IP gebildeten Multicastgruppe anmelden, an die der anfragende Host seine Neighbor Solicitation-Anfrage schickt und so die MAC-Adresse des anderen Hosts herausfinden kann. Als Nebeneffekt werden diese Anfragen nicht mehr im ganzen LAN verteilt, sondern gehen in geswitchten Umgebungen idealerweise nur noch über den direkten Weg zum eigentlichen Ziel.

Pferdefüße

Gerade zu Anfang litt IPv6 unter einigen Kinderkrankheiten, die dem neuen Protokoll den Ruf einer "Totgeburt" brachten. Die Standards wurden häufig geändert, was einigen Unmut erzeugte, da man die gerade fertig gewordenen Implementationen schon wieder wegwerfen konnte. Der größte Einschnitt bestand in der Einführung der IEEE-Norm EUI-64 für die Link-local-Adressen. Vorher übernahm man die MAC-Adresse des Adapters einfach in die IPv6-Adresse, nun wurde die MAC-Adresse gemäß EUI-64 in veränderter Form in die IPv6-Adresse übernommen. Das änderte jedoch nichts an dem Problem, dass aus der gleichen MAC-Adresse auch immer die gleiche IPv6-Adresse resultiert. Dynamische IP-Vergabe wie bei IPv4 sollte es ja bei IPv6 nicht mehr geben. Datenschützer waren besorgt, dass auf diese Weise der Datenverkehr einer IP auf Routern mitgeschnitten werden könnte und z.B. für Marketing-Maßnahmen oder staatliche Interventionen aller Art verwendet werden könnte. Die IETF definierte deshalb nachträglich die Privacy Extensions gemäß RFC 3041: Die MAC-Adresse wird dabei zunächst mit einer pseudo-zufälligen Zahl verwürfelt, und aus dem Ergebnis dann die Link-lokale Adresse des Gerätes ermittelt.

In der Praxis ergab sich mit den Link-local-Adressen das Problem, dass es nicht mehr reicht, die IP-Adresse im Destination-Feld einzutragen, sondern auch eine Scope-ID angegeben werden muss, da die Link-local-Adressen relativ zum Link sind und alleine noch keinen Endpunkt definieren. Deshalb sind die Link-local-Adressen leider nur beschränkt zur Kommunikation tauglich (abhängig davon, ob der IPv6-Support der verwendeten Applikationen das Konzept der Scope-ID kennt).

Die Praxis: Das IPv6-Deployment

IPv6 setzt sich im praktischen Einsatz leider nur langsam durch. Mit der Betriebssystem-Unterstützung sieht es im Moment folgendermaßen aus:

  • Windows XP: Auf expliziten Wunsch (ipv6 install) kann man bei Windows XP einen experimentellen IPv6-Stack installieren. Ab ServicePack 1 hat dieser Stack "Production Quality", muss aber immer noch explizit installiert werden.
  • Windows 2000: Microsoft bietet einen experimentellen Stack als Patch an.
  • Windows 9x/ME: Lediglich eine kommerziell verfügbare Unterstützung der Firma Trumpet (Winsock).
  • Linux: Der Kernel 2.4 bietet eine als "experimental" markierte Unterstützung für IPv6, der jedoch noch wichtige Features wie IPsec und Privacy Extensions (RFC 3041) fehlen. Die Beta-Kernel der 2.5er Serie haben entsprechenden Code schon integriert.
  • xBSD: Die derzeit noch beste und vollständigste Unterstützung für IPv6 - vor allem ein Verdienst des japanischen KAME-Projektes.

Viele Anwendungen (vor allem aus dem Bereich der Freien Software) sind inzwischen ebenfalls IPv6-fähig. Im heimatlichen LAN kann man so schon relativ problemfrei IPv6 benutzen. Jenseits des eigenen Border-Routers sieht es derzeit noch düster aus: Es gibt keine Provider, die native IPv6-Anbindung verkaufen, so dass man im Moment auf bisweilen unbefriedigende Bastel-Lösungen mit Tunneling zurückgreifen muss.


Zumindest in Europa und Amerika besteht einfach auch keine Notwendigkeit zur Migration zu IPv6, da noch genügend freie IPv4-Adressen vorhanden sind (in Europa über 50%). In Asien geht der Trend inzwischen dahin, bei Neubauten (z.B. dem NTT-Backbone) IPv6 auch zu benutzen. Von seiten der Endbenutzer wird IPv6 auch deshalb nicht gefordert, weil außer dem größeren Adressbereich die wesentlichen neuen Features von IPv6 inzwischen mehr oder weniger erfolgreich nach IPv4 rückportiert wurden (z.B. IPsec, QoS, Multicast. Das Renumbering und die Autokonfiguration kann man durch DHCP angenähert erreichen) - es gibt keine "Killer-Applikation", die nur mit IPv6 funktionieren würde.


In Deutschland federführend bei den Versuchen zu IPv6 ist das JOIN-Projekt der Uni Münster (http://www.join.uni-muenster.de). Im Moment ist seitens des JOIN und des DFN ein erstes IPv6-Backbone in Deutschland im Aufbau. Die Planungen für das "6Win" sehen einen ringförmigen Backbone durch Deutschland mit Querverbindung zwischen Essen und Berlin vor. Parallel dazu baut die Deutsche Telekom einen eigenen IPv6-Backbone zwischen den Standorten Darmstadt, Münster und Berlin auf und bietet ihren Geschäftskunden im Rahmen eines Showcase-Projektes Anschluss daran an. Dieses Netz soll in Münster und Berlin mit dem 6Win verbunden werden. Ebenfalls in Münster liegt der Deutsche zentrale Zugang zum experimentellen IPv6-Netzwerk 6Bone.