back to top

NAT: cos’è e a cosa serve

In questo articolo vedremo cos’è il NAT (Network Address Translation) e come funziona questa tecnica utilizzata nell’ambito delle Reti informatiche.

Premessa: la limitatezza degli indirizzi IP

Ciascun computer, e più in generale ogni periferica connessa ad una rete, è contraddistinta da un indirizzo, che consente alle altre periferiche facenti parte della stessa rete di comunicare con essa.

A livello di rete l’indirizzo di riferimento è generalmente un indirizzo di tipo IP il quale si presenta come una sequenza di quattro numeri compresi tra 0 e 255 separati da punti (ad esempio 192.168.0.1).

Il numero di indirizzi IP disponibili non è infinito anzi, è limitato ad un numero ben preciso che corrisponde alla risultante della seguente moltiplicazione:

255x255x255x255 = 2^32

Parliamo di circa 4 miliardi di combinazioni! Si tratta di una cifra senz’altro rilevante ma comunque finita e ben determinata.

Data la premessa risulta evidente la necessità di gestire, in modo efficiente, questo pool (limitato) di indirizzi disponibili in particolare in riferimento ai dispositivi connessi alla rete.

La soluzione più semplice sarebbe forse quella di assegnare staticamente un indirizzo IP predeterminato ad ogni periferica. Tale scelta, tuttavia, risulterebbe però gravemente inefficiente se applicata in modo generico e su larga scala in quanto l’indirizzo assegnato resterebbe occupato (e dunque non disponibile) anche nei momenti in cui il dispositivo non dovesse essere connesso alla rete.

Già a prima vista, quindi, appare decisamente preferibile adottare una procedura dinamica di assegnazione degli indirizzi IP in grado di gestire con maggior razionalità (e quindi minor spreco) le risorse disponibili. Vediamo il funzionamento di una tale procedura:

  • ciascusn computer, all’atto della connessione alla rete, richiede al provider internet di assegnargli un indirizzo IP;
  • il provider (che ha a disposizione un ben determinato pool di indirizzi) assegna al computer richiedente uno degli IP disponibili;
  • all’atto della disconnessione dalla rete l’indirizzo IP viene "liberato" e torna tra quelli disponibili e pronti per essere ri-assegnati.

IP Pubblici e IP Privati

Sempre nell’ottica di una migliore risoluzione del problema di gestione degli indirizzi IP, si sono definiti alcuni "blocchi" utilizzabili soltanto all’interno di reti private e locali (detti IP privati mentre tutti gli altri indirizzi IP, non facenti parte di questo gruppo, sono detti IP pubblici), replicabili su più LAN (rete locale), a patto che tali indirizzi vengano utilizzati soltanto per la gestione della comunicazione interna alla rete e non verso l’esterno. Il processo di NAT si inquadra in questo contesto.

La gestione di IP pubblici e privati mediante NAT

Si definisce infatti il NAT (o Network Address Translation) come un processo di modifica degli indirizzi che caratterizzano una specifica rete.

Tramite tale tecnica è possibile, ad esempio, servirsi per l’appunto di indirizzi privati all’interno di una LAN lasciando poi alla periferica di routing (incaricata di svolgere il processo di NAT) il compito di associare ai computer interni che ne fanno richiesta uno o più indirizzi IP pubblici che consentano la comunicazione anche con l’esterno.

Tale procedura consente una migliore gestione degli indirizzi IP pubblici e, al contempo, dal punto di vista della sicurezza, non consente ad osservatori esterni di ottenere informazioni circa l’indirizzamento della rete interna.

Il processo di traduzione degli indirizzi dall’interno verso l’esterno risulta piuttosto semplice:

  • il router (o più in generale il dispositivo incaricato della traduzione degli indirizzi), alla richiesta da parte di uno degli host della rete interna di una connessione verso l’esterno, sceglie da un pool di indirizzi IP pubblici a disposizione l’indirizzo da associare all’host richiedente;
  • a questo punto il dispositivo aggiorna una tabella in cui viene inserita l’associazione tra l’indirizzo interno (privato) dell’host richiedente e l’indirizzo (pubblico) con cui tale host si interfaccia con la rete esterna;
  • qualora vengano ricevuti pacchetti destinati all’indirizzo pubblico appena assegnato, il router saprà dunque smistarli, verso l’interno, in modo corretto.

NAT: le differenti implementazioni

Valutando il processo di NAT (e dunque di traduzione degli indirizzi) più nel dettaglio, si individuano diverse strategie di implementazione.

La più diretta e semplice da realizzare si identifica probabilmente nel cosiddetto Full Cone NAT.

Si ha in questo caso un’associazione completa e totale tra l’indirizzo interno dell’host e l’indirizzo pubblico, fornito dal dispositivo incaricato di effettuare le operazioni di NAT. In altre parole la traduzione di indirizzo viene effettuata in modo incondizionato sia verso l’interno che verso l’esterno consentendo dunque di contattare un host presente nella rete interna a condizione di conoscerne l’indirizzo IP pubblico, determinato e assegnato proprio dalla periferica che esegue il NAT. Tale scelta riduce la necessità di configurazione del dispositivo, a prezzo però di un minore filtraggio nei confronti di pacchetti che giungono dall’esterno.

Per garantire una maggiore sicurezza è possibile invece, ad esempio, scegliere la configurazione di Restricted Cone NAT.

In questo caso non è sufficiente per garantire la ricezione di pacchetti da parte dell’ host che i computer mittenti conoscano l’indirizzo IP pubblico ad esso associato. E’ necessario anche che sia stato l’host presente sulla rete interna ad iniziare il processo di comunicazione. In altre parole, l’host può essere contattato soltanto da quei computer che esso stesso ha contattato in precedenza. Tentativi da parte di altri computer di avviare una comunicazione andrebbero incontro ad un fallimento.

Tale caratteristica della configurazione di Restricted Cone NAT restringe il campo di ricezione della rete interna ma al contempo costituisce una barriera rispetto a tentativi di intrusione su uno dei computer host.

E’ possibile ottenere un ulteriore restringimento delle maglie della rete tramite la configurazione Port Restricted Cone NAT che impone, per l’accettazione di pacchetti su una determinata porta, che l’host interno abbia per primo comunicato con l’host esterno tramite quella stessa porta.

Un isolamento ancora maggiore della rete interna può essere ottenuto tramite una configurazione detta di Symmetric NAT (o NAT simmetrico).

In questa configurazione, infatti, ad ogni richiesta da uno specifico indirizzo e una specifica porta verso una destinazione identificata a sua volta da indirizzo e porta viene associata una connessione, dotata di un proprio IP pubblico. Qualora un host interno decida di inviare richieste ad host esterni distinti, o anche a diverse porte dello stesso host esterno, lo farebbe con indirizzi IP pubblici distinti. Per questo motivo il NAT simmetrico, pur garantendo un ottimo grado di isolamento e una migliore sicurezza della rete interna, risulta particolarmente oneroso dal punto di vista dell’impiego di indirizzi IP pubblici. Anche per il NAT simmetrico, così come per la soluzione di Restricted Cone NAT, il processo comunicativo deve essere avviato da un host interno.

Ottima, infine, la variante del NAT nota come PAT (Port Address Translation). In questo caso infatti il processo di traduzione dell’indirizzo opera non soltanto al livello di rete (indirizzo IP) ma prende in esame anche la porta di comunicazione (livello di trasporto). L’indirizzo IP e la porta del computer sulla rete interna vengono mappati su diverse porte di un indirizzo IP pubblico. Valutando su quale porta vengono effettuate richieste dall’esterno si può procedere anche al processo inverso di traduzione, dall’esterno verso l’interno, assicurando una comunicazione corretta.

Altri contenuti interessanti

Pubblicitร 

Leggi anche...

Cavo Ethernet cat 6, cat 7 e cat 8: quale scegliere?

I cavi Ethernet sono un elemento fondamentale nelle reti...

Mbps, Megabit, Gigabit, Megabyte e Gigabyte: che differenza c’รจ?

Quando si parla di connessioni Internet e velocitร  di...

Handshake: cos’è e come funziona il processo di handshaking nella comunicazione di Rete

Con il termine Handshake (letteralmente "stretta di mano") si...

DNS_PROBE_FINISHED_NXDOMAIN: cos’è e come risolvere questo errore di Chrome

DNS_PROBE_FINISHED_NXDOMAIN è un messaggio di errore tipico del browser...

DNS Google 8.8.8.8 – come funzionano e perché usarli

Il DNS primario 8.8.8.8 e il DNS secondario 8.8.4.4...

Traceroute: cos’è, come funziona e come eseguirlo su Windows, Linux e Mac

I sistemi informatici comunicano attraverso lo scambio di pacchetti...
Pubblicitร