Adresacja IPv6

128-bitowy schemat adresacji, notacja, adresy specjalne i skracanie adresów.

Dlaczego Potrzebujemy Nowego Adresu IP? Problem Wyczerpania IPv4

Zanim zagłębimy się w to, czym jest adres IPv6, kluczowe jest zrozumienie, dlaczego został on stworzony. Jego poprzednik, IPv4, przez dziesięciolecia stanowił trzon internetu. Miał jednak fundamentalną wadę: ograniczoną liczbę adresów. Adres IPv4 jest liczbą 32-bitową, co pozwala na 2322^{32}, czyli około 4,3 miliarda, unikalnych adresów.

W latach 80-tych wydawało się to ogromną liczbą. Jednak wraz z gwałtownym rozwojem internetu, upowszechnieniem się komputerów osobistych, smartfonów, serwerów, a teraz także , świat szybko zaczął odczuwać brak dostępnych adresów IPv4. Ten niedobór, znany jako wyczerpanie puli adresów IPv4, stworzył krytyczną potrzebę nowego protokołu o znacznie większej przestrzeni adresowej. IPv6 jest długoterminowym rozwiązaniem tego problemu.

Ogromna Skala IPv6: 128-bitowa Przestrzeń Adresowa

Najważniejszą cechą IPv6 jest jego ogromna długość adresu. Adres IPv6 jest liczbą 128-bitową. To przejście z 32 bitów na 128 bitów nie jest czterokrotnym wzrostem; to wykładniczy skok pojemności.

  • IPv4: 2324.3×1092^{32} \approx 4.3 \times 10^9 adresów (4,3 miliarda).
  • IPv6: 21283.4×10382^{128} \approx 3.4 \times 10^{38} adresów.

Liczba ta – około 340 undecylionów – jest niemal niewyobrażalnie duża. Notatki dostarczają oszałamiającej ilustracji tej skali: przekłada się to na około 6.7×10176.7 \times 10^{17} adresów na każdy milimetr kwadratowy powierzchni Ziemi. Inaczej mówiąc, moglibyśmy przypisać adres IP każdej gwieździe w znanym wszechświecie i wciąż zostałaby nam praktycznie cała przestrzeń adresowa. Ta olbrzymia ilość gwarantuje, że nie zabraknie nam unikalnych adresów IP w przewidywalnej przyszłości, z łatwością obsługując biliony nowych urządzeń.

Zrozumienie Notacji Adresów IPv6

Zapisywanie 128 bitów w systemie binarnym byłoby niezwykle kłopotliwe i podatne na błędy. Aby uczynić adresy IPv6 łatwiejszymi do zarządzania dla ludzi, stworzono nową notację opartą na systemie szesnastkowym.

Hekstety i Dwukropki

  • Grupy 16-bitowe: 128-bitowy adres jest dzielony na osiem grup, z których każda zawiera 16 bitów.
  • Format Szesnastkowy: Każda 16-bitowa grupa jest zapisywana jako cztery cyfry .
  • Separatory Dwukropkowe: Te osiem grup, często nazywanych "hekstetami" lub "kwartetami", jest oddzielonych dwukropkami (:).

Przykład Pełnego Adresu IPv6

Oto przykład pełnego, nieskompresowanego adresu IPv6 używanego w celach dokumentacyjnych:

2001:0db8:0000:0000:0008:0800:200c:417a

Upraszczanie Adresu: Zasady Skracania

Nawet w formacie szesnastkowym pełne adresy IPv6 mogą być długie i zawierać wiele zer. Aby poprawić czytelność, można zastosować dwie proste zasady w celu ich skrócenia.

Zasada 1: Pomijanie Wiodących Zer

Wewnątrz dowolnego 16-bitowego hekstetu można usunąć wiodące zera (zera na początku grupy). Należy to zrobić dla każdego hekstetu indywidualnie.

Na przykład:
0db8 staje się db8
0008 staje się 8
0000 staje się 0

Zasada 2: Kompresja Podwójnym Dwukropkiem

Pojedynczy, ciągły blok hekstetów składających się z samych zer można skompresować i zastąpić podwójnym dwukropkiem (::).

Kluczowe ograniczenie: Podwójny dwukropek może być użyty tylko raz w jednym adresie. Użycie go więcej niż raz uczyniłoby adres niejednoznacznym, ponieważ nie byłoby możliwe ustalenie, ile hekstetów zerowych reprezentuje każdy ::.

Przykład Skracania Krok po Kroku

Skróćmy adres fec0:0000:0000:0000:0ead:0000:0000:0005:

  1. Adres Oryginalny: fec0:0000:0000:0000:0ead:0000:0000:0005
  2. Zastosuj Zasadę 1 (pomiń wiodące zera): Usuwamy wiodące zera z każdego hekstetu.
    fec0:0:0:0:ead:0:0:5
  3. Zastosuj Zasadę 2 (użyj podwójnego dwukropka): Znajdujemy najdłuższy ciągły blok zer i zastępujemy go ::. W tym przypadku mamy dwa takie bloki. Wybieramy dłuższy z nich.
    fec0::ead:0:0:5
    (Można również zapisać fec0:0:0:0:ead::5, obie formy są prawidłowe, ale pierwsza jest bardziej powszechna, ponieważ kompresuje dłuższy blok).

Anatomia Adresu Unicast IPv6

Standardowy globalny adres IPv6 jest zazwyczaj dzielony na dwie główne części: 64-bitowy prefiks sieciowy i 64-bitowy identyfikator interfejsu. Sam prefiks sieciowy ma strukturę hierarchiczną, odzwierciedlającą sposób dystrybucji adresów na świecie.

Plac zabaw struktury adresu IPv6

Dostosuj podział stałego prefiksu /48 między rejestr, operatora i strefę lokalizacji, aby zobaczyć co pozostaje na identyfikatory podsieci i interfejsów.

Przydział rejestru (bity)12 b
Przydział operatora (bity)20 b

Szybkie podziały lokalizacji

Globalny prefiks routingowy
/48

Pierwsze 48 bitów (rejestr → operator → lokalizacja).

Rejestr12 b
Operator20 b
Lokalizacja/klient16 b
ID podsieci16 b
Identyfikator interfejsu64 b
128-bit layout
20 b
16 b
16 b
Interfejs

Identyfikator interfejsu ma zawsze 64 bity dla SLAAC.

Co oznaczają te bity

Przydział rejestru
12 b

Bity kontrolowane przez regionalny rejestr internetowy przy delegowaniu puli /48 (lub większej) do operatora.

Możliwe wartości: 4,1 tys.
Operator
20 b

Bity wykorzystywane przez operatora, aby tworzyć przydziały dla klientów lub regionów wewnętrznych.

Możliwe wartości: 1,05 mln
Przestrzeń lokalizacji
16 b

Część prefiksu /48, którą organizacja może dzielić na kampusy lub oddziały przed własnym podsieciowaniem.

Możliwe wartości: 65,54 tys.
ID podsieci
16 b

Te 16 bitów pozwala utworzyć do 65 536 routowalnych podsieci /64 wewnątrz organizacji.

Możliwe wartości: 65,54 tys.
Identyfikator interfejsu
64 b

Stałe 64 bity części hosta, zwykle oparte na MAC, losowane dla prywatności lub przydzielane z DHCPv6.

Możliwe wartości: 2^64

Prefiks Sieciowy (Pierwsze 64 bity)

1. Globalny Prefiks Routingowy (pierwsze 48 bitów): Ta część jest przydzielana przez Rejestry Internetowe (takie jak ARIN, RIPE, APNIC) dostawcom usług internetowych (ISP). ISP następnie przydziela część tego prefiksu swoim klientom (np. organizacji). Ta hierarchiczna struktura (Rejestr → ISP → Klient) znacznie usprawnia routing w internecie.
2. ID Podsieci (kolejne 16 bitów): Ta część jest kontrolowana przez lokalnego administratora sieci w organizacji. 16 bitów zapewnia 216=65,5362^{16} = 65,536 możliwych podsieci, co jest ogromną liczbą do tworzenia wewnętrznych segmentów sieci dla różnych działów, funkcji lub lokalizacji.

Identyfikator Interfejsu (Ostatnie 64 bity)

Ta część unikalnie identyfikuje konkretne urządzenie (jego interfejs sieciowy, np. kartę sieciową) w danej podsieci. 64 bity pozwalają na ogromną liczbę unikalnych hostów w jednej podsieci (2642^{64}). Może być generowany na kilka sposobów:
  • Automatycznie, na podstawie fizycznego adresu MAC urządzenia (przy użyciu formatu EUI-64).
  • Automatycznie i losowo przez system operacyjny ze względów prywatności.
  • Ręcznie skonfigurowany przez administratora.

Specjalne Typy Adresów IPv6

Podobnie jak w IPv4, IPv6 rezerwuje pewne zakresy adresów do określonych celów. Ich zrozumienie jest kluczowe do pracy z sieciami IPv6.

  • Adres nieokreślony (::/128): Adres składający się z samych zer. Używany przez urządzenie podczas procesu inicjalizacji, gdy nie zna jeszcze swojego adresu.
  • Adres pętli zwrotnej (::1/128): Odpowiednik 127.0.0.1 w IPv4. Pozwala urządzeniu wysłać pakiet do samego siebie w celu testowania oprogramowania sieciowego bez opuszczania maszyny przez jakikolwiek pakiet.
  • Adresy link-local (fe80::/10): Są to prywatne, nierutowalne adresy, które są automatycznie konfigurowane na każdym interfejsie z włączonym IPv6. Służą do komunikacji tylko w lokalnym łączu fizycznym (np. w jednym segmencie Ethernet lub sieci Wi-Fi) i są niezbędne do procesów takich jak wykrywanie sąsiadów. Routery nie przekazują pakietów z adresami link-local.
  • Unikalne adresy lokalne (ULA) (fc00::/7): Są to nowoczesny odpowiednik adresów prywatnych IPv4 (takich jak 192.168.x.x). Przeznaczone są do użytku wewnątrz sieci prywatnej organizacji i nie są rutowalne w globalnym internecie, zapewniając dodatkową warstwę izolacji i bezpieczeństwa.
  • Adresy multemisji (ff00::/8): Adres identyfikujący grupę interfejsów. Pakiet wysłany na adres multemisji jest dostarczany do wszystkich interfejsów, które dołączyły do tej grupy. Służy do efektywnej komunikacji jeden-do-wielu.
  • Prefiks Dokumentacyjny (2001:db8::/32): Określony zakres adresów zarezerwowany wyłącznie do użytku w przykładach, dokumentacji i samouczkach (takich jak ten!). Gwarantuje się, że nigdy nie będzie to prawdziwy, rutowalny adres w internecie.
  • Technologie Przejściowe (np. 6to4 - 2002::/16): Zakresy zarezerwowane dla konkretnych technologii zaprojektowanych w celu ułatwienia przechodzenia sieci z IPv4 na IPv6. Mechanizmy te będą omawiane szczegółowo osobno.
    Adresacja IPv6 | Teleinf Edu