In questo nuovo episodio della serie "informatica in pillole" approfondiremo il protocollo NAT, ovvero il Network Address Translation. Prima di proseguire ci tengo a sottolineare che nel corso di questa puntata si farà riferimento a concetti presenti nel video "Come Funziona Internet?"
Per cominciare a
introdurre il concetto di NAT è importante ricordare i limiti del
protocollo di rete IPv4, infatti questo protocollo non permette di
identificare un numero superiore ai 4 miliardi di host, molto pochi
se ogni persona dovesse connettere pubblicamente ogni dispositivo di
cui è in possesso. Ma allora come fa a funzionare internet con
IPv4?!
Per risolvere il
problema è possibile optare tra due approcci, o si implementa un
protocollo IP più evoluto come IPv6, oppure si sceglie di rattoppare
il problema introducendo il NAT. Per motivi economici si è scelto di
adottare il NAT, per il semplice motivo che per i colossi in possesso
di molti IP pubblici non è convivente aggiornare a IPv6 i loro
servizi e piattaforme.
Sinteticamente il NAT
permette di diminuire radicalmente il numero di IP pubblici necessari
per far connettere in rete tutti i dispositivi esistenti. Vediamo
come:
1) tutti i
dispositivi di una rete locale vengono mascherati da un router
abilitato NAT, così da essere visti come un unico apparecchio
all'interno della rete privata del nostro Internet Provider.
2) quando un
dispositivo della rete locale manda un messaggio al router NAT per
contattare un server viene registrata una voce in una particolare
tabella, detta di traduzione, in cui vengono associati IP locale del
dispositivo, porta del dispositivo, IP pubblico d'uscita e numero di
porta d'uscita. Quando il server verrà contattato vedrà unicamente
l'IP pubblico d'uscita associato alla relativa porta. Essendo il
numero di porta un valore a 16 bit sarà possibile per il nostro
provider gestire 65536 connessioni simultanee impegnando un singolo
IP pubblico.
Da notare che le voci
nella tabella sono temporanee e vengono eliminate quando le
connessioni non sono più attive, per poi essere sostituite. Quindi
una fonte esterna può contattare l'host di una rete locale fintanto
che l'associazione in tabella non viene modificata. Questa proprietà
del NAT impedisce di creare server persistenti al di fuori della
propria rete locale. Per rendere un dispositivo reperibile
pubblicamente dobbiamo istruire il router NAT in modo tale che
l'associazione in tabella resti permanente. In questo modo si sarà
in grado di impostare una grande moltitudine di servizi remoti:
telecamere di video sorveglianza, cloud privata, domotica remota
ecc...
Eventualmente dopo aver
fatto tutto questo potremo abbinare l'IP e porta in uscita a un nome
mnemonico tramite un sito di dynamic dns come noIP.com .
E' importante
segnalare che alcuni Internet Provider, come Fastweb, per risparmiare
ulteriormente il numero di IP pubblici adottano un sistema a doppio
NAT, rendendo impossibile accedere a un dispositivo da una rete
diversa da quella locale e costringendoci o a pagare il prezzo di un
IP pubblico oppure a usare un server esterno come ponte, strada
percorribile solo da persone che hanno confidenza con la
programmazione di reti di calcolatori.
Con questo abbiamo
concluso la nostra panoramica sul protocollo NAT. Nel caso aveste dei
dubbi da chiarire non esitate a commentare l'articolo.
Nessun commento:
Posta un commento