domenica 5 ottobre 2014

Informatica in pillole - Come funziona il NAT?


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