IP

Tunelowanie IPv6

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

Tunelowanie IPv6 przez sieci IPv4

Dual Stack uruchamia IPv4 i IPv6 na tych samych urządzeniach. W tym wariancie cała ścieżka między źródłem i celem musi obsługiwać oba protokoły. Host może wybrać protokół na podstawie adresu docelowego i konfiguracji, a routery przekazują pakiet w wybranej rodzinie adresów.

Warunek działania: Gdy lokalne sieci IPv6 łączą się przez szkielet działający wyłącznie w IPv4, pakiet IPv6 nie może być przekazywany przez router IPv4 jako zwykły pakiet. Przykładowo, biura w Warszawie i Krakowie mogą mieć natywne sieci IPv6, podczas gdy łącząca je część sieci operatora obsługuje tylko IPv4. Węzeł wejściowy i wyjściowy muszą mieć dostęp do obu rodzin protokołów, lecz routery znajdujące się pomiędzy nimi przetwarzają wyłącznie nagłówek IPv4.

Tunelowanie umieszcza oryginalny pakiet w pakiecie protokołu obsługiwanego przez sieć pośrednią. Routery IPv4 przekazują zewnętrzny pakiet, a urządzenie końcowe tunelu usuwa zewnętrzny nagłówek. W tunelu IPv6 over IPv4 zewnętrzny nagłówek wskazuje adresy punktów końcowych, a wewnętrzny zachowuje adresy źródła i celu IPv6.

Przykład pakietu: Router wejściowy otrzymuje pakiet IPv6 do sieci Krakowa, dodaje nagłówek IPv4 z adresami punktów tunelu, a router wyjściowy usuwa ten nagłówek i przekazuje pakiet IPv6 dalej. Samo tunelowanie nie szyfruje ładunku. Poufność wymaga osobnego mechanizmu, na przykład IPsec, skonfigurowanego dla odpowiedniej warstwy.

Tunelowanie jako enkapsulacja

oznacza enkapsulację, czyli umieszczenie całego pakietu jednego typu, na przykład IPv6, w ładunku pakietu innego typu, na przykład IPv4. Podczas dekapsulacji punkt wyjściowy odtwarza oryginalny pakiet i przekazuje go do routingu IPv6. Tunel tworzy logiczne łącze między punktami końcowymi, lecz nie zmienia sposobu adresowania hostów w pakiecie wewnętrznym.

  • 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 sieci IPv6 jest punktem wejściowym tunelu (ingress) i enkapsuluje pakiet. Router na krawędzi sieci docelowej jest punktem wyjściowym tunelu (egress) i wykonuje dekapsulację. Ścieżka między tymi punktami przez sieć IPv4 tworzy tunel. Punkty końcowe muszą uzgodnić typ tunelu, zewnętrzne adresy oraz trasy do wewnętrznych prefiksów IPv6.

Proces tunelowania

Poniższy przykład przedstawia przepływ pojedynczego pakietu IPv6 od 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. Adresy te pozostają adresami komunikacji końcowej, także po dodaniu nagłówka tunelu.

  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, czyli jego nagłówek i ładunek, i traktuje go jako dane dla protokołu nośnego.
    • Tworzy nowy nagłówek IPv4. Adres źródłowy wskazuje interfejs tunelu routera warszawskiego, a adres docelowy wskazuje interfejs tunelu routera krakowskiego. W mechanizmie 6in4 pole Protocol ma wartość 41.
    • Umieszcza pakiet IPv6 wewnątrz ładunku nowego pakietu IPv4. Dodatkowy nagłówek zmniejsza MTU dostępne dla pakietu wewnętrznego.
  3. Krok 3: Tranzyt przez sieć IPv4.

    Nowo utworzony pakiet IPv4 jest przekazywany przez sieć pośrednią. Routery tej sieci korzystają z zewnętrznego nagłówka IPv4 i nie przetwarzają wewnętrznego nagłówka IPv6. Do wyboru trasy używają adresu punktu wyjściowego tunelu, tak jak przy każdym innym pakiecie 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ę: usuwa nagłówek IPv4 i sprawdza poprawność pakietu wewnętrznego.
    • Odtwarza oryginalny pakiet IPv6, a następnie przekazuje go zgodnie z tablicą routingu IPv6.
  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.

Mechanizmy tunelowania IPv6

Mechanizmy tunelowania różnią się sposobem konfiguracji punktów końcowych i przenoszenia pakietów. Tunel może być skonfigurowany ręcznie albo utworzony automatycznie na podstawie adresów IPv4 i IPv6.

Tunele ręczne i statyczne

Administrator konfiguruje stały tunel punkt-punkt między dwoma routerami i wpisuje adresy IPv4 obu punktów końcowych. Taka konfiguracja obejmuje trasę do sieci IPv6 po obu stronach oraz parametry interfejsu tunelowego. Tunele pasują do połączeń między określonymi lokalizacjami lub do usługi tunnel brokera. Przy dużej liczbie dynamicznych punktów wymagają ręcznej aktualizacji.
Zakres zastosowania: Stabilne, stałe połączenia między wskazanymi lokalizacjami lub połączenie z brokerem tuneli IPv6. Duża liczba dynamicznych punktów wymaga automatyzacji.

Tunele automatyczne

Mechanizmy automatyczne ustalają punkty tunelu na podstawie adresów lub konfiguracji sieci. Zmniejszają liczbę ręcznie wpisywanych parametrów, lecz wymagają zgodności adresowania, routingu i filtrów na całej ścieżce.

  • Tunelowanie 6to4: Mechanizm umieszcza 32-bitowy identyfikator IPv4 punktu końcowego w prefiksie IPv6 2002::/16, tworząc prefiks witryny 2002:V4ADDR::/48. Pakiety IPv6 są przenoszone w IPv4 z numerem protokołu 41. Mechanizm wymaga globalnie routowalnego adresu IPv4, a połączenie z natywnym IPv6 wymaga routera relay. Adres IPv4 jest częścią prefiksu witryny, więc jego zmiana wymaga zmiany odpowiedniej adresacji IPv6. Zależność od tych elementów ogranicza zastosowanie 6to4.

    Przykład 6to4:

    Router brzegowy ma przykładowy adres IPv4 198.51.100.5. Ten zakres służy w przykładzie dokumentacyjnym, a wdrożenie 6to4 wymaga globalnie routowalnego adresu IPv4.
    1. Konwertuj adres IPv4 na zapis szesnastkowy: C6.33.64.05.
    2. Połącz oktety: C633:6405.
    3. Prefiks 6to4 dla tej lokalizacji to 2002:C633:6405::/48.

  • Tunelowanie Teredo: Mechanizm przeznaczony dla hostów IPv6 działających za urządzeniem NAT. Enkapsuluje pakiety IPv6 w datagramach UDP/IPv4 i korzysta z serwerów oraz relayów Teredo. Serwer pomaga klientowi uzyskać adres i rozpocząć komunikację, a relay przekazuje ruch między Teredo i natywnym IPv6. UDP ułatwia przejście przez część urządzeń NAT, lecz nie gwarantuje go dla każdego typu NAT.
    Warunek przejścia: Skuteczność zależy od rodzaju translacji, reguł filtrowania i dostępności serwera lub relaya.
  • ISATAP (Intra-Site Automatic Tunnel Addressing Protocol): Mechanizm przeznaczony do użytku wewnątrz organizacji. Łączy węzły dual-stack przez sieć IPv4, traktując ją jako łącze dla IPv6 i tworząc tunele do routera ISATAP. Identyfikator interfejsu ISATAP może zawierać adres IPv4 w postaci używanej do wyznaczenia sąsiada.

Tunelowanie: zalety i ograniczenia

Zalety Tunelowania

  • Zapewnia łączność: Przenosi ruch IPv6 przez sieć IPv4, gdy brakuje natywnej trasy. Routery pośrednie mogą działać bez obsługi routingu IPv6.
  • Wspiera migrację etapową: Pozwala wdrażać IPv6 w sieciach wewnętrznych lub na ich brzegach przed modernizacją całej sieci operatora. Tunel pozostaje rozwiązaniem przejściowym, zależnym od dostępności IPv4.
  • Obsługuje różne protokoły: Ta sama technika może przenosić inne protokoły w ładunku protokołu nośnego, jeśli punkty końcowe rozumieją oba formaty.

Wady i Wyzwania

  • Narzut nagłówka: Każdy pakiet tunelowany przez IPv4 otrzymuje nagłówek o rozmiarze co najmniej 20 bajtów. Zmniejsza to dostępną przepustowość i efektywne MTU.
  • Praca punktów końcowych: Enkapsulacja i dekapsulacja wymagają dodatkowego przetwarzania na końcach tunelu. Urządzenia muszą także utrzymywać trasy i stan interfejsu tunelowego.
  • Ograniczenia MTU: Pakiet zewnętrzny może przekroczyć MTU łącza IPv4. Router może go fragmentować, odrzucić przy ustawionym zakazie fragmentacji albo wymagać mniejszego MTU tunelu.
  • Przejście przez NAT: Tunele używające protokołu IPv4 41 mogą być blokowane przez NAT. Teredo używa UDP, lecz jego działanie zależy od typu urządzenia NAT.
  • Kontrola bezpieczeństwa: Tunelowanie samo nie szyfruje danych. Zapora musi rozpoznawać i kontrolować protokół pasażerski, jeśli ma filtrować jego zawartość. Filtr sprawdzający wyłącznie zewnętrzny nagłówek może pominąć reguły dotyczące pakietu wewnętrznego.

Powiązane artykuły