Il NAT (Network Address Translation) è una tecnica che consiste nel modificare gli indirizzi IP dei pacchetti in transito sul sistema.
Un dispositivo NAT intercetta ogni pacchetto diretto dalla rete interna alla rete esterna o viceversa e ne modifica l’intestazione, sostituendo l’indirizzo del mittente o del destinatario in modo adeguato.
Il NAT è una funzione del livello di rete; di solito viene integrato nei router o nei firewall.
Si può distinguere tra SNAT (Source NAT) e DNAT (Destination NAT) in base al fatto che vengano modificati gli indirizzi della sorgente o della destinazione dei pacchetti.
In generale si può sostituire una coppia di valori indirizzo IP/porta con un’altra coppia indirizzo IP/porta.
Viene usata una tabella di traduzione degli indirizzi. Le voci nella tabella di traduzione possono essere ridirezioni dinamiche o statiche; una ridirezione dinamica traduce dinamicamente un indirizzo sostituendolo con un indirizzo appartenente a un gruppo di indirizzi utilizzabili; una ridirezione statica è una corrispondenza prestabilita tra un indirizzo interno e uno esterno.
Il NAT è un meccanismo nato per sopperire alla scarsità di indirizzi IP.
Permette a una rete locale di utilizzare per la configurazione gli indirizzi IP riservati alle reti private (indirizzi privati), che non sono univoci a livello mondiale.
Dall’esterno non è possibile accedere direttamente a computer della rete locale perché gli indirizzi privati sono inaccesibili.
Due reti locali che usano gli stessi indirizzi IP privati possono comunicare attraverso una VPN usando una tecnica chiamata Double NAT.
La rete deve disporre di uno o più indirizzi IP univoci, gli unici visibili all’esterno, associati al router.
Tutto il traffico con la rete esterna viene gestito dal router che si occupa di inoltrare le risposte all’interno della rete locale.
Il router NAT abbina dinamicamente un indirizzo IP univoco a un indirizzo privato interno, in base alle richieste provenienti dalla rete interna.
Il router sostituisce nei pacchetti IP gli indirizzi IP di origine o di destinazione, in base all’attribuzione dinamica stabilita.
Alcuni indirizzi univoci possono essere abbinati in modo statico ad altrettanti indirizzi della rete privata; in questo modo tali nodi possono essere raggiungibili direttamente dall’esterno.
Pregi e difetti del NAT
Pregi
-
Riduce il numero di indirizzi IP pubblici di cui una organizzazione ha bisogno;
-
permette di usare indirizzi IP privati senza conflitti;
-
nasconde gli indirizzi IP interni (quindi offre maggiore sicurezza): dall’esterno non si può accedere agli indirizzi interni privati e non si può nemmeno capire la topologia della rete;
-
collegandosi a Internet non si lascia traccia del proprio indirizzo IP ma solo di quello del router.
Difetti
-
Viola il principio che ogni indirizzo IP identifichi univocamente una stazione a livello mondiale;
-
viola la suddivisione in livelli del software di rete (a livello di rete modifica la porta);
-
trasforma Internet da una rete senza connessione a una rete orientata alle connessioni perché NAT conserva le informazioni su ogni connessione che lo attraversa; un errore nei router causa perdite di dati;
-
permette di gestire solo 65.536 stazioni o meglio 61.440 (le prime 4.096 porte sono riservate per usi speciali);
-
inoltre i processi su Internet non sono obbligati a usare TCP o UDP; in questo caso il NAT non funziona (per esempio, se le applicazioni inseriscono gli indirizzi IP nel corpo del testo, il NAT non li sostituisce).