Jakie masz pytanie?

lub

Kiedy wystąpił kryzys związany z wyczerpaniem adresów IPv4, skoro twórcy protokołu TCP/IP ustalili adresy 32-bitowe (co daje 2^32 adresów w czterech blokach), i dlaczego nie zdecydowali się wówczas na adresy 128-bitowe?

wyczerpanie puli IPv4 historia protokołu internetowego dlaczego adresy IPv4
avatar

Gość (37.30.*.*)



Odpowiedź:

Wyobraź sobie, że budujesz prototyp urządzenia, które ma służyć jedynie do testów w laboratorium. Zakładasz, że powstanie ich maksymalnie kilkanaście, więc nadajesz im krótkie, proste numery seryjne. Nagle okazuje się, że Twój wynalazek staje się fundamentem globalnej komunikacji, a Twoje „tymczasowe” numery muszą wystarczyć dla miliardów ludzi. Dokładnie to przydarzyło się twórcom protokołu IPv4.

Kryzys związany z wyczerpaniem adresów IPv4 nie był nagłym wydarzeniem, lecz procesem, który trwał lata. Choć teoretyczna liczba ponad 4 miliardów adresów wydawała się kiedyś niewyobrażalna, rozwój internetu sprawił, że „pula” zaczęła znikać w oczach.

Kiedy oficjalnie zabrakło adresów IPv4?

Moment, w którym świat dowiedział się, że wolne adresy IPv4 się skończyły, można podzielić na kilka kluczowych etapów. Najważniejszą datą jest 3 lutego 2011 roku. To właśnie wtedy IANA (Internet Assigned Numbers Authority), czyli główny organ nadzorujący pulę adresów na świecie, rozdał ostatnie duże bloki adresowe regionalnym rejestrom (RIR).

Od tego momentu każdy region świata musiał radzić sobie z własnymi zapasami. Oto jak wyglądało wyczerpywanie się zasobów w poszczególnych częściach globu:

  • Azja i Pacyfik (APNIC): kwiecień 2011 r. – jako pierwsi odczuli brak nowych adresów.
  • Ameryka Łacińska i Karaiby (LACNIC): czerwiec 2014 r.
  • Ameryka Północna (ARIN): wrzesień 2015 r.
  • Afryka (AFRINIC): kwiecień 2017 r.
  • Europa, Bliski Wschód i Azja Środkowa (RIPE NCC): 25 listopada 2019 r.

Warto zaznaczyć, że „wyczerpanie” nie oznacza, iż internet przestał działać. Rejestry wciąż odzyskują nieużywane adresy i przydzielają je w bardzo małych dawkach, a firmy handlują nimi na rynku wtórnym. Jednak od 2019 roku oficjalnie nie ma już nowych, wolnych zasobów dla Europy.

Dlaczego 32 bity, a nie 128?

To jedno z najciekawszych pytań w historii technologii. Vint Cerf, jeden z „ojców internetu”, wielokrotnie wyjaśniał tę decyzję w wywiadach. W latach 70., kiedy projektowano protokół TCP/IP, internet był traktowany jako eksperyment wojskowy i naukowy.

Eksperyment, który „uciekł” z laboratorium

Twórcy nie planowali, że budują sieć, która połączy lodówki, telefony i żarówki w każdym domu. W 1977 roku komputery były ogromnymi maszynami wielkości szaf, stojącymi w centrach badawczych. Cerf i jego zespół założyli, że jeśli technologia się sprawdzi, to w przyszłości powstanie „wersja produkcyjna” z większą przestrzenią adresową. IPv4 miało być tylko dowodem koncepcji (proof of concept).

Rok sporów inżynierskich

Decyzja o 32 bitach nie zapadła natychmiast. Przez blisko rok inżynierowie spierali się, czy użyć adresów 32-bitowych, 128-bitowych, czy może adresów o zmiennej długości.

  • Adresy 128-bitowe były wówczas uważane za „szalone” i niepotrzebnie obciążające system. Pamiętajmy, że ówczesne łącza miały minimalną przepustowość, a procesory były tysiące razy wolniejsze niż te w dzisiejszych zegarkach. Dodanie ogromnego nagłówka do każdego pakietu danych spowolniłoby sieć.
  • Adresy o zmiennej długości były trudniejsze w implementacji i mogły powodować błędy w przetwarzaniu przez routery.

Ostatecznie Vint Cerf, jako kierownik programu w ARPA, podjął autorytarną decyzję: „Wybieramy 32 bity. To wystarczy na eksperyment”. Jak sam później przyznał: „Kto u licha mógł wiedzieć, ile przestrzeni adresowej będziemy potrzebować?”.

Matematyka za adresami: 32 vs 128 bitów

Zrozumienie skali problemu ułatwia prosta matematyka. Adresy IP to w rzeczywistości liczby binarne.

Obliczenie dla IPv4 (32 bity)

Adres IPv4 składa się z 32 bitów podzielonych na cztery 8-bitowe bloki (oktety). Każdy bit może przyjąć wartość 0 lub 1.
Liczba kombinacji to $2^{32}$.

Krok po kroku:

  1. $2^{10} = 1024$ (około tysiąc)
  2. $2^{20} = 1024 \times 1024 \approx 1 \text{ milion}$
  3. $2^{30} = 1024 \times 1024 \times 1024 \approx 1 \text{ miliard}$
  4. $2^{32} = 2^2 \times 2^{30} = 4 \times 1,073,741,824 = \mathbf{4,294,967,296}$

Ponad 4 miliardy adresów wydawało się liczbą astronomiczną w czasach, gdy na świecie było zaledwie kilkaset komputerów.

Obliczenie dla IPv6 (128 bitów)

Przejście na 128 bitów w nowym protokole IPv6 nie było tylko „podwojeniem” czy „potrojeniem” puli. To wzrost wykładniczy.
Liczba kombinacji to $2^{128}$.

Wynik to: 340,282,366,920,938,463,463,374,607,431,768,211,456.
To liczba tak ogromna (340 sekstylionów), że teoretycznie pozwala na nadanie unikalnego adresu IP każdemu atomowi na powierzchni Ziemi i wciąż zostanie nam zapas na kilka kolejnych planet.

Ciekawostka: Czy wiesz, że...?

Na początku istnienia internetu adresy rozdawano bardzo hojnie. Takie firmy jak Apple, Ford czy IBM otrzymały całe bloki „klasy A”, z których każdy zawierał ponad 16 milionów adresów. W tamtym czasie nikt nie przypuszczał, że kiedyś będziemy musieli oszczędzać każdy pojedynczy numer IP. Aby opóźnić kryzys, wprowadzono technologię NAT (Network Address Translation), która pozwala wielu urządzeniom w Twoim domu (laptop, smartfon, TV) korzystać z jednego publicznego adresu IP przydzielonego przez dostawcę. Gdyby nie NAT, adresy IPv4 skończyłyby się już w latach 90.!

Podziel się z innymi: