Benché in fase avanzata di sviluppo (l’implementazione è quasi ultimata), IPv6 non ha riscontrato grande fermento circa la sua installazione. Ciò è dovuto al fatto che nuove tecniche per la gestione di reti private (su tutte la tecnica NAT) hanno allontanato il reale bisogno di IPv6, che ad oggi è usato soprattutto in centri di ricerca, che ne stanno testando le reali bontà.
La transizione dalla vecchia versione 4 alla nuova versione 6 sarà estremamente lenta. Il numero di macchine connesse ad Internet oggi è molto elevato e sempre, costantemente, in crescita. Come si può allora gestire una simile transizione? Escludiamo da subito un’ipotesi fantasiosa, troppo poco reale ed inutilizzabile: un flag day, cioè una data limite superata la quale tutte le macchine dovranno supportare esclusivamente il protocollo IP versione 6. E’ chiaro allora come serva un periodo di transizione, in cui i nodi approcceranno a IPv6 in maniera graduale. Vi saranno nodi che passeranno definitivamente alla nuova versione proiettandosi nel futuro; altri supporteranno sia la versione 4 sia la versione 6: tale approccio è definito dual stack. Tali nodi sono quelli in grado di indirizzare sia macchine IPv4 che macchine IPv6, cioè sapranno interpretare correttamente entrambi i tipi di datagram.
Il problema di capire se un host supporti o meno IPv4 o IPv6 trova una soluzione nei server DNS: devono essere loro a passare tale informazione in qualche maniera ai client. Tale metodo permetterà di non emarginare quei nodi, che per un motivo o per un altro sanno solo interpretare i datagram versione 4. La “dinamica dei giochi” vuole che ad un certo punto tutti i nodi connessi possano parlare tramite IPv6: la transizione a quel punto sarà completa. Quanto tempo ci vorrà, non è prevedibile e accanto a questo interrogativo ne resta un altro: come si fa a far circolare senza problemi datagram di tipo 4 e di tipo 6 senza interferenze facendo in modo che tutti gli host e i router in grado di manipolarli funzionino correttamente? La risposta si chiama tunneling.
L’approccio dual stack è trattato e ampiamente discusso nella RFC 2893. Il problema più delicato è quello relativo al fatto che un router compatibile solo con IPv4 deve poter manipolare datagram IPv6. Tali router non hanno chiaramente le conoscenze adeguate e scartare i datagram versione 6 è una soluzione non accettabile, anzi impensabile. La soluzione proposta è la seguente: quando un router IPv6 si accorge che il prossimo router a cui consegnare il datagram è solo compatibile IPv4, impacchetta il datagram di tipo 6 in uno di tipo 4, che può quindi essere spedito e manipolato correttamente dal prossimo router.
In sostanza, il datagram tipo 6 costituisce per intero il payload del datagram di tipo 4 passato al router. I router IPv6 sanno riconoscere quando un datagram di tipo 4 include un datagram di tipo 6: può estrarlo e analizzarlo. Il nome tunneling è riferito al fatto che tutti i router compatibili solo con IPv4 vengono pensati come un tunnel di instradamento entro il quale viaggia il datagram di tipo 4. Gli host di invio e ricezione non hanno coscienza del tunnel e francamente a loro non interessa molto, poiché resta valida e corretta la filosofia “da estremo a estremo”.
Concludendo, la versione 6 del protocollo IP porterà indubbi vantaggi e novità in parte assolute. Ma la transizione, come peraltro ampiamente accennato, che porterà da IPv4 a IPv6 è estremamente lenta. Questo a conferma di quanto sia difficile applicare un cambiamento importante in Internet nell’era attuale. Quando richiesti, i cambiamenti richiedono tempi di applicazione lunghi. Il tempo di IPv6 si avvicina sempre di più e, forse, insieme a questo assisteremo a enormi rivoluzioni in merito a Internet. Non ci resta che aspettare.
LEZIONI PRECEDENTI:
14 Dicembre 2007: IPv6, una breve overview (1/4)
17 Dicembre 2007: IPv6, una breve overview (2/4)
18 Dicembre 2007: IPv6, una breve overview (3/4)
di Francesco Corsentino - Programmazione.it