next up previous contents
Nächste Seite: Multicasting Aufwärts: Grundlagen Vorherige Seite: IPv4-Protokoll   Inhalt

IPv6-Protokoll

Die rasante Verbreitung des Internet stellt das IPv4-Protokoll vor einige Schwierigkeiten. Eine davon sind die auf 4 Byte begrenzten Adressen. Diese waren ursprünglich ausreichend, doch heute werden sie langsam knapp und schon bald werden keine Adressen mehr verfügbar sein. Aufgrund diverser Probleme mit IPv4 wurde 1990 mit der Entwicklung des IPv6-Protokolls begonnen.

Die wichtigsten Neuerungen bei IPv6 sind:


Abb. 7: Schematische Darstellung der Parameterfelder im IPv6-Header
\includegraphics[]{ipv6.eps}


Die wichtigste Änderung von IPv6 gegenüber IPv4 ist die 16 Byte lange Adressierung, siehe Abb. 7. Diese Menge von IP-Adressen wird in absehbarer Zeit nicht ausgeschöpft werden. Außerdem wurde der Header vereinfacht und auf 7 Felder gekürzt, um Routern eine schnellere Weiterleitung zu ermöglichen. Auch Optionen werden nun besser unterstützt. Einige Felder, die im IPv4-Header noch fest verankert waren, sind nun optional.

Das Feld Version gibt die Version des Protokolls an und enthält für IPv6 den Wert 6. Während der Übergangsphase können die Router anhand dieses Feldes die Protokollversionen unterscheiden und bleiben somit abwärtskompatibel.

Priority legt für jedes Paket eine Priorität in der Flussteuerung fest. Die Prioritätswerte lassen sich in zwei Gruppen aufteilen. Ein Wert von 0 bis 7 steht für Pakete, deren Übertragung sich bei hoher Netzwerkbelastung verlangsamen darf. Werte von 8 bis 15 hingegen signalisieren, dass ein Paket zu einer Echtzeitanwendung gehört und möglichst schnell weitergeleitet werden muss. Innerhalb einer Gruppe sind jeweils höhere Prioritätswerte wichtiger. Je nach Anwendung müssen Pakete unterschiedlich schnell von Quelle zu Ziel weitergeleitet werden. Der Sinn der Prioritätszahl ist es, den Routern in Überlastsituationen eine Entscheidung zu ermöglichen, welches Paket zuerst weitergeleitet werden muss und welches Paket noch warten kann. Zum Beispiel ist es für ein News- oder FTP-Paket relativ uninteressant, ob es für die Übertragung vom Sender zum Empfänger 1/10 oder 3/10 Sekunden braucht. Für Voice over IP ist es jedoch entscheidend, denn auch eine kurze Verzögerung der Übertragung führt zu einem Stocken der Sprachwiedergabe und bei häufigen Fehlern kann die Sprache gänzlich unverständlich werden.

Das Feld Flow Label steht für die Flussnummer, zur der das Paket gehört. Für normale Pakete ist die Flussnummer Null erlaubt. Das Feld kann jedoch genutzt werden, um spezielle Verbindungen mit Quality-of-Service-Garantien aufzubauen. Es soll möglich sein, an einen Paketstrom zwischen Quelle und Ziel bestimmte Verzögerungsanforderungen zu stellen und Bandbreite zu reservieren. Dazu bekommt der Paketstrom eine Nummer, die so genannte Flussnummer (Flow Label). Die Flussnummer und die Verbindungsanforderungen müssen an alle Router auf dem Weg zwischen Quell- und Zielhost mitgeteilt werden. Jeder Router muss die Anforderungen in einer internen Tabelle speichern und die Pakete mit Flow Label ungleich Null entsprechend behandeln. Leider befindet sich das Feld zurzeit noch im Experimentierstadium und seine Anwendung ist noch nicht genau definiert. Es könnte jedoch für Voice over IP äußerst interessant sein. Mit Hilfe des Flow-Labels-Feldes wäre es möglich, konkrete Forderungen an die Transportzeit von Paketen zu stellen und somit eines der bisher größten Probleme von Echtzeitanwendungen zu lösen. Die Router könnten anhand des Flow Labels und eines zusätzlichen Option Feldes mit einer gewünschten Ankunftszeit entscheiden, wie viel Zeit das Paket noch hat und dringende Pakete mit höherer Priorität weiterleiten.

Das Feld Payload Length gibt an, wie viele Bytes dem festen Header folgen. Für dieses Feld sind 16 Bit reserviert, also können maximal 2$^{16}$- 1= 65535 Byte übertragen werden.

Das Feld Next Header zeigt an, welcher Erweiterungs-Header dem festen Header folgt. Bei IPv4 sind die Optionen im Header integriert. IPv6 hat alle Optionen aus dem festen Header entfernt und in je einen Erweiterungs-Header gepackt. Jeder Erweiterungs-Header hat ebenfalls ein Feld Next Header, somit können mehrere dieser Header hintereinander eingebunden werden. Als Erweiterungs-Header stehen Hop-by-Hop, Routing, Fragmentierung, Authentifikation, Verschlüsselung und Destination Options zur Verfügung. Das Next-Header-Feld des letzten Headers dieser Kette gibt keinen Erweiterungs-Header an, sondern zu welchem höheren Protokoll die Daten gehören, zum Beispiel TCP oder UPD.

Das Feld Hop Limit entspricht dem Time to Live Feld im IPv4-Protokoll. Es wird bei jeder Weiterleitung um 1 erniedrigt, um die Lebensdauer von verirrten Paketen zu beschränken.

Die Felder Source Address und Destination Address enthalten die Adressen von Sender und Empfänger. Um dem Adressraum zukunftssicher zu erweitern, sind diese nun 16 Byte lang, anstatt nur 4 Byte wie im IPv4-Protokoll.


next up previous contents
Nächste Seite: Multicasting Aufwärts: Grundlagen Vorherige Seite: IPv4-Protokoll   Inhalt
Robert Hoehndorf 2002-06-18