La Traslazione degli Indirizzi di Rete (NAT) rappresenta una soluzione potente per individui e aziende che desiderano stabilire una connessione internet sicura, efficiente ed economica.
Il NAT non solo garantisce una maggiore sicurezza, ma offre anche flessibilità, scalabilità e una comunicazione più rapida con il web.
L’utilizzo del NAT contribuisce in modo significativo alla conservazione degli indirizzi IP pubblici, una risorsa sempre più preziosa.
Ma cos’è esattamente il NAT e perché dovremmo considerare di comprenderlo e implementarlo nelle nostre reti?
In questo articolo, esploreremo nel dettaglio il funzionamento di questa tecnologia.
Iniziamo quindi con una definizione chiara di cosa sia il NAT.
Cos’è la Traslazione degli Indirizzi di Rete (NAT)?
La Traslazione degli Indirizzi di Rete (NAT) è un processo che permette di mappare un insieme di indirizzi IP su un altro, modificando i dati dell’indirizzo di rete durante la trasmissione dei dati.
In termini più semplici, il NAT consente a un singolo indirizzo IP (Internet Protocol) di rappresentare uno o un gruppo di computer. Questo significa che più dispositivi possono condividere pubblicamente un unico indirizzo IP in una rete, pur mantenendo indirizzi IP privati all’interno della stessa rete.
Inizialmente, questa tecnica fu adottata per ovviare alla necessità di assegnare un nuovo indirizzo IP a ogni host separatamente, qualora si verificasse un cambiamento nell’ISP (Internet Service Provider) o lo spostamento di una rete. L’indirizzo IP pubblico della rete, in questo modo, rimaneva invariato.
Un gateway NAT, infatti, è in grado di fornire un singolo indirizzo IP instradabile che può essere facilmente utilizzato per una intera rete privata. Poiché il NAT modifica i dati dell’indirizzo IP durante la trasmissione, esistono diverse implementazioni che si comportano diversamente a seconda dei casi, influenzando in vario modo il traffico di rete.
Qual è la funzione del NAT?
Nel contesto del NAT, un dispositivo di rete come un firewall NAT o un router assegna un indirizzo IP pubblico a uno o più computer appartenenti a una rete privata. In questo modo, il NAT agisce come intermediario tra reti pubbliche, private e locali.
Funzioni del NAT
Il NAT aiuta a conservare gli indirizzi IP, permettendo a IP privati di accedere online usando indirizzi non registrati. Prima di inoltrare pacchetti dati tra reti diverse, il NAT traduce gli indirizzi di rete privati in indirizzi globali unici e validi.
Grazie alla configurazione NAT, un singolo indirizzo IP diventerà visibile al mondo esterno, anche se in realtà rappresenterà l’intera rete. Questo meccanismo, di conseguenza, nasconde l’intera rete interna e offre un livello maggiore di sicurezza e privacy. Le implementazioni NAT si rivelano particolarmente efficaci in ambienti di accesso remoto.
Come funziona il NAT?
La traduzione degli indirizzi di rete consente a un dispositivo, come un router o un firewall NAT, di agire da mediatore tra la rete interna (rete locale) e le reti esterne (Internet). Questo permette a un intero gruppo di dispositivi di mostrare lo stesso indirizzo IP quando comunicano all’esterno della rete.
Il NAT agisce come un addetto alla reception in un’azienda, che decide quali visitatori o chiamate inoltrare, mettere in attesa o bloccare, basandosi su istruzioni specifiche. Analogamente, tutte le richieste giungono alla porta pubblica e all’indirizzo IP. Da qui, le istruzioni NAT stabiliscono la destinazione della richiesta, nascondendo l’indirizzo IP privato della destinazione finale.
Il NAT seleziona i gateway tra due reti locali distinte: la rete esterna e quella interna. Tutti i sistemi interni avranno indirizzi IP che non possono essere instradati sulla rete esterna. Inoltre, alcuni indirizzi IP esterni validi vengono allocati al gateway, facendo apparire il traffico in uscita come proveniente da un indirizzo IP esterno valido.
Successivamente, il NAT riceve il traffico in entrata e lo trasmette al sistema interno corretto, garantendo una maggiore sicurezza. Poiché sia le richieste in entrata sia quelle in uscita devono passare attraverso un processo di traduzione, il NAT rappresenta un ottimo modo per convalidare il traffico in entrata e abbinarlo ai flussi in uscita.
Esempio di processo NAT
Ecco un esempio concreto di come il NAT funziona nella pratica.
Un utente connette i propri dispositivi alla rete Wi-Fi domestica. Il router domestico assegna un indirizzo IP privato al dispositivo, che può essere utilizzato solo all’interno di questa rete.
Quando l’utente tenta di caricare una pagina web, la richiesta indirizzerà la pagina web di destinazione attraverso il router. A questo punto, il router NAT cambierà l’indirizzo di origine della richiesta, sostituendo l’IP privato del dispositivo con l’IP pubblico della propria rete. Una tabella NAT memorizzerà questa traduzione. Il gateway cercherà in questa tabella per verificare se il pacchetto dati soddisfa le condizioni di traduzione.
Inoltre, il server a cui l’utente ha fatto richiesta, restituirà il pacchetto di dati all’indirizzo pubblico della rete. Il router, successivamente, modificherà l’indirizzo di destinazione sull’IP privato del dispositivo, inoltrando i pacchetti dati al dispositivo dell’utente.
Tipi di NAT
Tipi di NAT
Esistono diversi tipi di NAT, ognuno dei quali può essere utilizzato per scopi specifici.
#1. SNAT
Il NAT statico (SNAT) è un tipo di NAT che converte un indirizzo IP privato in un indirizzo IP pubblico. Utilizza lo stesso indirizzo IP pubblico ogni volta che esegue la traduzione.
SNAT può mappare un indirizzo IP non registrato con l’aiuto del NAT uno-a-uno, in modo che corrisponda a un indirizzo IP registrato. Ciò significa che tutti i dispositivi di questa rete avranno lo stesso indirizzo IP pubblico. In questo caso, vengono modificati solo due elementi nell’indirizzo di rete: l’intestazione e l’indirizzo IP stesso.
Questa soluzione è particolarmente utile per i dispositivi a cui è necessario accedere dalla rete esterna, come nel caso dell’hosting web o per l’interconnessione di due reti IP con indirizzi incompatibili. Generalmente, le piccole organizzazioni e i privati utilizzano SNAT con un numero limitato di dispositivi per contenere i costi.
#2. DNAT
Il NAT dinamico (DNAT) è un tipo di NAT che associa un indirizzo IP privato a un pool di indirizzi IP pubblici. A differenza dell’SNAT, non utilizza sempre lo stesso indirizzo IP, ma ogni volta che esegue la traduzione utilizza un indirizzo diverso, mantenendo comunque una connessione uno-a-uno come l’SNT.
In questo caso, il firewall o il router DNAT ha a disposizione un pool di indirizzi IP pubblici registrati. Quando il DNAT traduce un indirizzo di rete da privato a pubblico, permette al router di scegliere un indirizzo IP disponibile dal pool. Successivamente, si procede alla mappatura di un indirizzo non registrato con un indirizzo IP registrato.
Il DNAT permette quindi a un dispositivo di avere indirizzi IP diversi per ogni traduzione. Questo significa che non è possibile sapere con certezza quale indirizzo IP globale è stato associato a un indirizzo privato. Questa soluzione è efficiente in quanto permette di connettere più dispositivi alla rete.
Tuttavia, può essere costoso, poiché è necessario investire in un pool di IP pubblici. Inoltre, il numero di pacchetti dati che possono essere trasmessi è limitato, essendo pari al numero totale di indirizzi IP pubblici disponibili nel pool.
Questo tipo di NAT è adatto alle grandi organizzazioni con diverse reti interne, o nel caso in cui un numero fisso di utenti necessiti di accedere a internet.
#3. PAT
La traduzione degli indirizzi di porta (PAT), anche detta NAT overload, è una situazione in cui ogni dispositivo interno utilizza un indirizzo IP pubblico condiviso. Ad ogni indirizzo IP privato, tuttavia, viene assegnata una porta diversa.
In PAT, vengono utilizzate porte diverse per mappare i differenti indirizzi IP locali, non registrati e privati, su un singolo indirizzo IP registrato. Questa tecnica permette di differenziare il traffico di rete corrispondente a ciascun indirizzo IP.
Il PAT è una forma di NAT in cui i pacchetti di dati hanno indirizzi di origine modificati durante il loro passaggio dalla rete privata a quella pubblica. Analogamente, viene modificato l’indirizzo di destinazione quando i dati ritornano dalla rete pubblica alla rete privata.
Inoltre, per assicurare la chiarezza della traduzione, vengono modificati i numeri di porta dei pacchetti di dati. Questa combinazione di indirizzo IP modificato e numero di porta viene associata a un indirizzo IP privato registrato.
Molti considerano il PAT una soluzione più economica rispetto al NAT, in quanto permette a un elevato numero di utenti di collegarsi al web utilizzando un solo indirizzo IP pubblico. Questa caratteristica lo rende adatto sia alle grandi che alle piccole e medie organizzazioni.
Oltre a SNAT, DNAT e PAT, si possono incontrare anche RNAT e NAT sovrapposto.
- RNAT consente di connettersi alla propria rete attraverso la rete internet pubblica.
- Il NAT sovrapposto si verifica quando le reti di due organizzazioni che utilizzano indirizzi IP RFC 1918 si uniscono, o quando indirizzi IP registrati vengono assegnati a più dispositivi o utilizzati in diverse reti interne. In questi casi, il NAT sovrapposto collega le reti senza reindirizzare ciascun dispositivo.
Perché il NAT è importante?
Importanza del NAT
Un dispositivo o sistema di rete richiede un indirizzo IP, una sequenza unica di numeri separati da punti, per poter comunicare con il web. Questo numero viene utilizzato per identificare e localizzare un dispositivo di rete, consentendo agli utenti di interagire con il web.
Gli indirizzi IP sono di due tipi: IPv4 e IPv6. All’inizio di internet furono creati circa 4,3 miliardi di indirizzi IPv4. Tuttavia, non tutti possono essere assegnati a dispositivi per stabilire la comunicazione. Alcuni sono stati riservati per test, uso militare e broadcast, lasciando circa 3 miliardi di indirizzi IP disponibili per la comunicazione.
Nel 2019, RIPE NCC ha allocato gli indirizzi IPv4 finali rimasti dal pool disponibile, esaurendo di fatto le risorse IPv4. Per contrastare questo problema, è stata introdotta la tecnologia IPv6. L’IPv6 ricrea il sistema di indirizzamento IP, fornendo più opzioni per l’allocazione degli indirizzi. Tuttavia, sono stati necessari diversi anni per cambiare o implementare questo nuovo sistema di rete.
Ed ecco che entra in gioco il NAT. Nel frattempo, Cisco introdusse il NAT, che ora è ampiamente utilizzato.
Il NAT è diventato un metodo efficace e diffuso per conservare lo spazio degli indirizzi globali, specialmente in seguito all’esaurimento degli indirizzi IPv4. Il NAT viene utilizzato anche per nascondere gli intervalli degli indirizzi IP della rete privata per comodità e sicurezza.
Vantaggi del NAT
Conservazione dell’indirizzo IP
Il NAT aiuta a conservare gli indirizzi IP registrati validi e a prevenire il loro esaurimento. Considerato l’aumento globale degli utenti internet, si tratta di un’iniziativa importante per rendere il web uno spazio accessibile a tutti.
Sicurezza
Grazie al NAT, è possibile navigare in internet con maggiore sicurezza e privacy, poiché questo metodo nasconde l’IP del dispositivo dalla rete pubblica, anche durante la trasmissione dei pacchetti dati. La limitazione della velocità NAT, inoltre, consente di limitare il numero massimo di operazioni NAT eseguite contemporaneamente sul router.
In questo modo, si ottiene un controllo maggiore sull’utilizzo degli indirizzi NAT, riducendo gli effetti di virus, worm, attacchi Denial of Service (DoS) e simili. L’implementazione del NAT dinamico (DNAT) creerà automaticamente un firewall tra internet e la rete interna. Alcuni router NAT, inoltre, offrono funzionalità di sicurezza aggiuntive, come il filtraggio del traffico e la registrazione delle attività.
Connessioni multiple
La creazione di connessioni internet multiple aumenta l’affidabilità della rete e riduce il rischio di interruzioni in caso di problemi di connessione. Inoltre, contribuisce al bilanciamento del carico, riducendo il numero di dispositivi che utilizzano una singola connessione.
Le reti multihomed, di solito, si connettono a diversi ISP che assegnano uno o più indirizzi IP all’organizzazione. Inoltre, i router possono utilizzare il NAT per indirizzare reti con protocolli NAT differenti.
Una rete multihomed comunica consentendo al router di sfruttare parte del protocollo TCP o IP, il Border Gateway Protocol (BGP). Allo stesso modo, i siti di sottodominio comunicano con l’ausilio di BGP interni (IBGP), mentre i router utilizzano BGP esterni (EBGP) per interagire. Nel caso in cui una connessione fallisca, il multihoming reindirizzerà i dati tramite un altro router.
Velocità
Il NAT è più trasparente per i computer di origine e di destinazione rispetto ai server proxy, garantendo una maggiore velocità. I server proxy, solitamente, operano a livello quattro o al livello di trasporto del modello OSI, o anche a un livello superiore. Questo li rende più lenti del NAT, che si trova al livello tre, il livello di rete.
Scalabilità
Le esigenze di un’azienda possono richiedere un numero crescente di indirizzi IP per i propri utenti e dispositivi. Invece di richiedere ulteriori indirizzi IP all’IANA, è possibile sfruttare il NAT. L’utilizzo del NAT in combinazione con il DHCP (Dynamic Host Configuration Protocol) semplifica ulteriormente il processo di ridimensionamento.
Il NAT e il DHCP, infatti, collaborano efficacemente per assegnare IP non registrati al sottodominio, selezionandoli dall’elenco disponibile in base alle esigenze. In questo modo, è possibile espandere la gamma di indirizzi IP disponibili, mentre il DHCP può configurare e creare rapidamente spazio per un maggior numero di computer in rete.
Flessibilità e semplicità
Il NAT offre flessibilità nella distribuzione e nella creazione di connessioni, permettendo di implementarlo in una LAN pubblica wireless. A volte, con il NAT statico (SNAT) e la mappatura in entrata, è possibile consentire a dispositivi esterni di stabilire connessioni con dispositivi all’interno del sottodominio.
Inoltre, il NAT riduce la complessità e rende più semplici le connessioni internet, in quanto non richiede la rinumerazione degli indirizzi IP dopo la modifica o l’unione di una rete. Il NAT, inoltre, permette di creare un host virtuale nella rete interna, che coordina il bilanciamento del carico TCP.
Limiti del NAT
Limitazioni del NAT
Alcuni limiti del NAT sono:
- Consumo di risorse: il NAT può consumare una quantità significativa di risorse del processore e della memoria, poiché traduce tutti gli indirizzi IPv4 dei datagrammi IPv4 in entrata e in uscita e salva i dettagli della traduzione in memoria.
- Funzionalità: l’attivazione del NAT può ridurre la funzionalità di alcune tecnologie e applicazioni.
- Complicazioni di tunneling: il NAT può complicare i protocolli di tunneling. In questo caso, è possibile utilizzare l’IPsec per la traduzione sicura degli indirizzi di rete.
- Problemi di livello: quando un router funziona come dispositivo NAT, può interferire con il livello 4 o livello di trasporto, come i numeri di porta, poiché è progettato per il livello 3, il livello di rete.
- Ritardi: durante la traduzione si possono verificare dei ritardi nel percorso.
Termini comuni relativi al NAT
- Indirizzo di origine: è l’indirizzo IP dell’host che invia il pacchetto di dati.
- Porta di origine: è il numero di porta TCP/UDP assegnato dall’host iniziale.
- Indirizzo di destinazione: è l’indirizzo IP del ricevente del pacchetto dati.
- Porta di destinazione: è la porta TCP o UDP che l’host di avvio richiede che il ricevente apra.
- Indirizzo locale interno: è un indirizzo IP privato assegnato a un host su una rete locale (interna). Non viene assegnato da un provider di servizi. È l’host interno per una rete interna.
- Indirizzo globale interno: è un indirizzo IP che rappresenta uno o più indirizzi IP locali. È l’host interno per la rete esterna.
- Indirizzo locale esterno: è l’indirizzo IP reale dell’host di destinazione che si trova in una rete locale, dopo aver completato la traduzione.
- Indirizzo globale esterno: è l’indirizzo IP dell’host di destinazione esterno, prima della traduzione. È l’host esterno per la rete esterna.
- Sottodominio: è un indirizzo IP privato non registrato composto da:
- Indirizzi locali esterni implementati dai router NAT.
- Indirizzi locali che utilizzano la rete locale.
- Tabella NAT: il NAT riassegna i numeri di porta e gli indirizzi IP, tracciandoli tramite una tabella di traduzione NAT.
Supponiamo che un router riceva un pacchetto dati da un dispositivo locale a cui è stato assegnato un indirizzo IP pubblico. Il router modificherà l’indirizzo IP del dispositivo di origine, consentendogli di utilizzare il proprio indirizzo IP. In seguito, cambierà il numero di porta di origine per assicurarsi di avere le informazioni sulla destinazione dei pacchetti ricevuti. Questa riassegnazione di indirizzi IP viene registrata nella tabella di traduzione NAT.
Conclusione
Considerata la crescita degli utenti internet e dei problemi di sicurezza sempre più diffusi, è necessario un metodo di connessione più sicuro ed efficiente. Il NAT si pone l’obiettivo di raggiungere questo risultato. Il suo utilizzo contribuisce alla conservazione degli indirizzi IP pubblici, garantendo al tempo stesso vantaggi di sicurezza, velocità, flessibilità e scalabilità durante la connessione a internet.