Sono ormai molti anni che sentiamo sempre più spesso parlare dell’imminente fine della disponibilità di indirizzi IP, e solo negli ultimi mesi si sono moltiplicati gli scenari disastrosi da fine del mondo verso cui, per alcuni, staremmo per andare in contro. E’ notizia di pochi giorni fa che l’ICANN ha distribuito gli ultimi blocchi di indirizzi IPv4, sottolineando anche il fatto che entro la fine dell’anno essi saranno del tutto esauriti, e solo il passaggio all’IPv6 potrà salvare il pianeta da un’implosione inevitabile.
Tralasciamo per ora gli aspetti politici ed economici, sui quali torneremo in seguito, per lasciarci affascinare da disquisizioni più tecniche, le quali ci saranno necessarie per comprendere la questione in tutta la sua totalità, acquisendo la capacità di valutare meglio cosa comporterà il passaggio.
La maggior parte delle persone è purtroppo a conoscenza solamente di uno degli aspetti più importanti relativi al passaggio ad IPv6, e cioè che il numero di indirizzi fisici assegnabili passerà da 32bit a 128bit. Ciò vuol dire sostanzialmente che sarà possibile assegnare un numero di indirizzi IP virtualmente infinito, evitando di saturare tutti quelli disponibili con una mappatura a 32bit.
A differenza di ciò che trapela dai mezzi di informazione, la situazione potrebbe anche essere meno tragica: se le politiche di assegnazione degli IP fossero più parsimoniose e se si adottassero tecniche di NATting più estese ed efficaci, di cui parleremo più diffusamente in seguito, forse si eviterebbe di essere con l’acqua alla gola e ridursi a dover fare un passaggio mondiale verso IPv6 in pochi mesi. Per aver chiara la situazione, ritengo opportuno descrivere precisamente cos’è un IP e come generalmente funziona la rete internet mondiale.
IP è l’acronimo di Internet Protocol, che è sostanzialmente una serie di regole atte ad instradare il traffico di rete, proveniente da tecnologie e dispositivi eterogenei, verso ogni singolo nodo della rete stessa: è un linguaggio comune che permette ai pacchetti (cioè ai bit che costituiscono i messaggi che transitano e che compongono tutto, dalle pagine web alle e-mail) di arrivare dalla sorgente fino al nostro browser.
La rete mondiale è composta infatti da un serie sconfinata di sottoreti e di sottoreti delle sottoreti, impilate in una gerarchia a piramide, che per essere raggiunte necessitano di regole ben precise per definire il percorso che il nostro pacchetto deve compiere dal server dal quale viene originato fino a quello che ne fa richiesta. Il router che il nostro gestore ha installato a casa nostra, come ogni altro dispositivo fisico connesso alla rete, è provvisto di un indirizzo MAC (ossia un codice univoco che identifica l’hardware) e di un indirizzo IP, che può essere o pubblico (se abbiamo pagato per averlo) oppure semplicemente un indirizzo che ci identifica nella sottorete alla quale apparteniamo: siamo cioè stati,come si dice in gergo, “nattati”.
Se infatti ognuno dei dispositivi collegati necessitasse di un indirizzo IP univoco e pubblico, i 32bit non sarebbero sufficienti a garantirne la disponibilità ai tassi di crescita attuali, anzi sarebbero già finiti da parecchi anni. Senza considerare che, soprattutto agli inizi dell’era IP, un numero esagerato di indirizzi fu assegnato ad istituzioni varie senza alcun ritegno, in quanto era ancora impossibile prevedere lo sviluppo che successivamente internet avrebbe avuto.
Questo, sommato anche a motivazioni più tecniche relative alle regole di routing, ha portato ad un notevole spreco di indirizzi che ha reso necessaria l’adozione di varie soluzioni alternative. Tra le altre, la più famosa è una tecnica chiamata NAT, ossia un meccanismo di traduzione degli indirizzi IP che permette, ad esempio, ad un solo IP pubblico esposto sulla rete di ricevere ed inviare richieste da una moltitudine di dispositivi diversi.
In questa fase è il router che, mappando adeguatamente le richieste dei suoi client e presentandole sulla rete tutte come proprie e provenienti dal proprio IP, è in grado di instradare in entrambi i sensi i pacchetti verso il solo dispositivo che ne ha effettivamente fatto richiesta. Questo permette di estendere ad un cifra enormemente grande di apparecchi l’accesso ad internet sfruttando un solo indirizzo IP “vero”. L’indirizzo che compare nell’iconcina sulla taskbar del sistema operativo, altro non è che il nostro indirizzo nella sottorete di appartenenza, che a sua volta sarà nattato di sottorete in sottorete fino ad emergere verso il vero indirizzo IP pubblico che è esposto su internet.
IPv4 null’altro è che la versione, ratificata nel lontano 1981, attualmente in uso del protocollo IP che definisce, oltre che il numero massimo di indirizzi disponibili (poco più di 4 miliardi), il significato dei bit contenuti all’interno di ogni pacchetto, in quanto ovviamente ci sono tutta una serie di informazioni che vanno ben oltre il messaggio stesso: abbiamo l’indirizzo IP del destinatario, quello del mittente, un checksum per la verifica degli errori e tanti altri dati necessari a far viaggiare correttamente il pacchetto da sorgente fino a valle.
Ogni pacchetto è quindi provvisto di un header contenente le informazioni suddette, che risulta parecchio complesso se paragonato a quello dell’IPv6, e sono evidenti i molti anni che questa struttura si porta dietro, sicuramente non più adatta alla mole di traffico e di complessità che abbiamo raggiunto al giorno d’oggi. Nasce quindi nel tempo l’esigenza di avere un protocollo con più indirizzi disponibili, più snello e soprattutto molto più moderno: l’IPv6 fa così la sua comparsa nella metà del decennio scorso.
Questa nuova versione dell’internet protocol porta con sé moltissime novità oltre che il solo indirizzamento a 128bit tanto pubblicizzato. Abbiamo già accennato all’header, molto più leggero e duttile rispetto al predecessore, che permette di inserire molte più informazioni che, tra l’altro, aumentano anche la velocità di instradamento dei pacchetti, la sicurezza del dato in transito ed altro ancora che adesso andremo ad analizzare con più precisione.
Nell’ottica di migliorare la velocità con cui ogni pacchetto giunge a destinazione, l’header è stato arricchito di un “flow label” che permette di evitare il calcolo del percorso per ogni singolo pacchetto, ma di raggrupparli per destinazione e calcolarlo una volta sola sgravando da un bel po’ di lavoro i vari nodi della rete.
E’ stata notevolmente migliorata la gestione della frammentazione al punto dal non renderla quasi più necessaria; laddove infatti un pacchetto IPv4 più grande della dimensione massima gestibile poteva essere frammentato dal router in pacchetti più piccoli, per poi essere ricomposto dall’host al momento della “consegna”, con il nuovo protocollo invece si ricorre allo spezzettamento del pacchetto solo in caso particolari, anche grazie al fatto che il pacchetto ha dimensione massima maggiore, e tutto ciò porta ad una maggiore velocità di ricezione dei pacchetti nonché ad un lavoro in meno per l’host, con un notevole guadagno in termini di efficienza.
Il multicasting, ossia la possibilità di inviare un singolo pacchetto con una sola mandata ad un numero molto grande di destinatari, è ora nativo e richiesto, e non necessita più soluzioni speciali come in precedenza, garantendo un utilizzo migliore delle risorse hardware a disposizione, soprattutto a favore di tutte quelle applicazioni multimediali che prosciugano parecchia banda.
Anche il QoS diventa nativo: si tratta di una tecnica che permette di assegnare ad ogni pacchetto una certa priorità (se avete avuto modo di smanettare tra le opzioni del vostro router è probabile che questa sigla non vi sia nuova) a seconda delle esigenze dell’utente. Se infatti state guardando un film in streaming mentre la vostra fidanzata è impegnata su Facebook, è chiaro che i pacchetti video sono più importanti e critici per una corretta visione e saranno quindi ritenuti più importanti di quelli della navigazione normale. Organizzando così il traffico si aumenta effettivamente la velocità dei pacchetti più critici dando l’impressione che vi sia più banda a disposizione di quanta effettivamente disponibile.
Con l’obiettivo di migliorare la gestione della rete in generale, segnaliamo che non sarà più necessario nattare un bel nulla (anche se ovviamente sarà possibile farlo comunque se necessario): ci sono così tanti indirizzi che finirà prima il Sole il carburante piuttosto che l’ICANN gli indirizzi IP.
Questo permetterà di semplificare la costruzione e la gestione delle rete, nonché la velocità in generale in quanto ci sono meno intermediari tra mittente e destinatario, e la connessione stessa sarà più trasparente (ma anche più facilmente tracciabile!). Sotto la sigla SLAAC (Stateless address autoconfiguration) si cela un altro punto fondamentale del protocollo IPv6, ossia la capacità per ogni dispositivo aderente alle specifiche di autoconfigurarsi.
Esso riceverà tutta la configurazione necessaria al proprio funzionamento sulla rete alla prima connessione, compreso anche un indirizzo IP univoco reale (cioè veramente esposto sulla rete), eliminando di fatto la necessità, ad esempio, di avere un server DHCP, protocollo che in ogni caso è stato aggiornato allo standard DHCPv6 e che sarà usato solamente nei casi in cui si voglia avere un controllo totale sugli indirizzi IP di una certa sottorete.
Un’altra importantissima innovazione è la possibilità per un host di gestire più di un indirizzo IP contemporaneamente, che oltre ad avere un impatto sulla “usability” di un sistema, è molto importante per la sicurezza. Infatti, un PC multiutente o qualsiasi sistema a cui accedono più utenti anche contemporaneamente, avrà la possibilità di gestire indirizzi IP diversi per ogni account, garantendo al sistema operativo di lavorare meglio ed in ambienti più indipendenti tra loro, dando una grossa mano alle politiche di cifratura dei dati.
Se infatti di norma molti servizi, con IPv4, risiedono di fatto sullo stesso IP, con IPv6 possiamo avere servizi http di base e servizi più critici (come l’ftp o l’https) che lavorano su diversi indirizzi ma comunque sulla medesima infrastruttura server, e su ognuno di essi sarà possibile adottare tecniche di crittografia diverse a seconda della sensibilità del servizio erogato. Pertanto, un attacco verso l’indirizzo http non esporrà gli altri servizi sulla stessa struttura allo stesso attacco, proprio perché saranno fisicamente distinti gli uni dagli altri.
Anche la gestione di una piccola rete LAN beneficerà di questa innovazione, in quanto un singolo PC potrà dialogare con più reti contemporaneamente ed in maniera diretta, sgravando il router da tutta una serie di operazioni di instradamento varie. Generalmente abbiamo quindi una facilità di “installazione” di una rete o di un nuovo dispositivo enormemente superiore, cosa di cui potranno godere gli utenti meno smaliziati ma anche gli amministratori di rete più esperti.
Un altro fondamentale passo verso un’infrastruttura complessivamente più sicura è l’adozione nelle specifiche di base dello standard IPsec. Questo standard permette di rendere sicura una rete basata sul protocollo IP mediante la cifratura del canale di trasmissione e l’autenticazione, dando la possibilità di creare delle sottoreti crittografate con maggiore facilità rispetto alla situazione attuale, in cui l’IPsec è solo disponibile per mezzo di addin da applicare sullo strato dell’IPv4. Sarà presumibile quindi che in futuro moltissime reti avranno un livello di sicurezza più elevato, in quanto basterà semplicemente un flag per attivare queste interessanti funzioni built-in nel nuovo protocollo.
Come abbiamo visto quindi, la gamma di innovazioni che porta con sé l’IPv6 è molto vasta e va ben oltre il solo messaggio, lasciatemi dire molto pubblicitario, relativo al numero di indirizzi assegnabili, e potremmo andare avanti per pagine intere a parlare di come l’implementazione diretta nel protocollo di ARP semplifichi di molto la gestione dell’infrastruttura, od ancora di quanto l’uso più efficiente dell’ICMP permetta, tramite il Neighbor Discovery, di trovare con più facilità errori o problemi su qualsiasi nodo della rete.
Certamente il passaggio da un protocollo all’altro, se da un lato è indolore per l’utente finale che di fatto non dovrebbe accorgersi di nulla, per chi gestisce le infrastrutture sarà tutta un’altra storia. Il problema è che non si può spegnere internet, fare il passaggio e ripartire da capo, ma lo switch deve essere fatto a caldo preservando tutte le mappature DNS che sono cruciali per il funzionamento della rete a livello globale, ma soprattutto è necessario che per un certo periodo tutto possa funzionare in modalità “doppia”, in quanto non si può pensare che esista un giorno zero in cui tutto l’hardware mondiale sia aggiornato al nuovo standard!
Non è un problema semplice da risolvere, e per avere un struttura IPv6 al 100% saranno necessari anni di lavoro, che saranno però ripagati dalle notevoli evoluzioni fin qui descritte che esso porta in dote. Parlavamo, in apertura di articolo, anche di motivazioni politiche ed economiche. L’IPv6 farà risparmiare un sacco di denaro, in quanto semplificherà la gestione e la messa in opera di una rete, e darà benefici anche perché alcuni componenti hardware, come i router o i server DHCP, potranno essere meno complessi e si spera quindi meno costosi, oppure sparire del tutto azzerandone il costo.
Questa è forse la motivazione per cui le istituzioni ed i colossi stanno spingendo per un passaggio rapido nei confronti dei loro governi, minacciandoli con il fatto che gli indirizzi stanno finendo: questo è certamente vero, ma si potrebbe andare avanti ancora un bel po’ con varie tecniche anche tra quelle già descritte se solo lo si volesse.
Il fatto è che il passaggio costerà molti miliardi di dollari, ed il costo ricadrà in buona parte sui governi stessi, che pertanto temporeggiano: è una coperta troppo corta, che viene tirata da una parte da chi ha interessi di guadagno e dall’altra da chi invece deve spendere senza avere un ritorno nell’immediato (lungimiranza, questa sconosciuta!). Senza contare la presenza di altri disturbatori: l’IPv6 renderà più semplice ed efficace anche il P2P (grazie alla semplificazione dei flussi di rete ed alla facilità di indirizzamento verso un IP reale), questione che potrebbe dare dei grattacapi alle varie Major del settore musicale, cinematografico o multimediale in generale, le quali certamente staranno facendo un po’ di calcoli per valutare l’impatto di queste novità.
Insomma sul piatto ci sono parecchie questioni, alcune tecniche, alcune politiche ed altre ancora economiche, ma ciò che tutti chiediamo in coro è che è il passaggio si faccia ed in fretta, non tanto per lo spauracchio dell’esiguo numero di indirizzi IP, ma piuttosto per le grandi innovazioni che tutto questo ci porterà, sicuramente benefiche per uno sviluppo adeguato e sicuro della rete internet mondiale, sempre più al centro del nostro futuro.
E il vostro router è già pronto per accogliere l’IPv6?