Es ist empfohlen, sich vorher mit dem IPv4, CIDR & Subnetting vertraut zu machen.
Je nach IP-Addresstyp kann der Aufbau etwas variieren. Der Grundaufbau einer 128-Bit IPv6 Adresse bleibt jedoch identisch:
| 127 - 64 | 63 - 0 |
|---|---|
| Netz-ID | Host-ID |
Zur Veranschaulichung hilft hier auch die Unterteilung in die gewöhnlichsten Präfixlängen mittels CIDR Notation zu sehen:
Pearson Education, CIsco Press. IPv6 Address Representation and Address Types
| Offsets | Octet | 0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Octet | Bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
| 0 | 0 | Version | Traffic class | Flow label | |||||||||||||||||||||||||||||
| 4 | 32 | Payload length | Next header | Hop limit | |||||||||||||||||||||||||||||
| 8 | 64 | Source address | |||||||||||||||||||||||||||||||
| 12 | 96 | ||||||||||||||||||||||||||||||||
| 16 | 128 | ||||||||||||||||||||||||||||||||
| 20 | 160 | ||||||||||||||||||||||||||||||||
| 24 | 192 | Destination address | |||||||||||||||||||||||||||||||
| 28 | 224 | ||||||||||||||||||||||||||||||||
| 32 | 256 | ||||||||||||||||||||||||||||||||
| 36 | 288 | ||||||||||||||||||||||||||||||||
aus: IPv6 packet, Wikipedia the free encyclopedia, abg. am 14.12.2023
Somit sind die beiden nachfolgenden IPv6 Adressen identisch:
[1]: "Wort" bedeutet in diesem Kontext zwei 8-Bit Bytes. Also werden je 16-Bits durch ein Doppelpunkt getrennt
Im IPv6 hat man verschiedene Arten von Adressen, die auch verschiedene Präfixe nutzen.
Pearson Education, Cisco Press. IPv6 Address Representation and Address Types
Die Link-Local Adresse ist eine Unicast Adresse zur Kommunikation innerhalb eines Subnetzes. Diese Adresse ist pro Link und Interface eindeutig, kann aber an einem anderen Link erneut verwendet werden. Sie liegt in der Regel imm Netzbereich FE80::/10, auch wenn die Nutzung eines anderen IPv6 Präfixes im RFC 4291 grundsätzlich gestattet ist. Jeder Host verfügt dabei stets über eine solche Adresse. DIes ist insbesondere dann praktisch, wenn noch keine öffentliche IPv6 Adresse zugewiesen wurde.
| Präfix | Füllbits | Interface-ID |
|---|---|---|
| 10 Bits | 54 Bits | 64 Bits |
| FE8 | :: | X |
DIe Link-Local Adresse wird vom Endgerät selber generiert. Etwaige Konflikte im Subnetz können mittels DAD (Duplicate Address Detection) ermittelt werden. Die Konfiguration kann so erfolgen:
In der Regel wird das EU64-Format genutzt.
Eine Global Unicast Adresse (GUA) bzw. öffentliche IPv6-Adresse ist in dem Netzbereich 2000::/3 und kann ebenfalls via DHCPv6, SLAAC oder durch statischer Zuweisung zugewiesen werden. Sie ist in etwa wie folgt aufgebaut
| Präfix | Registry-ID | ISP-ID | Site-ID | Subnetz-ID | Interface-ID (Host ID) |
|---|---|---|---|---|---|
| 127 - 125 (3 Bits) | 124 - 105 (20 Bits) | 104 - 96 (9 Bits) | 95 - 80 (16 Bits) | 79 - 64 (16 Bits) | 63 - 0 (64 Bits) |
| /3 | /32 | /48 | /64 | /128 | |
| 001 |
"größer als /29" bedeutet hier "/28 oder größer". Man sollte in diesem Kontext nicht nach der Logik "32 > 29" denken, da aufgrund der Betrachtung des Netzbereiches "/29 > /32" gilt.
Die signifikanten 48 Bits nennt man auch "Global Routing Prefix". Dies liegt daran, dass ein /48 den kleinstmöglichen im öffentlichen Netz ankündigbaren Adressbereich bzw. IPv6-Präfix darstellt. Die Unterscheidung des Global Routing Prefix in Registry-ID, ISP-ID und Site-ID ist nicht überall so gegeben.
Sie kann wie folgt generiert bzw. zugewiesen werden:
Eine Unique Local Adresse (ULA) bzw. private IPv6 Adresse liegt in dem Bereich FC00::/7 und werden in einem privaten Netzwerk genutzt, dürfen also nicht in das öffentliche Netz geroutet werden. Sie ist im RFC 4193 definiert und wie folgt aufgebaut:
| Präfix | L-Flag | Global-ID | Subnet-ID | Interface-ID |
|---|---|---|---|---|
| 7 Bits | 1 Bit | 40 Bits | 16 Bits | 64 Bits |
| 1111 110 | x |
Da der einzige legitime Wert für das L-Flag einer zugewiesenen ULA eine 1 ist, kann eine gültige ULA nur im Bereich FD00::/8 liegen.
Zur Generierung der Global-ID sollte man am besten die selbe pseudorandom Methode verwenden, um die unique randomness der ID zu wahren. Außerdem kann die ULA Präfix auf https://www.sixxs.net/tools/grh/ula generiert und "registriert" werden, wodurch globale Konflikte unter allen SIXXS Nutzern gemieden wird.
Die Adressen im Bereich FF00::/12 werden als Well-Known Multicast Adressen bezeichnet, da diese entweder bereits für Geräte oder Gruppen vordefiniert oder reserviert sind. D.h. die 0RPT Flags sind dabei jeweils auf 0 gesetzt.
Eine Multicast Adresse wird zur gleichzeitigen Kommunikation mit einer Gruppe von Geräten verwendet. Sie ist also zwar kein Broadcast, kann aber als ein Broadcast innerhalb der gegebenen Gruppe verstanden werden. EIne Multicast Adresse ist stets im Adressbereich FF00::/8 und ist schematisch wie folgt aufgebaut:
| Präfix | Flags (0RPT) |
Scope | Group-ID |
|---|---|---|---|
| 127 - 121 (8 Bits) | 120 - 117 (4 Bits) | 116 - 112 (4 Bits) | 111 - 0 (112 Bits) |
| FF |
Hat man einen Präfix größer als /64, kann man Subnetting betreiben. Für gewöhnlich nutzt man hierzu ein /48 Präfix, sodass man 16 Bits für eine Subnet-ID hat. Insbesondere in Business-Netzen ist es gewöhnlich, dass eine Organisation ein /48 Präfix erhält. Ggf. versorgt der ISP den Endkunden jedoch nur mit einem /64, bzw. wenn man Glück hat auf Anfrage auch ein /56 Präfix. Dies erschwert das Subnetting im Heimnetz.
Angenommen man sei eine Organisation, die ein /48 Präfix vom ISP erhalten hat. In dem Fall können 216 = 65.536 Subnetze mit je 264 Hosts definiert werden.
Beim Subnetting ist es sinnvoll, die Sinnmäßigkeit der gewählten Präfixlänge des Subnets zu betrachten. Dabei gilt:
[2] vgl. Guidelines for Numbering IPv6 Point-to-Point Links and Easing the Addressing Plans, Internet Engineering Task Force (IETF)
[3] vgl. Best Current Operational Practice for Operators: IPv6 prefix assignment for end-users - persistent vs non-persistent, and what size to choose, RIPE NCC, sowie TR-177: IPv6 in the context of TR-101, Broadband Forum