Jakie masz pytanie?

lub

Do ilu adresów i bitów ograniczyliby twórcy protokołu TCP/IP pulę adresową, gdyby mieli świadomość, że IPv4 opuści mury laboratoriów naukowych i wojskowych, uwzględniając uwarunkowania historyczne lat 70. i 80. XX wieku?

historia protokołu ip ograniczenia adresów ipv4 ewolucja standardów sieciowych
avatar

Gość (83.4.*.*)



Odpowiedź:

Historia protokołu IPv4 to jedna z najbardziej fascynujących opowieści o tym, jak tymczasowe rozwiązanie stało się fundamentem globalnej cywilizacji. Kiedy Vint Cerf i Bob Kahn projektowali TCP/IP pod koniec lat 70., nie budowali sieci dla miliardów ludzi kupujących lodówki z Wi-Fi. Budowali sieć badawczą dla garstki uniwersytetów i wojska. Gdyby jednak wtedy, w tamtych realiach technologicznych, wiedzieli, że ich dzieło opuści mury laboratoriów, prawdopodobnym standardem nie byłoby dzisiejsze IPv6, lecz system oparty na 48 bitach.

Dlaczego 32 bity wydawały się wystarczające?

W 1977 roku, kiedy zapadały kluczowe decyzje, świat komputerów wyglądał zupełnie inaczej. Pamięć RAM była liczona w kilobajtach, a procesory miały ułamek mocy obliczeniowej dzisiejszych kalkulatorów. Vint Cerf, nazywany jednym z ojców internetu, wielokrotnie powtarzał w wywiadach, że wybór 32-bitowego adresu był "eksperymentem".

Logika była prosta: 32 bity pozwalają na adresowanie około 4,3 miliarda urządzeń ($2^{32}$). W tamtym czasie populacja Ziemi wynosiła około 4,5 miliarda ludzi. Wydawało się niemożliwe, aby każdy człowiek na planecie posiadał własny komputer, a co dopiero kilka urządzeń podłączonych do sieci. Twórcy uznali, że 4,3 miliarda adresów to zapas tak ogromny, że wystarczy na dekady testów, po których i tak powstanie "docelowy" protokół.

Logiczny krok w latach 80.: standard 48-bitowy

Gdyby twórcy mieli świadomość nadchodzącej rewolucji, najprawdopodobniej zdecydowaliby się na 48 bitów. Dlaczego akurat tyle? Odpowiedź tkwi w uwarunkowaniach technicznych tamtej epoki i architekturze sprzętowej.

  1. Zgodność z Ethernetem: W tym samym czasie w laboratoriach Xerox PARC powstawał Ethernet. Standard ten wykorzystywał (i nadal wykorzystuje) 48-bitowe adresy fizyczne (MAC). Przyjęcie 48 bitów dla IP ułatwiłoby mapowanie adresów i uczyniło architekturę sieciową bardziej spójną.
  2. Ograniczenia sprzętowe: Przejście na 64 bity mogło być w latach 80. zbyt kosztowne. Ówczesne routery (często będące po prostu zmodyfikowanymi komputerami PDP-11) miałyby ogromny problem z przetwarzaniem tak długich nagłówków w pamięci operacyjnej. 48 bitów stanowiło idealny kompromis między przestrzenią adresową a wydajnością sprzętu.
  3. Potęga skali: Przeskok z 32 na 48 bitów nie jest liniowy, lecz wykładniczy. Zobaczmy, jak zmieniłoby to pulę adresową.

Matematyczne porównanie puli adresowej

Aby zrozumieć skalę, wykonajmy proste obliczenie:

  • IPv4 (32 bity): $2^{32} = 4,294,967,296$ adresów (ok. 4,3 miliarda).
  • Hipotetyczne IPv4+ (48 bitów): $2^{48} = 281,474,976,710,656$ adresów.

Wynik: Zastosowanie 48 bitów zamiast 32 dałoby nam 65 536 razy więcej adresów. To ponad 281 bilionów unikalnych identyfikatorów. Taka liczba prawdopodobnie wystarczyłaby, aby opóźnić kryzys braku adresów IP o setki lat, nawet przy uwzględnieniu miliardów smartfonów i urządzeń IoT.

Dlaczego nie od razu 128 bitów (IPv6)?

Można by zapytać: skoro chcieli zabezpieczyć przyszłość, dlaczego nie skoczyć od razu do 128 bitów, które mamy w IPv6? W latach 70. i 80. byłoby to rozwiązanie skrajnie nieefektywne, a wręcz niemożliwe do wdrożenia.

Nagłówek pakietu IPv6 jest znacznie większy niż IPv4. W świecie, gdzie łącza miały przepustowość rzędu 2,4 kb/s lub 9,6 kb/s, marnowanie cennych bitów na gigantyczne adresy byłoby "zbrodnią" inżynieryjną. Każdy dodatkowy bajt w nagłówku oznaczał wolniejszy transfer danych i większe obciążenie dla procesorów, które i tak ledwo radziły sobie z routingiem. 128-bitowy adres wymagałby 16 bajtów na źródło i 16 bajtów na cel – w sumie 32 bajty samej adresacji w każdym pakiecie. Dla ówczesnych systemów był to narzut nie do zaakceptowania.

Ciekawostka: czy wiesz, że istniało IPv5?

Wiele osób myśli, że po IPv4 od razu przeskoczyliśmy do IPv6, bo ktoś "pomylił się w liczeniu". Nic bardziej mylnego! Protokół IPv5 rzeczywiście istniał i został opracowany pod koniec lat 70. (oficjalnie jako ST – Internet Stream Protocol).

Nie służył on jednak do zwiększenia puli adresowej. Był to eksperymentalny protokół do przesyłania głosu i wideo w czasie rzeczywistym. Wykorzystywał on te same 32-bitowe adresy co IPv4, więc nie rozwiązywał problemu limitów. Ponieważ nigdy nie wszedł do powszechnego użytku, numer "5" został zarezerwowany, a prace nad nowym standardem adresowania przeniesiono na numer "6".

Dziedzictwo "krótkowzroczności"

Gdyby twórcy TCP/IP w 1981 roku (kiedy publikowano dokument RFC 791) dodali zaledwie dwa bajty do adresu, dzisiejszy internet wyglądałby zupełnie inaczej. Nie potrzebowalibyśmy technologii NAT (Network Address Translation), która pozwala wielu urządzeniom w domu korzystać z jednego publicznego IP, a konfiguracja sieci byłaby znacznie prostsza.

Z drugiej strony, to właśnie ograniczenia IPv4 wymusiły na inżynierach niesamowitą kreatywność w optymalizacji protokołów. Choć 32 bity to z dzisiejszej perspektywy mało, to właśnie ten "ciasny" standard pozwolił na szybki rozwój internetu na sprzęcie, który dziś uznalibyśmy za muzealny.

Podziel się z innymi: