Disclaimer

Attenzione

Il gruppo ipv6italia non è più attivo dal 2013. Le informazioni presenti su questo sito sono state prodotte nel periodo di attività del gruppo (2010-2013).

Se il tuo sistema (computer, router) dispone di funzionalità IPv6 ma è connesso a reti ipv4-only, puoi collegarlo all'Internet IPv6 globale per mezzo di un tunnel.

Prima di andare avanti, se non sei sicuro di sapere cosa è un pacchetto IP, leggi qui.

Un tunnel serve a trasmettere pacchetti IPv6 inserendoli nel campo dati all'interno di un pacchetto IPv4. L'indirizzo di destinazione del pacchetto IPv4 è l'indirizzo di un sistema su cui sono attivi entrambi i protocolli. Il destinatario del pacchetto IPv4 estrae il pacchetto IPv6 e lo inoltra verso la destinazione IPv6 finale (che può essere lui stesso).

In questa pagina si descrivono quelle soluzioni di tunneling che permettono ad un utente periferico, privo di connettività IPv6, di raggiungere il resto dell'Internet v6. Di solito questi i tunnel hanno una terminazione su un sistema "client" presso l'utente periferico ed un'altra su un sistema "server" (o "relay" o "PoP") situato in qualche parte dell'Internet v6. Il tunnel può essere usato per fornire connettività IPv6 al solo sistema "client", o anche ad un insieme di reti a valle del sistema "client". In quest'ultimo caso il sistema "client" funge da router IPv6 per le reti a valle. Su tutte le reti a valle del "client/router" si usano indirizzi IPv6 aventi lo stesso valore nei primi n bit dell'indirizzo (in termini tecnici, lo stesso prefisso /n). Valori tipici di n sono

64: una sola rete a valle del "client/router"

60: 16 reti a valle del "client/router"

56: 256 reti a valle del "client/router"

52: 4096 reti a valle del "client/router"

48: 65536 reti a valle del "client/router".

Il sistema "server" all'altra estremità del tunnel invia al "client/router" i pacchetti destinati a indirizzi IPv6 aventi quel prefisso.

Esistono più tipi di tunnel. Una distinzione importante è quella fra tunnel automatici e tunnel configurati. I tunnel automatici possono essere attivati sul sistema "client" senza che sia necessario concordare parametri con il gestore del sistema "server". Anche se consigliamo l'uso dei tunnel configurati, abbiamo inserito una breve descrizione dei tunnel automatici, anche perché sui sistemi Windows possono attivarsi automaticamente, senza interventi da parte dell'amministratore del computer. Accenniamo anche ad una soluzione ibrida, 6rd, che sta prendendo piede presso alcuni provider.

Tunnel automatici

I tipi di tunnel automatici più usati sono Teredo e 6to4. 6to4 può essere usato quando il sistema periferico ha almeno un indirizzo IPv4 pubblico. Negli altri casi, cioè quando ci si trova sul lato interno di un NAT, l'unico tipo di tunnel automatico utilizzabile è Teredo.

I sistemi sul lato periferico di un tunnel automatico usano indirizzi IPv6 di tipo particolare, nei quali sono presenti tutte le informazioni necessarie al "relay" per costruire i pacchetti IPv4 che devono trasportare i pacchetti IPv6 diretti al sistema"client".

Il sistema "client" di un tunnel 6to4 può anche fungere da router IPv6 per le reti a valle. Il prefisso utilizzabile per gli indirizzi IPv6 delle reti a valle è lungo 48 bit e contiene nei primi 16 bit il valore esadecimale "2002" e nei 32 successivi uno degli indirizzi IPv4 pubblici del "client/router".

Quasi tutti i router ADSL con funzionalità IPv6 possono fungere da "client/router" 6to4.

Il sistema "client" di un tunnel Teredo non può fungere da router.

I sistemi Windows recenti cercano sempre di dotarsi di connettività IPv6 e, se necessario, attivano automaticamente un tunnel 6to4 o Teredo.

Nonostante il pregio di essere attivabili senza richiedere interazioni con terzi, i tunnel automatici danno luogo ad alcuni inconvenienti. Il primo inconveniente deriva proprio dal fatto che gli indirizzi IPv6 dei sistemi periferici dipendono dall'indirizzamento IPv4 del sistema stesso, per cui se questo ha un indirizzo IPv4 dinamico, saranno variabili anche gli indirizzi IPv6. Un altro problema deriva dalle prestazioni di questi tunnel, generalmente assai poco prevedibili.

I sistemi operativi più recenti, anche quando dispongono di connettività IPv6 ottenuta con un tunnel automatico, evitano di farvi transitare il traffico. In particolare, un browser web su un sistema con indirizzo 6to4, quando deve connettersi a un sito, prova prima a vedere se il sito ha un indirizzo IPv4 e, solo in sua mancanza, prova IPv6, mentre normalmente su un sistema con connettività IPv6 nativa si prova prima IPv6 e poi IPv4. I browser dei sistemi con indirizzo Teredo provano solo a connettersi in IPv4: per obbligarli ad usare IPv6 transitando attraverso il tunnel, bisogna fornire al browser l'indirizzo IPv6 numerico del destinatario (es.: http://[2a00:1620:c0:60:146:48:99:238]/.

Una descrizione dettagliata dei tunnel automatici si trova nel seminario "Come attivare IPv6 sui sistemi operativi", all'interno dell'argomento 4 del corso GARR (https://learning.garr.it/learning/, è necessario registrarsi).

Tunnel configurati

Senza entrare nei dettagli delle varie tipologie dei tunnel configurati, ci limitiamo a menzionare i servizi di "Tunnel broker", che a nostro giudizio forniscono la soluzione più pratica ed affidabile per chi vuole avere connettività IPv6 pur trovandosi su una rete IPv4-only. Generalmente gli utilizzatori del servizio ricevono dal gestore le credenziali per accedere: la coppia user/password e talvolta anche un "Tunnel-ID". Sul sistema all'estremità periferica deve essere presente l'applicazione "client" che, interagendo con il server del Tunnel broker, provoca l'attivazione del tunnel e impara dal server gli indirizzi IPv6 da usare sul sistema stesso e (opzionalmente) il prefisso da distribuire sulle reti adiacenti. Spesso l'applicazione "client" è fornita dallo stesso gestore del Tunnel broker; esistono anche piccoli router contenenti l'applicazione "client" per l'accesso ai servizi di determinati Tunnel broker.

In Europa sono assai usate le soluzioni di gogo6 e di SixXS.

Gogo6 è una società privata impegnata nella promozione di IPv6 attraverso:

- gogoNET: un forum tematico su IPv6,

- gogoWARE: prodotti hardware e software per distribuire IPv6 attraverso servizi di tunnel broker,

- Freenet6: un servizio gratuito di tunnel broker basato sui prodotti gogoWARE.

La gamma di prodotti gogoWARE comprende:

- il gogoSERVER: una appliance per chi vuol gestire un servizio di tunnel broker, tipicamente destinata ai provider

- il gogoCLIENT: il client software gratuito, installabile su molti sistemi operativi

- il gogoCPE: una piccola appliance contenente il gogoCLIENT, con cui, a detta del costruttore, si riesce ad avere IPv6 su una LAN in meno di 60 secondi.

Attivare un tunnel attraverso Freenet6 è relativamente semplice e assai rapido. Chi si collega a Freenet6 in modealità "client/router" riceve un prefisso IPv6 lungo 56 bit. Per noi Europei il principale inconveniente deriva dal fatto che in Europa c'è solo un server ad Amsterdam, per cui le prestazioni talvolta lasciano un po' a desiderare. Esistono tuttavia anche alcuni provider commerciali che offrono ai loro clienti un servizio di Tunnel Broker basato sui prodotti gogoWARE.

La documentazione reperibile sul sito di gogo6 è stata scritta per il lettore inesperto; purtroppo il risultato di questa scelta spesso è una scarsa chiarezza. Da segnalare la presenza sul sito di molti link obsoleti, che rendono difficile il reperimento delle informazioni.

SixXS (Six Access) è un'associazione senza fini di lucro, che offre servizi gratuiti ai Local Internet Registry (LIR) e agli utenti finali, allo scopo di favorire la diffusione di IPv6.

Il servizio di Tunnel broker di SixXS è basato sulla cooperazione di numerosi gestori di PoP, distribuiti principalmente in Europa, ma anche in altre parti del mondo. Al momento della richiesta di un nuovo tunnel, l'utente ha la possibilità di specificare il PoP da lui preferito. In Italia ce ne è uno, che si trova a Torino ed è gestito da ITgate. Il client software da installare sul sistema all'estremità periferica del tunnel si chiama AICCU, è scaricabile dal sito di SixXS ed è stato sviluppato per numerosi sistemi operativi. AICCU è pre-installato anche su alcuni router ADSL. Il titolare di un tunnel SixXS può farsi assegnare un prefisso IPv6 di lunghezza compresa fra 64 e 48 bit.

La documentazione di SixXS è chiara e completa, ma è stata scritta per il lettore esperto, per cui può risultare un po' ostica ad un profano. Il servizio è estremamente affidabile e le prestazioni sono ottime. Un aspetto negativo è la lentezza delle procedure amministrative, che si appoggiano sul lavoro di volontari: per l'assegnazione di un nuovo tunnel, può succedere di dover attendere anche più di una settimana.

Tunnel 6rd

6rd (IPv6 Rapid Deployment) può essere considerato una via di mezzo fra i tunnel automatici e quelli configurati. La soluzione può essere usata solo dai clienti di quei provider che offrono tale servizio. Anche se non siamo a conoscenza di provider italiani che offrano il servizio, forniamo qui una breve descrizione della soluzione a scopo informativo.

È una versione modificata della soluzione 6to4, utilizzabile da un provider per fornire connettività IPv6 ai suoli clienti. Una delle differenze sta nel fatto che il server che funge da "relay" è gestito dal provider e che il percorso dei tunnel si trova interamente all'interno della rete del provider. Ciò consente al provider di fornire ai suoi clienti garanzie sulla qualità dei tunnel, diversamente da quanto avviene con la soluzione 6to4, in cui i "relay" sono tanti e la loro scelta dipende da fattori fuori dal controllo del provider o del suo cliente. Il gestore di un servizio 6rd fa in modo che tutti gli indirizzi IPv4 dei "client/router" dei suoi clienti abbiano lo stesso prefisso di m bit, in modo che sia possibile ricostruire l'indirizzo IPv4 del "client/router" conoscendo i 32-m bit di destra. Tutti i sistemi a valle del "client/router" utilizzano indirizzi IPv6 aventi nei primi 32 bit un prefisso IPv6 del provider e nei successivi 32-m la parte destra di un indirizzo IPv4 del "client/router". La lunghezza del prefisso utilizzabile per gli indirizzi da distribuire fra i sistemi a valle del "client/router" è di 64-m bit e il numero massimo di reti indirizzabili è 2 elevato alla m. Notare che, diversamente da quanto avviene per 6to4, l'indirizzo IPv4 del "client/router" può anche non essere pubblico: è sufficiente che sia univoco all'interno della rete del provider.

6rd è disponibile su quasi tutti i router ADSL con funzionalità IPv6.

INTERNET E GLI INDIRIZZI IP

Definizioni fondamentali

Pacchetto IP: un insieme di dati (di solito inferiore a 1500 byte) preceduto da informazioni di instradamento formattate secondo le regole dell’Internet Protocol (IP) [Settembre 1981: pubblicazione finale della versione 4 di IP (IPv4); Dicembre 1998: pubblicazione finale della versione 6 di IP (IPv6)]

Host IP: un apparato in grado di comprendere e/o di produrre un pacchetto IP [computer, router, smartphone, play station, telefono VoIP, elettrodomestico intelligente…]

Link IP: un mezzo trasmissivo attraverso il quale due o più host IP possono scambiarsi pacchetti IP direttamente, senza che altri apparati debbano instradarli basandosi sulle informazioni IP [LAN Ethernet, rete wifi, collegamento UMTS, collegamento ADSL, circuito dedicato…]

Router IP: un host IP che riceve pacchetti da un link IP e li inoltra su altri link IP, basando le sue decisioni di instradamento sulle informazioni presenti all’inizio del pacchetto IP

Rete IP: una rete composta da host/router IP interconnessi da link IP [Es.: Internet]

Interfaccia: il collegamento di un host IP a un link IP

Indirizzo IP: un numero che identifica in maniera univoca le interfacce degli host di una rete IP

Ricordati anche che:

•    Un host IP collegato a più link IP ha più interfacce e quindi ha più indirizzi IP
•    Indirizzo IPv4: numero di 32 bit (4 byte); si usa rappresentarlo con 4 numeri decimali separati da “.”: 192.0.2.1
•    Indirizzo IPv6: numero di 128 bit (16 byte); si usa rappresentarlo con 8 gruppi di 4 cifre esadecimali separate da “:”: 2001:0db8:0000:0000:00a9:0000:0000:0001
•    Con i 32 bit di IPv4 si possono rappresentare 2^32=4.294.967.296 valori diversi
•    Con i 128 di IPv6 se ne possono rappresentare 2^128 = 340.282.366.920.938.463.463.374.607.431.768.211.45