Come ci colleghiamo a internet e perchè con lo stesso IP Pubblico?
Aggiornato il:
Guida per capire come diversi dispositivi si collegano a internet e come vengono assegnati gli indirizzi IP pubblici e privati

Questa architettura è un trucco che va contro il principio originario di internet, quello cioè di collegare più dispositivi tra loro in modo diretto.
Il problema fu che gli indirizzi IP sono limitati nel numero, esattamente un numero inferiore a 4,2 miliardi di indirizzi IP IPv4 disponibili che se confrontati a tutti i computer e cellulari connessi a internet in tutto il mondo sono decisamente pochi.
In altre parole, ci sono più dispositivi collegati sul pianeta che indirizzi IP pubblici per identificarli sulla rete.
Per razionare questa carenza di indirizzi IPv4, è stato studiato questo trucco che permette ad ogni dispositivo in una casa o in una zona di accedere a internet.
Il provider di servizi Internet se dovesse assegnare un indirizzo IP pubblico univoco per ogni dispositivo di casa che si connette a internet avrebbe bisogno di un indirizzo libero aggiuntivo ogni volta che si compra un nuovo computer, tablet, smartphone, console di gioco, o qualsiasi altra cosa.
Per questo motivo l'ISP assegna generalmente un singolo indirizzo IP per ogni suo abbonato e, in certi casi, addirittura un unico indirizzo per più persone.
LEGGI ANCHE: Come funziona un Router?
1) Il router
Il router è connesso direttamente a Internet, ed gli viene assegnato un indirizzo IP pubblico (che può cambiare nel tempo perchè non è fisso).
Il router è quindi responsabile di connettere a internet i vari dispositivi connessi ad esso e li presenta sulla rete mondiale tutti con lo stesso indirizzo.
Essi poi si distinguono tra loro perchè ogni dispositivo, oltre all'indirizzo IP, viene identificato anche per il tipo, il sistema operativo ed il browser usato..
2) Indirizzo IP pubblico e privato
Il router, ai dispositivi collegati, assegna indirizzi IP locali.
In pratica un router crea una piccola rete internet (chiamata intranet) in cui gli apparecchi ed i computer connessi possono comunicare tra loro.
Tuttavia, questi indirizzi IP locali non sono raggiungibili da Internet.
In altre parole, l'indirizzo IP pubblico potrebbe essere qualcosa del tipo 23.24.35.63 ed è raggiungibile da qualsiasi computer nel mondo connesso a internet.
L'indirizzo IP privato del computer invece è qualcosa come 192.168.1.133 che non si raggiunge da internet ed è visibile solo all'interno della rete locale.
Per capire bene questo meccanismo si può pensare ad un edificio con tanti uffici.
L'indirizzo del palazzo degli uffici può essere di Via Dante 15, Roma, Italia e chiunque può raggiungere questo indirizzo con una lettera inviata per posta.
Questo indirizzo è un indirizzo pubblico, poi dentro l'edificio ci sono vari uffici numerati che possono essere intesi come indirizzi IP locali.
Stanza B4 non è un indirizzo univoco e riconoscibile a livello globale, è utilizzato da molti edifici per identificare gli uffici.
LEGGI ANCHE: Cos'è un IP Statico e quali sono i vantaggi
3) Network Address Translation (NAT) e Port Forwarding
Quando ci si connette a qualcosa su Internet, ad esempio un sito web, il computer invia pacchetti attraverso il router.
Il router modifica i pacchetti e assegna loro una porta unica per ogni connessione in uscita.
Quando il sito web o un altro server invia i dati al computer, li fa passare per quella porta specifica così il router sa che deve inviare i dati al dispositivo stesso che prima ha avviato la connessione originale.
Questo è come i router gestiscono il traffico Internet per più computer contemporaneamente utilizzando un singolo indirizzo IP, facendo come da vigile urbano che dice alle macchine (i pacchetti che formano il traffico) che strada devono prendere (le porte).
Inoltre un router non fa passare traffico in ingresso non richiesto come, per esempio, i tentativi di connessione dall'esterno da parte di estranei (o hacker).
Questo significa essenzialmente che il router agisce come una sorta di firewall, eliminando il traffico in entrata non richiesto.
Per questo motivo, anche avendo un IP pubblico statico non è immediato connettersi allo stesso in modo diretto da un computer esterno alla rete.
Se si desidera ricevere il traffico in entrata bisogna configurare il port forwarding sul router.
Per esempio, si potrebbe dire al router che si sta eseguendo un server per un certo videogioco sulla porta 25565 su uno specifico indirizzo IP locale.
Quando il router riceve una connessione sulla porta 25565, sa che deve passare il traffico attraverso l'indirizzo IP privato specificato.
Questo è il motivo per cui il port forwarding è necessario per le applicazioni che funzionano come server in modo da ricevere traffico in entrata dall'esterno della rete locale.
Con il port forwarding si può quindi anche usare un computer come webserver, come ftop server o come server di media streaming.
LEGGI ANCHE: Creare un server sul computer per condividere risorse su internet
4) Scenari futuri
Come accennato in precedenza, gli indirizzi IPv4 sono limitati quindi ci sono due modi per ovviare al problema e permettere alla rete internet di continuare a crescere:
- Sfruttare il nuovo protocollo internet IPv6 che permette può offrire un numero enorme di indirizzi IP unici (2 elevato 128) e potrebbe in teoria permette a tutti di avere il proprio indirizzo personale.
- NAT in larga scala, per cui gli indirizzi IPV4 pubblici rimarrano a disposizione dei provider e saranno condivisi da intere zone cittadine.
Questo è attualmente lo scenario di Fastweb che è una grande rete locale (come un grande edificio).
Il port forwarding in questi casi non funziona e non si potrà usare un pc come server raggiungibile da internet.
Purtroppo quando venne creato Internet non era stato immaginato per così tanti dispositivi collegati ed è solo grazie ai router di casa e le tecnologie NAT che oggi ci possiamo collegare con così tanti dispositivi senza migrare al protocollo Internet IPv6.