Dokumentverfasser ist Nico VanHaute
Die Lebenstage des jetzigen IP Protokoll (IPv4) sind gezählt. Anfang der 90er Jahre war Internet weigehend von Universitäten, Spitzfeldindustrie und von Regierungsbehörden benutzt, aber das Interesse der Unternehmen nahm zu; es wird zunehmend von immer mehr Einzelpersonen und Systeme benutzt, die die unterschiedlichsten Bedürfnisse haben. Ein Beispiel : mit der unmittelbar bevorstehenden Koexistenz der Rechner, Netze, audiovisuelle Sektoren und Freizeitindustrie, wird jedes Fernsehgerät bald mit Internetzugang ausgestattet, das Milliarden von Einzelpersonen erlaubt, z.B. Video-on-Demand, Teleshopping oder auch E-Commerce zu führen. Unter diesen Umständen, das Protokoll IPv6 (auch Ipng für IP new generation) muss flexibler und zuversichtlicher laufen, damit die ganze Vielfalt der kommenden Probleme gelöst und einen Adressmangel verhindert werden.
Die Hauptzielsetzungen dieses neuen Protokolls wären :
Das Protokoll IPv6 gibt eine vernünftige Antwort auf den vorgelegten Zielsetzungen. Er erhält die besseren Funtionen von IPv4, beseitigt oder minimiert die schlechten, und fügt wenn erforderlich neue hinzu.
Im Allgemeinen, ist IPv6 mit IPv4 nicht kompatibel, aber es behählt seine Kompatibilität mit anderen Internet Protokolle, davon TCP, UDP, ICMP, IGMP, OSPF, BGP und DNS ; ab und zu sind gewisse Änderungen notwendig (insbesondere für die Bearbeitung von langen Adressen).
Die wichtigste Erneuerung von IPv6 ist das Verwenden von längeren Adressen als IPv4.
Sie werden auf 16 Byte kodiert und erlauben die Problemlösung mit der IPv6 bekannt wurde : das Erzeugen von einer quasi unbegrenzten Anzahl von Adressen.
IPv4 beherrscht 2^32=4,29.10^9 Adressen, wogegen IPv6 2^128=3,4.10^38 adressieren kann.
Die massgebliche Aufbesserung von IPv6 ist die Vereinfachung des Datagramm-Header. Der Datagramm-Header in IPv6 umfasst nun nicht mehr als 7 Felder (gegen 14 für IPv4). Diese Änderung macht es den Router möglich, die Datagramme schneller abzuarbeiten und verbessert somit dessen globalen Durchsatz.
Die dritte Verbesserung bewirkt eine höhere Flexibilität des Optionsangebots. Diese Änderung ist unentbehrlich mit dem Aufkommen des neuen Header, da die Zwangsfelder der alten Version nun optional werden.
Im übrigen, sind die Optionen anders dargestellt; Die Router können Ihnen nicht zugedachte Optionen, nun einfacher übergehen. Diese Funktion beschleunigt die Datagrammprozesszeit.
Wiederum, bringt IPv6 eine grössere Sicherheit :
Identitätsüberprüfung (Authentifizierung) und Vertraulichkeit stellen die Sicherheitshauptsäule beim neuen IPv6 Protokoll dar.
Schliesslich wurde, im Vergleich zu früheren Zeiten, den Dienst-Arten eine grössere Aufmerksamkeit geschenkt. Obwohl das Feld Dienst-Art im Datagramm IPv4 nur sehr selten benutzt wurde, zwingt uns das erwartete Wachstum des zukünftigen Multimediaverkehr zu höheren Überlegungen.
So kann man das IPv6 Datagramm veranschaulichen :
<--------------------------- 32 bits --------------------------->
| |||
|
|||
|
|||
|
|||
|
|||
Folgend die Bedeutung der einzelnen Felder :
Die Benutzung von getrennten Präfixe für die Provider zugeteilten Adressen und die einer geographischen Zone zugeteilten Adressen stellen ein Kompromiss zwischen zwei verschieden Betrachtungsweisen der Internet Zukunft. Jeder Provider verfügt über einen Anteil reservierten Adressraum (1/8 de Raumes). Die 5 ersten, dem Präfix 010 folgenden bits, beschreiben das "Ortsregister" in dem sich der Provider befindet. Zur Zeit, sind 3 Register im Umgang, eins für Nordamerika,eins für Europa und eins für Asien. Bis zu 29 Register sollen später dazu kommen.
Jedem Register steht es frei die restlichen 15 Bytes nach belieben zu gestalten. Eine ander Möglichkeit wäre die Verwendung von einem Byte zur Bestimmung der Landzugehörigkeit des Providers und die restlichen Bytes für sonstige Zwecke einer spezifischen Adress-Struktur.
Das geographische Modell bleibt mit dem jetzigen Internet gleich, bei dem die Provider keine grosse Rolle spielen. In diesem Rahmen kann IPv6 zwei Adresstypen verwalten.
Die Adressen der Links und lokale sites besitzen nur eine lokale Bedeutung. Sie dürfen von anderen Stellen wiederbenutzt werden ohne dass Konflikte entstehen. Sir dürfen nicht ausserhalb der Organisationsgrenzen weiterverteilt werden; das macht sie indessen besonders ähnlich mit den Firewall die ein Privatnetz vom öffentlichen Internet schützt.
Die Adressen für den Multicast verfügen über ein Feld Flagge (4 bits) und ein Feld Gültigkeitsbereich (4 bits) hinter dem Präfix, dann ein Feld Group Identifier (112 bits). Eins der Flag bits trennt feste Gruppen von flüchtigen Gruppe.
Das Feld Gültigkeitsbereich erlaubt eine beschränke Verbreitung in der Zone
Zusätztlich zur klassischen Point-to-Point Adressierung (unicast) und der Mehradressenverteilung (multicast),unterstützt IPv6 noch neue Type der Adressierung zum "Erstkommenden" (anycast).
Diese Technik ähnelt dem Multicast in dem Sinne dass die Zieladresse eine Adressengruppe ist; aber anstatt sämliche Gruppenmitglieder das Datagramm bereitzustellen, wird sie nur ein einziges Gruppenmitglied betreuen, nähmich den Nächsten oder den Empfangsfähigsten.
Eine neue Notation wurde für die Beshreibung der 16 Bytes IPv6 Adressen bereigestellt. Sie gliedert sich in 8 Gruppen von 4 Hexadezimalzahlen getrennt durch das Dopllet-Punkt Zeichen. Z.B. :
8000:0000:0000:0000:0123:4567:89AB:CDEF
Da mehrere Adresse mehere Nullen führen, wurden optimierung festgelegt. Zunächst werden die führende 0-en der Gruppe übersprungen, wie z.B. 0123 das 123 geschrieben wird. Dann ein oder mehr Tupel von 4 benachbarten Nullen werden durch einen doppelten zwei-Punkt ersetzt. So wird obige Adresse zu :
8000::::123:4567:89AB:CDEF
Zum Scluss, die Adressen IPv4 können durch die eben beschriebene floating Point Technik umgesetzt werden gefoglt von 2 Doppelpunkte, wie z.B. :
::192.31.254.46
Eine nähere Erläuterung dieserAdress-Notierung ist notwendig, man muss aber wissen dass die Zahl der 16 Byte Adressen sehr gross ist. Noch näher, 2^128, oder ca. 3 x 10^38. Wenn die ganze Erde (Land und Wassermassen zusammengelegt) mit Rechner bedeckt wäre,könnte IPv6 7 x 10^23 Adressen auf jeden m² anlegen.
Das Feld protocole ist ausgeschlossen weil das Feld nächster Header vom vorigen IP Header des Datagramm den protocole Type beschreibt ( z.B., UDP oder TCP).
Sämtliche Framentbezogene Felder wurden zurückgezogen, da IPv6 einen anderen Aufbau der Fragmentierung vorsieht.
Zum Beginn,mussen alle IPv6 komforme Rechner und Router, Datagramme über 576 Bytes beherrschen. Diese Regel schiebt die Fragmentierung an sekundäre Stelle. Im Übrigen, wenn ein Rechner einen viel zu grosses Datagramm sendet, anders als bei der Fragmentierung, sendet der nicht fähige Router eine Fehlermeldung an die Quelle. Diese Meldung veranlasst den Quell-Rechner das weitersenden von neuen Datagramme an diesem Ziel zu unterbrechen. Ein Rechner der fähig ist Datagramme richtig zu dimensioneren ist bei weitem, wirsamer als ein Router der am Flug fragmentiert.
Zum Schluss, das feld Check control wurde ausgelassen weil er die Leistungsfähigkeit einschränkt. In wirklichkeit, macht die Fähigkeit der heutigen Netze, gekoppelt mit der Tatsache dass die Datenverbindungsschichten und die Übertragung ihre eigenen Prüfdienste haben, macht es eigentlich keinen Sinn mehr, einen zusätzlichen Prüfkontrolle einzurichtet.
Dieser Header liefert eine Informationsvervollständigung auf zuversichtliche Weise. Sie sind optional. Wenn mehr als ein Header vorhanden sind, müssen sofort nach dem festen Header auftauchen, am besten nach der Listenordnung.
Gewisse Header haben ein festes Format; andere beinhalten eine veränderliche Zahl von Variablenfelder. Dafür wird jedes Item zu eine Tupelform (Typ, Länge, Wert) kodiert. Der Typ ist ein 1-Byte Feld mit der Optionart. Die verschiedenen Type wurden so gewählt dass die ersten 2 bits den Router zeigen können was getan werden soll wenn sie nicht in der Lage sind, die Optionen auszuführen.
Die Auswahl ist :
Die Länge ist ein 1 Byte breites Feld. Sie gibt die Grösse des Feldes Wert (0 bis 255) an und beherbergt eine beliebige Information zum Empfänger.
Der Header Hop to Hop trägt Informationen für alle Router der Stecke.
Der Header Routage gibt die Liste von eimen oder mehrere Router an, die auf der Strecke durchgelaufen werden, in Zielrichtung. Es gibt zwei kombinierte Arten von Routage : der strickte Routage (die gesamte Strecke ist bereits definiert) und ein loses Routage (nur die zwingenden Router sind definiert).
Die erste 4 Felder der Header extension Routage enthalten 4 Ganzen eines Bytes :
Der Header Fragmentierung behandelt die Fragmentierung ähnlich IPv4. Der Header besitzt die Diagrammkennung, die Fragmentnummer, und ein bit mit Angabe ob zusätzliche Fragmente noch vorhanden sind. In IPv6, anders als in IPv4, nur der Quell-Rechner kann das Diagramm fragmentiern. Die Router auf der Stecke dürfen es nicht. Dies veranlasst den Quell-Rechner das Datagramm in Stücke zu zerlegen, und den Header Fragmentierung zu benutzen um die einzelnen Stücke zu leiten.
Der Header Authentifizierung erlaubt dem Zielrechner-Datagramm die Überprüfung der Quelle-Identität. IPv4 hat nichts desgleichen.
Das Beisetzen einer Verschlüsselung auf die Datagrammdaten (Nutzdaten) verstärkt deren Schutz ; sie werden nur vom eigens dafür gedachten Empfänger gelesen.
Wenn Sender und Empfänger geschützt miteinander kommunizieren wollen, dann müssen sie sich zunächst über gewisse geheime, nur von ihnen beiden bekannte Massregeln einigen. Die Keycodes werden an beiden Enden auf 32 bits gewichtet.
Die Schlüsselcodes werden vereinzelt und eindeutig vergeben; dh. wenn A ein Key zugeteilt wird um mit B zu kommunizieren, kann A diesen Schlüssel nicht in einer Verbindung mit C verwenden. Zusätzliche Parameter werden ausserdem jedem Schlüssel angeheftet, wie Lebensdauer, etc...
Bei der Authentifizierung einer Meldung, baut der Quellrechner zunächst ein Datagramm samt IP Header und Nutzdaten, dann ersetzt er die selten veränderbaren Felder durch Nullen ( z.B. : Das Feld Höchste Schrittzahl). Das Datagramm wird mit Nullen auf ein 16-Bytes Vielfaches ergänzt. Ähnlich wird auch der verwendete Geheimschlüssel mit Nullen ergänzt. Eine Kontrollzahl wird anschliessend aus der Konkatenation der beiden berechnet. Auf diese Kontrollzahl wird dann nochmal der selbe ergänzte Geheimschlüssel angewendet.
Der Header Authentifizierung enthält 3 Teile. Der erste Teil geht über 4 Bytes und gibt die Nächste HeaderNummer an, die Länge des Authentifizierungsheader und eine auf 16 bits Nullenergänzung an. Der zweite legt den 32 bits Kodierungsschlüssel fest. Der dritte enhält die kodierte Checksumme (mit MD5 oder ein sonstiges Algorithmus).
Der Empfänger verwendet dann den Keycode um den Geheimschlüssel zu erfahren. Der Geheimschlüssel ergänzte Wert wird vor und nach den ergänzten Nutzdaten zuaddiert, die Header Feldvariablen werden von ihren Nullen bereinigt, dann wird die codierte Kontrollsumme berechnet. Wenn das Ergebnis mit der codierte Kontrollsumme des Authentifizierungsheader übereinstimmen, dann kann der Emfänger sicher davon ausgehen dass das Datagramm tatsächlich von der Quelle stammt mit der er den Geheimschlüssel teilt. Er darf auch sicher sein dass am Datagramm, ohne sein Wissen, nichts geändert wurde.
Im Falle von geheimen Datagramme, wird der Extension Header verwendet. Kodierte Nutzdaten. Der Header beginnt mit einer Schlüsselzahl über 32 bits, gefolgt von den kodierte Nutzdaten.
Der Header Zieloption wird für Felder eingesetzt, die nur vom Zielrechner beachtet werden müssen. In der original IPv6 Fassung, ist die einzige bestimmte Zieloption die Null-Option. Durch Nullen-Ergänzung erzeugt sie aus diesem Header ein 8-Byte vielfaches. Dieser Header wird zunächst nicht beachtet. Er ist für die neuen Routing Softwareprogramme vorgesehen, die später Zieloptionen benötigen.
Für zusätzliche Erlaüterungen über das IPv6 Protokoll, wird auf die RFC 2460 verwiesen, dies näher auf das Protokoll eingehen :
verfasst von nico VanHaute.