header image
Home arrow Protokoły TCP/IP arrow IPv6 arrow Protokół IPv6
Protokół IPv6 E-mail
Oceny: / 39
KiepskiBardzo dobry 

Protokół IPv6 (Internet Protocol version 6) jest nową wersją protokołu IP, który ma zastąpić IPv4. IPv6 został zdefiniowany w RFC2460 "Internet Protocol, Version 6 (IPv6) Specification" w 1998, natomiast IPv4 w RFC791 "Internet Protocol" w 1981. Protokół IPv6 wprowadzono ze względu na pewne ograniczenia protokołu IPv4. Poniżej znajduje się opis protokołu IPv6. 

 

Zmiany wprowadzone w IPv6

Rozszerzenie przestrzeni adresowej z 32 bitów w IPv4 do 128 bitów w IPv6, by móc wprowadzić więcej poziomów hierarchii w adresacji i uprościć autokonfigurację adresów. 32-bitowy adres IPv4 teoretycznie oferuje 4 294 967 296 różnych identyfikatorów (praktycznie jest znacznie mniej), a przez zwiększenie 4-ro krotnie ilości bitów w adresie IPv6 można mieć ponad 340 282 366 920 938 463 000 000 000 000 000 000 000 identyfikatorów.

Uproszczenie formatu nagłówka w IPv6 w stosunku do IPv4, by zwiększyć szybkość przetwarzania pakietu.

Usprawnienie obsługi wszelkich rozszerzeń i opcji w IPv6, przez zmiany kodowania opcji w nagłówku IP dając elastyczność we wprowadzaniu nowych opcji w przyszłości.

Obsługa etykietowania strumieni należących do określonego przepływu ruchu, dla którego źródło wymaga określonej jakości obsługi.

Obsługa rozszerzeń związanych z autoryzacją, integralnością danych i poufnością przez sam protokół IPv6 (np. dla IPv4 zdefiniowano odrębny protokół IPSec, który teraz jest rozszerzeniem w IPv6).


Specyfikacja IPv6 posługuje się pojęciem "węzła", jest to urządzenie, które ma zaimplementowane IPv6. Host jest tu traktowany jako urządzenie, które jest dowolnym węzłem, ale nie jest routerem.

 

Budowa adresu IPv6

Adres IPv6 składa się ze 128 bitów pogrupowanych w 32 hexadecymalne znaki (32x4=128 bitów), które są pogrupowane po 8 grup 4 znakowych "XYZW", w związku z czym, każda grupa składa się z 16 bitów. Grupy 4 znakowe adresu IPv6 oddzielone są dwukropkiem(:), np. 1234:0001:0001:00E1:0000:0000:0000:2D3E. Adres ten można zapisać w prostszej postaci np. 1234:1:1:E1::2D3E (eliminując poprzedzające "0" w grupach, czyli ":0001:" zapisujemy jako ":1:" oraz eliminując powtarzające się grupy "0000" zamieniając je na "::", w tym przykładzie ":0000:0000:0000:" zapisujemy jako "::").

Zdefiniowano też postać adresu URL strony internetowej, który dla adresu IPv6 1234:1:1:E1::2D3E i portu TCP 8080 serwera www wygląda następująco:

http://[adres-IPv6]:port/strona-www.html
http://[1234:1:1:E1::2D3E]:8080/index.html

 

Architektura adresacji IPv6

W RFC4291 "IP Version 6 Addressing Architecture" zdefiniowano trzy typy adresów IPv6:

Unicastowy adres IPv6: identyfikator pojedyńczego interfejsu. Pakiet, który zostanie wysłany do unicastowego adresu IPv6 jest dostarczany do interfejsu identyfikowanego tym adresem.

Anycastowy adres IPv6: identyfikator dla zbioru interfejsów należących do różnych węzłów. Pakiet, który zostanie wysłany do anycastowego adresu IPv6 jest dostarczany do jednego z interfejsów identyfikowanych przez ten adres (najbliższego z punktu widzenia routingu).

Multicastowy adres IPv6: identyfikator dla zbioru interfejsów należących do różnych węzłów. Pakiet, który zostanie wysłany do multicastowego adresu IPv6 jest dostarczany do wszystkich interfejsów identyfikowanyc przez ten adres.         

IPv6 nie stosuje adresów broadcastowych, bo ich rolę przejęły adresy multicastowe IPv6.

Adresy Unicastowe IPv6

Adresy unicastowe IPv6 podzielono na 3 pule: Global Unicast, Unique Local Unicast (adresy, które sa globalnie unikalne i przeznaczone do lokalnej komunikacji w obrębie danego site, nieroutowalne w sieci Internet, ale routowalne w obrębie tego site'u) oraz Link Local Unicast.

Poniżej znajduje się lista zarezerwowanych prefiksów unicastowych IPv6:

2000::/3              Global Unicast             
FC00::/7              Unique Local Unicast   
FE80::/10             Link Local Unicast

 

Adres Global Unicast

Adresy Global IPv6 Unicast, składają się z bitów globalnego prefiksu routingu, bitów identyfikacji podsieci i bitów identyfikacji interfejsu. Wszystkie adresy Global Unicast inne niż te zaczynające się bitami 000 mają 64-bitowe pole identyfikacji interfejsu wg. formatu EUI-64. Adresy Global Unicast IPv6 zaczynajace sie bitami 000 nie mają powyższych ograniczeń, przykładem takiego adresu jest "adres mapowany IPv6"  

2000::/3              adres Global IPv6 Unicast

Adres Unique Local Unicast

Adresy Unique Local IPv6 nie są routowalne w gloablnej sieci Internet. Są one routowalne tylko wewnatrz ograniczonego obszaru jakim może być określona lokalizacja lub między kilkoma lokalizacjami. Adresy te są globalnie unikalne, dobrze znany prefiks, umożliwia ich łatwa filtrację.

FC00::/7        adres Unique Local IPv6 Unicast

Adres IPv6 zawierajacy adres IPv4

Wyróżniono dwa typy adresów IPv6, które przenoszą w sobie adresy IPv4. Są to adresy IPv6 kompatybilne z IPv4 oraz adresy IPv6 mapowane z IPv4.

Adres IPv6 kompatybilny z IPv4

Adresy kompatybilne określono po to by pomóc w w fazie przejscia z IPv4 do IPv6 (ten typ adresu nie jest już wykorzystywany).

0:0:0:0:0:0:d.d.d.d/96            adres kompatybilny IPv6, d.d.d.d - to adres IPv4 (reprezentację dziesietną należy zamienić na postać heksadecymalną) 

Adres IPv6 mapowany z IPv4

Adres mapowany służy do przedstawienia adresu IPv4 jako adres IPv6.

0:0:0:0:0:FFFF:d.d.d.d/96        adres mapowany IPv6 , d.d.d.d - to adres IPv4 (reprezentację dziesietną należy zamienić na postać heksadecymalną)    

Adres IPv6 Link-Local Unicast

Adresy IPv6 Link-Local są stosowane na pojedynczym linku, w celach automatycznej konfiguracji adresu, odkrywania sąsiada lub gdy brak jest routerów. Na ostatnich 64 bitach powinien być Interface ID wg EUI-64. Każdy interfejs musi mieć adres Link-Local.

FE80::/10        IPv6 Link-Local Unicast

Adres IPv6 Site-Local Unicast 

FEC0::/10        IPv6 Site-Local Unicast (RFC 3879 wycofuje ten termin i adres z użycia)

Adres IPv6 nieokreślony

Adres nieokreślony (unspecified) nigdy nie może być przydzielony do węzła, oznacza również brak adresu IPv6. Adres ten nie może być użyty jako adres przeznaczenia, jeśli pojawi się jako adres źródła to nie może byc dalej przekazany przez router IPv6.   

::/128                    adres nieokreślony IPv6   

Adres IPv6 loopback   

Adres unicastowy 0:0:0:0:0:0:0:1 jest adresem lopback w routerze IPv6 i może być stosowany przez wezeł IPv6 w celu wysłania akietu do siebie samego. Adres loopback nie może być przypisany do fizycznego interfejsu węzła IPv6 i jest traktowany jako adres z zakresu Link-Local dla interfejsu wirtualnego. Pakiet IPv6, który zostanie odebrany przez interfejs fizyczny i zawiera adres przeznaczenia loopback musi byc odrzucony przez węzeł IPv6.   

::1/128                adres loopback IPv6 (analogia do 127.0.0.1 w IPv4)   

Adres IPv6 w dokumentacji

W dokumentacji powinny być wykorzystywane specjalne adresy IPv6 z poniższej puli, a ponadto nie mogą one być routowalne, czyli powinny być filtrowane w routerach IPv6 ( RFC 3849 "IPv6 Documentation Address").   

2001:DB8::/32             prefiks IPv6 tylko dla dokumentacji

       

Adres Anycastowy IPv6

Nie ma określonej puli prefiksów dla adresu anycastowego IPv6, ale w RFC2526 zdefiniowano jego format.

 

Adres Multicastowy IPv6

Multicastowe adresy IPv6 mają zdefiniowaną pulę adresów zaczynających się pierwszymi 16-bitami ustawionymi na "1" z maską /8 bitową.
Poniżej znajduje się zarezerwowany prefiks multicastowy IPv6:

FF00::/8              Multicast               

 

Alokacja adresów IPv6

Na stronach RIPE NCC (Réseaux IP Européens Network Coordination Centre) można znaleźć alokacje prefiksów IPv6 wg. RIR (Regional Internet Registry) .