Gość (83.4.*.*)
Historia adresów IPv6 to fascynująca podróż przez próby naprawienia błędów znanych z protokołu IPv4. Jednym z najbardziej kontrowersyjnych i ostatecznie porzuconych elementów tej architektury był zakres fec0::/10, znany jako adresy site-local. Choć potocznie mówi się, że zrezygnowano z nich z powodu konfliktów przy łączeniu sieci, rzeczywistość jest znacznie bardziej skomplikowana. Decyzja o ich wycofaniu (opisana w dokumencie RFC 3879) była podyktowana szeregiem problemów architektonicznych, które sprawiały, że zarządzanie siecią stawało się koszmarem.
W pierwotnych założeniach adresy z zakresu fec0::/10 miały być odpowiednikiem prywatnych adresów IPv4 (takich jak popularne 192.168.x.x). Ich zadaniem było umożliwienie komunikacji wewnątrz zamkniętej struktury – na przykład w biurze czy korporacji – bez konieczności posiadania globalnego prefiksu od dostawcy internetu. Miało to zapewniać bezpieczeństwo i niezależność. Szybko jednak okazało się, że to, co sprawdzało się w starym protokole, w świecie IPv6 generuje więcej pytań niż odpowiedzi.
Głównym powodem wycofania tego zakresu nie był sam konflikt adresów, ale brak jasnej definicji tego, czym właściwie jest "site" (miejsce/lokalizacja). W protokole IPv6 granice sieci są płynne. Inżynierowie zadawali sobie pytania: czy dwa biura połączone tunelem VPN to jedno "miejsce", czy dwa? Czy jeśli pracownik łączy się z domu do firmy, to jego komputer należy do sieci domowej, czy firmowej?
Brak sztywnych granic powodował, że routery miały ogromny problem z podjęciem decyzji, dokąd wysłać pakiet. Adresy fec0::/10 były niejednoznaczne – ten sam adres mógł istnieć w tysiącach różnych firm na całym świecie, a router musiał wiedzieć, że nie może go wypuścić do publicznego internetu, jednocześnie radząc sobie z ruchem wewnętrznym, który często był wielopoziomowy.
Kolejnym krytycznym argumentem była kwestia "wyciekania" adresów. W idealnym świecie adresy site-local nigdy nie powinny opuścić sieci lokalnej. W praktyce jednak aplikacje i serwery DNS często przesyłały te adresy dalej. Prowadziło to do sytuacji, w których publiczne serwery DNS były zaśmiecane rekordami wskazującymi na adresy fec0::, które dla kogoś z zewnątrz były całkowicie bezużyteczne. Rozwiązywanie nazw stawało się powolne i pełne błędów, ponieważ systemy próbowały łączyć się z lokalnymi adresami, które u nich nie istniały lub prowadziły do zupełnie innych zasobów.
Oczywiście, wspomniany przez Ciebie konflikt adresów był bardzo istotnym czynnikiem. Gdy dwie firmy korzystające z tego samego zakresu fec0::/10 decydowały się na fuzję lub połączenie sieci, dochodziło do paraliżu. Ponieważ każdy używał tych samych prefiksów, nie dało się łatwo połączyć zasobów bez całkowitej rekonfiguracji jednej ze stron.
Jednak to nie wszystko. Adresy site-local utrudniały również tzw. multi-homing, czyli sytuację, w której jedna sieć jest podłączona do kilku dostawców internetu. Obsługa wielu prefiksów (globalnych i lokalnych) na jednym interfejsie sieciowym sprawiała, że algorytmy wyboru adresu źródłowego stawały się niezwykle złożone i podatne na błędy.
Zamiast naprawiać wadliwy system, organizacja IETF zdecydowała się na radykalny krok: całkowite wycofanie adresów site-local i zastąpienie ich standardem ULA (Unique Local Addresses), czyli zakresem fc00::/7 (w praktyce używa się głównie fd00::/8).
Kluczowe różnice, które rozwiązały problemy poprzednika:
Mimo że zakres ten został oficjalnie uznany za przestarzały (deprecated) w 2004 roku, wciąż można go czasem znaleźć w bardzo starych podręcznikach do sieci lub w konfiguracjach systemów, które nie były aktualizowane od blisko dwóch dekad. Niektóre stare implementacje systemów operacyjnych (np. wczesne wersje Windows XP z obsługą IPv6) domyślnie wspierały ten zakres. Dzisiaj jednak użycie fec0:: jest uznawane za błąd w sztuce i może prowadzić do nieprzewidywalnych problemów z łącznością w nowoczesnych środowiskach.