Po tym poradniku rozwiniesz, skrócisz i zaklasyfikujesz adres IPv6 oraz wyznaczysz jego prefiks sieci. Przykładowo zapis 2001:0db8:0000:0000:0000:0000:0000:0042 skrócisz do 2001:db8::42, nie zmieniając adresu. IPv6 jest następcą IPv4 i używa 128 bitów, dzięki czemu ma znacznie większą przestrzeń adresową. Podstawową specyfikacją jest RFC 8200 (STD 86), architekturę adresowania opisuje RFC 4291 z późniejszymi aktualizacjami, a zalecany zapis tekstowy — RFC 5952.
Budowa i zapis adresu
Pełny adres ma osiem grup po cztery cyfry szesnastkowe. Zapis szesnastkowy używa cyfr 0–9 oraz liter a–f, dlatego mieści 16 wartości w jednym znaku. W adresie 2001:0db8:0000:0000:0000:0000:0000:0042 zera wiodące w grupie można usunąć, a najdłuższy ciąg całych zerowych grup zastąpić pojedynczym ::. Wynik 2001:db8::42 jest krótszym zapisem dokładnie tej samej wartości.
::można użyć tylko raz, bo inaczej rozwinięcie byłoby niejednoznaczne.- Gdy najdłuższe ciągi zer są równe, RFC 5952 wybiera pierwszy.
- Cyfry
a–fzapisuje się małymi literami. - Nie skraca się pojedynczej zerowej grupy przez
::.
Kalkulator IPv6 rozwija i kompresuje adres zgodnie z tymi regułami.
Prefiks i przykład /64
Prefiks mówi, ile początkowych bitów tworzy blok. Dla 2001:db8:1234:5678:abcd::1/64 pierwsze cztery grupy należą do prefiksu. Sieć to 2001:db8:1234:5678::/64, a zakres wartości w bloku kończy się na 2001:db8:1234:5678:ffff:ffff:ffff:ffff. IPv6 nie ma broadcastu; używa unicastu, anycastu i multicastu.
Podział /56 na /64
Wydłużenie prefiksu z /56 do /64 dodaje 8 bitów numeru podsieci, czyli 2^8 = 256 sieci /64. Dla 2001:db8:1200::/56 są to kolejno 2001:db8:1200::/64, 2001:db8:1200:1::/64, 2001:db8:1200:2::/64, aż do 2001:db8:1200:ff::/64.
Pierwsze trzy grupy to 48 stałych bitów. /56 utrwala jeszcze pierwsze 8 bitów czwartej grupy: 2001:0db8:1200:00xx. Zmieniasz tylko xx od 00 do ff, czyli pozostałe 8 bitów czwartej grupy. Trzecia grupa 1200 nie zmienia się. Pełny blok kończy się na 2001:db8:1200:ff:ffff:ffff:ffff:ffff. Nie odejmuj dwóch adresów według reguły IPv4: IPv6 nie ma broadcastu.
Typy adresów i rejestr IANA
| Zakres | Znaczenie |
|---|---|
::/128 | adres nieokreślony |
::1/128 | loopback |
fe80::/10 | link-local, nie jest routowany między łączami |
fc00::/7 | unique local, nie jest globalnie routowany |
ff00::/8 | multicast |
2001:db8::/32 i 3fff::/20 | dokumentacja |
5f00::/16 | identyfikatory SRv6 SIDs, nie zwykła globalna przestrzeń hostów |
::ffff:0:0/96 | adresy IPv4-mapped |
Klasyfikację należy wykonywać według najdłuższego pasującego wpisu w aktualnym rejestrze IANA. Sam początek 2 lub 3 nie wystarcza do stwierdzenia, że adres jest zwykłym globalnym unicastem.
RA, SLAAC, DHCPv6 i Neighbor Discovery
RA (Router Advertisement) jest komunikatem mechanizmu Neighbor Discovery z RFC 4861. Router może w nim ogłosić prefiks, trasę domyślną i wskazówki dotyczące konfiguracji. SLAAC (Stateless Address Autoconfiguration) z RFC 4862 pozwala hostowi utworzyć adres bez serwera przydzielającego każdy adres. DHCPv6 może dostarczać adresy lub inne parametry, ale trasa domyślna nadal zwykle pochodzi z RA. Komunikaty Neighbor Solicitation i Neighbor Advertisement pomagają znaleźć adres urządzenia na lokalnym łączu, sprawdzić jego osiągalność i wykryć duplikat.
Link-local, DNS i URL
Adres link-local może wymagać identyfikatora strefy, np. fe80::1%eth0, bo ten sam zakres istnieje na wielu interfejsach. Rekord DNS typu AAAA przechowuje IPv6. W URL literał IPv6 zapisuje się w nawiasach: https://[2001:db8::42]/; port umieszcza się po nawiasie.
Miejsca, które warto sprawdzić
- Po rozwinięciu adresu policz osiem grup. Dwa skróty
::byłyby niejednoznaczne, a zera wolno usuwać tylko z początku grupy. - Dobierz prefiks do zastosowania. /64 jest standardowym rozmiarem wielu podsieci SLAAC, lecz istnieją uzasadnione inne prefiksy.
- Oddziel adresację od ochrony ruchu. IPv6 nie wymaga NAT do bezpieczeństwa; politykę egzekwuje zapora, a globalny adres nie oznacza automatycznej dostępności.
- Zakresów dokumentacyjnych używaj w przykładach i materiałach, a w działającej sieci korzystaj z prawidłowo przydzielonego prefiksu.