IPv6

Nowsza wersja protokołu IP ze znacznie większą pulą adresów, zapisywanych w formie szesnastkowej. Powstała, by rozwiązać problem wyczerpywania adresów IPv4.

IPv6 (Internet Protocol version 6) to najnowsza wersja protokołu IP, w której adres ma 128 bitów zamiast 32 bitów znanych z IPv4. Przekłada się to na pulę około 3,4 × 1038 adresów (czyli 340 sekstylionów z hakiem) — tyle, że spokojnie wystarczy dla każdego smartfona, lodówki i żarówki, którą ktoś wpadnie na pomysł podłączyć do sieci. Adres zapisujesz szesnastkowo, w ośmiu grupach po 16 bitów oddzielonych dwukropkiem, np. 2001:0db8:85a3:0000:0000:8a2e:0370:7334.

Po co to powstało i jak działa

IPv6 wymyślono, bo w IPv4 (jakieś 4,3 miliarda adresów) zaczęło brakować miejsca — łataliśmy to latami NAT-em i prywatnymi adresami, ale to proteza, nie rozwiązanie. Aktualna specyfikacja to RFC 8200 z 2017 roku. Oprócz większej puli IPv6 upraszcza nagłówek pakietu, ma wbudowane autokonfigurację (SLAAC) oraz natywnie wspiera adresy link-local z zakresu fe80::/10, które urządzenie nadaje sobie samo.

Żeby zapis nie bolał, obowiązują dwie reguły skracania: wiodące zera w grupie pomijasz, a jeden ciąg samych zer zwijasz do ::. Dlatego adres dokumentacyjny 2001:0db8:0000:0000:0000:0000:0000:0001 skracasz do 2001:db8::1. Loopback (odpowiednik 127.0.0.1) to po prostu ::1.

Przykład z praktyki

Chcesz sprawdzić, czy masz łączność IPv6? Na Linuksie odpalasz ping6 ipv6.google.com albo ping -6 google.com. Adresy interfejsów zobaczysz przez ip -6 addr show — jeśli widzisz tam adres zaczynający się od 2 lub 3 (global unicast), masz publiczne IPv6. W praktyce DNS rozwiązuje rekord AAAA (nie zwykłe A), a w adresach URL adres IPv6 wkładasz w nawiasy kwadratowe, np. http://[2001:db8::1]:8080, żeby dwukropki nie myliły się z portem.

Częste błędy i mity

  • „IPv6 jest mniej bezpieczne” — nieprawda. IPSec był w nim przewidziany od początku. Problemem bywa konfiguracja: firewall pilnujący tylko IPv4 zostawia IPv6 na oścież otwarte.
  • NAT jako zabezpieczenie — w IPv6 zwykle nie ma NAT-u, bo każdy host może mieć adres publiczny. To nie znaczy „brak ochrony” — od tego masz firewall, nie ukrywanie adresów.
  • Mylenie dwukropka adresu z portem — stąd te nawiasy kwadratowe w URL-ach. Programista, który o nich zapomni, spędzi wieczór na debugowaniu.

Pojęcia powiązane

Warto kojarzyć z tym hasłem: IPv4, NAT, rekord DNS AAAA, SLAAC, adres link-local, dual stack (równoległe działanie IPv4 i IPv6), CIDR oraz prefiks /64 typowy dla pojedynczej podsieci IPv6.