Approfondimento tecnico
    I meccanismi di transizione
Telecom Italia logo
     English | ngnet.it home >> Cos´è IPv6 >> I meccanismi di transizione  
IPv4 e IPv6 sono protocolli incompatibili. Per questo motivo la transizione verso il nuovo protocollo non può risultare indolore ed è associata a costi significativi sia per i Service Provider sia per i clienti. Tuttavia i costi della transizione vanno confrontati con i costi della non-transizione correlati con l'esigenza di far evolvere IPv4 per supportare i nuovi servizi. Dal confronto può emergere quale sia, caso per caso, il momento conveniente in cui avviare la transizione.

Qualunque sia il momento di inizio della transizione, non è ipotizzabile individuare una data spartiacque, prima della quale tutta la rete è IPv4 e dopo la quale diventa magicamente IPv6: a livello Internet la transizione sarà un processo lungo che vedrà per molti anni la coesistenza dei due protocolli.

Per agevolare la transizione, l'IETF ha istituito un gruppo di lavoro denominato ngtrans (Next Generation TRANSition) che si occupa di specificare i meccanismi di supporto all'interlavoro tra IPv4 e IPv6. In particolare sono stati affrontati due problemi principali:

  • come far comunicare terminali IPv6 con terminali IPv4;
  • come trasportare IPv6 su una rete IPv4, per far comunicare "isole" IPv6 interconnesse attraverso la rete Internet IPv4.
Questo secondo problema, molto rilevante nella prima fase di introduzione di IPv6, sarà affiancato in futuro dal problema reciproco: come fare a trasportare IPv4 su IPv6. Tuttavia, la discussione di questo aspetto è stata rimandata al momento in cui vi sarà una significativa presenza di IPv6 nelle reti che compongono Internet. L'analisi di questi problemi ha portato alla definizione di un insieme di meccanismi di transizione, i quali trovano ciascuno il proprio campo di applicazione ed utilizzo.

La comunicazione tra terminali IPv4 e IPv6

Lo schema base per permettere tutte le comunicazioni è il cosiddetto IP dual stack, che prevede che ogni nuovo terminale, server, router e altro apparato che tratta il livello IP supporti entrambe i protocolli. In questo modo le comunicazioni tra terminali IPv6 avvengono in modo diretto, mentre quando un terminale IPv4/IPv6 deve comunicare con un terminale solo IPv4 lo può fare in IPv4. Questo schema non è molto gravoso per i terminali ed i server: si tratta di un aggiornamento software che non ha impatti significativi sul sistema. Tuttavia il principale svantaggio di questo schema è la necessità di dover mantenere una rete multiprotocollo con una doppia infrastruttura di routing e quindi con un aumento del carico di lavoro per gli amministratori. Inoltre, l'uso generalizzato del modello IP dual stack non sarà possibile quando nuovi indirizzi IPv4 non potranno più essere assegnati perché lo spazio di indirizzamento è esaurito.

Per superare questi problemi sono state definite alcune soluzioni di interlavoro tra reti soltanto IPv6 e reti soltanto IPv4, che consentano la comunicazione end-to-end tra terminali eterogenei:

  • dispositivi ALG di tipo IP dual stack, che permettono di operare la conversione di protocollo ai confini tra reti disomogenee attraverso l'uso di Proxy applicativi realizzati su server dual stack;
  • dispositivi NAT-PT (Network Address Translator - Protocol Translator) (RFC2766), che permettono di operare la conversione di indirizzo e protocollo ai confini tra reti disomogenee al livello IP;
  • il meccanismo DSTM (Dual Stack Transition Mechanism), che propone l'uso dello schema IP dual stack sulla base di indirizzi IPv4 assegnati dinamicamente solo all'occorrenza e sull'uso di tunneling IPv4 in IPv6 per attraversare la rete locale IPv6 prima di accedere alla rete esterna IPv4.
Questi meccanismi di transizione presentano gli stessi svantaggi degli analoghi meccanismi proposti per interconnettere reti IPv4 disgiunte, ma hanno un significativo vantaggio di prospettiva. Infatti, mentre nel caso delle reti IPv4 essi sono meccanismi definitivi, dei quali non si potrà più fare a meno, nella transizione verso IPv6 essi sono funzionali alla coesistenza di IPv4 ed IPv6, che dovrebbe terminare quando la rete Internet sarà tutta IPv6.

Il trasporto di IPv6 su IPv4

La tecnica di base per trasportare IPv6 su IPv4 è quella del tunneling, che prevede l'incapsulamento di pacchetti IPv6 all'interno di pacchetti IPv4, per consentire loro di attraversare porzioni IPv4 della rete. Un tunnel è un collegamento tra due end-point IPv4 che deve essere configurato: si tratta di specificare per quali destinazioni IPv6 (un indirizzo o un prefisso) i pacchetti debbano essere incapsulati e verso quale end-point IPv4 remoto debbano essere inviati. Nel caso più semplice la configurazione dei tunnel avviene manualmente da parte dell'ammistratore di rete in accordo con l'amministratore della rete in cui risiede l'end-point IPv4 remoto: questo tipo di tunneling è denominato abitualmente tunneling statico. La gran parte delle interconnessioni tra reti IPv6 utilizzate nella sperimentazione mondiale di 6Bone è realizzata attraverso tunneling statico.

Tuttavia la gestione di grandi quantità di tunnel, come ad esempio nel caso delle connessioni degli utenti, è causa di un gravoso carico amministrativo per i gestori delle reti e rende necessaria la definizione di meccanismi automatici per la configurazione dei tunnel. Questo tipo di tunneling, detto tunneling dinamico, è stato proposto in numerose varianti. La prima proposta (RFC2893), basata sulla possibilità di utilizzare indirizzi IPv6 generati automaticamente a partire dagli indirizzi IPv4 sorgente e destinazione (indirizzi IPv4 compatibili), non ha riscosso molto consenso, perché rende impossibile in IPv6 realizzare un routing gerarchico ottimale richiedendo di fatto l'importazione delle tabelle di routing IPv4 all'interno dell'infrastruttura di routing IPv6.

Le soluzioni di maggiore interesse, ognuna delle quali trova il proprio ambito di applicazione, sono le seguenti:

  • 6over4 (RFC2529), che prevede la possibilità di realizzare un incapsulamento automatico di pacchetti IPv6 su una rete IPv4 in cui sia abilitato il servizio IP multicast [20], utilizzato per fare in modo che IPv6 veda l'intera rete come un'unica LAN (Local Area Network). Ciò rende possibile la determinazione automatica dell'end-point IPv4 remoto attraverso meccanismi nativi del nuovo protocollo. Questa soluzione presenta problemi di scalabilità e si scontra con il fatto che il servizio IP multicast non è ancora disponibile in modo generalizzato sulla rete Internet: per questi motivi si tratta di una soluzione efficace all'interno di reti aziendali o campus che supportano IP multicast.
  • 6to4 (RFC3056), che definisce una modalità di costruzione automatica di indirizzi IPv6 a partire da indirizzi IPv4 migliorativa rispetto agli indirizzi IPv4 compatibili. Questa tecnica rende estremamente agevoli le comunicazioni tra "isole" IPv6 immerse in una rete IPv4. Presenta tuttavia problemi non completamente risolti per il caso delle comunicazioni tra una rete IPv6 isolata e la rete Internet IPv6, che cresce sulla base di uno schema di indirizzamento unicast diverso da quello previsto dal 6to4.
  • Tunnel Broker IPv6 (RFC3053), che prevede l'uso di server dedicati che si fanno carico della configurazione automatica dei tunnel per conto degli utenti. Questa tecnica risulta particolarmente adatta nel caso dei collegamenti tra piccoli utenti (la tradizionale utenza dial-up di Internet) ed un Service Provider IPv6.

Tunnel Broker IPv6

Il Tunnel Broker IPv6 (RFC3053) è uno strumento di transizione da IPv4 ad IPv6 sviluppato con il contributo di CSELT nell'ambito del gruppo di lavoro ngtrans dell'IETF.

Il Tunnel Broker IPv6 offre un servizio di configurazione automatica di tunnel IPv6 in IPv4 ad utenti collegati alla rete Internet IPv4 (il requisito è quello che tra l'utente e la sede del Provider del servizio vi sia connettività IPv4: Internet è il caso più comune, ma può trattarsi anche di una rete IPv4 privata).

Il modo di funzionamento del servizio è il seguente:

  1. L'utente contatta il Tunnel Broker ed effettua una procedura di registrazione, ad esempio riempiendo un modulo Web che costituisce la pagina di accesso al servizio. L'uso di https (secure http) è consigliato per preservare la privacy dell'utente. In risposta ottiene una coppia <username, password> che utilizzerà per accedere al servizio.

  2. L'utente contatta nuovamente il Tunnel Broker e si autentica, dopo di che fornisce informazioni minime sulla configurazione del suo terminale (indirizzo IP, sistema operativo, software di supporto ad IPv6).
  3. Il Tunnel Broker configura l'end-point del tunnel lato rete, il DNS Server ed il terminale dell'utente.

  4. A questo punto il tunnel è attivo e l'utente è collegato alla rete IPv6.

L'utente può modificare o rimuovere in sicurezza il proprio tunnel accedendo nuovamente al TB con il proprio <username, password>. Inoltre l'amministratore del Tunnel Broker può controllare l'attività degli utenti per far rispettare le proprie politiche di accesso al servizio.

Riferimenti

  • [RFC2766] G. Tsirtsis e P. Srisuresh, Network Address Translation - Protocol Translation (NAT-PT), RFC2766, Feb. 2000
  • J. Bound, L. Toutain, F. Dupont, H. Afifi e A. Durand, Dual Stack Transition Mechanism (DSTM), draft-ietf-ngtrans-dstm-04.txt, Gen. 2001
  • [RFC2893] R. Gilligan e E. Nordmark, Transition Mechanisms for IPv6 Hosts and Routers, RFC2893, Ago. 2000
  • [RFC2529] B. Carpenter e C. Jung, Transmission of IPv6 over IPv4 Domains without Explicit Tunnels, RFC2529, Mar 1999
  • [RFC3056] B. Carpenter e K. Moore, Connection of IPv6 Domains via IPv4 Clouds, RFC3056, Feb. 2001
  • [RFC3053] A. Durand, P. Fasano, I. Guardini e D. Lento, IPv6 Tunnel Broker, RFC3053, Feb. 2001

P. Fasano, G. Girardi e I. Guardini