Jakie masz pytanie?

lub

Jak na podstawie samego adresu IPv6 rozpoznać, czy jest w nim zawarty adres IPv4?

rozpoznawanie adresów IPv4 w IPv6 struktura adresów IPv6 konwersja adresów sieciowych
avatar

Gość (83.4.*.*)



Odpowiedź:

Świat technologii sieciowych bywa skomplikowany, zwłaszcza gdy mowa o przejściu ze starego standardu IPv4 na nowszy IPv6. Choć te dwa protokoły różnią się od siebie diametralnie długością zapisu i strukturą, projektanci przewidzieli mechanizmy, które pozwalają im ze sobą współpracować. Dzięki temu w strukturze 128-bitowego adresu IPv6 często można znaleźć ukryty 32-bitowy adres IPv4. Rozpoznanie go wymaga jedynie znajomości kilku charakterystycznych wzorców i prefiksów.

Adresy IPv4-mapped – najpopularniejszy format

Najprostszym sposobem na dostrzeżenie adresu IPv4 wewnątrz IPv6 jest szukanie tzw. adresów mapowanych (IPv4-mapped IPv6 addresses). Są one używane przez urządzenia obsługujące oba stosy protokołów (dual-stack), aby reprezentować adres IPv4 w formacie IPv6.

Taki adres zawsze zaczyna się od ciągu zer, po których następuje szesnastkowy zapis ffff. Wygląda to następująco:
::ffff:192.168.1.1

W tym przypadku sprawa jest ułatwiona, ponieważ systemy operacyjne często wyświetlają końcówkę w tradycyjnym formacie kropkowym. Jeśli jednak zobaczysz zapis czysto szesnastkowy, np. ::ffff:c0a8:0101, musisz wiedzieć, że ostatnie 32 bity (czyli dwa ostatnie bloki) to zakodowany adres IPv4.

Mechanizm 6to4 i prefiks 2002

Kolejnym miejscem, gdzie "ukrywa się" stary protokół, są adresy typu 6to4. Służą one do przesyłania pakietów IPv6 przez infrastrukturę IPv4 bez konieczności konfigurowania dedykowanych tuneli. Rozpoznasz je natychmiast po prefiksie 2002::/16.

Struktura takiego adresu wygląda tak:
2002:XXXX:XXXX::/48

Gdzie XXXX:XXXX to nic innego jak publiczny adres IPv4 zapisany w systemie szesnastkowym. Jeśli widzisz adres zaczynający się od 2002, możesz mieć pewność, że kolejne dwa bloki po pierwszym dwukropku zawierają zakodowany adres IPv4.

ISATAP – adresy wewnątrz sieci lokalnych

W środowiskach korporacyjnych możesz natknąć się na adresy ISATAP (Intra-Site Automatic Tunnel Addressing Protocol). Służą one do łączenia hostów IPv6 wewnątrz sieci IPv4. Charakterystyczną cechą tych adresów jest to, że w połowie zapisu (w części identyfikatora interfejsu) pojawia się ciąg 0000:5efe.

Przykład adresu ISATAP:
fe80::5efe:c0a8:0101

W tym przypadku ostatnie 32 bity (c0a8:0101) to ponownie nasz adres IPv4. Prefiks fe80 oznacza adres typu link-local, a magiczne 5efe sygnalizuje obecność mechanizmu ISATAP.

NAT64 i prefiks Well-Known

W nowoczesnych sieciach, które są niemal w całości oparte na IPv6, stosuje się mechanizm NAT64, aby umożliwić użytkownikom dostęp do zasobów starego internetu (IPv4). Standardowo używa się do tego celu specjalnego prefiksu:
64:ff9b::/96

W takim adresie ostatnie 32 bity to bezpośrednio zmapowany adres IPv4. Jeśli widzisz adres zaczynający się od 64:ff9b::, wystarczy spojrzeć na jego końcówkę, by wiedzieć, z jakim serwerem IPv4 następuje połączenie.

Jak przeliczyć zapis szesnastkowy na IPv4? (Krok po kroku)

Jeśli adres nie jest zapisany w formie kropkowej (np. 192.168.1.1), tylko szesnastkowej (np. c0a8:0101), możesz go łatwo rozszyfrować. Każdy blok adresu IPv4 składa się z 8 bitów (oktetu), co w systemie szesnastkowym odpowiada dwóm znakom.

Przykład: Rozszyfrujmy końcówkę c0a8:0101

  1. Podziel adres na bajty: Mamy c0, a8, 01 oraz 01.
  2. Zamień każdą parę na system dziesiętny:
    • c0: (C = 12) -> $12 \times 16 + 0 = 192$
    • a8: (A = 10) -> $10 \times 16 + 8 = 168$
    • 01: $0 \times 16 + 1 = 1$
    • 01: $0 \times 16 + 1 = 1$
  3. Złóż wynik: Otrzymujemy adres 192.168.1.1.

Wynik: Adres IPv6 kończący się ciągiem c0a8:0101 zawiera w sobie adres IPv4 192.168.1.1.

Ciekawostka: Dlaczego to w ogóle istnieje?

Można by pomyśleć, że mieszanie dwóch standardów to proszenie się o kłopoty. W rzeczywistości to genialny sposób na "miękkie lądowanie". Dzięki temu, że IPv6 potrafi "nieść" w sobie informację o IPv4, routery i serwery mogą stopniowo przechodzić na nową technologię bez odcinania dostępu do starszych zasobów sieciowych. To trochę tak, jakbyśmy do nowoczesnego samochodu elektrycznego wstawili przejściówkę pozwalającą na ładowanie go z dowolnego gniazdka – daje to elastyczność w okresie przejściowym, który w przypadku internetu trwa już kilkanaście lat.

Podziel się z innymi: