Gość (83.4.*.*)
Wyobraź sobie świat, w którym problem wyczerpania adresów IPv4, o którym głośno było dekadę temu, zostałby odroczony o kilka dobrych lat, a może nawet o całą dekadę. Choć dzisiaj standardem staje się IPv6, wciąż żyjemy w rzeczywistości zdominowanej przez stary, dobry protokół czwartej wersji. Gdyby na przełomie lat 70. i 80. XX wieku, kiedy fundamenty Internetu dopiero krzepły, podjęto inne decyzje dotyczące tzw. „zarezerwowanych” zakresów, dzisiejsza sieć mogłaby wyglądać nieco inaczej. Mowa o sieci 0 (0.0.0.0/8) oraz mitycznej Klasie E (240.0.0.0/4), które od dziesięcioleci leżą niemal odłogiem.
W architekturze IPv4 nie wszystkie adresy są równe. Kiedy inżynierowie z IETF (Internet Engineering Task Force) projektowali protokół, wydawało im się, że 4,3 miliarda adresów to liczba wręcz nieskończona. Dlatego z lekką ręką odkładali całe bloki „na później” lub do celów specjalnych.
Zakres 0.0.0.0/8 (czyli od 0.0.0.1 do 0.255.255.255) został zarezerwowany jako „ten host w tej sieci”. W praktyce używa się go głównie podczas startu systemu, gdy urządzenie nie ma jeszcze swojego adresu i pyta serwer DHCP o nadanie IP. Z kolei zakres 240.0.0.0/4 (od 240.0.0.0 do 255.255.255.254), znany jako Klasa E, został oznaczony jako „zarezerwowany do przyszłych zastosowań”. Problem w tym, że ta przyszłość nigdy nie nadeszła w taki sposób, jak planowano.
Sprawdźmy, o jakiej skali w ogóle mówimy. Ile adresów zyskalibyśmy, gdyby te dwa bloki trafiły do puli publicznej?
Sieć 0 (0.0.0.0/8): Jest to blok typu /8. W systemie IPv4 blok /8 zawiera ~$2^{32-8} = 2^{24}~#$ adresów.
~$2^{24} = 16\,777\,216~#$ adresów.
Klasa E (240.0.0.0/4): Jest to blok typu /4. Zawiera on ~$2^{32-4} = 2^{28}~#$ adresów.
~$2^{28} = 268\,435\,456~#$ adresów.
Suma dodatkowych adresów:
~$16\,777\,216 + 268\,435\,456 = 285\,212\,672~#$
Wynik to ponad 285 milionów adresów IP. Dla porównania, to więcej niż cała pula adresów przypisana dla takich krajów jak Chiny czy Indie w pewnych etapach rozwoju sieci. To około 6,6% całej teoretycznej przestrzeni IPv4.
Gdyby decyzję o upublicznieniu tych zakresów podjęto na samym początku, czyli przed oficjalnym wdrożeniem TCP/IP w 1983 roku, dzisiaj nie byłoby z tym żadnego problemu. Programiści piszący pierwsze stosy sieciowe dla systemów Unix czy wczesnych wersji Windowsa po prostu uznaliby te adresy za „normalne”.
W takim scenariuszu:
Można zapytać: skoro to aż 285 milionów adresów, to dlaczego nie „odblokowano” ich w latach 90. lub po roku 2000? Tutaj pojawia się problem tzw. hardcodowania.
Przez dekady programiści na całym świecie wpisywali w kod systemów operacyjnych, routerów i firewalli proste reguły: „jeśli adres zaczyna się od 240 lub 0, odrzuć pakiet”. To zachowanie jest zaszyte w miliardach urządzeń – od starych routerów w szafach serwerowych po oprogramowanie w pralkach i lodówkach.
Gdybyśmy nagle zaczęli używać Klasy E w publicznym Internecie, miliony urządzeń uznałyby te pakiety za błędne lub niebezpieczne i po prostu by je ignorowały. To stworzyłoby „Internet dwóch prędkości”, gdzie nowsze systemy widziałyby te adresy, a starsze byłyby na nie całkowicie ślepe.
Warto wiedzieć, że nowoczesne jądra Linuxa od lat mają zaimplementowane poprawki, które pozwalają na używanie Klasy E jako normalnych adresów (tzw. unicast). Jednak dopóki giganci tacy jak Microsoft (Windows) czy producenci sprzętu sieciowego (Cisco, Juniper) nie zrobią tego samego na masową skalę i w starych wersjach softu, te adresy pozostaną „martwą strefą”.
Krótka odpowiedź brzmi: nie. Choć 285 milionów adresów brzmi imponująco, w skali globalnej to wciąż kropla w morzu potrzeb. Przy miliardach smartfonów, czujników IoT i serwerów, te dodatkowe miliony zostałyby „połknięte” w ciągu kilku lat.
Zmiana przeznaczenia tych zakresów na przełomie lat 70. i 80. byłaby genialnym posunięciem z perspektywy czasu, ale wtedy nikt nie przypuszczał, że lodówka będzie potrzebowała własnego IP. Dzisiaj te zarezerwowane bloki są raczej pomnikiem pionierskich czasów Internetu – przypominają nam o tym, jak trudno jest przewidzieć skalę technologii, która zmienia świat.