2.3. Che aspetto hanno gli indirizzi IPv6?

Come precedentemente accennato, gli indirizzi IPv6 sono lunghi 128 bit. Questa quantità di bit genera numeri decimali molto grandi che possono avere fino a 39 cifre:

2^128-1: 340282366920938463463374607431768211455
  

Tali numeri non sono indirizzi che possono effettivamente essere agevolmente memorizzati. Lo schema dell'indirizzo IPv6 è un insieme di bit (esattamente come IPv4, ma spesso di ciò non si è consapevoli). Pertanto una migliore notazione per così grandi numeri è l'esadecimale. In esadecimale, 4 bit (anche conosciuto come "nibble") sono rappresentati da un numero o un carattere da 0 a 9 e da A a F (10-15). Questo formato riduce la lunghezza dell'indirizzo IPv6 a 32 caratteri.

2^128-1: 0xffffffffffffffffffffffffffffffff
  

Questa rappresentazione non è ancora molto conveniente (possibile confusione o perdita di singole cifre esadecimali), così i progettisti di IPv6 hanno scelto un formato esadecimale con i due punti come separatori dopo ogni blocco di 16 bit. Inoltre, l'iniziale "0x" (l'indicatore usato nei linguaggi di programmazione per valori esadecimali) viene rimosso:

2^128-1: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
  

Un esempio di indirizzo utilizzabile (si vedano i tipi di indirizzo più avanti) è:

3ffe:ffff:0100:f101:0210:a4ff:fee3:9566
  

Per semplificare, lo zero iniziale di ogni blocco di 16 bit può essere omesso:

3ffe:ffff:0100:f101:0210:a4ff:fee3:9566  -> 
¬ 3ffe:ffff:100:f101:210:a4ff:fee3:9566
  

Una sequenza di 16 blocchi di bit contenenti solo zeri può essere rimpiazzata con "::". Ma non più di una alla volta, altrimenti non è più una rappresentazione unica.

3ffe:ffff:100:f101:0:0:0:1  ->  3ffe:ffff:100:f101::1
  

La riduzione più grande si può apprezzare con l'indirizzo IPv6 relativo a localhost:

0000:0000:0000:0000:0000:0000:0000:0001  ->  ::1
  

Esiste anche una rappresentazione (codificata in base 85) cosidetta compatta definita RFC 1924 / A Compact Representation of IPv6 Addresses (pubblicata il 1 Aprile 1996), mai vista da nessuna parte, probabilmente un pesce d'Aprile, ma di seguito è riportato un esempio:

# ipv6calc --addr_to_base85 3ffe:ffff:0100:f101:0210:a4ff:fee3:9566 
Itu&-ZQ82s>J%s99FJXT
  

Info: ipv6calc è un programma per calcolare e convertire indirizzi IPv6 nei vari formati e può essere trovato qui: ipv6calc homepage (Mirror).