Jakie masz pytanie?

lub

Czy tunelowanie IPv6-IPv4 odbywa się wyłącznie przy użyciu adresów, które w szóstej grupie zawierają ffff, a w siódmej i ośmej zapis adresu IPv4 w formacie ::ffff:x.x.x.x (gdzie x to liczby z zakresu od 0 do 255)?

mechanizmy tunelowania IPv6 adresy IPv4 mapped IPv6 protokoły tunelowania sieciowego
avatar

Gość (83.4.*.*)



Odpowiedź:

Temat tunelowania IPv6 w sieciach IPv4 to jedno z tych zagadnień, które na pierwszy rzut oka wydają się skomplikowane przez gąszcz różnych formatów adresów. Odpowiadając bezpośrednio na Twoje pytanie: nie, tunelowanie IPv6-IPv4 nie odbywa się wyłącznie przy użyciu adresów w formacie ::ffff:x.x.x.x. W rzeczywistości ten konkretny zapis, o który pytasz, służy do czegoś zupełnie innego, a prawdziwe mechanizmy tunelowania korzystają z zupełnie innych struktur.

Czym właściwie jest adres ::ffff:x.x.x.x?

Adresy, które w szóstej grupie (segmenty są liczone od zera, więc technicznie mowa o segmentach od 0 do 5 wypełnionych zerami, a szóstym jako ffff) zawierają ffff, to tak zwane adresy IPv4-mapped IPv6.

Ich rola jest specyficzna: nie służą one do przesyłania pakietów przez tunele w Internecie, ale do komunikacji wewnątrz stosu sieciowego systemu operacyjnego. Pozwalają one aplikacjom napisanym pod IPv6 na "rozmawianie" z urządzeniami, które obsługują tylko IPv4. Gdy system widzi taki adres, wie, że musi wysłać standardowy pakiet IPv4. Jest to mechanizm ułatwiający programistom życie, a nie technologia tunelowania sensu stricto.

Prawdziwe mechanizmy tunelowania

Jeśli chcemy przesłać ruch IPv6 przez infrastrukturę, która rozumie tylko IPv4 (czyli właśnie tunelowanie), stosujemy inne metody. Każda z nich ma swój własny sposób zapisu adresu. Oto najpopularniejsze z nich:

1. Mechanizm 6to4

To jedna z najstarszych metod automatycznego tunelowania. W tym przypadku adresy IPv6 zawsze zaczynają się od prefiksu 2002::/16. Kolejne 32 bity (czyli druga i trzecia grupa adresu) to zapisany w systemie szesnastkowym publiczny adres IPv4 routera brzegowego.

  • Przykład: Jeśli Twój adres IPv4 to 192.0.2.1, Twój prefiks 6to4 będzie wyglądał jak 2002:c000:0201::/48.

2. Teredo

Teredo to technologia stworzona przez Microsoft, która pozwala na tunelowanie IPv6 nawet wtedy, gdy znajdujesz się za NAT-em (czyli masz prywatny adres IP). Adresy Teredo zaczynają się od prefiksu 2001:0::/32. Reszta adresu zawiera zakodowane informacje o serwerze Teredo, porcie UDP i publicznym adresie IPv4 klienta.

3. ISATAP (Intra-Site Automatic Tunnel Addressing Protocol)

Ten protokół jest używany głównie wewnątrz sieci korporacyjnych. Tutaj adres IPv4 jest "ukryty" w ostatnich 64 bitach adresu IPv6 (identyfikatorze interfejsu). Przyjmuje on formę ::0:5efe:x.x.x.x lub ::5efe:x.x.x.x. Jak widzisz, pojawia się tu podobieństwo do Twojego przykładu, ale zamiast ffff mamy 5efe.

4. Adresy IPv4-compatible (już wycofane)

Warto wspomnieć o formacie ::x.x.x.x (same zera przed adresem IPv4). Były to tzw. adresy IPv4-kompatybilne, które miały służyć do automatycznego tunelowania, ale technologia ta została uznana za przestarzałą i obecnie się jej nie stosuje.

Dlaczego to rozróżnienie jest ważne?

Mylenie adresów IPv4-mapped (::ffff:x.x.x.x) z mechanizmami tunelowania to częsty błąd, wynikający z podobieństwa wizualnego. Kluczowa różnica polega na tym, gdzie odbywa się proces "tłumaczenia":

  • IPv4-mapped: To tylko reprezentacja w pamięci komputera/aplikacji. Na kablu (w sieci) taki pakiet zawsze staje się zwykłym pakietem IPv4.
  • Tunelowanie (np. 6to4, Teredo): To faktyczne pakowanie całego pakietu IPv6 do środka pakietu IPv4 (enkapsulacja), aby mógł on przelecieć przez sieć IPv4 i zostać "rozpakowany" po drugiej stronie.

Ciekawostka: Jak odczytać adres IPv4 z formatu szesnastkowego?

Jeśli spotkasz adres tunelu 6to4, np. 2002:4b1e:2105::, możesz łatwo sprawdzić, jaki adres IPv4 się w nim kryje. Wystarczy zamienić pary szesnastkowe na system dziesiętny:

  • 4b (hex) = 75 (dec)
  • 1e (hex) = 30 (dec)
  • 21 (hex) = 33 (dec)
  • 05 (hex) = 5 (dec)
    Zatem ukryty adres IPv4 to 75.30.33.5.

Podsumowując, format ::ffff:x.x.x.x jest tylko jednym z wielu sposobów łączenia światów IPv4 i IPv6 i choć wygląda na tunelowanie, służy głównie do wewnętrznej komunikacji systemowej w architekturze dual-stack. Prawdziwe tunelowanie korzysta z dedykowanych prefiksów, takich jak 2002:: czy 2001:0::.

Podziel się z innymi: