Direkter Draht
Serie IPv6, Teil 1: Grundlagen
Jeder kennt es, jeder benutzt es – aber nur wenige kennen die genaue Geschichte und Funktionsweise: Die Rede ist vom Internet-Protokoll [1]. Anfangs nur zum Verbinden von einigen wenigen Rechnern gedacht, baut heute auf dieser Technik das gesamte Internet auf. Die aktuelle Version 4 des Protokolls hat jedoch ein Problem – es gehen so langsam die Adressen aus. Zeit also, einen Blick auf den Nachfolger IPv6 zu werfen.
Bei den heute als Internet bekannten Strukturen handelt es sich um eine Ansammlung verschiedener Protokolle. Um deren Aufgaben schematisch zu beschreiben, existiert das sogenannte OSI-Schichtenmodell (Abbildung 1). Es ordnet den einzelnen Schichten die Protokolle des TCP/IP-Stacks zu.
Kurze Geschichte des Internets
Ende der Sechziger Jahre hatte das US-Verteidigungsministerium (Department of Defense, kurz DoD) die Idee, ein Computernetzwerk zu entwickeln, das weltumspannend arbeiten und maximale Ausfallsicherheit bieten sollte. Bei den Designideen spielte der damalige Konflikt zwischen den Machtblöcken eine große Rolle. Der erste funktionstüchtige Entwurf des neuen Netzwerks trug den Namen Arpanet [4] (Advanced Research Projects Agency Network). Zum Vermitteln der Daten teilten die Forscher diese in kleine Happen auf und verpackten sie in mehrere Netzwerkpakete, um sie zwischen zwei Rechnern auszutauschen.
Das Netzwerk erfreute sich immer größerer Beliebtheit, und immer mehr Universitäten und Forscher wollten Zugang zum Netz. Die Folge: Innerhalb des Arpanets entstanden neue kleine Netz-Inseln, die das bestehende Netz immer weiter vergrößerten und unüberschaubarer machten. Aus Sicherheitsgründen trennte das Militär seinen Teil des Netzes Anfang der Achtziger Jahre Netzes ab. Es war ab diesem Zeitpunkt nur noch über streng gesicherte Gateways zu erreichen.
Somit entstand auf der einen Seite ein ausschließlich militärisch genutzter Teil, das sogenannte Milnet, und auf der anderen Seite ein Forschungsteil des alten Arpanet. Durch den Split des Netzwerks, die wachsende Beliebtheit von vernetzten Rechnern und dem Start der TCP/IP-Protokollfamilie [1] entstand aus dem Arpanet im Laufe der folgenden Jahre das Netzwerk, das heute den Namen Internet trägt.
OSI-Schichten
Auf den Layern 1 (Übertragen der Bits) und 2 (Sichern) existierten die Protokolle, mit denen Sie physikalische Verbindungen aufbauen – also beispielsweise Ethernet, aber auch Token-Ring oder FDDI. Auf Layer 3 (Vermittlung) sitzt das Protokoll, das sich um das Verteilen der einzelnen Netzwerkpakete kümmert, das Internet-Protokoll. Layer 4 (Transport) stellt den jeweiligen Anwendungen die Pakete bereit. Typischerweise kommt hier UDP und TCP zum Einsatz.
Auf den Layern 5 (Kommunikation), 6 (Darstellung) und 7 (Anwendung) finden sich die Anwendungsprotokolle, darunter beispielsweise HTTP, FTP und SMTP. Damit die einzelnen Daten, die ja in vielen einzelnen Paketen verpackt vorliegen, überhaupt den Weg zum Ziel finden, ist eine richtige Konfiguration und ein grundlegendes Verständnis des Internet-Protokolls auf der Schicht 3 unerlässlich.
Die einzelnen, als IP-Pakete bezeichneten Datenpäckchen besitzen dabei immer den gleichen Aufbau: Auf den sogenannten Header mit den Informationen zum Zustellen des Pakets folgt ein Body mit den zu übertragenden Daten. Der Header umfasst in der Regel 20 Bytes, optionale Informationen erweitern ihn bis auf 60 Bytes. Der eigentliche Nutzdatenteil enthält je nach Netzwerk bis zu 65 535 Bytes. Im Ethernet ist eine Größe von 1500 Bytes üblich.
Zwei wichtige Felder des IP-Headers enthalten die Empfänger- und die Absenderadresse. Diese beiden Felder sind in der aktuellen Version 4 des Internet-Protokolls je genau 32 Bit groß, also 4 Bytes. Das ermöglicht es, genau 4.294.967.296 (232) unterschiedliche Adressen anzusteuern.
Knapper Adresspool
In den Anfangstagen des Internet glaubten die Verantwortlichen, dass diese gut vier Milliarden Adressen für alle Zeiten reichen würden. Niemand kam auf den Gedanken, dass irgendwann nahezu jedes Telefon, jeder Fernseher und viele andere Geräte über eine eigene IP-Adresse verfügen würden, um ständig neue Daten aus dem Internet zu erhalten. Doch genau dieser Fall tritt ein – es gehen langsam die Adressen aus. Nach aktuellen Hochrechnungen der Internet Assigned Numbers Authority (IANA, [2]) sind spätestens Anfang 2013 die letzten freien IPv4-basierten Adressen vergeben.
Mit Umstrukturierungen des bestehenden Adressraums in A-, B- und C-Netze und fest definierten Subnetzmasken und später mit frei wählbaren Netzmasken und Adressumsetzungen mit Hilfe von Network-Address-Translation (NAT) versuchten Techniker bereits früh, dieses Problem zu lösen. In mancherlei Hinsicht machte dies das Leben in der IP-Welt aber immer schwieriger, und der Markt an IP-fähigen Endgeräten wächst nach wie vor.
Aus diesem Grunde arbeiten bereits seit vielen Jahren Experten auf der ganzen Welt an einer neuen Version des Internet-Protokolls. Sie trägt heute den Namen IPv6, früher hieß sie einmal IPng ("IP Next Generation"). Anders als bei der aktuellen Version v4 kommt hier ein jeweils 128 Bit – also 16 Bytes – großes Feld beim Adressieren zum Einsatz. Das erlaubt es, 2128 unterschiedliche Adressen anzusteuern, also ungefähr 340 Sextillionen.
Möchten Sie sich diese Zahl verdeutlichen, so stellen Sie sich vor, dass Sie bei diesem Adressraum jeden Quadratmillimeter der Erdoberfläche mit mehreren hundert Milliarden IP-Adressen belegen könnten. Dabei ist die Anzahl der möglichen IP-Adressen nur ein Vorteil von vielen.
Die Verantwortlichen wollten die Fehler der ersten Protokollimplementierung nicht wiederholen, und so flossen eine Menge neuer Features und Fehlerkorrekturen mit in die neue Protokollversion ein. Die ersten Patches für den Linux-Kernel 2.1.8 stellte Pedro Roque bereit. Seitdem hat sich einiges getan.



