NAT e mascheramento degli indirizzi IP

In uno degli ultimi post abbiamo visto cosa sono e come funzionano gli indirizzi IP privati.

Abbiamo imparato, in particolare, che questi indirizzi hanno valore solo all’interno delle Intranet private e non possono essere usati nelle reti pubbliche come Internet.

Ci eravamo lasciati con una domanda: come fanno i PC di una Intranet, dotati di indirizzo IP privato, a connettersi a una rete pubblica? In questo post cercheremo di dare una risposta proprio a questa domanda.

Il NAT (Network Address Translation), detto anche comunemente “mascheramento IP“, è un meccanismo, operato da router (o, meglio, gateway) di confine tra reti private e reti pubbliche, che permette di sostituire gli indirizzi IP dei pacchetti che attraversano il router stesso.

Per capirne meglio il funzionamento facciamo riferimento ad uno scenario tipico di rete casalinga con accesso ADSL a Internet. Notate bene, però, che non sempre le reti per l’accesso ADSL sono configurate facendo uso del NAT: la vostra rete, di conseguenza, potrebbe non fare uso di questo meccanismo.

In questa rete i PC hanno un indirizzo privato, tipicamente appartenente al gruppo 192.168.xxx.xxx, attribuitogli dallo stesso router ADSL.

Supponiamo di voler navigare in Internet e di voler aprire la pagina Web di Google. Il nostro PC genererà un pacchetto http, che avrà come indirizzo IP sorgente l’indirizzo privato del PC e come indirizzo di destinazione l’indirizzo pubblico del server Web dove è ospitato il sito di Google.

Quando il pacchetto arriva al router per essere instradato verso la rete pubblica, questo si preoccuperà di sostituire l’indirizzo IP privato del nostro PC con un indirizzo IP pubblico, assegnato dal nostro Service Provider al momento della connessione a Internet.

Il router costruisce un’associazione tra l’indirizzo IP privato che identifica il PC nella rete privata e l’indirizzo IP pubblico che lo identifica, invece, nella rete pubblica.

Questa informazione, memorizzata nel database NAT del router, è di fondamentale importanza affinché lo stesso router possa correttamente instradare il pacchetto di ritorno. Vediamo come e perché.

Il server google risponderà alla nostra richiesta generando un pacchetto destinato all’indirizzo IP pubblico che fa capo al router ADSL.

Quando il pacchetto arriva al router, il database NAT verrà consultato per sapere a chi è associato quell’indirizzo pubblico; una volta risolta l’associazione, l’indirizzo IP sarà opportunamente modificato e il pacchetto instradato verso la destinazione.

Questo meccanismo implica che il router abbia a disposizione un certo numero di indirizzi IP pubblici, così da soddisfare le eventuali richieste di accesso a Internet proveniente da più PC contemporaneamente.

Esiste anche un’altra tecnica di mascheramento degli indirizzi che permette di associare più indirizzi IP privati ad un unico indirizzo IP pubblico. Ma di questo, magari, parleremo in un altro post.

Ti consigliamo anche

Link copiato negli appunti