Jak działają podsieci IPv6

Adres IPv6 ma 128 bitów zapisanych jako osiem grup po cztery cyfry szesnastkowe. Zera wiodące w każdej grupie można pominąć, a jeden ciąg grup zerowych można zastąpić przez ::. Tak 2001:0db8:0000:0000:0000:ff00:0042:8329 staje się 2001:db8::ff00:42:8329, czyli zapisem zalecanym przez RFC 5952.

Prefiks mówi, ile początkowych bitów określa sieć. W sieciach lokalnych prawie zawsze używa się /64, bo autokonfiguracja SLAAC potrzebuje 64 bitów na hosta; firma lub oddział dostaje często /48, mieszczący 65 536 podsieci /64, a łącze domowe /56 z 256 podsieciami.

W IPv6 nie ma adresów sieci i rozgłoszeniowego do odrzucenia, jak w IPv4: wszystkie adresy bloku są użyteczne, a rozgłaszanie zastępuje multicast. Liczby stają się ogromne, 2⁶⁴ adresów w jednej sieci /64, dlatego planuje się podsieci, a nie pojedyncze hosty.

Częste błędy

  • Użycie :: dwa razy w jednym adresie: nie byłoby wiadomo, ile grup zerowych oznacza każde z nich.
  • Dzielenie sieci LAN na podsieci mniejsze niż /64: SLAAC i wiele funkcji IPv6 przestaje działać.
  • Liczenie podsieci dziesiętnie: granice wypadają na cyfrach szesnastkowych, z których każda to 4 bity.

Najczęstsze pytania

Ile adresów ma sieć /64?

2⁶⁴, czyli 18 446 744 073 709 551 616: więcej niż cała przestrzeń IPv4 podniesiona do kwadratu.

Czym jest strefa ip6.arpa?

To domena odwrotnego rozwiązywania nazw, z adresu na nazwę: 32 cyfry szesnastkowe adresu zapisuje się od tyłu, rozdzielone kropkami, a na końcu dodaje ip6.arpa.

Jak zapisać adres IPv6 w adresie URL?

W nawiasach kwadratowych, aby dwukropków nie pomylić z portem: http://[2001:db8::1]:8080/.

Jak działa to obliczenie

Adres jest odczytywany jako 128-bitowa liczba całkowita (:: uzupełnia się brakującymi grupami zer, a ewentualną końcówkę IPv4 zamienia na dwie grupy). Maska = 128 − prefiks bitów zerowych na końcu; sieć = adres AND maska; ostatni adres = sieć OR NOT maska; liczba adresów = 2^(128 − prefiks). Podsieci /n jest 2^(n − prefiks), każda po 2^(128 − n) adresów. Zapis skrócony zgodnie z RFC 5952: małe litery, bez zer wiodących i :: w miejscu najdłuższego ciągu co najmniej dwóch grup zerowych.