Gość (83.4.*.*)
Zrozumienie adresacji IPv6 bywa wyzwaniem, zwłaszcza gdy napotykamy zapisy, które na pierwszy rzut oka wydają się opisywać to samo, a jednak różnią się długością prefiksu. Mowa o fe80::/10 oraz fe80::/64. Choć oba terminy dotyczą adresów typu Link-Local (lokalnych dla łącza), pełnią one inne role w architekturze sieciowej. W skrócie: jeden określa szeroki zakres zarezerwowany przez standardy, a drugi jest konkretnym schematem stosowanym bezpośrednio na kartach sieciowych.
Zanim przejdziemy do różnic w prefiksach, warto przypomnieć, po co nam w ogóle adresy zaczynające się od fe80. W protokole IPv6 każdy interfejs sieciowy (np. Twoja karta Wi-Fi w laptopie) automatycznie generuje sobie taki adres. Służy on do komunikacji wewnątrz jednej sieci lokalnej (jednego segmentu), czyli np. między Twoim komputerem a routerem.
Co ważne, adresy te nie są routowalne – pakiety z takim adresem nigdy nie opuszczą Twojego domu czy biura i nie trafią do internetu. To taka "wewnętrzna rozmowa" urządzeń, która pozwala im się odnaleźć i skonfigurować bez udziału serwera DHCP.
Zapis fe80::/10 to oficjalny blok adresowy zarezerwowany przez organizację IANA (Internet Assigned Numbers Authority) dla adresów Link-Local Unicast. Liczba 10 oznacza, że pierwsze 10 bitów adresu jest stałych. W systemie binarnym wygląda to tak: 1111 1110 10.
Jeśli przeliczymy to na system szesnastkowy, okazuje się, że zakres ten obejmuje wszystko, co zaczyna się od:
fe80::fe90::fea0::feb0::W praktyce jednak, mimo tak szerokiej rezerwacji, standardy (takie jak RFC 4291) nakładają dodatkowe ograniczenia, które sprawiają, że w codziennym użytkowaniu widzimy niemal wyłącznie adresy zaczynające się od fe80.
Choć standard rezerwuje szeroki blok /10, to w rzeczywistych konfiguracjach systemów operacyjnych (Windows, Linux, macOS) oraz routerów, stosuje się prefiks fe80::/64. Dlaczego tak się dzieje?
Zgodnie z architekturą IPv6, identyfikator interfejsu (Interface ID) powinien mieć długość 64 bitów. Aby zachować spójność i umożliwić poprawne działanie mechanizmów takich jak SLAAC (bezstanowa autokonfiguracja adresów), zdecydowano, że adresy Link-Local będą konstruowane w następujący sposób:
1111 1110 10.Dzięki temu otrzymujemy prefiks fe80:0000:0000:0000::/64, co w skróconym zapisie daje nam właśnie fe80::/64. To właśnie ten prefiks zobaczysz, wpisując komendę ipconfig lub ip a w swoim terminalu.
Aby łatwiej było to zapamiętać, można zestawić te dwa pojęcia w następujący sposób:
fe80::/10 jest używane w tablicach routingu i dokumentacji technicznej do identyfikacji całej klasy adresów Link-Local. Z kolei fe80::/64 to konkretna maska podsieci przypisana do interfejsu sieciowego./10 jest teoretycznie znacznie większy, ale w praktyce jego "środek" (bity od 11 do 64) i tak musi składać się z zer./10 spotkasz się głównie w specyfikacjach protokołów, natomiast /64 to codzienność administratora sieci i użytkownika.Czy zauważyłeś kiedyś, że adresy IPv6 Link-Local często kończą się znakiem procenta i liczbą, np. fe80::1a2b:3c4d:5e6f%12? To tzw. Zone ID (identyfikator strefy). Ponieważ każde urządzenie może mieć wiele kart sieciowych (Wi-Fi, Ethernet, Bluetooth) i na każdej z nich może istnieć identyczny adres fe80::/64, system operacyjny musi wiedzieć, przez którą "furtkę" wysłać dane. Ten numer po procencie wskazuje konkretny interfejs fizyczny.
Można by zapytać: skoro mamy do dyspozycji tak duży blok (/10), to dlaczego marnujemy tyle miejsca, ustawiając 54 bity na zero? Odpowiedź tkwi w prostocie i standaryzacji. IPv6 zostało zaprojektowane tak, aby granica /64 była świętością. Ułatwia to sprzętowe przetwarzanie pakietów przez routery oraz zapewnia, że mechanizmy automatycznego przypisywania adresów zawsze będą działać bez konfliktów, niezależnie od producenta sprzętu.
Podsumowując, różnica między fe80::/10 a fe80::/64 to klasyczny przykład rozróżnienia między szeroką definicją standardu a jego praktyczną, rygorystyczną implementacją. W codziennej pracy z sieciami to ten drugi prefiks będzie Twoim głównym punktem odniesienia.