Con l’in­tro­du­zio­ne dell’IPv6 si mo­di­fi­ca­no i processi di base della co­mu­ni­ca­zio­ne in rete. L’espan­sio­ne dello spazio di in­di­riz­za­men­to da 32 a 128 bit non mira solo a risolvere il problema della crescente penuria di indirizzi IP, ma il nuovo standard consente anche di in­di­riz­zar­si in modo univoco a tutti i di­spo­si­ti­vi presenti in una rete. Di­ver­sa­men­te dall’IPv4, la versione 6 applica con­se­guen­te­men­te il concetto alla base dell’IP, cioè il principio end-to-end. Vi spie­ghia­mo in che modo.

Novità: offerta VPS
Il tuo server virtuale a prezzi im­bat­ti­bi­li

Prova il nostro VPS. I primi 30 giorni sono in omaggio e se allo scadere del periodo di prova non sarai convinto, ti rim­bor­se­re­mo tutte le spese sostenute.

Che cos’è l’IPv6?

IPv6 sta per “Internet Protocol Version 6” e co­sti­tui­sce uno dei pro­ce­di­men­ti standard della Internet En­gi­nee­ring Task Force (IETF) per la tra­smis­sio­ne di pacchetti nelle reti di computer. Insieme a circa altri 500 pro­to­col­li di rete della famiglia TCP/IP, l’IPv6 si configura come il diretto suc­ces­so­re dell’IPv4, la base della co­mu­ni­ca­zio­ne in rete. Le funzioni prin­ci­pa­li dell’IPv6 sono l’in­di­riz­za­men­to di elementi di rete at­tra­ver­so indirizzi IPv6 e l’inoltro dei pacchetti tra i com­po­nen­ti della rete, chiamato anche routing. Il pro­to­col­lo IPv6 si colloca nel livello di rete (livello 3) del modello ISO/OSI.

L’as­se­gna­zio­ne degli indirizzi IP avviene tramite RIRs (Regional Internet Re­gi­stries), che ricevono un proprio range di indirizzi IP dalla IANA (Internet Assigned Numbers Authority). Il RIR re­spon­sa­bi­le per l’Europa, l’Est e l’Asia con­ti­nen­ta­le è il RIPE NCC (Réseaux IP Européens Network Coor­di­na­tion Centre).

IPv6 vs. IPv4

Già di primo acchito si scorge che il nuovo formato di indirizzo dell’IP nella versione 6 si distingue net­ta­men­te dal suo pre­de­ces­so­re IPv4.

  • Indirizzo IPv4: 203.0.120.195
  • Indirizzo IPv6: 2001:0620:0000:0000:0211:24FF:FE80:C12C

Mentre nell’IP di versione 4 venivano uti­liz­za­ti gli indirizzi a 32 bit, so­li­ta­men­te pre­sen­ta­ti sotto forma di decimali, il suc­ces­so­re IPv6 si basa su indirizzi a 128 bit, che si pre­sen­ta­no sotto forma di esa­de­ci­ma­li per motivi di leg­gi­bi­li­tà. Il confronto diretto sem­pli­fi­ca la spie­ga­zio­ne di questa questione im­por­tan­te, a cui è seguita l’in­tro­du­zio­ne di un nuovo standard IP: con 128 bit si possono generare molti più indirizzi IP unici rispetto che uti­liz­zan­do 32 bit.

  • Spazio di in­di­riz­za­men­to dell‘IPv4: 32 bit = 232 di indirizzi ≈ 4,3 miliardi di indirizzi
  • Spazio di in­di­riz­za­men­to dell‘IPv6: 128 bit = 2128 di indirizzi ≈ 340 se­sti­lio­ni di indirizzi

Questa dif­fe­ren­za di quantità diventa più chiara tramite un confronto: mentre lo spazio di in­di­riz­za­men­to dell’IPv4 con i suoi 4,3 miliardi di IP non basta per dotare tutte le persone sul pianeta di un unico indirizzo, con un sistema a 128 bit teo­ri­ca­men­te si potrebbe dotare ogni granello di sabbia sul pianeta di un indirizzo IP. L’in­tro­du­zio­ne dell’IPv6 può anche essere con­si­de­ra­ta come un in­ve­sti­men­to per il futuro. Infatti i trend come Internet of Things (IoT) sup­por­ta­no il fatto che il numero di di­spo­si­ti­vi collegati ad Internet ed iden­ti­fi­ca­bi­li uni­vo­ca­men­te au­men­te­ran­no dra­sti­ca­men­te nei prossimi anni.

Struttura di un indirizzo IPv6

I 128 bit di un indirizzo IPv6 sono suddivisi in 8 blocchi di 16 bit. Tramite una scrittura esa­de­ci­ma­le si può annotare un blocco di 16 bit con 4 cifre e lettere. I due punti sono uti­liz­za­ti come elemento di se­pa­ra­zio­ne:

  • 2001:0620:0000:0000:0211:24FF:FE80:C12C

Per strut­tu­ra­re l’indirizzo IPv6 in un modo più agevole, si è affermata una forma di scrittura più breve, in cui possono essere tra­la­scia­ti gli 0 in­tro­dut­ti­vi all’interno dei blocchi esa­de­ci­ma­li. Se un blocco esa­de­ci­ma­le è composto esclu­si­va­men­te da zeri, l’ultimo è quello che deve rimanere:

  • 2001:0620:0000:0000:0211:24FF:FE80:C12C
  • 2001:620:0:0:211:24FF:FE80:C12C

Inoltre, per ogni indirizzo IPv6 è possibile can­cel­la­re una volta i blocchi di zeri con­se­cu­ti­vi in qualsiasi punto si trovino:

  • 2001:620:0:0:211:24FF:FE80:C12C
  • 2001:620::211:24FF:FE80:C12C

Questa omissione si indica con due punti con­se­cu­ti­vi (nell’esempio sopra presenti dopo il secondo blocco).

Pra­ti­ca­men­te gli utenti hanno a di­spo­si­zio­ne meno indirizzi di quanto il formato a 128 bit lasci supporre. Uno dei motivi è il criterio uti­liz­za­to per la struttura dell’IPv6: di­ver­sa­men­te dai suoi pre­de­ces­so­ri, il nuovo standard dovrebbe con­sen­ti­re una vera con­nes­sio­ne end-to-end e rendere superflua la con­ver­sio­ne di indirizzi IP privati in pubblici, ri­cor­ren­do alla NAT (Network Address Trans­la­tion). Teo­ri­ca­men­te si può rea­liz­za­re una con­nes­sio­ne end-to-end anche con un indirizzo IPv4, ma poiché lo spazio di in­di­riz­za­men­to dell’IPv4 è troppo piccolo per assegnare ad ogni di­spo­si­ti­vo un indirizzo unico, è stato svi­lup­pa­to un sistema con spazi di in­di­riz­za­men­to separati e com­po­nen­ti NAT co­mu­ni­can­ti. Con il nuovo standard ogni di­spo­si­ti­vo, collegato ad una LAN, può essere in­di­riz­za­to lo­gi­ca­men­te tramite un proprio IP. Gli indirizzi IPv6 com­pren­do­no perciò, oltre alla parte relativa all’in­di­riz­za­men­to di rete (chiamata anche indirizzo di rete o prefisso di routing), un Interface Iden­ti­fier univoco, che risulta dall’indirizzo MAC della scheda di rete del di­spo­si­ti­vo o viene generato ma­nual­men­te. Sia il prefisso di routing che l’Interface Iden­ti­fier com­pren­do­no ciascuno 64 bit di un indirizzo IPv6.

Struttura del prefisso di routing

Il prefisso di routing di un indirizzo IPv6 è ge­ne­ral­men­te suddiviso in un prefisso di rete e in un prefisso di sottorete. Viene rap­pre­sen­ta­to gra­fi­ca­men­te con una notazione CIDR (Classless Inter-Domain Routing). In questo caso la lunghezza del prefisso, cioè la lunghezza del prefisso in bit, è collegata all’indirizzo di rete con uno slash (/).

La notazione 2001:0820:9511::/48 descrive ad esempio una sottorete che comprende gli indirizzi da 2001:0820:9511:0000:0000:0000:0000:0000 fino a 2001:0820:9511:FFFF:FFFF:FFFF:FFFF:FFFF.

Ge­ne­ral­men­te il RIR assegna ai provider (ISP) /32 reti, che sono suddivise di nuovo in sottoreti. Per i clienti vengono infine messe a di­spo­si­zio­ne /48 reti o /56 reti. La seguente tabella mostra la struttura tipica di un indirizzo di global unicast basato su un IPv6, composto da prefisso di rete, prefisso di sottorete e Interface Iden­ti­fier:

Struttura dell’Interface Iden­ti­fier

L’Interface Iden­ti­fier serve per l’as­se­gna­zio­ne univoca di uno specifico di­spo­si­ti­vo collegato ad una rete e viene stabilito ma­nual­men­te o generato sulla base di un indirizzo MAC della scheda di rete del di­spo­si­ti­vo, come avviene di solito e si basa sulla con­ver­sio­ne del formato standard di indirizzo MAC nel formato mo­di­fi­ca­to EUI-64. Questo processo avviene in tre passaggi:

  • Nel primo passaggio l’indirizzo MAC di 48 bit viene scomposto in due lunghe parti da 24 bit ciascuna, che co­sti­tui­sco­no l’inizio e la fine di un Interface Iden­ti­fier di 64 bit.
    • Indirizzo MAC: 00-11-24-80-C1-2C
    • Indirizzo MAC scomposto: 0011:24__:__80:C12C
  • Nel secondo passaggio i 16 bit restanti nella parte centrale sono occupati di solito dalla sequenza di bit 1111 1111 1111 1110, che cor­ri­spon­de al codice esa­de­ci­ma­le FFFE:
    • Indirizzo MAC aggiunto: 0011:24FF:FE80:C12C
    • L’indirizzo MAC è ora nel formato mo­di­fi­ca­to EUI-64.
  • Nel terzo passaggio viene invertito il settimo bit, chiamato anche Universal/Local bit, che indica se un indirizzo è univoco a livello globale o se si usa solo in ambito locale.
    • Sequenza di bit prima dell’in­ver­sio­ne: 0000 0000
    • Sequenza di bit dopo l’in­ver­sio­ne: 0000 0010

    • Interface Iden­ti­fier prima dell’in­ver­sio­ne: 0011:24FF:FE80:C12C
    • Interface Iden­ti­fier dopo l’in­ver­sio­ne: 0211:24FF:FE80:C12C

Privacy Ex­ten­sions

Un indirizzo IPv6, che si basa su un formato mo­di­fi­ca­to EUI-64, riesce a risalire all’indirizzo MAC di base, cosa che getta qualche ombra in merito alla pro­te­zio­ne dei dati e per questo è stata svi­lup­pa­ta la Privacy Ex­ten­sions, un pro­ce­di­men­to che consente di ano­ni­miz­za­re l’Interface Iden­ti­fier anche con l’IPv6, così da con­clu­de­re il col­le­ga­men­to di un indirizzo MAC e di un Interface Iden­ti­fier. Invece Privacy Ex­ten­sions genera più o meno ca­sual­men­te Interface Iden­ti­fier tem­po­ra­nei per con­nes­sio­ni in uscita, cosicché risulta più difficile risalire all’host e al percorso in­tra­pre­so basandosi sull’IP.

Tipi di indirizzi IPv6

Come per gli indirizzi IPv4, anche per gli IPv6 si trovano diversi spazi di in­di­riz­za­men­to con funzioni spe­ci­fi­che e proprietà, spe­ci­fi­ca­ti in RFC 4291 e RFC 5156, che si possono già iden­ti­fi­ca­re con i primi bit di un indirizzo IPv6, cioè il prefisso di formato. Tra i tipi di indirizzi prin­ci­pa­li rientrano gli indirizzi Unicast, Multicast e Anycast.

Indirizzi Unicast

Gli indirizzi Unicast servono per la co­mu­ni­ca­zio­ne di un elemento di rete con un altro e si possono sud­di­vi­de­re in due categorie: gli indirizzi link local e quelli global unicast.

  • Indirizzi link local: gli indirizzi di questa categoria sono validi solo all’interno delle reti locali e co­min­cia­no con il prefisso di formato FE80::/10. Gli indirizzi link local sono uti­liz­za­ti per l’in­di­riz­za­men­to degli elementi all’interno di una rete locale e servono ad esempio per l’au­to­con­fi­gu­ra­zio­ne. Ge­ne­ral­men­te l’ambito di validità di un indirizzo link local si estende fino al router suc­ces­si­vo, cosicché ognuno di questi di­spo­si­ti­vi collegati alla rete sia in grado di co­mu­ni­ca­re con questo, in modo da generare un indirizzo IPv6 globale. Questo processo viene chiamato Neighbor Discovery.
  • Indirizzi global unicast: gli indirizzi global unicast sono indirizzi usati una sola volta a livello mondiale che ne­ces­si­ta­no di un di­spo­si­ti­vo di rete per stabilire una con­nes­sio­ne Internet. Come prefisso di formato viene uti­liz­za­to in genere 2000::/3, che comprende tutti gli indirizzi che co­min­cia­no con 2000 fino a quelli con 3FFF. L’indirizzo global unicast è in­stra­da­bi­le dal router e si può uti­liz­za­re per in­di­riz­zar­si di­ret­ta­men­te ad un host nella rete locale via Internet. Gli indirizzi global unicast, che vengono ri­di­stri­bui­ti dai provider ai clienti, co­min­cia­no con il blocco esa­de­ci­ma­le 2001.

Gli indirizzi Multicast

Mentre gli indirizzi Unicast servono per la co­mu­ni­ca­zio­ne one-to-one, tramite indirizzi Multicast si può rea­liz­za­re una co­mu­ni­ca­zio­ne one-to-many. Si parla perciò di indirizzi di di­stri­bu­zio­ne. I pacchetti che vengono inviati ad un indirizzo Multicast rag­giun­go­no tutti i di­spo­si­ti­vi di rete, che fanno parte di un gruppo Multicast. Così un di­spo­si­ti­vo può ap­par­te­ne­re pa­ral­le­la­men­te a più gruppi Multicast. Se viene creato un indirizzo Unicast IPv6 per un di­spo­si­ti­vo di rete, questo diventa au­to­ma­ti­ca­men­te un membro di gruppi Multicast specifici, che servono per il ri­co­no­sci­men­to, la rag­giun­gi­bi­li­tà e l’iden­ti­fi­ca­zio­ne dei prefissi. I classici gruppi di Multicast sono ad esempio “tutti i router” o “tutti gli host”; in genere FF00::/8 è uti­liz­za­to come prefisso di formato per indirizzi Multicast.

Indirizzi Anycast

Anche con gli indirizzi Anycast si possono in­di­riz­za­re gruppi di di­spo­si­ti­vi de­sti­na­ta­ri. Di­ver­sa­men­te dagli indirizzi Multicast, i pacchetti non vengono inviati a tutti i membri del gruppo Anycast, ma solo al di­spo­si­ti­vo più vicino al mittente. Gli indirizzi Anycast si usano pertanto nell’ambito del bi­lan­cia­men­to del carico e della stabilità.

Il formato di pacchetto dell’indirizzo IPv6

Rispetto all’IPv4, l’indirizzo IPv6 si con­trad­di­stin­gue per un formato di pacchetto sem­pli­fi­ca­to. Per sem­pli­fi­ca­re l’ela­bo­ra­zio­ne dei blocchi IPv6, viene stabilita una lunghezza standard per l’header di 40 byte (320 bit). Le in­for­ma­zio­ni opzionali, ne­ces­sa­rie solo in casi par­ti­co­la­ri, sono im­ma­gaz­zi­na­te negli Extension Header (EH) (esten­sio­ni della sezione in­te­sta­zio­ne), che sono integrati tra lo spazio riservato ai dati dell’in­te­sta­zio­ne e l’effettivo carico utile (payload). Così si possono ag­giun­ge­re opzioni senza che debba essere mo­di­fi­ca­to l’header.

L’header del pacchetto dell’IPv6 comprende così solo 8 campi, al contrario dell’IPv4 dove ne vengono uti­liz­za­ti tredici. La struttura di un header dell’IPv6 si può rap­pre­sen­ta­re sche­ma­ti­ca­men­te come di seguito:

Ogni campo nell’header dell’IPv6 comprende spe­ci­fi­che in­for­ma­zio­ni, che vengono uti­liz­za­te per la tra­smis­sio­ne dei pacchetti tramite IP di rete:

Campo Spie­ga­zio­ne
Version Comprende la versione del pro­to­col­lo IP in base al quale è stato creato il pacchetto IP (4 bit)
Traffic Class Serve per l’as­se­gna­zio­ne delle priorità (8 bit)
Flow Label I pacchetti con­tras­se­gna­ti con lo stesso Flow Label vengono elaborati alla stessa maniera (20 bit)
Payload Length La lunghezza del contenuto inclusivo di esten­sio­ne, ma senza dati di in­te­sta­zio­ne (16 bit)
Next Header Indica il pro­to­col­lo del livello superiore, quello di trasporto (8 bit)
Hop Limit Indica il numero massimo di stazioni in­ter­me­die (router) che può at­tra­ver­sa­re un pacchetto prima che non sia più valido (8 bit)
Source IP Address Comprende l’indirizzo del mittente (128 bit)
De­sti­na­tion IP Address Comprende l’indirizzo del de­sti­na­ta­rio (128 bit)

Tramite l’in­tro­du­zio­ne di Extension Header si possono im­ple­men­ta­re le in­for­ma­zio­ni opzionali nei pacchetti IPv6 in modo più effettivo rispetto a quanto accadeva con l’IPv4. In genere un pacchetto viene letto solo una volta arrivato a de­sti­na­zio­ne, visto che il router durante il percorso di consegna di un pacchetto dell’Extension Header dell’IPv6 non lo verifica né lo elabora. Così con l’IPv6 risulta un so­stan­zia­le mi­glio­ra­men­to della per­for­man­ce del router rispetto allo standard IPv4, che richiede di ve­ri­fi­ca­re le in­for­ma­zio­ni opzionali di tutti i router durante il percorso di consegna. Tra le in­for­ma­zio­ni che possono com­pren­de­re le esten­sio­ni dell’header dell’IPv6 rientrano le opzioni sui nodi, le opzioni di de­sti­na­zio­ne, quelle del routing e quelle in merito alla fram­men­ta­zio­ne, all’au­ten­ti­ca­zio­ne e alla crit­to­gra­fia (IPsec).

Fun­zio­na­li­tà dell’Internet Protocol Version 6

La maggior parte degli utenti associa con l’IPv6 so­prat­tut­to l’esten­sio­ne dello spazio di in­di­riz­za­men­to. Il nuovo standard però offre mol­tis­si­me altre funzioni con le quali si riescono a superare le li­mi­ta­zio­ni prin­ci­pa­li dell’IPv4, come ad esempio la con­se­guen­te rea­liz­za­zio­ne del principio end-to-end, che rende superflua la con­ver­sio­ne tramite NAT e sem­pli­fi­ca così no­te­vol­men­te l’im­ple­men­ta­zio­ne dei pro­to­col­li di sicurezza grazie ad IPsec.

L’IPv6 permette inoltre una con­fi­gu­ra­zio­ne di in­di­riz­za­men­to au­to­ma­ti­ca via Neighbor Discovery e l’as­se­gna­zio­ne di più indirizzi IPv6 univoci per ogni host con diversi ambiti di validità per ri­pro­dur­re le diverse tipologie di rete. Oltre ad un’as­se­gna­zio­ne di in­di­riz­za­men­to ottimale, la sem­pli­fi­ca­zio­ne dell’header del pacchetto e l’im­ma­gaz­zi­na­men­to di in­for­ma­zio­ni opzionali per la tra­smis­sio­ne dei pacchetti negli Header Extension sono re­spon­sa­bi­li per un routing più veloce.

Con QoS (Quality of Service) l’IPv6 dispone di un mec­ca­ni­smo di sicurezza integrato dei servizi, che si occupa di prio­riz­za­re i pacchetti più urgenti e di strut­tu­ra­re la gestione dei pacchetti in modo più ef­fi­cien­te. Inoltre i campi “Traffic Class” e “Flow Label” vengono adattati di­ret­ta­men­te al metodo QoS.

Da con­si­de­ra­re più cri­ti­ca­men­te è invece l’as­se­gna­zio­ne degli indirizzi IP ai di­spo­si­ti­vi di rete locali e la pratica di generare un Interface Iden­ti­fier univoco basandosi sugli indirizzi MAC. Con Privacy Ex­ten­tions è stata creata quindi un’al­ter­na­ti­va al formato di indirizzo mo­di­fi­ca­to EUI-64; visto che per creare il percorso di un utente, basta es­sen­zial­men­te anche il prefisso di un indirizzo IPv6, sarebbe con­si­glia­bi­le, in aggiunta a Privacy Ex­ten­tions, un prefisso assegnato di­na­mi­ca­men­te dall’ISP per la tutela dell’anonimità.

Vai al menu prin­ci­pa­le