Internet. La rete globale più grande al mondo sta mutando da un punto di vista tecnico e sta affrontando sfide che non erano state previste, ma partiamo dalle basi:

Nelle reti, ogni host deve essere contraddistinto da un altro in un qualche modo univoco, come ad esempio da un numero.

Questo numero prende il nome di indirizzo IP, ed è alle basi delle reti al giorno d'oggi.

Un indirizzo IP è paragonabile ad un indirizzo di un posto in cui dobbiamo recarci: per arrivare esiste almeno una strada in genere, ed esistendone più di una in linea di massima, ci si trova a dover scegliere la migliore (questo è il concetto di routing, che verrà chiarito in futuro).

"Classicamente", gli indirizzi IP sono stati composti da 4 numeri che vanno da 0 a 255.
Un esempio di un IP è 84.23.245.81.
Questo tipo di IP è conosciuto con il nome di IPv4, ed è definito nello standard RFC 791 del Settembre 1981.

Tuttavia, si pone un problema che non era stato previsto:
Il numero totale di IP disponibili è 256^4, ovvero 4294967296.
Ciò significa che, in linea teorica, ci sono 4294967296 possibili "indirizzi" raggiungibili.

Questo numero può sembrare enorme, tuttavia, se ci pensiamo bene, al mondo siamo 7700000000 persone.
E ciò senza contare il fatto che ogni persona ha in genere almeno uno smartphone, un PC, magari una stampante, oltre all'era dell'IoT (Internet delle Cose), in cui troviamo cose come frigoriferi e piani cottura connessi ad internet.

La tecnica per arginare il limite IP

Dato che gli IPv4 hanno un numero limitato, e relativamente ridotto, con gli anni è stata inventata una tecnica denominata NAT, Network Address Traslation.
Evitando di usare troppi nomi inglesi, pensiamo ad un condominio in cui abitano più persone.

Nel momento in cui 2 persone condividono lo stesso condominio, avranno lo stesso indirizzo, ma a 2 voci del citofono differenti.
Questo concetto può essere "tradotto" anche nel nostro caso:
Gli indirizzi IP che sono usati su internet, possono corrispondere sì ad un computer connesso direttamente alla rete, ma in genere, almeno negli scenari d'uso domestici, non è un PC ad essere esposto alla rete, ma il nostro router.

Quello che succede, è che questo apparato (conosciuto anche come ADSL), ha un IP pubblico dal quale è raggiungibile, e si occupa di fornire una connessione a tutti gli host connessi all'apparato tramite questa tecnica chiamata NAT.

Il router (o, come detto prima, ADSL) ha quindi un indirizzo IP di tipo pubblico, e quindi pubblicamente raggiungibile da internet.
Questo tuttavia, dovrà fornire connettività internet agli host connessi allo stesso, e per farlo non può fare uso del sui indirizzo IP pubblico, poiché il numero non identificherebbe più un solo dispositivo.
Invece, assegna ad ogni host un indirizzo "fittizio", paragonabile al numero dell'appartamento in un condominio.
Questo significa che gli altri PC nella stessa rete (così come gli altri condomini), sapranno arrivare al vostro computer (o appartamento) dato il numero dello stesso, ma le persone esterne alla vostra rete di casa (o condominio), no.

Gli host infatti, si connettono ad internet attraverso il router.
La tecnica del NAT, consiste nel modificare l'IP dell'host che vuole andare su internet quando questo arriva al router, sostituendolo con quello pubblico del router.
Fondamentalmente il router è paragonabile ad un uomo del condominio alla quale inviate una lettera, il cui mittente è il vostro appartamento.
L'uomo, sostituirà il mittente (l'indirizzo dell'appartamento) con l'indirizzo del condominio, e spedirà la lettera.
Quando la lettera ritornerà, l'uomo, sapendo a chi ha inviato la lettera (ed altre cose che scopriremo in futuro), saprà che il nostro appartamento ha inviato la prima lettera, quindi sostituirà  il destinatario della lettera, dall'indirizzo del condominio al numero dell'appartamento.

Gli IP pubblici e privati

Una volta chiaro il concetto, cerchiamo di andare un pochino più sul tecnico.
Tra tutti gli IP esistenti, ci sono dei gruppi (detti blocchi o range) di IP considerati speciali che non sono connessi a nessuno, ed a volte possono essere chiamati locali o "Bogon".

Alcuni tra questi IP sono quelli che spaziano in questi ranges:
- 127.0.0.0 - 127.255.255.255
- 192.168.0.0 - 192.168.255.255
- 172.16.0.0 - 172.31.255.255
- 10.0.0.0 - 10.255.255.255

Quello che succede nella nostra rete domestica, è che ci viene assegnato un IP scelto in un range prestabilito (in genere 192.168.1.xxx).
Quando proviamo a comunicare con un IP esterno a questo range (e quindi non locale, ma cerchiamo di accedere ad internet), il router si preoccupa di "mascherare" il nostro IP privato con quello pubblicamente raggiungibile da internet. Quando il server risponderà, sarà compito del router stabilire il destinatario nella rete locale, per poi inviare la risposta.

L'introduzione dell'IPv6

La tecnica del NAT è stata introdotta sopratutto per arginare la mancanza degli indirizzi IPv4.
Ciò ha fornito del tempo, ma non ha risolto il problema della carenza di IP.
Nel frattempo, l'IPv6 è stato definito negli RFC 2373 e RFC 2374 (parliamo del 1998).
Il maggior cambiamento riguarda gli indirizzi IP disponibli:
Parliamo di 232 indirizzi disponibili per l'IPv4, e di 2128 indirizzi per l'IPv6.
La differenza è notevole.

Tuttavia, quando l'IPv6 è stato concepito, l'IPv4 era già ben radicato.
Inoltre, al tempo, non esisteva l'esigenza di avere ulteriori IP; Il che ha portato l'IPv6 ad essere messo da parte.
Ci troviamo quidni ai giorni attuali, ove l'intera infrastruttura globale è basata su IPv4, che ormai scarseggia per quanto riguarda gli indirizzi disponibili.

Per far sì che l'IPv6 venga adottato, tutti gli ISP (internet service provider, coloro che forniscono internet, come TIM, Fastweb, etc...) devono modificare la propria infrastruttura per poter fare uso di IPv6, tuttavia questo genere di cambiamento è complesso ed espensivo sia in termini economici che di tempo.

Nonostante ciò, le nuove infrastrutture sono in fase di progettazione, e già esistono molteplici siti disponibili anche attraverso l'uso degli IPv6.

Piccola curiosità: gli IPv5 non esistono e non sono stati concepiti.