Baza wiedzy

IPv6 od podstaw — zapis adresów i podział podsieci

Budowa IPv6, zapis RFC 5952, prefiksy, typy adresów, SLAAC, DHCPv6, DNS i adresy URL.

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–f zapisuje 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

ZakresZnaczenie
::/128adres nieokreślony
::1/128loopback
fe80::/10link-local, nie jest routowany między łączami
fc00::/7unique local, nie jest globalnie routowany
ff00::/8multicast
2001:db8::/32 i 3fff::/20dokumentacja
5f00::/16identyfikatory SRv6 SIDs, nie zwykła globalna przestrzeń hostów
::ffff:0:0/96adresy 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.

Małe laboratorium

Który numer /64 mieści się w przydzielonym /56?

Masz przydział dokumentacyjny 2001:db8:1200::/56. Dla VLAN-u wybierasz numer ab i adres 2001:db8:1200:ab:beef::1. Sprawdź jego przynależność do /56, a potem do /64.

Przykładowy wynik2001:db8:1200::/56 → 2001:db8:1200:ab::/64Otwórz przykład w kalkulatorze
  1. ab to liczba szesnastkowa 171. Czwarta grupa 00ab zachowuje wymagane początkowe 00, więc pierwsze 56 bitów zgadza się z przydziałem.

  2. W /56 kolejnych 8 bitów wybiera jeden z 256 bloków /64. Numerujemy je tutaj od zera: 00 jest pierwszy, ab jest 172. blokiem, ff ostatnim.

  3. Zmień prefiks na /64: kalkulator wyznaczy 2001:db8:1200:ab::/64. Przy /56 ta część czwartej grupy należy jeszcze do zmiennych bitów wewnątrz bloku.

Teraz Twoja kolej

Czy 2001:db8:1200:100::/64 mieści się w tym /56?

Pokaż odpowiedź i wyjaśnienie

Nie. Czwarta grupa 0100 ma pierwsze 8 bitów równe 01 zamiast 00. Ostatnim dozwolonym numerem jest 00ff; następny blok wychodzi poza przydział.

Oficjalne dokumenty

Standardy i źródła

Kontrola źródeł:

Data dotyczy kontroli wskazanych dokumentów i rejestrów, a nie zatwierdzenia materiału przez ich autorów. Założenia i ograniczenia obliczeń podajemy przy wyniku. Jak opracowujemy materiały.