IPv6 in pratica: notazione, prefissi e dual stack
Un indirizzo IPv6 è un numero a 128 bit scritto come otto gruppi di quattro cifre esadecimali.
La forma estesa 2a01:04f8:0c17:0b8f:0000:0000:0000:0001 si abbrevia in
2a01:4f8:c17:b8f::1 secondo due regole precise.
Le regole di scrittura
- Gli zeri iniziali di ogni gruppo si omettono:
04f8diventa4f8 - Una sola sequenza di gruppi tutti a zero si sostituisce con
::, e può comparire una volta sola nell'indirizzo, altrimenti sarebbe ambigua - Le lettere si scrivono minuscole (RFC 5952), anche se maiuscole sono tecnicamente valide
- Nelle URL l'indirizzo va fra parentesi quadre, perché i due punti servono già a separare la porta:
http://[2a01:4f8::1]:8080/
Come è composto
A differenza di IPv4, dove la maschera può cadere ovunque, in IPv6 la divisione è di fatto standardizzata: i primi 64 bit identificano la rete, gli ultimi 64 il dispositivo al suo interno.
Tipi di indirizzo
2000::/3— global unicast: gli indirizzi pubblici, quelli instradabili su Internetfe80::/10— link-local: validi solo sul segmento di rete, ogni interfaccia ne ha sempre unofc00::/7— unique local: l'equivalente concettuale del 192.168 di IPv4, per reti interneff00::/8— multicast: IPv6 non ha il broadcast, il suo ruolo è svolto da gruppi multicast::1— loopback, l'equivalente di 127.0.0.1
Come un dispositivo ottiene l'indirizzo
IPv6 può fare a meno del DHCP. Con SLAAC il router annuncia periodicamente il prefisso della rete (Router Advertisement) e ogni dispositivo si costruisce da solo la parte finale dell'indirizzo. In origine quella parte derivava dall'indirizzo MAC della scheda, il che rendeva il dispositivo riconoscibile ovunque si collegasse: per questo oggi i sistemi usano le privacy extensions (RFC 4941), che generano identificativi casuali e li ruotano nel tempo.
Alle connessioni domestiche l'operatore non assegna un singolo indirizzo ma un prefisso
delegato — tipicamente un /56 o un /64 — dal quale il router
ricava gli indirizzi per tutti i dispositivi. È il motivo per cui in IPv6 non serve il NAT.
Convivenza con IPv4
Il modo normale di convivere è il dual stack: entrambi i protocolli attivi contemporaneamente sulla stessa interfaccia. La scelta di quale usare per una data connessione spetta al sistema operativo, che applica Happy Eyeballs (RFC 8305): tenta entrambi quasi in parallelo e tiene quello che risponde prima, così un IPv6 mal configurato non blocca la navigazione ma la rallenta soltanto di poco.
Dove l'IPv4 pubblico scarseggia esistono meccanismi di transizione — NAT64 con DNS64, 464XLAT sulle reti mobili, tunnel come 6rd — che permettono a un dispositivo con solo IPv6 di raggiungere servizi ancora solo IPv4.
Verificare e diagnosticare
ip -6 addr·ipconfig— indirizzi IPv6 delle interfacce localiping -6 mioip.org·ping6— raggiungibilità in IPv6curl -6 https://…ecurl -4 https://…— forza il protocollo e mostra quale funzionadig AAAA dominio— verifica se un dominio è pubblicato in IPv6traceroute6— il percorso seguito dai pacchetti IPv6
Un dettaglio che genera confusione: una notazione come ::ffff:93.45.201.7 non è un
vero indirizzo IPv6, ma un IPv4 rappresentato in forma IPv6 (IPv4-mapped). Se la vedi al posto di
un indirizzo IPv6 vero, la connessione IPv6 non c'è.
Vuoi vedere il tuo indirizzo IP in questo momento?
Mostra il mio IP