Es wurde ja schon kurz der Grund des Wechsels von IPv4 und IPv6, sowie die Probleme hier angesprochen. Nun nehmen wir das IPv6 Protokoll mal etwas auseinander.
Aufbau von IPv6 (Internet Protocol Version 6)
IPv6 (Internet Protocol Version 6) ist 128Bit lang und besteht aus 8 Gruppen welche 4 Hexadezimal Ziffern getrennt durch Doppelpunkte (Beispiel: 2003:e4:cf2d:c79d:d4e5:8e24:64f0:589c -gekürzte Adresse-). Dies ermöglicht 2128 Hosts im Internet, das wären ca. 340.282.366.920.938.463.463.374.607.431.768.211.456 welche direkt am Internet angeschlossen sind.
Aufbau der IPv6 Adresse mit ungekürzter Schreibweise:
![](https://gernardt.net/wp-content/uploads/2024/07/ipv6aufbau.png)
Im Text, über der Tabelle ist die IPv6 nach den Notationsregeln RFC 5952 gekürzt (siehe zweiter Block „00e4“ -> e4). Bei den Notationsregeln nach RFC5952 werden unter anderem voranstehende nullen „0“, gekürzt.
Netzwerk Prefix (Network Prefix)
Die ersten 64Bit der IPv6 Adresse Identifizieren das Netzwerk oder Subnetz zu dem der Host (das Gerät z.B. Computer) gehört. Das Network Prefix ist für das Routing essentiell, je nach Art der IPv6 Adresse wird (zumindet ein Teil) des Präfixes vom Provider vorgegeben, durch Konventionen gesetzt oder sogar zufällig ermittelt. Wie es doch so heißt, Standards sind da um gebrochen zu werden kann das Network Prefix je nach Anforderung oder Topologie des Netzwerkes variieren. Aber dies ist nur eine geschaffene Möglichkeit, meist bleibt es bei 64Bit länge.
Interface Identifier
Der Interface Identifier (später IID) kann mittels EUI-64 Verfahren automatisch konfiguriert werden. Dieses Verfahren verwendet die (eindeutige) MAC-Adresse um eine eindeutige 64Bit IID zu generieren. Erkennbar das in der Mitte der hexadezimale Wert FFFE eingefügt wurde. Beipiel: 020c:29ff:fe2a:2cfe. Das FFFE wird eingefügt, da eine MAC-Adresse lediglich 48Bit lang.
Da nicht alle Geräte das EUI-64 Verfahren anwenden können, kann die IID auch komplett Zufalls generiert sein.
Wie funktioniert das EUI-64 Verfahren?
- Zuerst wird die MAC Adresse in 2 24Bit Teile geteilt.
- Als nächstes wird das FFFE eingefügt, also FF:FE.
- Nun wird das 7te Bit von links, der MAC Adresse invertiert. (Dieses Bit gibt an ob es von der IEEE zugewiesen wurde, oder ob diese MAC selbst generiert wurde.
- Zuletzt werden die Bits zurück in Hexadezimal gewandelt.
Beispielrechnung EUI-64 Verfahren:
Gegebene MAC-Adresse: FC:AA:14:5F:FC:9E (diese MAC wurde zum Beispiel von der IEEE vergeben, so sollte also das 7te Bit eine 1 sein.
- Zuerst Teilen wir die MAC in 2 24Bit Teile auf: FC:AA:14 sowie 5F:FC:9E
- Wir fügen nun das FFFE, in der Mitte ein: FC:AA:14:FF:FE:5F:FC:9E
- Um das 7te Bit zu invertieren, müssen wir nur die ersten beiden Hexadezimalziffern umrechnen, da eine Hexadezimalziffer 4 Bit entspricht, hier also die FC.
F C 1111 1100 - FC in Binar ist also 11111100, das 7te Bit habe ich Fett-Kursiv markiert, dieses muss invertiert werden. So lautet das Ergebnis dann 111111110 (aus 1 wird 0 und aus 0 wird 1), diese Bitfolge rechnen wir nun wieder um:
11111110 FE
Nach EUI-64: FE:AA:14:FF:FE:5F:FC:9E, dies entsprechen 64Bit für die IID.
Wenn wir also nun ein Netzwerkpräfix von 2001:0db8:85a3::/64 (normalerweise Standard /64 = 64Bit) hätten, würde die komplette IPv6-Adresse wie folgt lauten 2001:0db8:85a3::feaa:14ff:fe5f:fc9e.
Das EUI-64 Verfahren ist ein mächtiges Tool. Hier ist es Möglich das die jeweiligen Host, ihre eigenen IP Adressen vergeben ohne der Verwendung eines DHCPv6 Servers.
Als Beispiel, es wird ein neuer Computer mit der MAC-Adresse FC:AA:14:5F:FC:9E neu am Netzwerk angeschlossen.
Dieses Gerät generiert nun selbstständig die IID feaa:14ff:fe5f:fc9e, als Netzwerkpräfix verwendet das Gerät erstmalig das Netzwerkpräfix: fe80:: (also fe80::feaa:14ff:fe5f:fc9e). Der Router führt regelmäßig ein „Router Advertisement“ aus, so erhält dann das neue Gerät das korrekte Netzwerkpräfix und korrigiert die gesamte IPv6 Adresse.
Router Advertisement
Ist ein Verfahren, welches besonders in IPv6 Netzwerken verwendet wird.
Unter anderem ist dies ein Mechanismus mit dem der Router seine Dienste im Netzwerk anbietet, dies geschieht über das Neighbor Discovery Protocol.
Das Netzwerk konfiguriert sich automatisch über eine Solicitation Broadcast Message, neue Geräte senden eine Solicitation Broadcast Message (Netzwerkpräfix fe80::) und der zuständige Router antwortet mit der Router Advertisement Message.
Im Router Advertisement ist unter anderem das ICMPv6 Protokoll (Typ 134) implementiert, wodurch z.B. SLAAC bekannt gegeben wird (Stateless Address Autoconfiguration). Ein teil davon ist IPv6 Berechnung im EUI-64 Verfahren. Einige Hosts beherrschen das EUI-64 Verfahren nicht, dann wird eine Zufallsgenerierte IID berechnet.
Dies ist nun eine recht vereinfachte Beschreibung, welche die Grundprinzipien erläutert. Um doppelte Adressen zu vermeiden, Neighbor Discovery dessen Bestandteil Duplicate Address Detection, Neighbor Unreachablility Detection (DAD sowie NUD) und Address Resolution.
Durch das Router Advertisement ist also ein DHCP Server für IPv6 (DHCPv6) nicht zwingend (für den Normalbenutzer) notwendig, einer der Vorteile von IPv6.
DHCPv6
Ein DHCPv6 (Dynamic Host Configured Protocol for IPv6) Server wird verwendet um Hosts, IPv6 Adressen sowie weitere Konfigurationsinformationen zuzuweisen.
Bei IPv4 ist dies in den meisten Netzwerken der Fall. Egal ob in Firmennetzwerken oder auch Private Netzwerke mit einem Handelsüblichen Router.