Jakie masz pytanie?

lub

Co by się stało, gdyby na przełomie lat 70. i 80. XX wieku zmieniono przeznaczenie zakresu adresów IPv4 od 0.0.0.1 do 0.255.255.255 z funkcji „ten host w tej sieci” na pulę adresów prywatnych?

historia protokołu IPv4 ewolucja standardów internetowych adresacja prywatna sieci
avatar

Gość (83.4.*.*)



Odpowiedź:

Wyobraźmy sobie świat, w którym historia Internetu potoczyła się nieco inaczej. Jest przełom lat 70. i 80. XX wieku, inżynierowie z grupy IETF (Internet Engineering Task Force) pracują nad protokołem IPv4, który ma połączyć świat. W tamtym czasie nikt nie przypuszczał, że pula 4,3 miliarda adresów kiedykolwiek się wyczerpie. Gdyby wtedy zdecydowano, że sieć 0.0.0.0/8 (czyli zakres od 0.0.0.1 do 0.255.255.255) zamiast pełnić funkcję techniczną „ten host w tej sieci”, stanie się pulą adresów prywatnych, dzisiejszy krajobraz sieciowy mógłby wyglądać zupełnie inaczej.

Czym właściwie jest „sieć zero”?

W oficjalnej dokumentacji, a konkretnie w RFC 791 z 1981 roku, zakres 0.0.0.0/8 został zarezerwowany jako specjalny identyfikator. Adresy zaczynające się od zera oznaczają „ten host w tej sieci”. W praktyce są one używane głównie w procesie bootowania urządzeń lub przez protokoły takie jak DHCP, gdy urządzenie nie ma jeszcze przypisanego własnego adresu IP i musi zapytać: „Hej, czy ktoś mi go nada?”.

Gdybyśmy zmienili to przeznaczenie 40 lat temu, sieć 0.0.0.0/8 stałaby się tym, czym dzisiaj jest popularne 10.0.0.0/8 czy 192.168.x.x. Zamiast być „technicznym duchem”, te 16,7 miliona adresów służyłoby do budowy sieci lokalnych w firmach i domach.

Większa elastyczność w czasach przed NAT-em

W latach 80. koncepcja NAT (Network Address Translation), czyli technologii pozwalającej wielu urządzeniom korzystać z jednego publicznego adresu IP, jeszcze nie istniała. Wprowadzono ją dopiero w latach 90., gdy widmo braku adresów zajrzało inżynierom w oczy. Gdyby zakres 0.x.x.x był dostępny jako prywatny od samego początku, być może standard RFC 1918 (który zdefiniował dzisiejsze adresy prywatne) wyglądałby inaczej lub w ogóle nie byłby potrzebny w takiej formie.

Dodatkowe 16 milionów adresów prywatnych na tak wczesnym etapie mogłoby zachęcić do tworzenia jeszcze bardziej rozbudowanych sieci wewnętrznych. Mogłoby to również opóźnić panikę związaną z wyczerpywaniem się puli IPv4, choć w skali globalnej te 16 milionów to zaledwie kropla w morzu potrzeb, które przyniósł boom internetowy lat 2000.

Problemy techniczne i „magia” zera

Zmiana przeznaczenia tego zakresu niosłaby ze sobą spore wyzwania programistyczne. W informatyce zero niemal zawsze oznacza coś specjalnego – pustkę, brak wartości lub początek. Wiele wczesnych systemów operacyjnych i stosów sieciowych miało (i często nadal ma) „zakodowane na sztywno”, że adresy zaczynające się od 0 są nieprawidłowe dla normalnego ruchu.

Gdybyśmy zaczęli używać np. adresu 0.1.2.3 dla drukarki w biurze, wiele ówczesnych routerów mogłoby po prostu odrzucić takie pakiety, uznając je za błąd protokołu. Wprowadzenie tej zmiany wymagałoby więc ogromnej dyscypliny od programistów już na starcie ery cyfrowej.

Ciekawostka: Dlaczego nie zrobimy tego teraz?

Skoro brakuje nam adresów IPv4, dlaczego nie „odmrozimy” sieci 0.0.0.0/8 dzisiaj? Odpowiedź jest prosta: kompatybilność wsteczna. Miliardy urządzeń na świecie – od starych sterowników przemysłowych po nowoczesne smartfony – mają wbudowane mechanizmy traktujące ten zakres jako specjalny. Próba zmiany tego stanu rzeczy teraz spowodowałaby gigantyczny chaos w globalnej infrastrukturze. To trochę tak, jakbyśmy nagle chcieli zmienić znaczenie cyfry „0” w matematyce – niby się da, ale wszystko, co zbudowaliśmy do tej pory, przestałoby działać.

Czy Internet byłby bezpieczniejszy?

Istnieje teoria, że używanie zakresu 0.x.x.x jako prywatnego mogłoby paradoksalnie zwiększyć liczbę błędów w konfiguracjach firewalli. Ludzkie oko łatwo ignoruje zera, co mogłoby prowadzić do pomyłek przy wpisywaniu reguł dostępu. Z drugiej strony, posiadanie tak wczesnego standardu adresacji prywatnej mogłoby wymusić lepszą higienę sieciową już w latach 80., zanim Internet stał się publicznie dostępnym medium.

Podsumowanie techniczne

Gdyby na przełomie lat 70. i 80. zmieniono przeznaczenie zakresu 0.0.0.0/8:

  1. Zyskalibyśmy 16 777 216 adresów prywatnych, co mogłoby wpłynąć na strukturę wczesnych sieci lokalnych.
  2. Standard RFC 1918 mógłby nigdy nie powstać w znanej nam formie, a adresy 10.0.0.0/8 mogłyby pozostać w puli publicznej.
  3. Programiści musieliby napisać stosy TCP/IP inaczej, unikając traktowania zera jako wartości specjalnej w adresacji.
  4. Opóźnienie wdrożenia IPv6 byłoby prawdopodobnie minimalne, ponieważ 16 milionów adresów to zbyt mało, by powstrzymać głód adresowy miliardów urządzeń IoT i smartfonów, który nadszedł później.

Dziś sieć 0.0.0.0/8 pozostaje jednym z „zakazanych owoców” Internetu – obszarem, który istnieje, ale którego nie możemy dotknąć w codziennym surfowaniu po sieci. To fascynująca pamiątka po czasach, gdy projektanci sieci musieli podejmować decyzje, które rzutują na nasze życie dekady później.

Podziel się z innymi: