IP_Logo

IP

IPv4

IPv4 ist Version 4 vom Internet Protocol. Es wird noch in großen Teilen Europas, der USA und vielen anderen Teilen der Welt verwendet, obwohl es eigentlich nicht mehr genug IPv4-Adressen zur Verfügung hat. Das ist deshalb so, weil zur Zeit der Erfindung von IPv4 noch niemand dachte, dass jeder Mensch einmal ca. 3 technische Geräte haben wird und all diese Geräte einzigartige IP-Adressen brauchen, um untereinander kommunizieren zu können.

Aufgaben

Folgende Tabelle veranschaulicht die Aufgaben von IPv4:
Aufgaben von IPv4
Logische Adressierung (IPv4-Adresse)
IPv4-Konfiguration
IPv4-Header
IP-Routing
Namensauflösung

Aufbau

Eine IPv4-Adresse ist folgendermaßen aufgebaut:
Schreibweise Beispiel einer IPv4-Adresse
Netzanteil Hostanteil Präfix
Binär 11000000. 10101000. 10001001. 00001011 /24
Decimal 192. 168. 137. 11 /24
Hexadecimal C0. A8. 89. 0B /24
Wie Sie sehen können besteht jede IPv4-Adresse insgesamt aus 32 Bit / 4 Byte und nur aus Einsen und Nullen. Diese Schreibweise eignet sich besonders gut für Computer, weil 1 für "Strom fließt" und 0 für "kein Strom fließt" stehen kann. Jedoch sind Menschen eher mit dem Decimalsystem vertraut. Aus diesem Grund kann man 8 Bit / 1 Byte (binär) einfach in eine Zahl zwischen 0 und 255 (decimal) umrechnen.

Außerdem sind IPv4-Adresse in vier Decaden aufgeteilt. Dies dient einer einfacheren Schreibweise.

Diese 32 Bit kann man in den Netzanteil und Hostanteil unterteilen. An welcher Stelle die Unterteilung stattfindet gibt der Präfix vor.

Netzanteil

Der Netzanteil ist immer vor dem Hostanteil.

Hostanteil

IPv5

Die fünfte Version von IP hieß offiziell ST-2 (Internet Stream Protocol Version 2). Urprünglich war dieses Protokoll für Echtzeit-Datenströme, vor allem Audio und Video per Multicast, gedacht. Allerdings kam man in der Entwicklungszeit von IPv5 bereits auf einige Nachteil drauf, weshalb man gleich mit der verbesserten Version IPv6 zum planen anfing und IPv5 übersprung.

IPv6

Die sechste Version von IP ist ziemlich unterschiedlich aufgebaut, im Gegensatz zu der vierten.

Vorteile

Einer der Hauptgründe der Entwicklung von IPv6 waren die mangelnden Adressen von IPv4. Doch längere Adressen sind bei weitem nicht der einzige Unterschied zwischen IPv4 und IPv6. IPv6 ist ein völlig neues, ausgereiftes Protokoll, welches einige Vorteile mit sich bringt:
Vorteile von IPv6 im Überblick
längere Adressen und dadurch ein größerer Adressraum
mehrere IPv6-Adressen pro Host mit unterschiedlichen Gültigkeitsbreichen (Scopes)
Autokonfiguration der IPv6-Adressen (SLAAC)
Multicast durch spezielle Adressen
schnelleres Routing (Präfix und Interface Identifier immer gleich lang)
Punkt-zu-Punkt-Verschlüsselung mit IPsec
Quality of Service (Banbreitengarantie --> Prioritätsvergabe)
Datenpakete bis 4 GByte (Jumbograms)

Aufbau

Jede IPv6-Adresse besteht aus 128 Bit (4x so lange wie IPv4). Damit ergeben sich insgesamt erstaunliche 2128 bzw. 3,4 * 1038 Adressen. Und weil das so schön viele sind, hier einmal ausgeschrieben: 340.282.366.900.000.000.000.000.000.000.000.000.000 Adressen!!! Ausgesprochen wird das dann übrigens so: rund 340 Sextillionen Adressen!
Rein als Vergleich, bei IPv4 gibt es insgeamt 4,3 Milliarden verschiedene Adressen...

Schreibweise

Beispiel für eine IPv6-Adresse (in diesem Fall ein Link-Lokal IPv6-Adresse):
Schreibweise Präfix Interface Identifier
Binär 1111111010000000. 0. 0. 0. 0001001100011001. 1000101000101110. 0000001101110000. 0111001101000100
Hexadecimal fe80:: 1319: 8a2e: 0370: 7344
Wie man aus der Tabelle herauslesen kann, besteht die IPv6-Adresse aus 128 Bit (die ganzen Nuller wurden hier jetzt weggelassen, damit die IPv6-Adresse nicht zu lange wird). 16 Bit sind immer zu einem 4er-Hexadecimal-Block zusammengefasst.

Bei der Schreibweise gelten folgende Regeln:
Schreibweise Regeln
alle alphabetischen Zeichen klein schreiben
führende Nullen eines Blockes werden grundsätzlich weggelassen
Ein einzelner 4er Nullerblock wird zu einer "0" zusammengefasst
Aufeinanderfolgende 4er Nullerblöcke werden durch zwei Doppelpunkte "::" gekürzt
Sind mehrere gleichwertige Kürzungen möglich, ist die erste von Links beginnend zu wählen

Segmentierung

Bei IPv6-Adressen heißen die ersten 64 Bit Präfix (auch: Netz-ID oder Network Prefix) (vergleichbar mit dem Netzanteil von IPv4-Adressen) und die hinteren 64 Bit Interface Identifier (auch: Suffix, IID oder EUI) (vergleichbar mit dem Hostanteil von IPv4-Adressen). Anders als bei IPv4 gibt es keinen Suffix bzw. keine Subnetzmaske der bzw. die bestimmt, an welcher Bitstelle die Trennung zwischen diesen beiden Teilen verläuft. Stattdessen ist die Trennung zwischen Präfix und Interface Identifier immer zwischen 64 und 65 Bit! Dieses Bild wurde vorübergehend gesperrt! Diese grundlegende, einfach definierte Art und Weise ermöglicht ein sehr viel schnelleres Routing, weil die Router nicht mehr die Subnetzmaske berechnen müssen.

Falls größere Unternehmen trotzdem mehrere Subnetze zur Verfügung haben wollen, gibt der Provider z.B. ein /56-Netz her, was bedeutet, dass die ersten 56 Bit vom Provider vorgeschrieben sind und die anderen 8 Bit vom Unternehmen für Subnetze verwendet werden können. Dieses Bild wurde vorübergehend gesperrt! Egal, wie viele Subnetz man zur Verfügung hat, in jedem Subnetz können 264 Adressen vergeben werden. Da jeder Host mehrere Adressen haben kann, wäre es sogar denkbar, das jeder Dienst oder jede Anwendung auf einem Server eine eigene IPv6-Adresse bekommt.

Scopes

Unter Address Scopes versteht man die verschiedenen Gültigkeitsbreiche von IPv6-Adressen. Der Scope ist der Teil des Netzwerks, in dem die zugehörige Adresse als gültig anerkannt und geroutet wird.
Scopename Gültigkeitsbreich Adressraum
Host-Scope (Loopback) für Host-interne Anwendungen (nicht routbar) ::1/128
Link-Lokal-Scope im lokalen Netzwerk (nicht routbar) fe80::/10 -- fe80:: - febf::
Unique-Lokal-Scope ähnlichen den privaten IPv4-Adressen (nicht routbar) fc00::/7 -- fc00:: - fdff::
Site-Lokal-Scope (veraltet) ähnlich wie Unique-Lokal-Scope, nur in der aktuellen "Site" gültig; Site = größer als Link-Lokal Bereich; seit September 2004 veraltet fec0::
Global-Scope Internet (routbar) alle anderen...
Multicast-Scope IPv6-Adressen, die als Multicast verwendet werden können ff00::/8 -- ff00:: - ffff::
Für detailiertere Informationen: Elektronik Kompendium - IPv6-Address-Scopes (Gültigkeitsbereiche)

SLAAC

Eine der größten Neuerungen bei IPv6 ist die Autokonfiguration. Das bedeutet, dass sich der Host ohne irgendeinen beeinflussenden Server die IPv6-Adresse, den Standard-Gateway und den DNS-Server selbstständig mittels Router Advertisements besorgen kann. Dieses Verfahren hat den Namen SLAAC (Stateless Address Autoconfiguration).
Beim Hochfahren eines Hosts holt sich dieser mittels SLAAC direkt eine link-lokal IPv6-Adresse, womit er im internen Netz kommunizieren kann. Diese setzt sich zusammen aus "fe80::" und einer umgewandelten MAC-Adresse. Die umgewandelte MAC-Adresse erzeugt man folgendermaßen: Man nimmt die 48 Bit lange MAC-Adresse, invertiert das siebente Bit (wenn 1, dann 0; wenn 0, dann 1) und fügt in der Mitte "ff:fe" ein, sodass man auf 64 Bit kommt. Das heißt, dass die link-lokal IPv6-Adresse als Präfix immer "fe80::" und als Interface Identifier die umgewandelte MAC-Adresse hat.

Beispiel einer link-lokal IPv6-Adresse mit dieser MAC-Adresse: 11:22:33:44:55:66:
fe80:: 1322:33ff:fe44:5566
globale IPv6-Adressen
Mithilfe der globalen IPv6-Adresse kann man ins Internet hinaus. Sprich: Die globale IPv6-Adresse kann im gesamten Internet geroutet werden.

Der Präfix dieser globalen IPv6-Adresse bekommt der Host mittels Router Advertisements. Der Interface Identifier ist der gleiche wie der von der link-lokalen IPv6-Adresse. Dies hat allerdings den Nachteil, dass wegen der MAC-Adresse im Interface Identifier der Host zurückverfolgbar ist.

Beispiel einer globalen IPv6-Adresse:
2001:db8:: 1322:33ff:fe44:5566
temporär globale IPv6-Adressen
Temporär globale IPv6-Adressen werden nur dann generiert, wenn die Privacy Extensions aktivert sind. Diese wurden entwickelt, damit man verhindert, dass man mittels globaler IPv6-Adresse den Host identifizieren kann (MAC-Adresse verratet Host).

SLAAC generiert einfach einen pseudozufälligen Interface Identifier anstatt die umgewandelte MAC-Adresse zu verwenden. Als Präfix verwendet SLAAC den gleichen wie bei der globalen IPv6-Adresse.
2001:db8:: <pseudozufällig>
Das bedeutet, dass man direkt nach dem Starten des Hosts diese drei IPv6-Adressen hat:
Name der IPv6-Adr. Präfix Interface Identifier
link-lokal IPv6-Adr. fe80:: 1322:33ff:fe44:5566
globale IPv6-Adr. 2001:db8:: 1322:33ff:fe44:5566
temporär globale IPv6-Adr. 2001:db8:: <pseudozufällig>

Address Selection

Address Selection entscheidet, welche IP-Adresse verwendet werden soll. Dabei kann entweder die IPv4-Adresse verwendet werden oder eine der IPv6-Adresse, also die link-lokal, global oder eine andere IPv6-Adresse, die der Host zur Verfügung hat.

IPsec

IPsec sorgt für die kryptografische Verschlüsselungen von IPv6-Paketen über öffentliche und unsichere Netzwerke. Weil es diese Verschlüsselungs- und Authentifizierungsmethoden bei IPv4 noch nicht gab, hat man diese auch bei IPv4 später spezifisch integriert.

Renumbering

Renumbering heißt der Vorgang, bei dem im laufenden Betrieb eine IPv6-Adresse, deren Gültigkeit bald ausläuft, durch eine neue ausgetauscht wird. Dies funktioniert, indem mittels Router Advertisements die Priorität der neuen IPv6-Adresse höher gesetz ist, als die der alten, sodass mit der Zeit alle Dienst bzw. Anwendungen die neue IPv6-Adresse verwenden.

Dieser Vorgang ist zum Beispiel nützlich, wenn man ein Mobilgerät verwendet, womit man sich von einem Netzwerk zum andern bewegt und weiterhin Anwendungen im Hintergrund laufen oder wenn ein DHCP-Server ausgetauscht wird und neue Präfixe vergibt.

Flow Labels

Flow Labels ermöglichen das Priorisieren von Paketen, indem sie die Bandbreite der Übertragung erhöhen, sodass diese Pakete schneller übertragen werden können.

Jumbograms

Jumbograms nennen sich die Datenpakete, die bis zu 4GByte groß sein dürfen. Im Vergleich zu der maximalen Paketgröße bei IPv4 (64KByte) ist dies ziemlich groß. Allerdings muss man bedenken, dass auf den unteren Schichten des OSI-Schichtenmodells, wie zum Beispiel der Ethernet-Schicht (Schicht 2 des OSI-Schichtenmodells), die maximale Paketgröße kleiner sein kann, weshalb diese großen Jumbograms wieder unterteilt werden müssen. Bei Ethernet liegt die maximale Paketgröße nämlich bei 1.500 Byte.

Multicast

Unter Multicast versteht man eine Adresse, die an mehrere Clients gleichzeitig sendet. Zum Beispiel müssen Zeit-Server, Video- oder Audio- Dienste auf Multicast-Adressen laufen, damit mehrere Clients gleichzeitig darauf zugreifen können. Ein Twitch-Stream zum Beispiel, wird von mehreren Personen gleichzeit angesehen.

Multihoming

Multihoming bedeutet, dass in einem Netzwerk mehrere Router mit unterschiedlichen Präfixen (die vom Privoder zur Verfügung gestellt werden) existieren. Somit können Hosts in diesem Netzwerk auch mehrere IPv6-Adressen mit unterschiedlichen Präfixen haben.

NDP

Das Neighbor Discovery Protocol (kurz: NDP) tauscht Informationen bzgl. der link-lokalen IPv6-Adresse wie zum Beispiel Router Discovery und Neighbor Discovery aus. Die Übertragung erfolgt mittels ICMPv6.

stateless vs. stateful

Während stateless die Konfiguration mittels SLAAC bezeichnet, ist stateful die Konfiguration mittles DHCPv6.
stateless Autokonfiguration mittels SLAAC (Stateless Address Autoconfiguration)
stateful Konfiguration mittels DHCPv6