Porównanie

IPv4 vs IPv6

IPv4 vs IPv6: 32-bitowa pula kontra 128-bitowa, różnice w nagłówku, rola NAT i CGNAT, stan wdrożenia oraz dlaczego operatorzy uruchamiają dual-stack.

Ostatnia aktualizacja:

IPv4 i IPv6 to dwie wersje protokołu internetowego. IPv4 (RFC 791) używa adresów 32-bitowych, co daje około 4,3 miliarda adresów. IPv6 (RFC 8200) używa adresów 128-bitowych i daje praktycznie nieograniczoną pulę rzędu 3,4 × 10^38. Obie wersje realizują to samo zadanie, czyli adresowanie i trasowanie pakietów, ale różnią się przestrzenią adresową, budową nagłówka oraz tym, czy potrzebna jest translacja adresów. W praktyce sieci operatorskie obsługują dziś obie wersje równolegle.

CechaIPv4IPv6
Długość adresu32 bity128 bitów
Pula adresówOkoło 4,3 mldOkoło 3,4 × 10^38
ZapisDziesiętny z kropkami (192.0.2.1)Szesnastkowy z dwukropkami (2001:db8::1)
NATPowszechny, u operatorów często CGNATZbędny, adresacja end-to-end
NagłówekZmienna długość, z sumą kontrolnąStałe 40 bajtów, bez sumy kontrolnej
Nadawanie adresuDHCP albo ręcznieSLAAC albo DHCPv6
Adresowanie grupoweBroadcast i multicastMulticast i anycast, bez broadcastu
SpecyfikacjaRFC 791RFC 8200

Przestrzeń adresowa

Najważniejsza różnica to rozmiar puli. 32 bity IPv4 wystarczają na około 4,3 miliarda adresów i ta pula została wyczerpana. RIPE NCC przydziela już tylko niewielkie bloki z odzyskanych zasobów. 128 bitów IPv6 daje pulę tak dużą, że typowy operator otrzymuje od RIR alokację /32 lub większą, a pojedynczy abonent zwykle dostaje /48 lub /56. Niedobór adresów znika już na poziomie projektowym.

  • IPv4: 32 bity, około 4,3 miliarda adresów, pula wyczerpana.
  • IPv6: 128 bitów, pula rzędu 3,4 × 10^38 adresów.
  • Typowa alokacja IPv6 dla operatora (LIR): /32 lub większa.
  • Typowy przydział dla abonenta: /48 lub /56.
  • Zapis IPv6 jest szesnastkowy, z dwukropkami, np. 2001:db8::1.

Nagłówek i działanie

Nagłówek IPv4 ma zmienną długość od 20 do 60 bajtów i zawiera m.in. sumę kontrolną oraz pola fragmentacji. Nagłówek IPv6 ma stałą długość 40 bajtów, nie liczy sumy kontrolnej (polega na warstwach niższej i wyższej) i przenosi opcje do osobnych nagłówków rozszerzeń. Upraszcza to przetwarzanie na routerach. W IPv6 fragmentację wykonuje wyłącznie host źródłowy, a nie routery pośredniczące, co zmienia sposób, w jaki należy traktować MTU i Path MTU Discovery w sieci.

NAT i CGNAT

Z powodu niedoboru adresów IPv4 niemal powszechnie stosuje się NAT, a operatorzy dodatkowo wdrażają CGNAT (Carrier-Grade NAT) z zakresem współdzielonym 100.64.0.0/10 (RFC 6598), aby obsłużyć tysiące abonentów za garstką adresów publicznych. IPv6 zaprojektowano tak, by każdy host miał adres globalny, więc NAT w sensie IPv4 nie jest potrzebny. Bezpieczeństwo zapewnia firewall, a nie ukrywanie adresów. Migracja na IPv6 ogranicza koszty i ograniczenia CGNAT, takie jak utrudniony port forwarding, problemy z geolokalizacją i logowaniem oraz limit sesji na adres.

Wdrożenie i dual-stack

Globalny ruch IPv6 do użytkowników Google przekracza dziś 40 procent, ale IPv4 wciąż pozostaje obowiązkowy, bo część internetu jest dostępna tylko po IPv4. Standardowym podejściem jest dual-stack (RFC 4213): host i sieć obsługują jednocześnie IPv4 i IPv6, a aplikacja wybiera wersję per połączenie (Happy Eyeballs). Tam, gdzie czysty IPv6 styka się z zasobami IPv4, stosuje się mechanizmy przejściowe, takie jak NAT64 (RFC 6146) i translacja adresów (RFC 6052).

IPv4 i IPv6 w AS202520 SkyPass

AS202520 SkyPass dostarcza tranzyt IP w pełnym dual-stacku. Sesje BGP zestawiamy jednocześnie dla IPv4 i IPv6, więc ogłaszasz oba rodzaje prefiksów przez jedną relację. To samo dotyczy peeringu na polskich punktach wymiany ruchu (w THINX, w TPIX, we WRIX, w 1-IX), gdzie wymiana IPv6 jest standardem. Z PoP-ów w Warszawie i Wrocławiu udostępniamy zdalny dostęp do IXP oraz ochronę przed DDoS dla ruchu IPv4 i IPv6. Dzięki temu operatorzy wdrażają IPv6 bez rezygnacji z osiągalności IPv4.

Najczęstsze pytania

Czy mogę całkowicie zrezygnować z IPv4?

Na razie nie. Część internetu jest dostępna tylko po IPv4, więc operator musi zachować osiągalność IPv4, zwykle przez dual-stack lub mechanizmy przejściowe jak NAT64. Czysty IPv6 jest możliwy dopiero wtedy, gdy wszyscy istotni partnerzy obsługują IPv6.

Dlaczego nagłówek IPv6 jest prostszy mimo dłuższych adresów?

IPv6 ma stały 40-bajtowy nagłówek bez sumy kontrolnej i bez pól fragmentacji, a opcje przeniesiono do nagłówków rozszerzeń. Dzięki temu routery przetwarzają pakiety szybciej, mimo że same adresy są czterokrotnie dłuższe niż w IPv4.

Czy IPv6 eliminuje potrzebę NAT?

Tak w sensie IPv4: każdy host może mieć adres globalny, więc translacja adresów dla oszczędzania puli jest zbędna. Bezpieczeństwo realizuje firewall na brzegu sieci. Istnieje opcjonalny NPTv6, ale nie jest to NAT służący ukrywaniu hostów.

Jaki blok IPv6 powinien dostać abonent?

Zgodnie z praktyką RIR abonentowi przydziela się zwykle /48 lub /56, co daje wiele podsieci /64 do segmentacji. Pojedynczy /64 jest minimum dla jednej sieci LAN, ponieważ SLAAC wymaga 64 bitów na identyfikator interfejsu.

Powiązane artykuły