Gość (83.4.*.*)
Zrozumienie adresacji IPv6 może na początku wydawać się skomplikowane, zwłaszcza gdy w grę wchodzą zapisy binarne i prefiksy. Jednak prefiks fe80::/10 to jeden z najważniejszych elementów tego protokołu, z którym spotykasz się codziennie, nawet o tym nie wiedząc. To właśnie on definiuje tak zwane adresy Link-Local, które pozwalają urządzeniom w tej samej sieci lokalnej „rozmawiać” ze sobą bez potrzeby posiadania routera czy serwera DHCP.
Aby dokładnie określić, jaki zakres adresów obejmuje ten prefiks, musimy zajrzeć „pod maskę” i przeliczyć zapis szesnastkowy na system binarny.
Adresy IPv6 składają się ze 128 bitów, zapisywanych w ośmiu blokach po 16 bitów każdy (oddzielonych dwukropkami). Zapis /10 oznacza, że pierwsze 10 bitów adresu jest sztywno zarezerwowanych i niezmiennych.
Krok 1: Rozpisanie początku adresu na bity
Pierwszy blok adresu to fe80. Przetłumaczmy te znaki szesnastkowe na postać binarną:
f = 1111e = 11108 = 10000 = 0000Zatem fe80 to binarnie: 1111 1110 1000 0000.
Krok 2: Zastosowanie prefiksu /10
Nasz prefiks mówi, że pierwsze 10 bitów jest stałe. Odliczmy je:
1 1 1 1 1 1 1 0 1 0 | 0 0 0 0 0 0
Stała część to: 1111 1110 10.
Pozostałe 6 bitów w pierwszym bloku (oraz wszystkie bity w kolejnych blokach) mogą przyjmować wartości od 0 do 1.
Krok 3: Wyznaczenie dolnej granicy (same zera)
Jeśli wszystkie zmienne bity ustawimy na 0, otrzymamy:
1111 1110 10 + 00 0000 = 1111 1110 1000 0000, co w systemie szesnastkowym daje nam ponownie fe80.
Dolna granica to: fe80:0000:0000:0000:0000:0000:0000:0000 (w skrócie fe80::).
Krok 4: Wyznaczenie górnej granicy (same jedynki)
Jeśli wszystkie zmienne bity (od 11. bitu wzwyż) ustawimy na 1, otrzymamy dla pierwszego bloku:
1111 1110 10 + 11 1111 = 1111 1110 1011 1111.
Przeliczając to na system szesnastkowy:
febffebf. Wszystkie pozostałe bloki wypełnione jedynkami dadzą nam ffff.Górna granica to: febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff.
Zakres adresów IPv6 dla prefiksu fe80::/10 to:
od fe80:0000:0000:0000:0000:0000:0000:0000 do febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff.
W praktyce, mimo że standard RFC 4291 definiuje zakres /10, najczęściej spotkasz się z adresami zaczynającymi się od fe80::/64. Dzieje się tak, ponieważ współczesne implementacje sieciowe automatycznie konfigurują adresy Link-Local właśnie w tej węższej puli, zostawiając 64 bity na identyfikator interfejsu (często generowany na podstawie adresu MAC karty sieciowej).
Adresy z zakresu fe80::/10 są unikalne, ponieważ każde urządzenie z obsługą IPv6 generuje taki adres dla każdego swojego interfejsu sieciowego (np. karty Wi-Fi czy Ethernet). Co ciekawe, te adresy nie są routowalne w Internecie. Oznacza to, że pakiety z takim adresem nigdy nie opuszczą Twojej sieci lokalnej. Dzięki temu, nawet jeśli nie masz połączenia z globalną siecią, Twoje komputery, drukarki i smartfony wciąż mogą się ze sobą komunikować, o ile znajdują się w tym samym segmencie sieci (linku).
Jeśli korzystasz z systemu Windows, wystarczy wpisać w wierszu poleceń (CMD) komendę ipconfig. W sekcji dotyczącej Twojej karty sieciowej zobaczysz pozycję „Link-local IPv6 Address”. Zauważysz, że prawie na pewno zaczyna się on właśnie od liter fe80. W systemach Linux lub macOS użyjesz do tego komendy ip addr lub ifconfig.