Perché esiste IPv6
IPv4 ha circa 4,3 miliardi di indirizzi (2^32). Sembrava inesauribile negli anni 1980 ed è ora da tempo esaurito presso i registri. IPv6, definito per l'indirizzamento nella RFC 4291, allarga l'indirizzo da 32 bit a 128 bit, che sono 2^128 indirizzi, un numero abbastanza grande da far sì che la scarsità smetta di essere il vincolo di progettazione. L'effetto pratico è che le sottoreti diventano enormi e i trucchi di conservazione degli indirizzi come il non sono più richiesti per la connettività di base.
La struttura di 128 bit
Un indirizzo IPv6 è di 128 bit, scritto come otto gruppi di quattro cifre esadecimali separati da due punti. Ogni gruppo è un valore di 16 bit:
2001:0db8:0000:0000:0008:0800:200c:417a
Quella forma completamente scritta è la rappresentazione espansa. Poiché è lunga e piena di zeri, la forma testuale ha regole di compressione.
Scrivere un indirizzo: le regole di compressione
Due regole accorciano il testo, e la RFC 5952 rende il risultato canonico (un indirizzo, una grafia preferita):
- Sopprimi gli zeri iniziali in ogni gruppo:
0db8diventadb8,0000diventa0. - Sostituisci una sequenza di gruppi consecutivi tutti-zero con
::. Il doppio due punti può apparire al massimo una volta, e sta per uno o più gruppi di 16 bit di zeri. Quando esistono varie sequenze di uguale lunghezza, la prima è compressa.
Applicare entrambe all'indirizzo sopra dà la sua forma canonica:
2001:db8::8:800:200c:417a
La RFC 5952 aggiunge alcune regole finali affinché gli strumenti concordino: le cifre esadecimali sono minuscole, e :: non è usato per "comprimere" un singolo gruppo di zeri (questo non accorcerebbe nulla di significativo). Lo strumento IPv6 mostra sia la forma compressa canonica sia la forma completamente espansa fianco a fianco, così che tu possa vedere esattamente cosa rappresenta ::.
Un caso speciale: un indirizzo può portare una coda IPv4 incorporata nei suoi ultimi 32 bit, scritta in decimale puntato. La più comune è la forma IPv4-mappata, dove la RFC 5952 raccomanda la notazione mista ::ffff:192.0.2.128 invece di esadecimale puro.
Prefissi e aritmetica di prefisso
Come il di IPv4, un prefisso IPv6 è scritto indirizzo/lunghezza, dove la lunghezza conta i bit di rete iniziali:
2001:db8::/64
Un /64 significa che i primi 64 bit sono la rete e i 64 rimanenti sono l'identificatore di interfaccia. /64 è la dimensione standard per una singola LAN, e da solo contiene 2^64 indirizzi, circa 18 quintilioni. Lo strumento calcola l'indirizzo di rete (primo), l'ultimo indirizzo, e il conteggio per qualsiasi prefisso che gli dai, mascherando i bit di host a zero per trovare la rete anche se hai digitato un indirizzo con bit di host impostati.
Tipi di indirizzo e ambiti
I bit alti di un indirizzo lo collocano in una categoria. I più importanti, dalla RFC 4291 e dal registro :
- Unicast globale (2000::/3) è lo spazio pubblico instradabile, l'equivalente IPv6 di un indirizzo IPv4 pubblico.
- Unico locale, o ULA (fc00::/7) è lo spazio a uso privato (RFC 4193), analogo alla RFC 1918 in IPv4. Non è instradato su internet pubblica.
- Unicast link-local (fe80::/10) è valido solo su un singolo collegamento ed è configurato automaticamente su ogni interfaccia IPv6. I router non lo inoltrano mai. Il suo ambito è il collegamento locale.
- Multicast (ff00::/8) indirizza un gruppo invece di un singolo host. Un campo di ambito all'interno dell'indirizzo dice quanto lontano raggiunge: interface-local, link-local, admin-local, site-local, organization-local, o global. Per esempio
ff02::1è il gruppo tutti-i-nodi link-local. - Loopback (::1/128) è l'equivalente IPv6 di 127.0.0.1, e l'indirizzo non specificato (::/128) significa "nessun indirizzo", usato come segnaposto durante la configurazione.
- Documentazione (2001:db8::/32) è riservato dalla RFC 3849 per esempi e scrittura, che è il motivo per cui quasi ogni esempio IPv6 che vedi, incluso quello canonico nella stessa RFC 4291, lo usa.
Lo strumento IPv6 riporta il tipo corrispondente e il prefisso specifico che ha trovato, più l'ambito per indirizzi multicast e link-local.
Identificatori di interfaccia ed EUI-64
In un /64 tipico, i 64 bit inferiori sono l'identificatore di interfaccia. Un modo storico di costruirlo era l' modificato (RFC 4291, Appendice A): prendi l'indirizzo MAC di 48 bit, inserisci i byte ff:fe nel mezzo, e inverti il settimo bit (il bit universal/local). Questo rendeva l'id di interfaccia derivabile dall'indirizzo hardware. Quando lo strumento vede il rivelatore ff:fe nel mezzo dell'id di interfaccia, inverte il processo e ti mostra il MAC originale. I sistemi moderni spesso preferiscono identificatori di interfaccia randomizzati o di privacy invece, precisamente perché derivare l'id da un MAC fa trapelare l'indirizzo hardware.
DNS inverso: ip6.arpa
Le ricerche inverse (indirizzo a nome) per IPv6 vivono sotto il dominio ip6.arpa. L'indirizzo è espanso ai suoi 32 nibble esadecimali, quei nibble sono invertiti, e ognuno diventa un'etichetta. Così 2001:db8::1 diventa un nome che termina in ...8.b.d.0.1.0.0.2.ip6.arpa. Lo strumento genera questo nome per qualsiasi indirizzo, che è il valore esatto che metteresti in un record PTR.
Una nota su cosa fa lo strumento
Lo strumento IPv6 è una calcolatrice deterministica e locale. Analizza, canonizza, classifica, e calcola, tutto nel tuo browser, senza alcuna ricerca contro la rete dal vivo. Ti dice cosa è un indirizzo strutturalmente. Non ti dice se quell'indirizzo è raggiungibile, allocato, o in uso, che sono domande separate che richiedono di interrogare la rete o un registro.