Udostępnij za pośrednictwem


Omówienie protokołu internetowego w wersji 6 (IPv6)

Protokół internetowy w wersji 6 (IPv6) to zestaw standardowych protokołów dla warstwy sieciowej Internetu. Protokół IPv6 został zaprojektowany w celu rozwiązania wielu problemów z bieżącą wersją pakietu protokołu internetowego (znanego jako IPv4) na temat wyczerpania adresów, zabezpieczeń, automatycznej konfiguracji, rozszerzalności itd. Protokół IPv6 rozszerza możliwości Internetu, aby umożliwić nowe rodzaje aplikacji, w tym aplikacje równorzędne i mobilne. Poniżej przedstawiono główne problemy z bieżącym protokołem IPv4:

  • Szybkie wyczerpanie przestrzeni adresowej.

    Doprowadziło to do użycia translatorów adresów sieciowych (NATs), które mapuje wiele prywatnych adresów na jeden publiczny adres IP. Głównymi problemami utworzonymi przez ten mechanizm są obciążenia związane z przetwarzaniem i brakiem kompleksowej łączności.

  • Brak obsługi hierarchii.

    Ze względu na jego nieodłączną z góry ustaloną strukturę klas, protokół IPv4 nie wspiera prawdziwej hierarchiczności. Nie można utworzyć struktury adresów IP w sposób, który naprawdę mapuje topologię sieci. Ta kluczowa usterka projektowa powoduje konieczność posiadania dużych tabel routingu w celu dostarczania pakietów IPv4 do dowolnej lokalizacji w Internecie.

  • Złożona konfiguracja sieci.

    W przypadku protokołu IPv4 adresy muszą być przypisywane statycznie lub przy użyciu protokołu konfiguracji, takiego jak DHCP. W idealnej sytuacji hosty nie musiałyby polegać na administrowaniu infrastrukturą DHCP. Zamiast tego będą mogli skonfigurować się na podstawie segmentu sieci, w którym się znajdują.

  • Brak wbudowanego uwierzytelniania i poufności.

    Protokół IPv4 nie wymaga obsługi żadnego mechanizmu zapewniającego uwierzytelnianie ani szyfrowanie wymienianych danych. To zmienia się przy użyciu protokołu IPv6. Zabezpieczenia protokołu internetowego (IPSec) to wymaganie obsługi protokołu IPv6.

Nowy zestaw protokołów musi spełniać następujące podstawowe wymagania:

  • Routing na dużą skalę i adresowanie z niskim obciążeniem.
  • Automatyczna konfiguracja dla różnych sytuacji łączenia.
  • Wbudowane uwierzytelnianie i poufność.

Adresowanie IPv6

W przypadku protokołu IPv6 adresy mają długość 128 bitów. Jedną z przyczyn tak dużej przestrzeni adresowej jest podzielenie dostępnych adresów na hierarchię domen routingu, które odzwierciedlają topologię Internetu. Innym powodem jest mapowanie adresów kart sieciowych (lub interfejsów), które łączą urządzenia z siecią. Protokół IPv6 oferuje nieodłączną możliwość rozpoznawania adresów na najniższym poziomie, który jest na poziomie interfejsu sieciowego, a także ma możliwości automatycznej konfiguracji.

Reprezentacja tekstu

Poniżej przedstawiono trzy konwencjonalne formularze używane do reprezentowania adresów IPv6 jako ciągów tekstowych:

  • Postać szesnastkowa z dwukropkiem:

    Jest to preferowany formularz n:n:n:n:n:n:n:n. Każdy n reprezentuje wartość szesnastkową jednego z ośmiu elementów 16-bitowych adresu. Na przykład: 3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562.

  • Skompresowany formularz:

    Zwykle, ze względu na długość adresu, adresy zawierają w sobie długi ciąg zer. Aby uprościć pisanie tych adresów, użyj skompresowanej formy, w której pojedyncza ciągła sekwencja 0 bloków jest reprezentowana przez symbol dwukropka (::). Ten symbol może być wyświetlany tylko raz w adresie. Na przykład adres FFED:0:0:0:0:BA98:3210:4562 multiemisji w postaci skompresowanej to FFED::BA98:3210:4562. Adres unicastowy 3FFE:FFFF:0:0:8:800:20C4:0 w skompresowanej formie to 3FFE:FFFF::8:800:20C4:0. Adres 0:0:0:0:0:0:0:1 pętli zwrotnej w postaci skompresowanej to ::1. Nieokreślony adres 0:0:0:0:0:0:0:0 w postaci skompresowanej to ::.

  • Formularz mieszany:

    Ten formularz łączy adresy IPv4 i IPv6. W tym przypadku format adresu to n:n:n:n:n:n:d.d.d.d, gdzie każdy n reprezentuje wartości szesnastkowe sześciu elementów adresów IPv6 o wysokiej kolejności 16-bitowych, a każdy d reprezentuje wartość dziesiętną adresu IPv4.

Typy adresów

Bity wiodące w adresie definiują określony typ adresu IPv6. Pole o zmiennej długości zawierające te bity wiodące jest nazywane prefiksem formatu (FP).

Adres unicastowy IPv6 jest podzielony na dwie części. Pierwsza część zawiera prefiks adresu, a druga część zawiera identyfikator interfejsu. Zwięzły sposób wyrażania kombinacji adresu IPv6/prefiksu jest następujący: ipv6-address/prefix-length.

Poniżej przedstawiono przykład adresu z prefiksem 64-bitowym.

3FFE:FFFF:0:CD30:0:0:0:0/64.

Prefiks w tym przykładzie to 3FFE:FFFF:0:CD30. Adres można również zapisać w postaci skompresowanej jako 3FFE:FFFF:0:CD30::/64.

Protokół IPv6 definiuje następujące typy adresów:

  • Adres emisji pojedynczej:

    Identyfikator pojedynczego interfejsu. Pakiet wysyłany do tego adresu jest dostarczany do zidentyfikowanego interfejsu. Adresy unicast są rozróżniane od adresów multicast na podstawie wartości najwyższego oktetu. Oktet o najwyższym porządku adresów wieloemisji ma wartość szesnastkową FF. Każda inna wartość dla tego oktetu identyfikuje adres unicast. Poniżej przedstawiono różne typy adresów unicast:

    • Adresy lokalne linków:

      Te adresy są używane w jednym linku i mają następujący format: FE80::*InterfaceID*. Adresy lokalne łączy są używane między węzłami w linku do konfiguracji automatycznego adresu, odnajdywania sąsiadów lub gdy nie ma żadnych routerów. Adres łącza lokalnego jest używany głównie podczas uruchamiania i gdy system nie uzyskał jeszcze adresów o szerszym zakresie.

    • Adresy lokalne lokacji:

    Te adresy są używane na pojedynczej stronie i mają następujący format: FEC0::*SubnetID*:*InterfaceID*. Adresy lokalne w sieci są używane do adresowania wewnątrz sieci bez potrzeby użycia globalnego prefiksu.

    • Globalne adresy unicastowe IPv6:

    Te adresy mogą być używane przez Internet i mają następujący format: *GlobalRoutingPrefix*::*SubnetID*:*InterfaceID*.

  • Adres multicast:

    Identyfikator zestawu interfejsów (zazwyczaj należących do różnych węzłów). Pakiet wysyłany do tego adresu jest dostarczany do wszystkich interfejsów zidentyfikowanych przez adres. Typy adresów multiemisji zastępują adresy emisji IPv4.

  • Dowolny adres emisji:

    Identyfikator zestawu interfejsów (zazwyczaj należących do różnych węzłów). Pakiet wysyłany do tego adresu jest dostarczany tylko do jednego interfejsu identyfikowanego przez adres. Jest to najbliższy interfejs zidentyfikowany przez metryki routingu. Adresy anycast są pobierane z przestrzeni adresowej unicast i nie są składniowo rozróżnialne. Adresowany interfejs rozróżnia adresy unicast i anycast w zależności od jego konfiguracji.

Ogólnie rzecz biorąc, węzeł zawsze ma adres lokalny dla łącza. Może mieć adres lokalny lokacji i co najmniej jeden adres globalny.

Routing IPv6

Elastyczny mechanizm routingu jest zaletą protokołu IPv6. Ze względu na sposób, w jaki identyfikatory sieci IPv4 zostały i są przydzielane, duże tabele routingu muszą być obsługiwane przez routery znajdujące się na szkieletach Internetu. Te routery muszą znać wszystkie trasy przekazywania pakietów, które są potencjalnie kierowane do dowolnego węzła w Internecie. Dzięki możliwości agregowania adresów protokół IPv6 umożliwia elastyczne adresowanie i drastycznie zmniejsza rozmiar tabel routingu. W tej nowej architekturze adresowania routery pośrednie muszą śledzić tylko lokalną część sieci, aby odpowiednio przekazywać komunikaty.

Odkrywanie sąsiadów

Niektóre funkcje udostępniane przez odnajdywanie sąsiadów to:

  • Odnajdywanie routera: Dzięki temu hosty mogą identyfikować routery lokalne.
  • Rozpoznawanie adresów: Dzięki temu węzły mogą rozpoznawać adres warstwy łącza dla odpowiedniego adresu następnego przeskoku (zastąpienie protokołu rozpoznawania adresów [ARP]).
  • Automatyczna konfiguracja adresów: Dzięki temu hosty mogą automatycznie konfigurować adresy lokalne dla lokacji i globalne.

Odnajdywanie sąsiadów używa protokołu komunikatów kontrolnych Internetu dla IPv6 (ICMPv6), które obejmują:

  • Ogłoszenie routera: Jest wysyłane przez router w sposób okresowy lub w odpowiedzi na żądanie routera. Routery IPv6 używają anonsów routerów do anonsowania ich dostępności, prefiksów adresów i innych parametrów.
  • Żądanie routera: Wysłane przez hosta w celu zażądania, aby routery w sieci wysłały natychmiast ogłoszenie routera.
  • Prośba o sąsiada: Wysłane przez węzły na potrzeby rozpoznawania adresów, wykrywania zduplikowanych adresów lub sprawdzania, czy sąsiad jest nadal osiągalny.
  • Anons sąsiada: Wysłane przez węzły w celu reagowania na żądanie sąsiada lub powiadamiania sąsiadów o zmianie adresu warstwy łącza.
  • Przekierowanie: Wysłane przez routery w celu wskazania lepszego adresu następnego przeskoku do określonego miejsca docelowego dla węzła wysyłającego.

Automatyczna konfiguracja protokołu IPv6

Jednym z ważnych celów protokołu IPv6 jest obsługa węzła Plug and Play. Oznacza to, że należy podłączyć węzeł do sieci IPv6 i skonfigurować go automatycznie bez żadnej interwencji człowieka.

Typy automatycznej konfiguracji

Protokół IPv6 obsługuje następujące typy automatycznej konfiguracji:

  • Automatyczna konfiguracja stanowa:

    Ten typ konfiguracji wymaga pewnego poziomu interwencji człowieka, ponieważ potrzebuje serwera dynamicznej konfiguracji hosta (DHCPv6) dla instalacji i zarządzania węzłami. Serwer DHCPv6 przechowuje listę węzłów, do których dostarcza informacje o konfiguracji. Przechowuje również informacje o stanie, dzięki czemu serwer wie, jak długo każdy adres jest używany, i kiedy może być dostępny do ponownego przypisania.

  • Automatyczna konfiguracja bezstanowa:

    Ten typ konfiguracji jest odpowiedni dla małych organizacji i osób indywidualnych. W takim przypadku każdy host określa swoje adresy z zawartości odebranych ogłoszeń routera. Używając standardu IEEE EUI-64 do zdefiniowania części adresu jako identyfikatora sieci, można rozsądnie założyć, że adres hosta jest unikatowy w łączu.

Niezależnie od tego, jak jest określany adres, węzeł musi sprawdzić, czy jego potencjalny adres jest unikatowy dla linku lokalnego. Odbywa się to przez wysłanie do potencjalnego adresu komunikatu o żądaniu sąsiada. Jeśli węzeł otrzyma odpowiedź, wie, że adres jest już używany i musi określić inny adres.

Mobilność IPv6

Rozprzestrzenianie urządzeń przenośnych wprowadziło nowe wymaganie: urządzenie musi mieć możliwość arbitralnej zmiany lokalizacji w Internecie IPv6 i nadal utrzymywać istniejące połączenia. Aby zapewnić tę funkcję, węzeł mobilny ma przypisany adres domowy, pod którym zawsze można uzyskać dostęp. Gdy węzeł mobilny znajduje się w domu, łączy się z linkiem głównym i używa adresu macierzystego. Gdy węzeł mobilny jest poza domem, agent domowy, który jest zwykle routerem, przekazuje komunikaty między węzłem mobilnym a węzłami, z którymi się komunikuje.

Wyłączanie lub włączanie protokołu IPv6

Aby użyć protokołu IPv6, upewnij się, że używasz wersji systemu operacyjnego obsługującego protokół IPv6 i upewnij się, że system operacyjny i klasy sieciowe są prawidłowo skonfigurowane.

Kroki konfiguracji

W poniższej tabeli wymieniono różne konfiguracje

Czy protokół IPv6 jest włączony? Czy IPv6 jest włączone? Opis
❌ Nie ❌ Nie Może analizować adresy IPv6.
❌ Nie ✔️ Tak Może analizować adresy IPv6.
✔️ Tak ❌ Nie Można analizować adresy IPv6 i rozpoznawać adresy IPv6 przy użyciu metod rozpoznawania nazw, które nie są oznaczone jako przestarzałe.
✔️ Tak ✔️ Tak Może analizować i rozpoznawać adresy IPv6 przy użyciu wszystkich metod, w tym tych oznaczonych jako przestarzałe.

Protokół IPv6 jest domyślnie włączony. Aby skonfigurować ten przełącznik w zmiennej środowiskowej, użyj zmiennej środowiskowej DOTNET_SYSTEM_NET_DISABLEIPV6 . Aby uzyskać więcej informacji, zobacz Zmienne środowiskowe platformy .NET: DOTNET_SYSTEM_NET_DISABLEIPV6.

Zobacz także