Tunelowanie IPv6

Tunelowanie ruchu IPv6 przez sieci IPv4 i na odwrót.

Główne Wyzwanie: Łączenie Wysp IPv6 przez Ocean IPv4

W naszej dyskusji o strategiach przejścia z IPv4 na IPv6 poznaliśmy podejście Dual Stack, w którym urządzenia i sieci są „dwujęzyczne”, uruchamiając oba protokoły jednocześnie. Jest to idealny scenariusz współistnienia. Wymaga on jednak, aby cała ścieżka od początku do końca obsługiwała oba protokoły.

Ale co się dzieje, gdy tak nie jest? Wyobraź sobie organizację, która w pełni zmodernizowała swoje sieci lokalne w biurach w Warszawie i Krakowie do standardu IPv6. Te dwa biura to „wyspy” natywne dla IPv6. Problem polega na tym, że rozległy szkielet internetowy łączący je może być wciąż w dużej mierze oparty wyłącznie na IPv4 – jest to „ocean IPv4”. Pakiety IPv6 z biura w Warszawie po prostu nie mogą podróżować przez tę infrastrukturę wyłącznie IPv4, aby dotrzeć do Krakowa.

W tym miejscu wkracza tunelowanie. Jest to sprytne rozwiązanie zaprojektowane do transportowania pakietów jednego protokołu przez sieć, która rozumie tylko inny protokół.

Analogia: Musisz wysłać paczkę z biura na Hawajach do innego biura na Alasce. Twoja paczka jest poprawnie zaadresowana do celu na Alasce. Jednak jedyny dostępny transport między wyspami a kontynentem to statek towarowy, który akceptuje tylko paczki z adresami na kontynentalne Stany Zjednoczone. Aby rozwiązać ten problem, umieszczasz paczkę adresowaną na Alaskę wewnątrz większego, wodoodpornego kontenera. Na zewnętrznej stronie tego kontenera piszesz adres specjalnego portu w Warszawie. Statek towarowy widzi warszawski adres i z radością transportuje kontener przez ocean. Gdy dotrze on do Warszawy, pracownicy portu otwierają kontener, wyjmują Twoją oryginalną paczkę i przekazują ją lokalnej poczcie, która rozumie polskie adresy, aby dokończyła ostatni etap podróży.

Czym Jest Tunelowanie? Mechanizm Enkapsulacji

W swej istocie, to proces enkapsulacji. Oznacza to wzięcie całego pakietu jednego typu (np. IPv6) i zapakowanie go w ładunek innego pakietu (np. IPv4).

  • Oryginalny pakiet (np. IPv6) nazywany jest protokołem pasażerskim.
  • Protokół sieci, przez którą jest transportowany (np. IPv4), to protokół nośny.

Router na krawędzi pierwszej wyspy IPv6 działa jako punkt wejściowy tunelu (ingress). Router na krawędzi docelowej wyspy IPv6 jest punktem wyjściowym tunelu (egress). Logiczna ścieżka między tymi dwoma punktami przez sieć IPv4 to „tunel”.

Proces Tunelowania Krok po Kroku

Śledźmy pojedynczy pakiet IPv6 w jego podróży z klienta w biurze w Warszawie do serwera w biurze w Krakowie przez szkielet internetowy działający wyłącznie na IPv4.

  1. Krok 1: Utworzenie Oryginalnego Pakietu IPv6.

    Komputer klienta w Warszawie (2001:db8:a::100) tworzy standardowy pakiet IPv6 przeznaczony dla serwera w Krakowie (2001:db8:b::200). Pakiet podróżuje przez lokalną sieć IPv6 w Warszawie.

  2. Krok 2: Enkapsulacja przy Wejściu do Tunelu.

    Pakiet dociera do routera brzegowego biura w Warszawie. Router ten jest punktem wejściowym tunelu. Rozpoznaje, że cel znajduje się w innej sieci IPv6, do której trzeba dotrzeć przez internet IPv4. Router wykonuje enkapsulację:

    • Bierze cały pakiet IPv6 (nagłówek i ładunek) i traktuje go jako jeden blok danych.
    • Tworzy całkowicie nowy nagłówek IPv4. Adres źródłowy w tym nowym nagłówku to publiczny adres IPv4 routera warszawskiego, a adres docelowy to publiczny adres IPv4 routera krakowskiego.
    • Umieszcza pakiet IPv6 wewnątrz ładunku tego nowego pakietu IPv4.
  3. Krok 3: Tranzyt przez Ocean IPv4.

    Nowo utworzony pakiet IPv4 jest wysyłany do internetu. Routery w szkielecie IPv4 widzą standardowy pakiet IPv4 i przekazują go normalnie. Są całkowicie nieświadome, że ich „ładunek” to w rzeczywistości inny, w pełni uformowany pakiet IPv6. Oryginalny pakiet IPv6 jest ukryty, bezpieczny w swoim „kontenerze transportowym” IPv4.

  4. Krok 4: Dekapsulacja przy Wyjściu z Tunelu.

    Pakiet IPv4 dociera do routera brzegowego biura w Krakowie, punktu wyjściowego tunelu.

    • Router rozpoznaje, że ten pakiet IPv4 to tunelowany pakiet zaadresowany do niego.
    • Wykonuje dekapsulację: odrywa nagłówek IPv4, odrzucając go.
    • To ujawnia oryginalny, nietknięty pakiet IPv6 w środku.
  5. Krok 5: Ostateczne Dostarczenie.

    Router w Krakowie ma teraz oryginalny pakiet IPv6. Sprawdza docelowy adres IPv6 (2001:db8:b::200), widzi, że jest on w jego lokalnej sieci IPv6, i przekazuje go do właściwego serwera. Komunikacja została zakończona.

Powszechne Mechanizmy Tunelowania

Chociaż zasada enkapsulacji jest taka sama, opracowano kilka metod tworzenia i zarządzania tymi tunelami.

Tunele Manualne (Statyczne)

To najprostsza forma. Administrator sieci jawnie konfiguruje stały, punkt-punktowy tunel między dwoma routerami. Administrator musi ręcznie wprowadzić adresy IPv4 punktów początkowego i końcowego tunelu na obu routerach.
Najlepsze dla: Stabilnych, stałych połączeń między określonymi lokalizacjami korporacyjnymi lub do łączenia się z dostawcą tuneli IPv6. Nie jest skalowalne dla dużych, dynamicznych sieci.

Tunele Automatyczne

Te techniki automatyzują proces tworzenia tuneli, czyniąc je bardziej skalowalnymi.

  • Tunelowanie 6to4: Automatyczny mechanizm, w którym adres IPv4 punktu końcowego tunelu jest osadzony w samym adresie IPv6. Specjalny prefiks IPv6, 2002::/16, jest do tego zarezerwowany. 32 bity następujące po tym prefiksie to po prostu szesnastkowa reprezentacja publicznego adresu IPv4 punktu końcowego. Gdy router widzi pakiet przeznaczony na adres `2002::/16`, może automatycznie wyodrębnić docelowy adres IPv4 i utworzyć tunel. Chociaż sprytne, jego zależność od publicznych adresów IPv4 i publicznych przekaźników sprawiła, że stał się mniej powszechny.

    Przykład 6to4:

    Router brzegowy ma publiczny adres IPv4 83.25.10.20.
    1. Konwertuj adres IPv4 na szesnastkowy: 53.19.0A.14.
    2. Połącz je: 5319:0A14.
    3. Prefiks 6to4 dla tej lokalizacji to 2002:5319:0A14::/48.

  • Tunelowanie Teredo: Bardziej złożona technologia tunelowania "ostatniej szansy". Jej głównym celem jest umożliwienie łączności IPv6 urządzeniom, które są uwięzione za urządzeniem IPv4, które zazwyczaj blokuje inne protokoły tunelowania. Enkapsuluje pakiety IPv6 w datagramach UDP/IPv4, które mogą przechodzić przez większość urządzeń NAT.
    Analogia: Jeśli standardowa poczta jest blokowana przez ścisłą ochronę budynku, Teredo jest jak specjalna firma kurierska, która ukrywa list w pudełku po pizzy (UDP), aby ominąć recepcję.
  • ISATAP (Intra-Site Automatic Tunnel Addressing Protocol): Zaprojektowany do użytku wewnątrz sieci organizacji. Pozwala hostom z obsługą IPv6 rozproszonym po wewnętrznej, korporacyjnej sieci IPv4 na automatyczne tworzenie tuneli do routera ISATAP, skutecznie tworząc wewnętrzną wirtualną sieć IPv6 na istniejącej infrastrukturze IPv4.

Ocena Tunelowania: Zalety i Wady

Zalety Tunelowania

  • Umożliwia Łączność: Jego głównym celem jest zapewnienie kluczowego połączenia dla ruchu IPv6 przez sieci, które go nie obsługują, zapobiegając fragmentaryzacji internetu na odłączone strefy IPv4 i IPv6.
  • Ułatwia Stopniową Migrację: Pozwala firmom i dostawcom internetu na wdrażanie IPv6 w swoich sieciach wewnętrznych lub na ich krawędziach bez konieczności czekania na modernizację swoich dostawców nadrzędnych lub całego szkieletu internetu.
  • Różnorodność Protokołów: Może być również używane do tunelowania innych protokołów, nie tylko IPv6 przez IPv4.

Wady i Wyzwania

  • Narzut Wydajnościowy: Każdy tunelowany pakiet niesie dodatkowy nagłówek IPv4 (co najmniej 20 bajtów). Ten narzut enkapsulacji zużywa dodatkową przepustowość i może nieznacznie zmniejszyć efektywną przepustowość.
  • Zwiększone Opóźnienie: Procesy enkapsulacji i dekapsulacji na końcach tunelu wymagają cykli procesora, co dodaje niewielkie opóźnienie (latencję) do komunikacji.
  • Problemy z MTU: Dodany nagłówek IPv4 zwiększa całkowity rozmiar pakietu. Może to spowodować, że opakowany pakiet przekroczy MTU łącza w sieci IPv4, zmuszając do fragmentacji pakietu IPv4. Sfragmentowane pakiety tunelowane mogą być wysoce nieefektywne i są czasami blokowane przez urządzenia bezpieczeństwa.
  • Problemy z Przechodzeniem przez NAT: Jak wspomniano, wiele protokołów tunelowania jest niekompatybilnych z Translacją Adresów Sieciowych (NAT), technologią wszechobecną w sieciach domowych i firmowych. To znacznie komplikuje wdrożenie.
  • Obawy Dotyczące Bezpieczeństwa: Tunelowanie może stanowić ślepy punkt dla bezpieczeństwa. Może być używane do omijania zapór sieciowych lub polityk bezpieczeństwa, które nie są skonfigurowane do inspekcji „protokołu pasażerskiego” wewnątrz tunelu.
    Tunelowanie IPv6 | Teleinf Edu