<< Torna al Glossario tecnico
Network Address Translation Definition
Network Address Translation (NAT) è un processo che consente a un unico indirizzo IP di rappresentare un intero gruppo di computer. Nella traduzione degli indirizzi di rete, un dispositivo di rete, spesso un router o un firewall NAT, assegna a un computer o ai computer all’interno di una rete privata un indirizzo pubblico. In questo modo, la traduzione degli indirizzi di rete consente al singolo dispositivo di agire come intermediario o agente tra la rete locale privata e la rete pubblica che è Internet. Lo scopo principale di NAT è quello di conservare il numero di indirizzi IP pubblici in uso, sia per scopi di sicurezza che economici.
Domande frequenti sulla traduzione degli indirizzi di rete
Che cos’è la traduzione degli indirizzi di rete?
Network Address Translation (NAT) conserva gli indirizzi IP consentendo alle reti IP private che utilizzano indirizzi IP non registrati di andare online. Prima che NAT inoltri i pacchetti tra le reti che connette, traduce gli indirizzi di rete interni privati in indirizzi legali e univoci a livello globale.
Le configurazioni NAT possono rivelare un solo indirizzo IP per un’intera rete al mondo esterno come parte di questa funzionalità, nascondendo efficacemente l’intera rete interna e fornendo ulteriore sicurezza. La traduzione degli indirizzi di rete è tipicamente implementata in ambienti di accesso remoto, in quanto offre la duplice funzione di conservazione degli indirizzi e maggiore sicurezza.
Qual è lo scopo della traduzione degli indirizzi di rete?
Per comunicare con Internet, un sistema di rete richiede un indirizzo IP univoco. Questo numero a 32 bit identifica e individua il dispositivo di rete in modo che un utente possa comunicare con esso.
Lo schema di indirizzamento IPV4 degli ultimi decenni rendeva tecnicamente disponibili miliardi di questi indirizzi univoci, ma non tutti potevano essere assegnati ai dispositivi per la comunicazione. Invece, alcuni sono stati esentati e utilizzati per il test, trasmissione, e alcuni scopi militari riservati. Mentre che ha lasciato oltre 3 miliardi per la comunicazione, la proliferazione di Internet ha fatto sì che gli indirizzi erano quasi esaurimento.
Lo schema di indirizzamento IPv6 è stato introdotto come soluzione a questa debolezza nello schema di indirizzamento IPv4. IPv6 ricrea il sistema di indirizzamento quindi ci sono più opzioni per allocare gli indirizzi, ma ci sono voluti diversi anni per modificare l’infrastruttura del sistema di rete e per implementare. NAT è stato introdotto da Cisco nel frattempo e ampiamente distribuito.
Come funziona la traduzione degli indirizzi di rete
La traduzione degli indirizzi di rete consente a un singolo dispositivo, come un firewall NAT o un router NAT o un altro dispositivo di traduzione degli indirizzi di rete, di agire come agente tra la rete pubblica e le reti private—Internet e qualsiasi rete locale. Ciò consente a un intero gruppo di dispositivi di essere rappresentato da un unico indirizzo IP univoco quando fanno qualcosa al di fuori della propria rete.
NAT funziona come il receptionist di una grande azienda, con istruzioni specifiche su quali chiamate e visitatori tenere fuori, aspettare o inviare e dove dovrebbero andare. Ad esempio, puoi dire al receptionist di non inoltrare visitatori o chiamate senza la tua richiesta fino a quando non stai aspettando qualcosa di specifico; puoi quindi lasciare istruzioni su come lasciare quella particolare comunicazione con il cliente.
Il cliente chiama il numero principale dell’azienda, perché quel numero rivolto al pubblico è l’unico che qualcuno conosce. Dicono la receptionist hanno bisogno di parlare con voi, e la receptionist a) controlla le istruzioni e sa che si desidera che la chiamata inoltrata, e b) corrisponde la vostra estensione con un elenco per inviare le informazioni al posto giusto. Il chiamante non ottiene mai la tua linea privata.
La traduzione degli indirizzi di rete funziona allo stesso modo. La richiesta arriva all’indirizzo IP pubblico e alla porta e le istruzioni NAT la inviano dove dovrebbe andare senza rivelare gli indirizzi IP privati delle destinazioni.
Esempio di traduzione degli indirizzi di rete NAT
Come esempio di traduzione degli indirizzi di rete NAT, un host interno potrebbe voler comunicare con un indirizzo Web server di traduzione degli indirizzi di rete di destinazione nel mondo esterno. Per ulteriori comunicazioni, invierà un pacchetto di dati al router NAT gateway della rete.
Il router NAT gateway determina se il pacchetto soddisfa le condizioni per la traduzione imparando l’indirizzo IP di origine del pacchetto e cercandolo nella tabella. Può individuare gli host autenticati per scopi di traduzione della rete interna sul suo Access Control list (ACL) e quindi completare la traduzione, producendo un indirizzo IP globale interno dall’indirizzo IP locale interno.
Infine, il router NAT gateway instraderà il pacchetto alla destinazione dopo aver salvato la traduzione nella tabella NAT. Il pacchetto ritorna all’indirizzo IP globale del router quando il server Web di Internet ritorna alla richiesta. Facendo riferimento alla tabella NAT, il router può determinare quale indirizzo IP tradotto corrisponde a quale indirizzo globale, tradurlo all’indirizzo locale interno e consegnare il pacchetto di dati all’host al loro indirizzo IP. Il pacchetto di dati viene scartato se non viene trovata alcuna corrispondenza.
Tipi di traduzione degli indirizzi di rete
Esistono molte forme di NAT e può funzionare in diversi modi.
SNAT di traduzione indirizzo di rete statico. SNAT mappa gli indirizzi IP non registrati utilizzando la traduzione degli indirizzi di rete da 1 a 1 per abbinarli agli indirizzi IP registrati. È particolarmente utile quando un dispositivo deve essere accessibile dall’esterno della rete.
Dynamic network address translation DNAT. Questa forma di NAT seleziona una destinazione da un gruppo di indirizzi IP registrati e associa un indirizzo IP non registrato alla versione registrata.
Reverse indirizzo di rete traduzione RNAT. RNAT consente agli utenti di connettersi a se stessi utilizzando Internet o rete pubblica.
Overloading network address translation NAT. Questo è anche noto come sovraccarico NAT, NAT multiplexed a livello di porta, NAT Single Address o port address Translation (PAT). Questa forma di NAT dinamico utilizza porte diverse per mappare più indirizzi IP privati, locali e non registrati a un singolo indirizzo IP registrato e distinguere quale traffico appartiene a quale indirizzo IP NAT. In termini di traduzione dell’indirizzo di porta rispetto alla traduzione dell’indirizzo di rete, PAT è spesso più conveniente quando molti utenti sono connessi a Internet tramite un solo indirizzo IP pubblico.
Traduzione di indirizzi di rete sovrapposti NAT. La sovrapposizione di NAT può verificarsi quando due organizzazioni le cui reti utilizzano entrambi gli indirizzi IP RFC 1918 si uniscono o quando gli indirizzi IP registrati vengono assegnati a più dispositivi o comunque in uso su più di una rete interna. In entrambi i casi, le reti devono comunicare, e l’organizzazione(s) utilizzare sovrapposizione NAT per raggiungere questo obiettivo senza readdressing tutti i dispositivi.
Il router NAT intercetta gli indirizzi e ne mantiene una tabella in modo da poterli sostituire con indirizzi IP univoci registrati. Il router network address translation deve tradurre gli indirizzi IP esterni registrati in quelli univoci della rete privata e gli indirizzi IP interni in indirizzi univoci registrati. Potrebbe raggiungere questo obiettivo utilizzando DNS per implementare NAT dinamico o tramite NAT statico.
Nel contesto di traduzione degli indirizzi di rete, la rete interna, comunemente chiamata dominio stub, è solitamente una LAN di rete locale che utilizza gli indirizzi IP internamente. La maggior parte del traffico di rete del dominio stub è locale, rimanendo all’interno della rete interna. Un dominio stub può includere sia indirizzi IP non registrati che registrati.
Network Address Translation Configuration
Una configurazione NAT tradizionale richiede almeno un’interfaccia su un router (NAT esterno); un’altra interfaccia sul router (NAT interno); e un set configurato di regole per tradurre gli indirizzi IP nelle intestazioni dei pacchetti e possibilmente payload.
In questo esempio di configurazione della traduzione degli indirizzi di rete, configura il router NAT come segue. Ogni volta che un dispositivo all’interno con un indirizzo IP non registrato (interno, locale) deve comunicare con la rete (esterna, pubblica), il router traduce quegli indirizzi non registrati che risiedono sulla rete privata (interna) in indirizzi IP registrati.
- L’organizzazione riceve un intervallo di indirizzi IP univoci registrati assegnati dall’ISP. L’elenco di indirizzi assegnato viene chiamato all’interno di indirizzi globali.
- Il team divide gli indirizzi privati non registrati in un piccolo gruppo e un gruppo molto più grande. Il dominio stub utilizzerà il gruppo più grande, chiamato all’interno di indirizzi locali. I router NAT utilizzeranno il piccolo gruppo, chiamato indirizzi locali esterni, per tradurre gli indirizzi globali esterni o gli indirizzi IP univoci dei dispositivi sulla rete pubblica.
- La maggior parte dei computer di dominio stub comunicano tra loro utilizzando indirizzi locali interni. Ci sono indirizzi globali interni per quei computer di dominio stub che comunicano estesamente al di fuori della rete, il che significa che non richiedono la traduzione.
- Tuttavia, quando un tipico computer di dominio stub con un indirizzo locale interno deve comunicare al di fuori della rete, invia il pacchetto a un router NAT.
- Il router NAT controlla l’indirizzo di destinazione nella tabella di routing. Se ha una voce per quell’indirizzo, il router NAT traduce il pacchetto e inserisce quell’azione nella tabella di traduzione degli indirizzi. Il router NAT rilascia il pacchetto se l’indirizzo di destinazione non è nella tabella di routing.
- Il router invia il pacchetto utilizzando un indirizzo globale interno.
- Un computer di rete pubblica invia un pacchetto alla rete privata. L’indirizzo di destinazione del pacchetto è un indirizzo globale interno e il suo indirizzo di origine è un indirizzo globale esterno.
- Il router NAT conferma che l’indirizzo di destinazione viene associato a un computer di dominio stub controllando la tabella di traduzione degli indirizzi.
- Il router NAT invia il pacchetto al computer di destinazione dopo aver tradotto l’indirizzo globale interno del pacchetto all’indirizzo locale interno.
L’overloading NAT utilizza il multiplexing, una funzionalità dello stack di protocollo TCP/IP. Il multiplexing consente a un computer di mantenere più connessioni con computer remoti contemporaneamente utilizzando porte diverse. L’intestazione di un pacchetto IP contiene:
Indirizzo sorgente. L’indirizzo IP del computer di origine,ad esempio, 123.123.12.1
Porta di origine. Il numero di porta TCP o UDP assegnato per questo pacchetto, ad esempio, Porta 1060
Indirizzo di destinazione. L’indirizzo IP del computer ricevente, ad esempio, 52.220.51.237
Porta di destinazione. Il numero di porta TCP o UDP network address translation il computer di destinazione deve aprire, ad esempio, la porta 2170
Questi quattro numeri combinati rappresentano una singola connessione TCP/IP. Gli indirizzi chiariscono i due computer a ciascuna estremità e i numeri di porta forniscono un identificatore univoco per la connessione tra i due computer. Sebbene ci siano possibili 65.536 valori qui poiché ogni numero di porta utilizza 16 bit, porte diverse sono mappate in modi leggermente diversi, quindi circa 4.000 porte disponibili sono realistiche.
Configurazione di sovraccarico NAT e NAT dinamico
Nella traduzione dinamica degli indirizzi di rete:
- IANA (Internet Assigned Numbers Authority), l’autorità globale che assegna gli indirizzi IP, è l’unica fonte di indirizzi IP univoci. Se è stato impostato un dominio stub o una rete interna con indirizzi IP che IANA non ha assegnato specificamente per loro, gli indirizzi non sono univoci e quindi non sono instradabili.
- L’organizzazione imposta un router abilitato per NAT che contiene un intervallo di indirizzi IP univoci da IANA.
- Un computer di dominio stub tenta di connettersi a un computer esterno.
- Il router riceve il pacchetto del computer del dominio stub.
- Il router abilitato NAT salva l’indirizzo IP non instradabile dal computer di invio a una tabella di traduzione degli indirizzi. Il router associa il primo indirizzo IP disponibile al di fuori della zona di indirizzi IP univoci al computer di invio per sostituire l’indirizzo IP non instradabile.
- Il router ora controlla l’indirizzo di destinazione di ogni pacchetto quando arriva dal computer di destinazione e verifica a quale computer di dominio stub appartiene il pacchetto con la tabella di traduzione degli indirizzi. Se non trova alcuna corrispondenza, rilascia il pacchetto. In caso contrario, individua l’alternativa per l’indirizzo di destinazione salvato nella tabella di traduzione degli indirizzi e lo invia.
- Il computer riceve il pacchetto e il processo continua finché il sistema esterno e il computer comunicano.
In sovraccarico NAT:
- Come nel precedente esempio Dynamic NAT, è stato impostato un dominio stub o una rete interna con indirizzi IP non instradabili e non univoci non assegnati specificamente per loro, quindi l’organizzazione imposta un router abilitato per NAT che contiene un indirizzo IP univoco da IANA.
- Un computer di dominio stub tenta di connettersi a un computer esterno.
- Il router abilitato NAT riceve il pacchetto del computer del dominio stub.
- Il router NAT salva l’indirizzo IP non instradabile e il numero di porta dal computer di invio a una tabella di traduzione degli indirizzi. Il router associa un numero di porta e l’indirizzo IP del router al computer di invio per sostituire l’indirizzo IP e il numero di porta non instradabili.
- Il router controlla le porte di destinazione dei pacchetti che ritornano dal computer di destinazione e conferma a quale computer di dominio stub appartiene il pacchetto. Sostituisce la porta di destinazione e l’indirizzo con le versioni salvate dalla tabella di traduzione degli indirizzi e li invia.
- Il computer riceve il pacchetto e il processo continua finché il sistema esterno e il computer comunicano.
- Il router NAT continuerà a utilizzare lo stesso numero di porta per tutta la connessione, poiché ha la porta di origine e l’indirizzo del computer salvati nella tabella di traduzione degli indirizzi. Se la comunicazione termina senza accedere nuovamente alla voce, il router rimuove la voce dalla tabella.
In contrasto con il computer descritto sopra nella configurazione NAT tradizionale, questo è il modo in cui i computer di dominio stub potrebbero apparire alle reti esterne:
Computer di origine 1
Indirizzo IP: 192.168.24.11
Porta del computer: 620
Indirizzo IP del router NAT: 215.37.32.203
Router NAT Numero di Porta: 1
Computer di Origine 2
Indirizzo IP: 192.168.24.12
Computer Porta: 80
NAT del Router Indirizzo IP: 215.37.32.203
Router NAT Numero di Porta: 2
Computer di Origine 3
Indirizzo IP: 192.168.24.13
Porta Computer: 1560
NAT del Router Indirizzo IP: 215.37.32.203
Router NAT Numero di Porta: 3
NAT router abilitato negozi di ogni computer di origine indirizzo IP e numero di porta. Utilizza il proprio indirizzo IP registrato e numeri di porta per sostituire l’indirizzo IP e il numero di porta che corrispondono al computer di origine del pacchetto nella tabella. Al posto delle informazioni sul computer di origine su ciascun pacchetto, qualsiasi rete esterna vede l’indirizzo IP del router NAT e il numero di porta assegnato.
Alcuni computer di dominio stub utilizzano indirizzi IP dedicati. In queste situazioni i loro indirizzi IP possono passare dal router NAT non tradotto se si crea un elenco di accesso di indirizzi IP che chiarisce per il router quali computer di rete richiedono NAT.
La memoria DRAM (Dynamic Random Access Memory) di un router è il fattore principale che determina il numero di traduzioni simultanee che può supportare. Una voce tipica della tabella di traduzione degli indirizzi richiede circa 160 byte, quindi per la maggior parte delle applicazioni è sufficiente un router con 4 MB di DRAM.
Secondo IANA e RFC 1918, esistono intervalli specifici di indirizzi IP da utilizzare come indirizzi di rete interni non instradabili. Questi indirizzi non sono registrati, il che significa che nessuna agenzia o azienda può usarli su computer pubblici o rivendicare la proprietà su di essi. Invece di inoltrare indirizzi non registrati, i router sono progettati per scartarli. Pertanto, un pacchetto da un indirizzo del computer di invio non registrato potrebbe raggiungere la destinazione del computer registrato, ma il primo router a cui è arrivata la risposta lo scarterebbe.
Per ridurre la possibilità di un conflitto di indirizzi IP, vale la pena di seguire il range per ciascuna delle tre classi di indirizzi IP della tua rete interna:
- campo 1: Classe 10.0.0.0 attraverso 10.255.255.255
- campo 2: Classe B – 172.16.0.0 attraverso 172.31.255.255
- Gamma 3: Classe C – 192.168.0.0 attraverso 192.168.255.255
Tuttavia, questa è una buona pratica, non un requisito.
Router NAT
Utilizzando il sovraccarico NAT, un router NAT crea una rete di indirizzi IP per una LAN di rete locale e collega la rete pubblica che è Internet a quella rete LAN. Il router esegue il NAT permettendo la comunicazione tra WAN o Internet e i dispositivi host o computer sulla rete LAN. Poiché i router NAT sembrano essere un host solo con un indirizzo IP solo a Internet, vengono utilizzati per industrie su piccola scala e scopi domestici.
Vantaggi della traduzione degli indirizzi di rete
Vantaggi del NAT
Conservazione degli indirizzi. NAT conserva gli indirizzi IP registrati legalmente e ne impedisce l’esaurimento.
Sicurezza della traduzione degli indirizzi di rete. NAT offre la possibilità di accedere a Internet con maggiore sicurezza e privacy nascondendo l’indirizzo IP del dispositivo dalla rete pubblica, anche quando si invia e riceve traffico. La limitazione della velocità NAT consente agli utenti di limitare il numero massimo di operazioni NAT simultanee su un router e di limitare il numero di traduzioni NAT. Ciò fornisce un maggiore controllo sull’uso degli indirizzi NAT, ma può anche essere utilizzato per limitare gli effetti di worm, virus e attacchi denial-of-service (DoS). L’implementazione NAT dinamica crea automaticamente un firewall tra la rete interna e Internet. Alcuni router NAT offrono la registrazione e il filtraggio del traffico.
Flessibilità. NAT offre flessibilità; ad esempio, può essere distribuito in un ambiente LAN wireless pubblico. Inbound mapping o static NAT consente a dispositivi esterni di avviare connessioni ai computer sul dominio stub in alcuni casi.
Semplicità. Elimina la necessità di rinumerare gli indirizzi quando una rete cambia o si unisce.
Network address translation consente di creare un host virtuale all’interno della rete per coordinare il bilanciamento del carico TCP per i server di rete interni.
Velocità. Rispetto ai server proxy, NAT è trasparente sia per i computer di destinazione che per i computer di origine, consentendo un trattamento diretto più rapido. Inoltre, i server proxy in genere lavorano al livello di trasporto o al livello 4 del modello di riferimentoSI o superiore, rendendoli più lenti della traduzione degli indirizzi di rete, che è un protocollo di livello di rete o di livello 3.
Scalabilità. NAT e dynamic Host Configuration Protocol (DHCP) funzionano bene insieme, con il server DHCP che distribuisce gli indirizzi IP non registrati per il dominio stub dall’elenco, se necessario. Il ridimensionamento è più semplice, poiché è possibile aumentare l’intervallo disponibile di indirizzi IP configurati dal DHCP per fare spazio immediatamente a computer di rete aggiuntivi invece di richiedere più indirizzi IP da IANA all’aumentare delle esigenze.
Multi-homing. Connessioni multiple a Internet, chiamato multi-homing, aiuta a mantenere una connessione affidabile e riduce la possibilità di un arresto in caso di connessione non riuscita. Ciò consente anche il bilanciamento del carico riducendo il numero di computer che utilizzano una singola connessione. Le reti multi-homed spesso si connettono a più ISP, ciascuno assegnando un intervallo di indirizzi IP o un singolo indirizzo IP all’organizzazione. I router utilizzano la traduzione degli indirizzi di rete per instradare tra reti utilizzando diversi protocolli di traduzione degli indirizzi di rete. In una rete multi-homed, il router utilizza parte della suite di protocolli TCP/IP, il border gateway protocol (BGP), per comunicare; il lato del dominio stub utilizza BGP interno o IBGP e i router comunicano tra loro utilizzando BGP esterno o EBGP. Il multi-homing reindirizza tutti i dati attraverso un altro router se una delle connessioni a un ISP fallisce.
Svantaggi di NAT
Consumo di risorse. La traduzione degli indirizzi di rete è una tecnologia che consuma risorse di memoria e spazio del processore, poiché deve tradurre gli indirizzi IPv4 per tutti i datagrammi IPv4 in uscita e in entrata e conservare i dettagli della traduzione in memoria.
Ritardi. I ritardi del percorso sono causati dai risultati della traduzione nei ritardi del percorso di commutazione.
Funzionalità. Alcune applicazioni e tecnologie non funzioneranno come previsto con NAT abilitato.
Tracciabilità. La traduzione degli indirizzi di rete complica i protocolli per il tunneling. IPSec è il protocollo sicuro consigliato per la traduzione degli indirizzi di rete.
Problema di livello. Un router è un dispositivo per il livello di rete, ma come dispositivo NAT è necessario manomettere il livello di trasporto sotto forma di numeri di porta.
Avi offre una soluzione software di traduzione degli indirizzi di rete?
Avi Networks’ Avi Vantage Platform, un software-defined application services fabric, applica le politiche di controllo degli accessi e cattura e analizza il traffico delle applicazioni end-to-end, offrendo servizi ben oltre il bilanciamento del carico.
Quando vengono distribuiti nuovi server di applicazioni, i server necessitano di connettività esterna per la gestibilità. In assenza di un router nelle reti di server, Avi SE può essere utilizzato per il routing del traffico delle reti di server utilizzando la funzione di routing IP dei motori di servizio. La funzionalità NAT di Avi Service Engine (SE) copre questo e funge da gateway NAT per l’intera rete privata di server.
NAT funzionerà tramite il routing IP sul motore di servizio, la funzionalità gateway predefinita SE o nella fase di post-routing del percorso del pacchetto. Per utilizzare la funzionalità NAT in uscita, è necessario abilitare il routing IP sul motore di servizio e utilizzare SE come gateway.
Avi supporta NAT in uscita per i flussi TCP / UDP e ICMP.
Ci sono tre opzioni di caso d’uso NAT in uscita:
- NAT Flows(mostra NAT flow information)
- NAT Policy Stats (mostra NAT policy stats)
- NAT Stat (mostra NAT statistics)
La piattaforma consente anche NAT di origine o SNAT per l’identificazione dell’applicazione. L’indirizzo IP di origine utilizzato da Avi SEs per le connessioni back-end del server può essere sovrascritto tramite un indirizzo esplicito specificato dall’utente: l’indirizzo IP NAT (SNAT) di origine. L’indirizzo IP SNAT può essere specifico come parte della configurazione del servizio virtuale.
In alcune distribuzioni, per fornire un trattamento differenziale basato sull’applicazione, è essenziale identificare il traffico in base all’indirizzo IP di origine. Ad esempio, nelle distribuzioni DMZ la sicurezza, il firewall, la visibilità e altri tipi di soluzioni potrebbero dover convalidare i client che utilizzano l’IP di origine prima di passare il traffico a un’applicazione.