IPv6 - szybki przewodnik

Protokół internetowy w wersji 6 jest nowym protokołem adresowania zaprojektowanym w celu uwzględnienia całego rodzaju wymagań przyszłego Internetu, znanego nam jako Internet w wersji 2. Protokół ten, podobnie jak jego poprzednik, IPv4, działa w warstwie sieciowej (Layer-3). Oprócz oferowania ogromnej ilości logicznej przestrzeni adresowej, protokół ten ma wiele funkcji, które rozwiązują dzisiejsze wady protokołu IPv4.

Dlaczego nowa wersja IP?

Jak dotąd IPv4 sprawdził się jako solidny, routowalny protokół adresowania i od dziesięcioleci służył ludzkiemu mechanizmowi dostarczania. Został zaprojektowany na początku lat 80-tych i nie doczekał się później żadnych większych zmian. W momencie narodzin Internet był ograniczony tylko do kilku uniwersytetów w celu prowadzenia badań i Departamentu Obrony. IPv4 ma 32 bity długości i oferuje około 4294,967296 (2 32 ) adresów. Tym razem uznano, że ta przestrzeń adresowa jest więcej niż wystarczająca. Poniżej podano główne punkty, które odegrały kluczową rolę w narodzinach IPv6:

  • Internet rozrósł się wykładniczo, a przestrzeń adresowa dozwolona przez IPv4 jest nasycona. Istnieje wymóg protokołu, który może zaspokoić zapotrzebowanie na przyszłe adresy internetowe, które mają rosnąć w nieoczekiwany sposób.

  • Korzystanie z funkcji takich jak NAT sprawiło, że Internet stał się nieciągłym, tj. Część należąca do intranetu wykorzystuje głównie prywatne adresy IP; który musi przejść przez szereg mechanizmów, aby dotrzeć do drugiej części, czyli Internetu, który znajduje się na publicznych adresach IP.

  • Sam protokół IPv4 nie zapewnia żadnej funkcji bezpieczeństwa, która jest podatna na ataki, ponieważ dane w Internecie, który jest domeną publiczną, nigdy nie są bezpieczne. Dane muszą zostać zaszyfrowane za pomocą innej aplikacji zabezpieczającej przed wysłaniem do Internetu.

  • Priorytetyzacja danych w IPv4 nie jest aktualna. Chociaż IPv4 ma kilka bitów zarezerwowanych dla typu usługi lub jakości usług, ale nie zapewniają one dużej funkcjonalności.

  • Klienci obsługujący IPv4 mogą być konfigurowani ręcznie lub potrzebują mechanizmu konfiguracji adresu. Nie istnieje technika, za pomocą której można skonfigurować urządzenie tak, aby miało globalnie unikalny adres IP.

Dlaczego nie IPv5?

Do tej pory protokół internetowy był rozpoznawany tylko jako IPv4. Wersje od 0 do 3 były używane, gdy sam protokół był w fazie rozwoju i eksperymentów. Możemy więc założyć, że wiele działań w tle pozostaje aktywnych przed wprowadzeniem protokołu do produkcji. Podobnie, protokół w wersji 5 był używany podczas eksperymentowania z protokołem strumieniowym w Internecie. Jest znany nam jako protokół strumienia internetowego, który wykorzystywał protokół internetowy numer 5 do hermetyzowania swojego datagramu. Chociaż nigdy nie został wprowadzony do użytku publicznego, ale był już używany.

Oto tabela wersji IP i ich zastosowania:

Krótka historia

Po opracowaniu protokołu IPv4 na początku lat 80. dostępna pula adresów IPv4 zaczęła szybko się kurczyć, ponieważ wraz z Internetem gwałtownie wzrastało zapotrzebowanie na adresy. Biorąc pod uwagę sytuację, która może się pojawić, IETF w 1994 roku zainicjował rozwój protokołu adresowania, który ma zastąpić IPv4. Postęp IPv6 można śledzić za pomocą opublikowanego RFC:

  • 1998 - RFC 2460 - Protokół podstawowy

  • 2003 - RFC 2553 - Basic Socket API

  • 2003 - RFC 3315 - DHCPv6

  • 2004 - RFC 3775 - Mobile IPv6

  • 2004 - RFC 3697 - Specyfikacja etykiety przepływu

  • 2006 - RFC 4291 - Architektura adresów (wersja)

  • 2006 - RFC 4294 - wymagania dotyczące węzłów

6 czerwca 2012 r. Niektórzy giganci Internetu zdecydowali się na IPv6 dla swoich serwerów. Obecnie używają mechanizmu Dual Stack do implementacji równoległego protokołu IPv6 z IPv4.

Następca IPv4 nie jest wstecznie kompatybilny. Starając się zachować podstawowe funkcje adresowania IP, protokół IPv6 został całkowicie przeprojektowany. Oferuje następujące funkcje:

  • Larger Address Space:

    W przeciwieństwie do IPv4, IPv6 wykorzystuje 4 razy więcej bitów do adresowania urządzenia w Internecie. Tyle dodatkowych bitów może zapewnić około 3,4 × 10 38 różnych kombinacji adresów. Adres ten może kumulować agresywny wymóg przydzielania adresów dla prawie wszystkiego na tym świecie. Według szacunków na każdy metr kwadratowy ziemi można przydzielić 1564 adresów.

  • Simplified Header:

    Nagłówek IPv6 został uproszczony poprzez przeniesienie wszystkich niepotrzebnych informacji i opcji (które są obecne w nagłówku IPv4) na koniec nagłówka IPv6. Nagłówek IPv6 jest tylko dwa razy większy niż IPv4, pod warunkiem, że adres IPv6 jest cztery razy dłuższy.

  • End-to-end Connectivity:

    Każdy system ma teraz unikalny adres IP i może przechodzić przez Internet bez używania NAT lub innych komponentów tłumaczących. Po pełnym wdrożeniu protokołu IPv6 każdy host może bezpośrednio połączyć się z innym hostem w Internecie, z pewnymi ograniczeniami, takimi jak zapora ogniowa, zasady organizacji itp.

  • Auto-configuration:

    IPv6 obsługuje zarówno stanowy, jak i bezstanowy tryb automatycznej konfiguracji swoich urządzeń-hostów. W ten sposób brak serwera DHCP nie wstrzymuje komunikacji między segmentami.

  • Faster Forwarding/Routing:

    Uproszczony nagłówek umieszcza wszystkie niepotrzebne informacje na końcu nagłówka. Wszystkie informacje w pierwszej części nagłówka są wystarczające, aby router mógł podjąć decyzję o routingu, a zatem podejmować decyzję o routingu tak szybko, jak sprawdzenie obowiązkowego nagłówka.

  • IPSec:

    Początkowo zdecydowano, że protokół IPv6 musi mieć zabezpieczenia IPSec, dzięki czemu jest bezpieczniejszy niż IPv4. Ta funkcja jest teraz opcjonalna.

  • No Broadcast:

    Chociaż Ethernet / Token Ring są uważane za sieć rozgłoszeniową, ponieważ obsługują Broadcasting, IPv6 nie ma już żadnej obsługi Broadcast. Używa multiemisji do komunikacji z wieloma hostami.

  • Anycast Support:

    To kolejna cecha protokołu IPv6. IPv6 wprowadził tryb Anycast routingu pakietów. W tym trybie wielu interfejsom w Internecie ma przypisany ten sam adres IP usługi Anycast. Routery podczas routingu wysyłają pakiet do najbliższego miejsca docelowego.

  • Mobility:

    Protokół IPv6 został zaprojektowany z myślą o mobilności. Ta funkcja umożliwia hostom (takim jak telefon komórkowy) poruszanie się po różnych obszarach geograficznych i utrzymywanie połączenia z tym samym adresem IP. Funkcja mobilności IPv6 wykorzystuje automatyczną konfigurację adresu IP i nagłówki rozszerzeń.

  • Enhanced Priority support:

    Gdzie IPv4 używał 6-bitowego DSCP (Differential Service Code Point) i 2-bitowego ECN (Explicit Congestion Notification) w celu zapewnienia jakości usług, ale można go użyć tylko wtedy, gdy obsługują go urządzenia typu end-to-end, to znaczy źródło i miejsce docelowe urządzenie i sieć bazowa muszą to obsługiwać.

    W IPv6 klasa ruchu i etykieta przepływu służą do informowania routerów bazowych, jak efektywnie przetwarzać pakiet i kierować go.

  • Smooth Transition:

    Duży schemat adresów IP w IPv6 umożliwia przydzielanie urządzeń z globalnie unikalnymi adresami IP. Dzięki temu mechanizm zapisywania adresów IP, takich jak NAT, nie jest wymagany. Dzięki temu urządzenia mogą wysyłać / odbierać dane między sobą, na przykład VoIP i / lub dowolne media strumieniowe mogą być wykorzystywane znacznie wydajnie.

    Innym faktem jest to, że nagłówek jest mniej obciążony, więc routery mogą podejmować decyzje dotyczące przekazywania i przekazywać je tak szybko, jak nadejdą.

  • Extensibility:

    Jedną z głównych zalet nagłówka IPv6 jest to, że można go rozszerzyć, aby dodać więcej informacji w części dotyczącej opcji. IPv4 zapewnia tylko 40 bajtów na opcje, podczas gdy opcje w IPv6 mogą być równe rozmiarowi samego pakietu IPv6.

W sieciach komputerowych tryb adresowania odnosi się do mechanizmu adresowania hosta w sieci. IPv6 oferuje kilka typów trybów, w których można zaadresować pojedynczy host, więcej niż jeden host jednocześnie lub host znajdujący się w najbliższej odległości.

Unicast

W trybie adresowania unicast interfejs IPv6 (host) jest jednoznacznie identyfikowany w segmencie sieci. Pakiet IPv6 zawiera zarówno źródłowe, jak i docelowe adresy IP. Interfejs hosta jest wyposażony w adres IP, który jest unikalny w tym segmencie sieci. Przełącznik lub router sieciowy po odebraniu pakietu IP unicast skierowanego do pojedynczego hosta wysyła do jednego ze swoich interfejsów wychodzących, który łączy się z tym konkretnym hostem.

[ Image: Unicast Messaging ]

Multiemisja

Tryb multiemisji IPv6 jest taki sam, jak w przypadku protokołu IPv4. Pakiet przeznaczony do wielu hostów jest wysyłany na specjalny adres multiemisji. Wszystkie hosty zainteresowane tymi informacjami o multiemisji muszą najpierw dołączyć do tej grupy multiemisji. Wszystkie interfejsy, które dołączyły do ​​grupy, odbierają pakiet multiemisji i przetwarzają go, podczas gdy inne hosty, które nie są zainteresowane pakietami multiemisji, ignorują informacje multiemisji.

[ Image: Multicast Messaging ]

Anycast

IPv6 wprowadził nowy typ adresowania, który nazywa się adresowaniem Anycast. W tym trybie adresowania wielu interfejsom (hostom) przypisano ten sam adres IP usługi Anycast. Gdy host chce komunikować się z hostem wyposażonym w adres IP Anycast, wysyła wiadomość Unicast. Za pomocą złożonego mechanizmu routingu ta wiadomość Unicast jest dostarczana do hosta znajdującego się najbliżej nadawcy pod względem kosztu routingu.

[ Image: Anycast Messaging ]

Weźmy przykład serwerów WWW TutorialPoints.com, zlokalizowanych na wszystkich kontynentach. Załóżmy, że wszystkie serwery sieci Web mają przypisany pojedynczy adres IP Anycast IPv6. Teraz, gdy użytkownik z Europy chce wejść na TutorialsPoint.com, DNS wskazuje serwer, który fizycznie znajduje się w samej Europie. Jeśli użytkownik z Indii spróbuje wejść na Tutorialspoint.com, DNS będzie wskazywał tylko serwer sieci Web fizycznie zlokalizowany w Azji. Terminy Najbliższe lub Najbliższe są używane jako koszt trasy.

Na powyższym obrazku, gdy komputer kliencki próbuje uzyskać dostęp do serwera, żądanie jest przekazywane do serwera o najniższym koszcie routingu.

System liczb szesnastkowych

Przed wprowadzeniem formatu adresu IPv6 zajmiemy się systemem liczb szesnastkowych. Szesnastkowy to pozycyjny system liczbowy, który używa podstawy (podstawa) 16. Aby przedstawić wartości w czytelnym formacie, system ten używa symboli 0-9 do reprezentowania wartości od zera do dziewięciu i symbolu AF do przedstawiania wartości od dziesięciu do piętnastu. Każda cyfra szesnastkowa może reprezentować wartości od 0 do 15.

[ Image: Conversion Table ]

Struktura adresu

Adres IPv6 składa się ze 128 bitów podzielonych na osiem 16-bitowych bloków. Każdy blok jest następnie konwertowany na 4-cyfrowe liczby szesnastkowe oddzielone symbolem dwukropka.

Na przykład poniżej 128-bitowy adres IPv6 przedstawiony w formacie binarnym i podzielony na osiem 16-bitowych bloków:

0010000000000001 0000000000000000 0011001000110100 1101111111100001 0000000001100011 0000000000000000 0000000000000000 1111111011111011

Każdy blok jest następnie konwertowany na szesnastkowy i oddzielany symbolem „:”:

2001: 0000: 3238: DFE1: 0063: 0000: 0000: FEFB

Nawet po konwersji na format szesnastkowy adres IPv6 pozostaje długi. IPv6 zapewnia pewne zasady skracania adresu. Te zasady to:

Rule:1 Odrzuć wiodące zero (y):

W bloku 5, 0063, początkowe dwa zera można pominąć, na przykład (5. blok):

2001: 0000: 3238: DFE1: 63: 0000: 0000: FEFB

Rule:2 Jeśli dwa lub więcej bloków zawiera kolejne zera, pomiń je wszystkie i zastąp podwójnym dwukropkiem ::, na przykład (6 i 7 blok):

2001: 0000: 3238: DFE1: 63 :: FEFB

Kolejne bloki zer można zastąpić tylko raz przez :: więc jeśli w adresie nadal znajdują się bloki zer, można je zmniejszyć do pojedynczego zera, na przykład (2. blok):

2001: 0: 3238: DFE1: 63 :: FEFB

ID interfejsu

IPv6 ma trzy różne typy schematów adresów emisji pojedynczej. Druga połowa adresu (ostatnie 64 bity) jest zawsze używana jako identyfikator interfejsu. Adres MAC systemu składa się z 48-bitów i jest reprezentowany w systemie szesnastkowym. Uważa się, że adres MAC jest jednoznacznie przypisywany na całym świecie. Identyfikator interfejsu wykorzystuje tę wyjątkowość adresów MAC. Host może automatycznie skonfigurować swój identyfikator interfejsu przy użyciu formatu rozszerzonego unikatowego identyfikatora IEEE (EUI-64). Po pierwsze, host dzieli swój adres MAC na dwie 24-bitowe połowy. Następnie 16-bitowa wartość szesnastkowa 0xFFFE jest umieszczana w tych dwóch połowach adresu MAC, co daje 64-bitowy identyfikator interfejsu.

[ Obraz: ID interfejsu EUI-64 ]

Globalny adres unicast

Ten typ adresu jest odpowiednikiem adresu publicznego IPv4. Globalne adresy unicast w IPv6 są identyfikowalne globalnie i jednoznacznie adresowalne.

[ Image: Global Unicast Address ]

Globalny prefiks routingu: najbardziej znaczące 48-bitowe bity są oznaczone jako globalny prefiks routingu, który jest przypisany do konkretnego systemu autonomicznego. Trzy najbardziej znaczące bity globalnego prefiksu routingu są zawsze ustawione na 001.

Adres lokalny łącza

Automatycznie skonfigurowany adres IPv6 jest znany jako adres lokalny łącza. Ten adres zawsze zaczyna się od FE80. Pierwsze 16 bitów adresu Link-Local jest zawsze ustawianych na 1111 1110 1000 0000 (FE80). Następne 48 bitów jest ustawiane na 0, a więc:

[ Image: Link-Local Address ]

Adresy lokalne łącza są używane tylko do komunikacji między hostami IPv6 za pośrednictwem łącza (segment rozgłoszeniowy). Te adresy nie są routowalne, więc router nigdy nie przekazuje tych adresów poza łącze.

Unikalny adres lokalny

Ten typ adresu IPv6, który jest unikalny w skali globalnej, ale powinien być używany w komunikacji lokalnej. Ten adres ma drugą połowę identyfikatora interfejsu, a pierwsza połowa jest podzielona na prefiks, bit lokalny, identyfikator globalny i identyfikator podsieci.

[ Image: Unique-Local Address ]

Prefiks jest zawsze ustawiony na 1111 110. Bit L, który jest ustawiony na 1, jeśli adres jest przypisany lokalnie. Jak dotąd znaczenie L bit do 0 nie jest zdefiniowane. Dlatego unikalny lokalny adres IPv6 zawsze zaczyna się od „FD”.

Zakres adresów IPv6 unicast:

[ Obraz: Zakres adresów emisji pojedynczej IPv6 ]

Zakres adresu Link-local jest ograniczony do segmentu. Unikalne adresy lokalne są lokalnie globalne, ale nie są kierowane przez Internet, co ogranicza ich zakres do granic organizacji. Adresy Global Unicast są unikalne i rozpoznawalne w skali światowej. Będą stanowić istotę adresowania w Internecie v2.

Wersja 6 ma nieco złożoną strukturę adresu IP niż IPv4. IPv6 zarezerwował kilka adresów i notacji adresów do specjalnych celów. Zobacz tabelę poniżej:

Adresy specjalne:

  • Jak pokazano w powyższej tabeli, adres 0: 0: 0: 0: 0: 0: 0: 0/128 niczego nie określa i mówi się, że jest to adres nieokreślony. Po uproszczeniu wszystkie 0 są kompaktowane do :: / 128.

  • W IPv4 adres 0.0.0.0 z maską sieci 0.0.0.0 reprezentuje trasę domyślną. Ta sama koncepcja dotyczy również IPv6, adres 0: 0: 0: 0: 0: 0: 0: 0 z maską sieci, wszystkie 0 reprezentują trasę domyślną. Po zastosowaniu reguły prostowania IPv6 ten adres jest kompresowany do :: / 0.

  • Adresy pętli zwrotnych w IPv4 są reprezentowane przez serie od 127.0.0.1 do 127.255.255.255. Ale w IPv6 tylko adres 0: 0: 0: 0: 0: 0: 0: 1/128 reprezentuje adres sprzężenia zwrotnego. Po prostym podaniu adresu pętli zwrotnej można go przedstawić jako :: 1/128.

Zarezerwowany adres multiemisji dla protokołów routingu:

  • Powyższa tabela przedstawia zarezerwowane adresy multiemisji używane przez wewnętrzny protokół routingu.

  • Wszystkie adresy są zarezerwowane w podobny sposób IPv4

Zarezerwowany adres multiemisji dla routerów / węzłów:

  • Te adresy pomagają routerom i hostom komunikować się z dostępnymi routerami i hostami w segmencie bez konieczności konfigurowania adresu IPv6. Hosty używają autokonfiguracji opartej na EUI-64 do samodzielnej konfiguracji adresu IPv6, a następnie komunikują się z dostępnymi hostami / routerami w segmencie za pomocą tych adresów.

Cud IPv6 tkwi w jego nagłówku. Adres IPv6 jest 4 razy większy niż IPv4, ale nagłówek IPv6 jest tylko 2 razy większy niż nagłówek IPv4. Nagłówki IPv6 mają jeden stały nagłówek i zero lub więcej opcjonalnych (rozszerzeń) nagłówków. Wszystkie niezbędne informacje, które są niezbędne dla routera, są przechowywane w stałym nagłówku. Nagłówek rozszerzenia zawiera opcjonalne informacje, które pomagają routerom zrozumieć, jak obsługiwać pakiet / przepływ.

Naprawiono nagłówek

[ Image: Stały nagłówek IPv6 ]

Stały nagłówek IPv6 ma 40 bajtów i zawiera następujące informacje.

SN Pole i opis
1

Version (4-bity): reprezentuje wersję protokołu internetowego, tj. 0110.

2

Traffic Class(8-bitów): Te 8 bitów jest podzielonych na dwie części. Najbardziej znaczące 6 bitów jest używanych dla Type of Service, który mówi routerowi, jakie usługi powinny być dostarczone do tego pakietu. Najmniej znaczące 2 bity są używane dla Explicit Congestion Notification (ECN).

3

Flow Label(20 bitów): ta etykieta jest używana do utrzymania sekwencyjnego przepływu pakietów należących do komunikacji. Źródło określa sekwencję, która pomaga routerowi zidentyfikować, że ten pakiet należy do określonego strumienia informacji. To pole pomaga uniknąć zmiany kolejności pakietów danych. Jest przeznaczony do przesyłania strumieniowego / mediów w czasie rzeczywistym.

4

Payload Length(16-bitowe): To pole służy do informowania routerów, ile informacji zawiera ten pakiet w swoim ładunku. Ładunek składa się z nagłówków rozszerzeń i danych górnej warstwy. Przy 16 bitach można wskazać do 65535 bajtów, ale jeśli nagłówki rozszerzeń zawierają nagłówek rozszerzenia przeskok po przeskoku, to ładunek może przekroczyć 65535 bajtów i to pole jest ustawione na 0.

5

Next Header(8-bitów): To pole jest używane do wskazania typu nagłówka rozszerzenia lub, jeśli nagłówek rozszerzenia nie jest obecny, oznacza to jednostkę PDU górnej warstwy. Wartości typu jednostki PDU górnej warstwy są takie same, jak w przypadku protokołu IPv4.

6

Hop Limit(8-bitów): To pole służy do zatrzymywania pakietów w nieskończonej pętli w sieci. To jest to samo, co TTL w IPv4. Wartość pola Limit przeskoków jest zmniejszana o 1, gdy przechodzi przez łącze (router / przeskok). Gdy pole osiągnie 0, pakiet jest odrzucany.

7

Source Address (128 bitów): To pole wskazuje adres nadawcy pakietu.

8

Destination Address (128 bitów): To pole zawiera adres zamierzonego odbiorcy pakietu.

Nagłówki rozszerzeń

W protokole IPv6 stały nagłówek zawiera tylko niezbędne informacje i pozwala uniknąć informacji, które nie są wymagane lub są rzadko używane. Wszystkie takie informacje są umieszczane między nagłówkiem ustalonym a nagłówkiem górnej warstwy w postaci nagłówków rozszerzeń. Każdy nagłówek rozszerzenia jest oznaczony odrębną wartością.

Gdy używane są nagłówki rozszerzeń, pole Następny nagłówek stałego nagłówka IPv6 wskazuje na pierwszy nagłówek rozszerzenia. Jeśli jest jeszcze jeden nagłówek rozszerzenia, to pierwsze pole „Następny nagłówek” rozszerzenia wskazuje na drugie i tak dalej. Ostatnie pole „Następny nagłówek” rozszerzenia wskazuje na nagłówek górnej warstwy. Zatem wszystkie nagłówki z punktu do następnego w postaci listy połączonej.

Jeśli pole Następny nagłówek zawiera wartość 59, oznacza to, że po tym nagłówku nie ma nagłówka, nawet nagłówek górnej warstwy.

Następujące nagłówki rozszerzeń muszą być obsługiwane zgodnie z RFC 2460:

Kolejność nagłówków rozszerzeń powinna być następująca:

Te nagłówki:

  • 1. Powinny być przetwarzane przez pierwsze i kolejne miejsca docelowe.

  • 2. Powinien zostać przetworzony w miejscu docelowym.

Nagłówki rozszerzeń są ułożone jeden po drugim w postaci listy połączonej, jak pokazano na poniższym schemacie:

[ Image: Format połączonych nagłówków rozszerzeń ]

W przypadku protokołu IPv4 host, który chce komunikować się z innym hostem w sieci, musi najpierw uzyskać adres IP uzyskany za pomocą protokołu DHCP lub konfiguracji ręcznej. Gdy tylko host zostanie wyposażony w prawidłowy adres IP, może teraz rozmawiać z dowolnym hostem w podsieci. Aby komunikować się w warstwie 3, host musi również znać adres IP drugiego hosta. Komunikacja za pośrednictwem łącza jest ustanawiana za pomocą wbudowanych sprzętowo adresów MAC. Aby poznać adres MAC hosta, którego adres IP jest znany, host wysyła rozgłaszanie ARP i odwrotnie, zamierzony host odsyła swój adres MAC.

W IPv6 nie ma mechanizmu rozgłaszania. Host obsługujący IPv6 nie musi uzyskiwać adresu IP z DHCP lub ręcznie konfigurować, ale może automatycznie skonfigurować własny adres IP. W jaki sposób host komunikowałby się z innymi osobami w sieci obsługującej protokół IPv6?

Protokół ARP został zastąpiony przez protokół ICMPv6 Neighbor Discovery Protocol.

Protokół wykrywania sąsiadów

Host w sieci IPv6 jest zdolny do automatycznej konfiguracji za pomocą unikalnego adresu lokalnego łącza. Gdy tylko zostanie wyposażony w adres IPv6, dołącza do wielu grup multiemisji. Cała komunikacja związana z tym segmentem odbywa się tylko na tych adresach multiemisji. Host przechodzi przez szereg stanów w IPv6:

  • Neighbor Solicitation: Po skonfigurowaniu wszystkich adresów IPv6 ręcznie, przez serwer DHCP lub przez automatyczną konfigurację, host wysyła komunikat Neighbor Solicitation na adres multiemisji FF02 :: 1/16 dla wszystkich swoich adresów IPv6, aby wiedzieć, że nikt inny nie zajmuje tego samego adresy.

  • DAD (Duplicate Address Detection): Gdy host nie nasłuchuje niczego z segmentu w odniesieniu do jego wiadomości Neighbor Solicitation, zakłada, że ​​w segmencie nie ma zduplikowanego adresu.

  • Neighbor Advertisement: Po przypisaniu adresów do swoich interfejsów oraz skonfigurowaniu ich i uruchomieniu, host ponownie wysyła komunikat Neighbour Advertisement informujący wszystkie inne hosty w segmencie, że przypisał te adresy IPv6 do swoich interfejsów.

Gdy host zakończy konfigurację swoich adresów IPv6, wykonuje następujące czynności:

  • Router Solicitation: Host wysyła pakiet multiemisji żądania routera (FF02 :: 2/16) w swoim segmencie, aby poznać obecność dowolnego routera w tym segmencie. Pomaga to hostowi skonfigurować router jako domyślną bramę. Jeśli jego domyślny router bramy ulegnie awarii, host może przejść do nowego routera i ustawić go jako domyślną bramę.

  • Router Advertisement: Gdy router otrzymuje komunikat Router Solicitation, odpowiada hostowi, który ogłasza swoją obecność na tym łączu.

  • Redirect: Może to być sytuacja, w której router otrzymuje żądanie żądania routera, ale wie, że nie jest to najlepsza brama dla hosta. W tej sytuacji router odsyła komunikat przekierowania, informujący hosta, że ​​jest dostępny lepszy router „następnego przeskoku”. Następny przeskok to miejsce, w którym host wyśle ​​swoje dane do hosta, który nie należy do tego samego segmentu.

W IPv4 adresy były tworzone w klasach. Klasowe adresy IPv4 jasno definiują bity używane dla prefiksów sieciowych oraz bity używane dla hostów w tej sieci. Do podsieci w IPv4 gramy z domyślną klasową maską sieciową, która pozwala nam pożyczać bit hostów do wykorzystania jako bity podsieci. Powoduje to wiele podsieci, ale mniej hostów na podsieć. Oznacza to, że pożyczamy bit hosta, aby utworzyć podsieć, która kosztuje nas mniejszą ilość bitów, aby można ją było wykorzystać na adresy hostów.

Adresy IPv6 używają 128 bitów do reprezentowania adresu, który zawiera bity używane do tworzenia podsieci. Druga połowa adresu (najmniej znaczące 64 bity) jest zawsze używana tylko dla hostów. Dlatego nie ma kompromisu, jeśli podsieci sieć.

[ Obraz: podsieci IPv6 ]

16 bitów podsieci jest odpowiednikiem sieci klasy B protokołu IPv4. Korzystając z tych bitów podsieci, organizacja może mieć ponad 65 tysięcy podsieci, co jest zdecydowanie więcej niż wystarczające.

Tak więc prefiks routingu to / 64, a część hosta to 64 bity. Możemy jednak dalej podsieć podsieć poza 16 bitów identyfikatora podsieci, wypożyczając bit hostów, ale zaleca się, aby zawsze używać 64 bitów dla adresów hostów, ponieważ automatyczna konfiguracja wymaga 64 bitów.

Podsieci IPv6 działają na tej samej koncepcji, co maskowanie podsieci o zmiennej długości w IPv4.

Prefiks / 48 można przydzielić organizacji, zapewniając jej korzyść z posiadania do / 64 prefiksów podsieci, czyli 65535 podsieci, z których każda ma 2 64 hosty. Prefiks A / 64 można przypisać do połączenia typu punkt-punkt, w którym istnieją tylko dwa hosty (lub urządzenia obsługujące protokół IPv6) na łączu.

Jednym z problemów związanych z całkowitym przejściem z IPv4 na IPv6 jest brak kompatybilności wstecznej IPv6. Powoduje to sytuację, w której witryna korzysta z protokołu IPv6 lub nie. W przeciwieństwie do implementacji nowej technologii, w której nowsza jest kompatybilna wstecz, więc starszy system może nadal współpracować z nowszym bez żadnych dodatkowych zmian.

Aby przezwyciężyć tę niedogodność, istnieje kilka technologii, które można wykorzystać w powolnym i płynnym przejściu z IPv4 na IPv6:

Routery z podwójnym stosem

Router można zainstalować z adresami IPv4 i IPv6 skonfigurowanymi na jego interfejsach wskazującymi na sieć o odpowiednim schemacie IP.

[ Image: Router z dwoma stosami ]

Na powyższym schemacie serwer, który ma skonfigurowany adres IPv4 oraz IPv6, może teraz rozmawiać ze wszystkimi hostami w sieci IPv4 i sieci IPv6 za pomocą routera z podwójnym stosem. Router z podwójnym stosem może komunikować się z obiema sieciami i zapewnia hostom dostęp do serwera bez zmiany ich wersji IP.

Tunelowanie

W scenariuszu, w którym istnieją różne wersje IP w ścieżce pośredniej lub sieci tranzytowej, tunelowanie stanowi lepsze rozwiązanie, w którym dane użytkownika mogą przechodzić przez nieobsługiwaną wersję adresu IP.

[ Obraz: Tunelowanie ]

Powyższy diagram przedstawia, w jaki sposób dwie zdalne sieci IPv4 mogą komunikować się za pośrednictwem tunelu, gdzie sieć tranzytowa była na IPv6. I odwrotnie jest również możliwe, gdy sieć tranzytowa jest na IPv6, a odległe strony, które zamierzają się komunikować, korzystają z IPv4.

Translacja protokołu NAT

Jest to kolejna ważna metoda przejścia na IPv6 za pomocą urządzenia obsługującego NAT-PT (Network Address Translation - Protocol Translation). Przy pomocy urządzenia NAT-PT następuje rzeczywista konwersja między pakietami IPv4 i IPv6 i odwrotnie. Zobacz diagram poniżej:

[ Obraz: NAT - Tłumaczenie protokołu ]

Host z adresem IPv4 wysyła żądanie do serwera obsługującego protokół IPv6 w Internecie, który nie rozumie adresu IPv4. W tym scenariuszu urządzenie NAT-PT może pomóc im w komunikacji. Kiedy host IPv4 wysyła pakiet żądania do serwera IPv6, urządzenie / router NAT-PT usuwa pakiet IPv4, usuwa nagłówek IPv4, dodaje nagłówek IPv6 i przekazuje go przez Internet. Gdy odpowiedź z serwera IPv6 nadejdzie dla hosta IPv4, router robi odwrotnie.

Gdy host jest podłączony do jednego łącza lub sieci, uzyskuje adres IP i cała komunikacja odbywa się przy użyciu tego adresu IP na tym łączu. Gdy tylko ten sam host zmieni swoją fizyczną lokalizację, to znaczy przeniesie się do innego obszaru / podsieci / sieci / łącza, jego adres IP odpowiednio się zmieni, a cała komunikacja zachodząca na hoście przy użyciu starego adresu IP zostanie przerwana.

Mobilność IPv6 zapewnia mechanizm, który zapewnia hostowi możliwość przemieszczania się między różnymi łączami bez utraty komunikacji / połączenia i adresu IP.

W technologię zaangażowanych jest wiele podmiotów:

  • Mobile Node: Urządzenie wymagające mobilności IPv6.

  • Home Link: To łącze jest skonfigurowane z prefiksem podsieci domowej i tutaj urządzenie mobilne IPv6 otrzymuje swój adres domowy.

  • Home Address: Jest to adres, który Mobile Node uzyskuje z Home Link. To jest stały adres węzła mobilnego. Jeśli węzeł mobilny pozostaje w tym samym łączu macierzystym, komunikacja między różnymi podmiotami przebiega normalnie.

  • Home Agent: To jest router, który działa jako rejestrator dla węzłów mobilnych. Agent Macierzysty jest połączony z Łączem Macierzystym i przechowuje informacje o wszystkich Węzłach Mobilnych, ich Adresach Domowych i ich obecnych adresach IP.

  • Foreign Link: Każde inne łącze, które nie jest łączem głównym węzła mobilnego.

  • Care-of Address: Gdy węzeł mobilny przyłącza się do łącza obcego, uzyskuje nowy adres IP podsieci tego łącza zagranicznego. Agent macierzysty przechowuje informacje zarówno o adresie domowym, jak i adresie opieki. Wiele adresów Care-of może być przypisanych do Mobile Node, ale w każdym przypadku tylko jeden Care-of Address jest powiązany z Home Address.

  • Correspondent Node: Dowolne urządzenie obsługujące protokół IPv6, które zamierza komunikować się z węzłem mobilnym.

Operacja mobilności

Gdy węzeł mobilny pozostaje w swoim łączu macierzystym, cała komunikacja odbywa się na jego adresie domowym. Jak pokazano niżej:

[ Image: Węzeł mobilny połączony z łączem domowym ]

Gdy węzeł mobilny opuszcza swoje łącze domowe i jest połączony z jakimś łączem zagranicznym, w grę wchodzi funkcja mobilności protokołu IPv6. Po połączeniu się z Foreign Link, Mobile Node uzyskuje adres IPv6 z Foreign Link. Ten adres nazywa się Care-of Address. Węzeł mobilny wysyła żądanie powiązania do swojego agenta macierzystego z nowym adresem przekierowania. Agent macierzysty wiąże adres domowy węzła mobilnego z adresem przekierowania, ustanawiając tunel między nimi.

Za każdym razem, gdy Węzeł Korespondent próbuje ustanowić połączenie z Węzłem Mobilnym (na swoim Adresie Macierzystym), Agent Macierzysty przechwytuje pakiet i przekazuje dalej do Adresu Opieki Węzła Mobilnego przez już ustanowiony Tunel.

[ Image: Węzeł mobilny połączony z obcym łączem ]

Optymalizacja trasy

Kiedy Węzeł Korespondent inicjuje komunikację poprzez wysyłanie pakietów do Węzła Mobilnego na Adresie Macierzystym, pakiety te są tunelowane do Węzła Mobilnego przez Agenta Macierzystego. W trybie Optymalizacji Trasy, gdy Węzeł Mobilny odbiera pakiet z Węzła Korespondencyjnego, nie przekazuje odpowiedzi do Agenta Macierzystego. Zamiast tego wysyła swój pakiet bezpośrednio do odpowiedniego węzła, używając adresu domowego jako adresu źródłowego. Ten tryb jest opcjonalny i nie jest używany domyślnie.

Koncepcje routingu pozostają takie same w przypadku IPv6, ale prawie wszystkie protokoły routingu zostały odpowiednio przedefiniowane. W segmencie Komunikacja w IPv6 widzieliśmy, jak host mówi do swojej bramy. Routing to proces przekazywania danych, które mogą być routowane, wybierając najlepszą trasę spośród kilku dostępnych tras lub ścieżkę do miejsca docelowego. Router to urządzenie, które przekazuje dane, które nie są do niego wyraźnie przeznaczone.

Istnieją dwie formy protokołów routingu

  • Distance Vector Routing Protocol: Router obsługujący protokół wektora odległości rozgłasza swoje połączone trasy i uczy się nowych tras od swoich sąsiadów. Koszt trasy do miejsca docelowego jest obliczany na podstawie przeskoków między źródłem a miejscem docelowym. Router generalnie polega na swoim sąsiadu w zakresie najlepszego wyboru ścieżki, znanego również jako „routing-by-plotki”. RIP i BGP to protokoły wektora odległości.

  • Link-State Routing Protocol: Ten protokół potwierdza stan łącza i ogłasza sąsiadom. Informacje o nowych łączach są pobierane od routerów równorzędnych. Po zebraniu wszystkich informacji o routingu, protokół routingu stanu łącza używa własnego algorytmu do obliczania najlepszej ścieżki do wszystkich dostępnych łączy. OSPF i IS-IS to protokoły routingu stanu łącza i oba używają algorytmu najkrótszej ścieżki Dijkstry.

Protokoły routingu można podzielić na dwie kategorie:

  • Interior Routing Protocol: Protokoły z tej kategorii są używane w ramach systemu autonomicznego lub organizacji do dystrybucji tras między wszystkimi routerami w jego granicach. Przykłady: RIP, OSPF.

  • Exterior Routing Protocol: Podczas gdy zewnętrzny protokół routingu rozdziela informacje o trasach między dwoma różnymi systemami autonomicznymi lub organizacjami. Przykłady: BGP.

Protokoły routingu

  • RIPng

    RIPng to skrót od Routing Information Protocol Next Generation. Jest to protokół routingu wewnętrznego i jest to protokół wektora odległości. RIPng został zaktualizowany do obsługi IPv6.

  • OSPFv3

  • Open Shortest Path First version 3 to wewnętrzny protokół routingu, który został zmodyfikowany w celu obsługi protokołu IPv6. Jest to protokół stanu łącza i wykorzystuje algorytm najkrótszej ścieżki Djikrasta do obliczenia najlepszej ścieżki do wszystkich miejsc docelowych.

  • BGPv4

    BGP to skrót od Border Gateway Protocol. Jest to jedyny dostępny protokół zewnętrzny o otwartym standardzie. BGP to protokół wektora odległości, który jako metrykę obliczeń przyjmuje system autonomiczny, a nie liczbę routerów jako przeskok. BGPv4 to uaktualnienie protokołu BGP do obsługi routingu IPv6.

Protokoły zmienione w celu obsługi IPv6:

  • ICMPv6: Internet Control Message Protocol w wersji 6 to ulepszona implementacja protokołu ICMP w celu dostosowania do wymagań protokołu IPv6. Protokół ten jest używany do funkcji diagnostycznych, komunikatów o błędach i informacjach, do celów statystycznych. Protokół wykrywania sąsiadów ICMPv6 zastępuje ARP i pomaga wykrywać sąsiadów i routery w łączu.

  • DHCPv6: Protokół dynamicznej konfiguracji hosta w wersji 6 jest implementacją protokołu DHCP. Chociaż hosty obsługujące protokół IPv6 nie wymagają żadnego serwera DHCPv6 do uzyskania adresu IP, ponieważ można je skonfigurować automatycznie. Nie potrzebują również DHCPv6 do zlokalizowania serwera DNS, ponieważ DNS można wykryć i skonfigurować za pomocą protokołu ICMPv6 Neighbor Discovery Protocol. Jednak do dostarczania tych informacji można użyć serwera DHCPv6.

  • DNS: Nie było nowej wersji DNS, ale jest teraz wyposażony w rozszerzenia zapewniające obsługę zapytań o adresy IPv6. Dodano nowy rekord AAAA (quad-A) w celu odpowiadania na wiadomości zapytań IPv6. Teraz DNS może odpowiadać za pomocą obu wersji IP (4 i 6) bez żadnych zmian w formacie zapytania.

IPv4 od 1982 roku jest niekwestionowanym liderem Internetu. Wraz z wyczerpaniem przestrzeni adresowej IPv4, protokół IPv6 przejmuje kontrolę nad Internetem, który nazywa się Internet2.

Protokół IPv4 jest szeroko rozpowszechniony, a migracja do protokołu IPv6 nie byłaby łatwa. Jak dotąd IPv6 mógł penetrować przestrzeń adresową IPv4 o mniej niż 1%.

Świat obchodził „Światowy Dzień IPv6” 08 czerwca 2011 r. W celu pełnego przetestowania adresu IPv6 przez Internet. 6 czerwca 2012 społeczność internetowa oficjalnie uruchomiła protokół IPv6. Tego dnia wszyscy dostawcy usług internetowych, którzy oferowali protokół IPv6, mieli go włączyć w domenie publicznej i mieli go nadal włączać. Wszyscy producenci urządzeń uczestniczyli również w oferowaniu domyślnie włączonego protokołu IPv6 na urządzeniach.

Był to krok w kierunku zachęcenia społeczności internetowej do migracji na IPv6.

Organizacje mają wiele możliwości migracji z IPv4 do IPv6. Również organizacje, które chcą przetestować IPv6 przed pełną migracją, mogą jednocześnie uruchamiać protokoły IPv4 i IPv6. Sieci o różnych wersjach IP mogą się komunikować, a dane użytkownika mogą być tunelowane, aby przejść na drugą stronę.

Przyszłość IPv6

Internet z obsługą protokołu IPv6 w wersji 2 zastąpi dzisiejszy Internet obsługujący protokół IPv4. Kiedy Internet został uruchomiony z IPv4, kraje rozwinięte, takie jak USA i Europa, zajęły większą przestrzeń IPv4 na wdrożenie Internetu w swoich krajach, mając na uwadze przyszłe potrzeby. Ale Internet eksplodował wszędzie, docierając i łącząc każdy kraj na świecie, zwiększając zapotrzebowanie na przestrzeń adresową IPv4. W rezultacie do dziś w USA i Europie pozostało wiele przestrzeni adresowej IPv4, a kraje takie jak Indie i Chiny są zobowiązane do zaspokojenia swoich wymagań dotyczących przestrzeni IP poprzez wdrożenie protokołu IPv6.

Większość wdrożeń IPv6 odbywa się poza USA i Europą. Indie i Chiny dążą do zmiany całej swojej przestrzeni na IPv6. Chiny ogłosiły pięcioletni plan wdrożenia pod nazwą China Next Generation Internet.

Po 6 czerwca 2012 r. Wszyscy główni dostawcy usług internetowych zostali przestawieni na IPv6, a reszta nadal się przemieszcza.

Protokół IPv6 zapewnia dużą przestrzeń adresową i został zaprojektowany w celu rozszerzenia dzisiejszych usług internetowych. Bogata w funkcje wersja internetowa 2 obsługująca protokół IPv6 może przynieść więcej niż oczekiwano.