IPv6



Trochę historii...

Protokół IP w wersji 6, czyli IPv6, powstał z myślą zastąpienia protokołu IPv4. Prace nad tym protokołem rozpoczęto kiedy, zaczęto się domyślać, że adresy w protokole IPv4, których jest ok. 4,3mld w końcu się skończą. Prace nad projektowaniem IPv6 trwały dość długo (początek datuje się na rok 1992 a na koniec rok 1996), gdy je rozpoczynano internet był bardzo mały, myślano, że wdrożenie IPv6 będzie bardzo proste wiec postanowiono zrobić całkiem nową generacje protokołu niekompatybilnego ze starsza wersją - protokołem IPv4, jednak po zakończeniu prac koniec wyczerpania puli adresów IPv4 był daleki, więc protokołu nie wdrożono produkcyjnie. Aktualnie internet rośnie wraz z liczbą adresów IPv4, co powoduje problem we wdrożeniu adresu IPv6 ponieważ zmiany wymagają wymiany urządzeń sieciowych i oprogramowania u dostawców ISP, a to się przekłada na duże obciążenie finansowe i wymaga czasu. Współczesne urządzenia jednak obsługują obydwa protokoły jednak działa to na zasadzie jakby działały w dwóch całkiem odmiennych sieciach.

A dlaczego protokół IPv6 analogicznie myśląc nie jest protokołem IPv5 ?

Nowy protokół nie mógł nosić numeru wersji 5, ponieważ numer ten został już wcześniej użyty dla eksperymentalnego protokołu Internet Streaming Protocol (w zamierzeniu mającego przenosić treści audio i wideo), dlatego też użyto kolejnego numeru – 6.


A teraz konkrety !

Protokół IPv6 składa się z 128 bitów, co pozwala na uzyskanie aż - 340 282 366 920 938 463 463 374 607 431 768 211 456 adresów. Adres zazwyczaj zapisuje się jako osiem 16-bitowych bloków zapisanych w systemie szesnastkowym oddzielonych dwukropkiem. Dozwolone jest pomijanie początkowych zer w bloku, a także pominięcie jednego ciągu bloków składających się wyłącznie z zer. Pominięte bloki zer oznacza się podwójnym separatorem bloków (dwukropek). Dopuszczalny jest tylko jeden podwójny dwukropek "::" w adresie. Poniższe adresy są równoznaczne:
  • 2001:0db8:0000:0000:0000:0000:1428:57ab
  • 2001:0db8:0:0:0:0:1428:57ab
  • 2001:0db8:0:0::1428:57ab
  • 2001:0db8::1428:57ab
  • 2001:db8::1428:57ab
W adresacji wykorzystywanej w protokole IPv6 używane są 3 typy adresów:
  • unicast- identyfikujący pojedynczy interfejs
  • multicast - identyfikujący grupę odbiorców
  • anycast - podobnie jak adresy multicast, identyfikują one grupę interfejsów, jednak pakiet wyysyłany na adres abycast jest dostarczany do najbliższego węzła, np. najbliższego serwera DNS.
W protokole IPv6 nie występuje pojęcie komunikacji broadcastowej (dane rozsyłane do wszystkich węzłów w danej podsieci). Aby wysyłać dane do wielu odbiorców jednocześnie, należy korzystać z komunikacji multicastowej.


Klasy adresów

Adresy IPv6, podobnie jak w IPv4 zostały podzielone na klasy:
  • adresy lokalne dla łącza (link-local address) – są to adresy wykorzystywane tylko do komunikacji w jednym segmencie sieci lokalnej lub przy połączeniu typu point-to-point. Routery nie przekazują pakietów z tego rodzaju adresem. Z puli pozostałych adresów wyróżniane są przez prefiks FE80::/10. Każdy interfejs musi mieć przydzielony co najmniej jeden adres lokalny dla łącza, nawet jeżeli posiada adres globalny lub unikatowy adres lokalny.
  • unikatowe adresy lokalne (unique local address) – są to adresy będące odpowiednikami adresów prywatnych wykorzystywanych w protokole IPv4. Z puli pozostałych adresów wyróżniane są przez prefiks FC00::/7. Od adresów lokalnych łącza odróżnia je także prefiks routingu.
  • adresy globalne (global unicast address) – widoczne w całym internecie, są odpowiednikami adresów publicznych stosowanych w IPv4; do adresów tego typu należą adresy nie wymienione w pozostałych punktach.



Adresy specjalne

W protokole IPv6 zdefiniowano również adresy specjalne, np:
  • ::/128 – adres nieokreślony (zawierający same zera).
  • ::1/128 – loopback, adres wskazujący na host lokalny.
  • 2001:db8::/32 – pula wykorzystywana w przykładach i dokumentacji – nigdy nie będzie wykorzystywana produkcyjnie.
  • ff00::/8 – pula multicastowa używana do komunikacji multicast.

Autor: APTechnology Data: 2016-12-14