Gość (83.4.*.*)
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.
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.
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.
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.
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ć.
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.
Gdyby na przełomie lat 70. i 80. zmieniono przeznaczenie zakresu 0.0.0.0/8:
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.