Który prefiks protokołu IPv6 jest zarezerwowany dla adresów globalnych?
A. FC00::/7
B. FE80::/10
C. 2000::/3
D. ::/128
Adresy globalne IPv6, czyli Global Unicast Address, są kojarzone z prefiksem 2000::/3. Oznacza to, że pierwsze trzy bity adresu mają wartość 001, a zakres obejmuje adresy od 2000:: do 3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff. To właśnie z tej przestrzeni operatorzy, dostawcy Internetu i organizacje dostają publicznie routowalne prefiksy IPv6. W praktyce taki adres może być osiągalny z Internetu, oczywiście jeśli routing, firewall i polityki bezpieczeństwa na to pozwalają. Przykładowo adres zaczynający się od 2001:... albo 2a00:... zwykle wskazuje na adres globalny. W standardach IPv6, m.in. RFC 4291 oraz w przydziałach IANA, ta przestrzeń jest traktowana jako podstawowy zakres publicznych adresów unicast. Moim zdaniem warto to zapamiętać przez prostą regułę: FE80 to lokalny link, FC00 to prywatne środowiska, a 2000::/3 to Internet. Przy konfiguracji routerów, reguł zapory, SLAAC, DHCPv6 czy routingu dynamicznego typu OSPFv3/BGP ta różnica jest bardzo ważna, bo pomylenie zakresów kończy się często tym, że host niby ma IPv6, ale nigdzie dalej nie wychodzi.
W IPv6 wiele prefiksów wygląda podobnie, ale ich przeznaczenie jest zupełnie inne i tu właśnie łatwo się złapać na skrót myślowy. FE80::/10 nie jest zakresem globalnym, tylko link-local. Takie adresy są tworzone na interfejsach automatycznie i służą do komunikacji w obrębie jednego segmentu sieci, na przykład do Neighbor Discovery, Router Advertisement czy działania bramy domyślnej w IPv6. Router nie powinien routować tych adresów dalej, więc używanie ich jako publicznych adresów Internetowych nie ma sensu. FC00::/7 to z kolei Unique Local Address, często porównywany do prywatnych adresów IPv4 typu 10.0.0.0/8 albo 192.168.0.0/16, choć technicznie to nie jest dokładnie to samo. ULA przydaje się w sieciach firmowych, labach, VPN-ach albo systemach wewnętrznych, ale nie jest normalnie routowany w publicznym Internecie. Adres ::/128 oznacza adres nieokreślony, same zera. Host używa go np. zanim dostanie właściwy adres, ale nie przypisuje się go jako normalnego adresu interfejsu do komunikacji. Typowy błąd polega na tym, że ktoś widzi dwukropki i długi zapis IPv6, a potem kojarzy dowolny prefiks z adresem publicznym. W praktyce trzeba patrzeć na zakres. Dla adresów globalnych właściwym wyborem jest 2000::/3, bo to przestrzeń przeznaczona na publiczne adresy unicast zgodnie z zasadami IANA i dokumentacją IPv6. Z mojego doświadczenia, jak ktoś dobrze rozróżnia link-local, ULA i global unicast, to później dużo szybciej diagnozuje problemy z pingiem, trasą domyślną i dostępem do Internetu po IPv6.