Internet z podwójnym stosem: IPv4 i IPv6
Internet obsługuje obecnie dwie rodziny protokołu IP. IPv4 i IPv6 mają odrębne formaty nagłówków, przestrzenie adresowe i mechanizmy konfiguracji. Host działający wyłącznie z IPv4 nie komunikuje się bezpośrednio z hostem działającym wyłącznie z IPv6 bez mechanizmu translacji albo innego rozwiązania przejściowego.
Jedną ze strategii przejścia jest podwójny stos (Dual Stack), czyli równoległe uruchomienie pełnych stosów IPv4 i IPv6. Oba protokoły mogą wtedy korzystać z tej samej infrastruktury fizycznej, a administrator może wdrażać IPv6 etapami.
W tej konfiguracji ten sam host ma ustawienia IPv4 i IPv6, a aplikacja może wybrać rodzinę adresów zależnie od wyników DNS, polityki wyboru adresów i dostępności trasy. Połączenie wykorzystuje natywny protokół wybranej rodziny.
oznaczają konfigurację, w której serwery, routery i urządzenia końcowe mogą obsługiwać IPv4 oraz IPv6 jednocześnie. Komunikacja z hostem IPv4 odbywa się przez IPv4, a komunikacja z hostem IPv6 przez IPv6. Podwójny stos zakłada kompletne implementacje obu protokołów, czyli więcej niż samą obecność dwóch adresów. Każdy stos utrzymuje własny stan połączeń, obsługę błędów i reguły przekazywania. Obejmuje to także obsługę odpowiednich komunikatów kontrolnych po obu stronach połączenia oraz niezależne trasy dla rodzin.
Jak Działa Urządzenie z Podwójnym Stosem: Perspektywa Hosta
Urządzenie końcowe z podwójnym stosem, takie jak laptop, ma dwa kompletne i niezależne zestawy konfiguracji sieciowych działające równolegle. Każdy stos ma własne adresy, trasy i reguły wyboru interfejsu. Błąd konfiguracji jednego stosu nie musi oznaczać błędu drugiego, lecz może zmienić wybór ścieżki.
Dwa Adresy, Dwie Bramy
Interfejs sieciowy urządzenia z podwójnym stosem (np. karta Wi-Fi lub Ethernet) będzie miał przypisane co najmniej dwa odrębne adresy IP:
- Adres IPv4, maskę i bramę domyślną (np.
192.168.1.100). - Adres IPv6, długość prefiksu i bramę domyślną (np.
2001:db8:acad:1::100).
Adresy te mogą być konfigurowane ręcznie albo przypisywane automatycznie przez DHCP dla IPv4 oraz DHCPv6 lub SLAAC dla IPv6. IPv6 może mieć równocześnie adres link-local i adres globalny, więc lista adresów interfejsu nie musi kończyć się na jednym wpisie. Urządzenie utrzymuje osobne tablice routingu i komunikuje się za pośrednictwem odrębnego dla każdej wersji.
Wybór protokołu: rola DNS
Gdy użytkownik wpisuje www.example.com w przeglądarce, wybór rodziny adresów korzysta z Systemu Nazw Domenowych (DNS) oraz polityki systemu operacyjnego. Obecność rekordu A lub AAAA nie gwarantuje jeszcze działającej trasy do usługi.
- Podwójne Zapytanie: Komputer z podwójnym stosem wysyła do DNS zapytania o
www.example.com. Może pobrać oba typy rekordów adresowych: rekord A dla IPv4 i rekord AAAA dla IPv6. - Odpowiedź DNS: Serwer DNS wyszukuje nazwę.
- Jeżeli nazwa wskazuje usługę tylko IPv4, DNS zwróci rekord A.
- Jeżeli usługa jest dostępna tylko przez IPv6, DNS zwróci rekord AAAA.
- W demonstracyjnym środowisku oba rekordy mogą wskazywać adresy dokumentacyjne: A
192.0.2.10oraz AAAA2001:db8:1::10.
- Wybór adresu: System otrzymuje oba adresy i stosuje reguły wyboru adresów. Mechanizm "Happy Eyeballs" w drugiej wersji uruchamia próby połączeń dla kandydatów z krótkim przesunięciem czasowym. IPv6 może mieć preferencję, gdy polityka i dostępność trasy na to pozwalają.
- Komunikacja: Zwycięska próba używa natywnie wybranej rodziny adresów. Jeżeli ścieżka IPv6 nie odpowiada, Happy Eyeballs pozwala kontynuować próbę IPv4, ograniczając opóźnienie wynikające z niedostępności jednej z tras. Przy samym rekordzie A połączenie od początku korzysta z IPv4. Algorytm nie tłumaczy pakietów między rodzinami, lecz wybiera jedną z dostępnych natywnych prób połączenia.
Jak Działa Sieć z Podwójnym Stosem: Perspektywa Infrastruktury
Aby hosty z podwójnym stosem mogły korzystać z obu rodzin, odpowiednie elementy infrastruktury muszą obsługiwać IPv4 i IPv6. Nie każdy element warstwy 2 musi analizować oba protokoły, lecz routery i usługi filtrujące na ścieżce potrzebują konfiguracji dla używanej rodziny. Wymagane są również działające usługi DNS, automatyczna konfiguracja oraz reguły zapory dla obu typów ruchu.
Warstwa 1: Warstwa Fizyczna
Infrastruktura fizyczna (kable Ethernet, światłowody, fale radiowe dla Wi-Fi) przenosi sygnały niezależnie od wersji IP. Te same przewody i kanały radiowe mogą przenosić ramki zawierające pakiety IPv4 oraz IPv6.
Warstwa 2: Warstwa Łącza Danych
Standardowe urządzenia warstwy 2, takie jak przełączniki Ethernet, korzystają głównie z adresów MAC i typu EtherType do przekazywania ramek w segmencie. Mogą przenosić ramki IPv4 i IPv6 przez tę samą sieć, choć filtry i funkcje kontroli dostępu mogą rozróżniać obie rodziny.
Warstwa 3: Rola routera z podwójnym stosem
Router z podwójnym stosem uruchamia niezależne mechanizmy przekazywania dla IPv4 i IPv6 na tym samym sprzęcie. Każda rodzina korzysta z własnych tras, sąsiadów i reguł filtrowania.
- Podwójne Interfejsy IP: Każdy interfejs routera, który uczestniczy w sieci dual-stack, jest skonfigurowany zarówno z adresem IPv4, jak i adresem IPv6.
- Podwójne Tablice Routingu: Router utrzymuje dwie całkowicie oddzielne tablice routingu. Jedna tabela zawiera tylko trasy IPv4, nauczone z protokołów routingu IPv4. Druga zawiera tylko trasy IPv6, nauczone z protokołów routingu IPv6.
- Podwójne Protokoły Routingu: Router musi uruchamiać protokoły routingu dla obu rodzin adresów. Na przykład, może uruchamiać OSPFv2 do wymiany tras IPv4 ze swoimi sąsiadami, a jednocześnie OSPFv3 do wymiany tras IPv6.
Gdy router z podwójnym stosem otrzymuje pakiet, odczytuje pole Wersja w nagłówku. Dla wartości '4' używa stosu i tablicy routingu IPv4, a dla wartości '6' stosu i tablicy IPv6. Oba mechanizmy działają niezależnie na tej samej infrastrukturze fizycznej, a brak trasy w jednej tablicy nie tworzy automatycznie trasy w drugiej. Protokoły routingu, trasy domyślne i stan zapory trzeba więc sprawdzać oddzielnie dla IPv4 i IPv6.
Bilans strategii podwójnego stosu
Podwójny stos ułatwia stopniowe wdrażanie IPv6, ponieważ pozwala utrzymać obsługę IPv4. Wymaga jednak równoległej konfiguracji, monitorowania i ochrony obu rodzin protokołów.
Zalety Podwójnego Stosu
- Natywna komunikacja i kompatybilność: Połączenie z hostem tej samej rodziny może przebiegać bez translacji adresów. Dual stack umożliwia dostęp do usług IPv4 i IPv6, o ile istnieją odpowiednie trasy oraz rekordy DNS. Połączenie może nadal korzystać z tuneli lub innych mechanizmów sieciowych zależnych od operatora.
- Wybór ścieżki przez hosta: Dla aplikacji wybór adresu jest zwykle automatyczny. System operacyjny i mechanizm Happy Eyeballs mogą wykorzystać dostępną rodzinę, lecz połączenie nadal zależy od bram, tras i reguł zapory.
- Kontynuowanie połączenia: Algorytm „Happy Eyeballs” może rozpocząć próbę IPv4, gdy próba IPv6 nie daje odpowiedzi. Ogranicza to wpływ niedostępnej ścieżki, jeśli usługa ma oba rekordy i obie rodziny są skonfigurowane.
Wady i Wyzwania
- Nie rozwiązuje wyczerpania IPv4: Podwójny stos utrzymuje obsługę IPv4, więc zapotrzebowanie na tę przestrzeń adresową nadal występuje. Hosty mogą używać adresów prywatnych oraz translacji NAT, dlatego nie każdy musi mieć unikalny globalny adres IPv4. Mechanizm NAT64 służy innemu scenariuszowi: pozwala klientom IPv6-only docierać do usług IPv4-only.
- Złożoność administracyjna i koszty: Uruchamianie dwóch protokołów równolegle zwiększa zakres konfiguracji. Administratorzy muszą utrzymywać:
- Dwa zestawy planów adresacji.
- Dwa zestawy protokołów routingu.
- Dwa zestawy rekordów DNS.
- Dwa zestawy polityk bezpieczeństwa i reguł zapory sieciowej.
- Większa powierzchnia kontroli bezpieczeństwa: Uruchomienie obu protokołów wymaga monitorowania zagrożeń IPv4 i IPv6. Zespoły bezpieczeństwa powinny utrzymywać reguły zapory, ochronę routerów i rejestrowanie zdarzeń dla obu rodzin, ponieważ pominięcie jednej z nich może utworzyć niezamierzoną ścieżkę dostępu.
Podwójny stos pozostaje praktycznym mechanizmem przejściowym, dopóki usługi IPv4 są powszechnie dostępne. Zapewnia użytkownikom i usługom bezpośrednią możliwość wyboru rodziny, lecz wymaga utrzymywania adresacji IPv4 oraz IPv6. Stopniowe ograniczanie IPv4 może więc prowadzić do modeli IPv6-only z translacją lub bramami dla starszych usług.