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
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.
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!

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.

Egal, wie viele Subnetz man zur Verfügung hat, in jedem Subnetz können
2
64 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).
Link-Lokal IPv6-Adressen
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 |