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 pojedynczego 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.
Unicastowe adresy 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
Anycastowe adresy IPv6
Nie ma określonej puli prefiksów dla adresu anycastowego IPv6, ale w RFC2526 zdefiniowano jego format.
Multicastowe adresy 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