Traduzione degli indirizzi di rete



Mai nella storia dell'umanità ci sono state così tante informazioni in merito Esplorare la traduzione degli indirizzi di rete nel 2023: una guida completa come c'è oggi grazie a internet. Tuttavia, questo accesso a tutto ciò che riguarda Esplorare la traduzione degli indirizzi di rete nel 2023: una guida completa non è sempre facile. Saturazione, scarsa usabilità e difficoltà a distinguere tra informazioni corrette e non corrette Esplorare la traduzione degli indirizzi di rete nel 2023: una guida completa sono spesso difficili da superare. Questo è ciò che ci ha motivato a creare un sito affidabile, sicuro ed efficace.

Ci era chiaro che per raggiungere il nostro obiettivo non bastava avere informazioni corrette e verificate in merito Esplorare la traduzione degli indirizzi di rete nel 2023: una guida completa . Tutto quello che avevamo raccolto Esplorare la traduzione degli indirizzi di rete nel 2023: una guida completa inoltre doveva essere presentato in modo chiaro e leggibile, in una struttura che facilitasse l'esperienza dell'utente, con un design pulito ed efficiente, e che privilegiasse la velocità di caricamento. Siamo fiduciosi di aver raggiunto questo obiettivo, anche se lavoriamo sempre per apportare piccoli miglioramenti. Se hai trovato ciò che hai trovato utile Esplorare la traduzione degli indirizzi di rete nel 2023: una guida completa e ti sei sentito a tuo agio, saremo molto felici se torni scientiaen.com ogni volta che vuoi e ne hai bisogno.

Traduzione dell'indirizzo di rete tra una rete privata e Internet

Traduzione degli indirizzi di rete (NAT) è un metodo per mappare un IP spazio degli indirizzi in un altro modificando Indirizzo di rete informazioni nel file Intestazione IP di pacchetti mentre sono in transito attraverso un traffico dispositivo di instradamento. La tecnica è stata originariamente utilizzata per aggirare la necessità di assegnare un nuovo indirizzo a ogni host quando una rete è stata spostata o quando l'upstream provider di servizi Internet è stato sostituito, ma non è stato possibile instradare lo spazio degli indirizzi della rete. È diventato uno strumento popolare ed essenziale per conservare lo spazio degli indirizzi globale di fronte a IPv4 esaurimento degli indirizzi. Uno instradabile su Internet Indirizzo IP di un gateway NAT può essere utilizzato per un intero rete privata.

Poiché la traduzione dell'indirizzo di rete modifica le informazioni sull'indirizzo IP nei pacchetti, le implementazioni NAT possono variare nel loro comportamento specifico in vari casi di indirizzamento e nel loro effetto sul traffico di rete. Le specifiche del comportamento NAT non sono comunemente documentate dai fornitori di apparecchiature contenenti implementazioni NAT.

NAT di base

Il tipo più semplice di NAT fornisce una traduzione uno a uno degli indirizzi IP. RFC 2663 si riferisce a questo tipo di NAT come NAT di base; si chiama anche a NAT uno a uno. In questo tipo di NAT, solo gli indirizzi IP, intestazione IP checksume tutti i checksum di livello superiore che includono l'indirizzo IP vengono modificati. Il NAT di base può essere utilizzato per interconnettere due reti IP con indirizzamento incompatibile.

NAT uno-a-molti

Mappatura degli indirizzi di rete

La maggior parte dei traduttori di indirizzi di rete associa più host privati ​​a un indirizzo IP esposto pubblicamente.

Ecco una configurazione tipica:

  1. Una rete locale utilizza uno dei designati un bagno Sottoreti di indirizzi IP (RFC 1918).
  2. La rete dispone di un router con indirizzo privato e pubblico. L'indirizzo privato viene utilizzato dal router per comunicare con altri dispositivi nella rete locale privata. L'indirizzo pubblico (tipicamente assegnato da un provider di servizi Internet) viene utilizzato dal router per comunicare con il resto di Internet.
  3. Quando il traffico passa dalla rete a Internet, il router traduce l'indirizzo di origine in ciascun pacchetto da un indirizzo privato all'indirizzo pubblico del router. Il router tiene traccia dei dati di base su ogni connessione attiva (in particolare l'indirizzo di destinazione e porto). Quando il router riceve il traffico in entrata da Internet, utilizza i dati di tracciamento della connessione memorizzati durante la fase in uscita per determinare a quale indirizzo privato (se presente) deve inoltrare la risposta.

Tutti i pacchetti IP hanno un indirizzo IP di origine e un indirizzo IP di destinazione. In genere, i pacchetti che passano dalla rete privata alla rete pubblica avranno il loro indirizzo di origine modificato, mentre i pacchetti che passano dalla rete pubblica alla rete privata avranno il loro indirizzo di destinazione modificato. Per evitare ambiguità nel modo in cui le risposte vengono tradotte, sono necessarie ulteriori modifiche ai pacchetti. La maggior parte del traffico Internet utilizza Transmission Control Protocol (TCP) o User Datagram Protocol (UDP). Per questi protocolli, il numeri di porta vengono modificati in modo che la combinazione di indirizzo IP (all'interno del file Intestazione IP) e il numero di porta (all'interno del Intestazione del livello di trasporto) sul pacchetto restituito può essere mappato in modo univoco alla destinazione della rete privata corrispondente. RFC 2663 utilizza il termine indirizzo di rete e traduzione delle porte (NAPT) per questo tipo di NAT. Altri nomi includono traduzione dell'indirizzo di porta (COLPETTO), IP mascherato, Sovraccarico NAT e NAT molti a uno. Questo è il tipo più comune di NAT ed è diventato sinonimo del termine "NAT" nell'uso comune.

Questo metodo consente la comunicazione attraverso il router solo quando la conversazione ha origine nella rete privata, poiché la trasmissione di origine iniziale è ciò che stabilisce le informazioni richieste nelle tabelle di traduzione. Così un browser web all'interno della rete privata sarebbe in grado di navigare in siti Web esterni alla rete, mentre i browser Web esterni alla rete non sarebbero in grado di navigare in un sito Web ospitato all'interno. I protocolli non basati su TCP e UDP richiedono altre tecniche di traduzione.

Un ulteriore vantaggio del NAT uno-a-molti è che mitiga IPv4 esaurimento degli indirizzi consentendo a intere reti di essere connesse a Internet utilizzando un unico indirizzo IP pubblico.

Metodi di traduzione

L'indirizzo di rete e la traduzione delle porte possono essere implementati in diversi modi. Alcune applicazioni che utilizzano le informazioni sull'indirizzo IP potrebbero dover determinare l'indirizzo esterno di un traduttore di indirizzi di rete. Questo è l'indirizzo rilevato dai suoi peer di comunicazione nella rete esterna. Inoltre, può essere necessario esaminare e classificare il tipo di mappatura in uso, ad esempio quando si desidera impostare un percorso di comunicazione diretto tra due client entrambi dietro gateway NAT separati.

A tale scopo, RFC 3489 ha specificato un protocollo chiamato Attraversamento semplice di UDP su NAT (STORDIRE) nel 2003. Ha classificato le implementazioni NAT come NAT a cono pieno, (indirizzo) NAT a cono ristretto, cono limitato alla porta NAT or NAT simmetrico, e ha proposto una metodologia per testare un dispositivo di conseguenza. Tuttavia, da allora queste procedure sono state deprecate dallo stato di standard, poiché i metodi sono inadeguati per valutare correttamente molti dispositivi. RFC 5389 ha standardizzato nuovi metodi nel 2008 e l'acronimo STORDIRE ora rappresenta il nuovo titolo della specifica: Utilità di attraversamento della sessione per NAT.

Classificazioni dell'implementazione NAT
NAT a cono pieno, conosciuto anche come NAT uno a uno
  • Una volta mappato un indirizzo interno (iAddr:iPort) a un indirizzo esterno (eAddr:ePort), tutti i pacchetti da iAddr:iPort vengono inviati tramite eAddr:ePort.
  • Qualsiasi host esterno può inviare pacchetti a iAddr:iPort inviando pacchetti a eAddr:ePort.
Cono pieno NAT.svg
(Indirizzo)-cono ristretto NAT
  • Una volta mappato un indirizzo interno (iAddr:iPort) a un indirizzo esterno (eAddr:ePort), tutti i pacchetti da iAddr:iPort vengono inviati tramite eAddr:ePort.
  • Un host esterno (hInd:qualsiasi) può inviare pacchetti a iAddr:iPort inviando pacchetti a eAddr:ePort solo se iAddr:iPort ha precedentemente inviato un pacchetto a hAddr:in qualsiasi. "Qualsiasi" significa che il numero di porta non ha importanza.
Cono ristretto NAT.svg
Cono NAT limitato alle porte Come un NAT a cono con indirizzo limitato, ma la restrizione include i numeri di porta.
  • Una volta mappato un indirizzo interno (iAddr:iPort) a un indirizzo esterno (eAddr:ePort), tutti i pacchetti da iAddr:iPort vengono inviati tramite eAddr:ePort.
  • Un host esterno (hInd:hPorta) può inviare pacchetti a iAddr:iPort inviando pacchetti a eAddr:ePort solo se iAddr:iPort ha precedentemente inviato un pacchetto a hAddr:hPort.
Port Restricted Cone NAT.svg
NAT simmetrico
  • La combinazione di un indirizzo IP interno più un indirizzo IP e una porta di destinazione è mappata su un unico indirizzo IP e porta di origine esterna univoci; se lo stesso host interno invia un pacchetto anche con lo stesso indirizzo e porta di origine ma a una destinazione diversa, viene utilizzata una mappatura diversa.
  • Solo un host esterno che riceve un pacchetto da un host interno può rispedire un pacchetto.
Simmetrico NAT.svg

Molte implementazioni NAT combinano questi tipi, quindi è meglio fare riferimento a specifici comportamenti NAT individuali invece di utilizzare la terminologia Cone/Symmetric. RFC 4787 tenta di alleviare la confusione introducendo una terminologia standardizzata per i comportamenti osservati. Per il primo punto in ogni riga della tabella sopra, l'RFC caratterizzerebbe i NAT Full-Cone, Restricted-Cone e Port-Restricted Cone come aventi un Mappatura indipendente dall'endpoint, mentre caratterizzerebbe un NAT simmetrico come avente un Mappatura dipendente dall'indirizzo e dalla porta. Per il secondo punto elenco in ciascuna riga della tabella sopra, RFC 4787 etichetterebbe anche Full-Cone NAT come avente un Filtraggio indipendente dall'endpoint, NAT a cono ristretto come avente un Filtraggio dipendente dall'indirizzo, Port-Restricted Cone NAT come avente un Filtraggio dipendente da indirizzi e porte, e Symmetric NAT come aventi un Filtraggio dipendente dall'indirizzo or Filtraggio dipendente da indirizzi e porte. Altre classificazioni del comportamento NAT menzionate nella RFC includono se preservano le porte, quando e come le mappature vengono aggiornate, se le mappature esterne possono essere utilizzate dagli host interni (ovvero, i suoi forcina comportamento) e il livello di determinismo che i NAT mostrano quando applicano tutte queste regole. Nello specifico, la maggior parte dei NAT si combinano NAT simmetrico per le connessioni in uscita con statico mappatura delle porte, in cui i pacchetti in entrata indirizzati all'indirizzo e alla porta esterni vengono reindirizzati a un indirizzo e una porta interni specifici.

Tipo di NAT e NAT traversal, ruolo di conservazione della porta per TCP

Le Attraversamento NAT il problema sorge quando i peer dietro diversi NAT cercano di comunicare. Un modo per risolvere questo problema è usare port forwarding. Un altro modo è utilizzare varie tecniche di attraversamento NAT. La tecnica più popolare per l'attraversamento TCP NAT è Perforazione TCP.

La perforazione TCP richiede che il NAT segua il file conservazione del porto progettazione per TCP. Per una data comunicazione TCP in uscita, vengono utilizzati gli stessi numeri di porta su entrambi i lati del NAT. La conservazione della porta NAT per le connessioni TCP in uscita è cruciale per l'attraversamento TCP NAT perché, sotto TCP, una porta può essere utilizzata solo per una comunicazione alla volta, quindi i programmi associano socket TCP distinti a porte effimere per ogni comunicazione TCP, rendendo impossibile la previsione della porta NAT per TCP.

D'altra parte, per UDP, i NAT non necessitano della protezione delle porte. In effetti, più comunicazioni UDP (ciascuna con un distinto endpoint) può verificarsi sulla stessa porta di origine e le applicazioni in genere riutilizzano lo stesso socket UDP per inviare pacchetti a host distinti. Ciò rende la previsione della porta semplice, poiché è la stessa porta di origine per ogni pacchetto.

Inoltre, la conservazione della porta in NAT per TCP consente ai protocolli P2P di offrire meno complessità e minore latenza perché non è necessario utilizzare una terza parte (come STUN) per scoprire la porta NAT poiché l'applicazione stessa conosce già la porta NAT.

Tuttavia, se due host interni tentano di comunicare con lo stesso host esterno utilizzando lo stesso numero di porta, il NAT potrebbe tentare di utilizzare un indirizzo IP esterno diverso per la seconda connessione o potrebbe dover rinunciare alla conservazione della porta e rimappare la porta.: 9 

A partire dal 2006, circa il 70% dei clienti in P2P le reti utilizzavano una qualche forma di NAT.

Implementazione

Stabilire una comunicazione bidirezionale

Nel NAT bidirezionale la sessione può essere stabilita sia dall'interno che dall'esterno.

Ogni pacchetto TCP e UDP contiene un numero di porta di origine e un numero di porta di destinazione. Ciascuno di questi pacchetti è incapsulato in un pacchetto IP, il cui Intestazione IP contiene un indirizzo IP di origine e un indirizzo IP di destinazione. La tripla indirizzo IP/protocollo/numero di porta definisce un'associazione con a presa di rete.

Per i servizi accessibili pubblicamente come i server web e di posta, il numero di porta è importante. Ad esempio, la porta 80 si collega tramite un socket al web server software e porta 25 a un server di posta SMTP demone. Anche l'indirizzo IP di un server pubblico è importante, simile per unicità globale a un indirizzo postale oa un numero di telefono. Sia l'indirizzo IP che il numero di porta devono essere conosciuti correttamente da tutti gli host che desiderano comunicare con successo.

Gli indirizzi IP privati ​​come descritto in RFC 1918 sono utilizzabili solo su reti private non direttamente connesse a Internet. Le porte sono endpoint di comunicazione univoci per quell'host, quindi una connessione attraverso il dispositivo NAT viene mantenuta dalla mappatura combinata di porta e indirizzo IP. Un indirizzo privato all'interno del NAT è associato a un indirizzo pubblico esterno. La traduzione dell'indirizzo di porta (PAT) risolve i conflitti che sorgono quando più host utilizzano lo stesso numero di porta di origine per stabilire contemporaneamente connessioni esterne diverse.

Analogia dell'estensione del numero di telefono

Un dispositivo NAT è simile a un sistema telefonico in un ufficio che ha un numero di telefono pubblico e più estensioni. Le telefonate in uscita effettuate dall'ufficio sembrano provenire tutte dallo stesso numero di telefono. Tuttavia, una chiamata in arrivo che non specifica un'estensione non può essere trasferita automaticamente a una persona all'interno dell'ufficio. In questo scenario, l'ufficio è una LAN privata, il numero di telefono principale è l'indirizzo IP pubblico ei singoli interni sono numeri di porta univoci.

Processo di traduzione

Con NAT, tutte le comunicazioni inviate a host esterni contengono effettivamente il file esterno Indirizzo IP e informazioni sulla porta del dispositivo NAT invece degli indirizzi IP dell'host interno o dei numeri di porta. NAT traduce solo gli indirizzi IP e le porte dei suoi host interni, nascondendo il vero endpoint di un host interno su una rete privata.

Quando un computer sulla rete privata (interna) invia un pacchetto IP alla rete esterna, il dispositivo NAT sostituisce l'indirizzo IP di origine interno nell'intestazione del pacchetto con l'indirizzo IP esterno del dispositivo NAT. PAT può quindi assegnare alla connessione un numero di porta da un pool di porte disponibili, inserendo questo numero di porta nel campo della porta di origine. Il pacchetto viene quindi inoltrato alla rete esterna. Il dispositivo NAT inserisce quindi una voce in una tabella di traduzione contenente l'indirizzo IP interno, la porta di origine originale e la porta di origine tradotta. I pacchetti successivi dallo stesso indirizzo IP e numero di porta di origine interna vengono tradotti nello stesso indirizzo IP e numero di porta di origine esterna. Il computer che riceve un pacchetto sottoposto a NAT stabilisce una connessione alla porta e all'indirizzo IP specificati nel pacchetto alterato, ignaro del fatto che l'indirizzo fornito viene tradotto.

Dopo aver ricevuto un pacchetto dalla rete esterna, il dispositivo NAT cerca nella tabella di traduzione in base alla porta di destinazione nell'intestazione del pacchetto. Se viene trovata una corrispondenza, l'indirizzo IP di destinazione e il numero di porta vengono sostituiti con i valori trovati nella tabella e il pacchetto viene inoltrato alla rete interna. Altrimenti, se il numero della porta di destinazione del pacchetto in arrivo non viene trovato nella tabella di traduzione, il pacchetto viene scartato o rifiutato perché il dispositivo PAT non sa dove inviarlo.

Visibilità di funzionamento

L'operazione NAT è in genere trasparente sia per gli host interni che per quelli esterni. Il dispositivo NAT può funzionare come gateway predefinito per l'host interno che in genere è a conoscenza del vero indirizzo IP e della porta TCP o UDP dell'host esterno. Tuttavia, l'host esterno è a conoscenza solo dell'indirizzo IP pubblico del dispositivo NAT e della particolare porta utilizzata per comunicare per conto di uno specifico host interno.

Applicazioni

efficiente
La traduzione degli indirizzi di rete può essere utilizzata per mitigare la sovrapposizione degli indirizzi IP. La sovrapposizione degli indirizzi si verifica quando host in reti diverse con lo stesso spazio di indirizzi IP tentano di raggiungere lo stesso host di destinazione. Molto spesso si tratta di una configurazione errata e può derivare dalla fusione di due reti o sottoreti, in particolare quando si utilizza RFC 1918 rete privata indirizzamento. L'host di destinazione percepisce il traffico apparentemente in arrivo dalla stessa rete e i router intermedi non hanno modo di determinare dove inviare il traffico di risposta. La soluzione è la rinumerazione per eliminare la sovrapposizione o la traduzione degli indirizzi di rete.
Bilancio del carico
In client-server applicazioni, bilanciatori di carico inoltrare le richieste dei client a un insieme di computer server per gestire il carico di lavoro di ciascun server. La traduzione dell'indirizzo di rete può essere utilizzata per mappare un indirizzo IP rappresentativo del cluster di server su host specifici che soddisfano la richiesta.

Tecniche correlate

IEEE Reverse Address and Port Translation (RAPT o RAT) consente a un host il cui real Indirizzo IP cambia di volta in volta per rimanere raggiungibile come server tramite un indirizzo IP fisso di casa. CiscoL'implementazione RAPT di è un sovraccarico PAT o NAT e associa più indirizzi IP privati ​​a un singolo indirizzo IP pubblico. Più indirizzi possono essere mappati a un singolo indirizzo perché ogni indirizzo privato è tracciato da un numero di porta. PAT utilizza numeri di porta di origine univoci sull'indirizzo IP globale interno per distinguere tra le traduzioni. PAT tenta di preservare la porta di origine originale. Se questa porta di origine è già utilizzata, PAT assegna il primo numero di porta disponibile a partire dall'inizio del gruppo di porte appropriato 0–511, 512–1023 o 1024–65535. Quando non ci sono più porte disponibili ed è configurato più di un indirizzo IP esterno, PAT passa all'indirizzo IP successivo per provare ad allocare nuovamente la porta di origine originale. Questo processo continua fino all'esaurimento delle porte disponibili e degli indirizzi IP esterni.

Mappatura dell'indirizzo e della porta è una proposta Cisco che unisce Indirizzo più Porta traduzione con tunneling dei pacchetti IPv4 all'interno di un provider ISP IPv6 rete. In effetti, è un (quasi) apolide in alternativa a NAT di livello portante e DS Lite che spinge il Indirizzo IPv4/porta funzione di traduzione (e il mantenimento dello stato NAT) interamente nell'esistente attrezzature locali del cliente Implementazione NAT. Evitando così il NAT444 e problemi di stato del NAT carrier-grade e fornisce anche un meccanismo di transizione per l'implementazione di IPv6 nativo allo stesso tempo con una complessità aggiuntiva minima.

Problemi e limiti

Gli host dietro i router abilitati per NAT non hanno connettività end-to-end e non può partecipare ad alcuni protocolli Internet. Servizi che richiedono l'avvio di TCP connessioni dalla rete esterna o che utilizzano protocolli stateless come quelli che utilizzano UDP, può essere interrotto. A meno che il router NAT non faccia uno sforzo specifico per supportare tali protocolli, i pacchetti in arrivo non possono raggiungere la loro destinazione. Alcuni protocolli possono ospitare un'istanza di NAT tra gli host partecipanti ("modalità passiva" FTP, per esempio), a volte con l'assistenza di un gateway a livello di applicazione (Vedi § Applicazioni interessate da NAT), ma falliscono quando entrambi i sistemi sono separati da Internet tramite NAT. Anche l'uso di NAT complica protocolli di tunneling ad esempio IPsec perché NAT modifica i valori nelle intestazioni che interferiscono con i controlli di integrità effettuati da IPsec e altri protocolli di tunneling.

La connettività end-to-end è stata un principio fondamentale di Internet, supportato, ad esempio, dal Comitato per l'architettura di Internet. Gli attuali documenti sull'architettura di Internet osservano che NAT è una violazione del principio end-to-end, ma che NAT ha un ruolo valido in un'attenta progettazione. C'è molta più preoccupazione per l'uso di IPv6 NAT e molti architetti IPv6 ritengono che IPv6 fosse inteso a rimuovere la necessità di NAT.

Un'implementazione che tiene traccia solo delle porte può essere rapidamente esaurita da applicazioni interne che utilizzano più connessioni simultanee come un HTTP richiesta di una pagina web con molti oggetti incorporati. Questo problema può essere mitigato tracciando l'indirizzo IP di destinazione oltre alla porta condividendo così una singola porta locale con molti host remoti. Questo tracciamento aggiuntivo aumenta la complessità dell'implementazione e le risorse di elaborazione nel dispositivo di traduzione.

Poiché gli indirizzi interni sono tutti nascosti dietro un indirizzo pubblicamente accessibile, è impossibile per gli host esterni avviare direttamente una connessione a un particolare host interno. Applicazioni come VOIP, videoconferenzee altre applicazioni peer-to-peer devono utilizzare Attraversamento NAT tecniche per funzionare.

Frammentazione e checksum

Il NAT puro, che opera solo su IP, può o meno analizzare correttamente i protocolli con payload contenenti informazioni sull'IP, come ICMP. Questo dipende dal fatto che il payload sia interpretato da un host su interno or al di fuori della traduzione. Protocolli di base come TCP e UDP non può funzionare correttamente a meno che NAT non intervenga oltre il livello di rete.

I pacchetti IP hanno un checksum in ogni intestazione del pacchetto, che fornisce il rilevamento degli errori solo per l'intestazione. I datagrammi IP possono frammentarsi ed è necessario per un NAT riassemblare questi frammenti per consentire il corretto ricalcolo dei checksum di livello superiore e il corretto monitoraggio di quali pacchetti appartengono a quale connessione.

TCP e UDP, hanno un checksum che copre tutti i dati che trasportano, così come l'intestazione TCP o UDP, più un pseudo-intestazione che contiene gli indirizzi IP di origine e destinazione del pacchetto che trasporta l'intestazione TCP o UDP. Affinché un NAT di origine passi correttamente TCP o UDP, deve ricalcolare il checksum dell'intestazione TCP o UDP in base agli indirizzi IP tradotti, non a quelli originali, e inserire tale checksum nell'intestazione TCP o UDP del primo pacchetto del set frammentato di pacchetti.

In alternativa, l'host di origine può eseguire percorso MTU Scoperta per determinare la dimensione del pacchetto che può essere trasmesso senza frammentazione e quindi impostare il file non frammentare (DF) nel campo appropriato dell'intestazione del pacchetto. Questa è solo una soluzione unidirezionale, perché l'host che risponde può inviare pacchetti di qualsiasi dimensione, che possono essere frammentati prima di raggiungere il NAT.

Termini varianti

DTA

La traduzione dell'indirizzo di rete di destinazione (DNAT) è una tecnica per modificare in modo trasparente la destinazione Indirizzo IP di un pacchetto instradato e svolgendo la funzione inversa per le eventuali risposte. Qualunque router situato tra due endpoint può eseguire questa trasformazione del pacchetto.

DNAT è comunemente utilizzato per pubblicare un servizio situato in una rete privata su un indirizzo IP accessibile pubblicamente. Questo uso di DNAT è anche chiamato port forwarding, o DMZ se utilizzato su un intero server, che diventa esposto alla WAN, diventando analogo a un militare indifeso zona demilitarizzata (ZDC).

SNAT

Il significato del termine SNAT varia a seconda del venditore:

  • fonte NAT è un'espansione comune ed è la controparte di destinazione NAT (DTA). Questo è usato per descrivere NAT uno-a-molti; NAT per le connessioni in uscita ai servizi pubblici.
  • NAT con stato è usato da Cisco Systems
  • NAT statico è utilizzato da WatchGuard
  • NAT sicuro è usato da F5 Networks e da Microsoft (in relazione al ISA Server)

La traduzione sicura degli indirizzi di rete (SNAT) fa parte di Microsoft Server di sicurezza e accelerazione Internet ed è un'estensione del driver NAT incorporato Server Microsoft Windows. Fornisce il monitoraggio e il filtraggio delle connessioni per le connessioni di rete aggiuntive necessarie per il FTP, ICMP, H.323e PPTP protocolli così come la possibilità di configurare un HTTP trasparente server proxy.

Traduzione dinamica degli indirizzi di rete

Come funziona il NAT dinamico.

Il NAT dinamico, proprio come il NAT statico, non è comune nelle reti più piccole, ma si trova all'interno di aziende più grandi con reti complesse. Laddove il NAT statico fornisce una mappatura uno-a-uno tra indirizzi IP statici interni e pubblici, il NAT dinamico utilizza a gruppo di indirizzi IP pubblici.

Tornante NAT

Tornante NAT, conosciuto anche come Ripristino NAT or Riflessione NAT, è una caratteristica di molti router consumer dove una macchina sul LAN è in grado di accedere a un'altra macchina sulla LAN tramite l'indirizzo IP esterno della LAN/router (con il port forwarding impostato sul router per indirizzare le richieste alla macchina appropriata sulla LAN). Questa nozione è ufficialmente descritta nel 2008, RFC 5128.

Quanto segue descrive una rete di esempio:

  • Indirizzo pubblico: 203.0.113.1. Questo è l'indirizzo del WAN interfaccia sul router.
  • Indirizzo interno del router: 192.168.1.1
  • Indirizzo del server: 192.168.1.2
  • Indirizzo di un computer locale: 192.168.1.100

Se viene inviato un pacchetto a 203.0.113.1 da un computer a 192.168.1.100, il pacchetto verrebbe normalmente instradato al Gateway predefinito (il router) Un router con la funzione di loopback NAT lo rileva 203.0.113.1 è l'indirizzo della sua interfaccia WAN e tratta il pacchetto come se provenisse da quell'interfaccia. Determina la destinazione di quel pacchetto, in base alle regole DNAT (port forwarding) per la destinazione. Se i dati sono stati inviati alla porta 80 ed esiste una regola DNAT per la porta 80 diretta a 192.168.1.2, l'host a quell'indirizzo riceve il pacchetto.

Se non è disponibile alcuna regola DNAT applicabile, il router scarta il pacchetto. UN Destinazione ICMP irraggiungibile la risposta può essere inviata. Se erano presenti regole DNAT, la traduzione dell'indirizzo è ancora in vigore; il router riscrive ancora l'indirizzo IP di origine nel pacchetto. Il computer locale (192.168.1.100) invia il pacchetto come proveniente da 192.168.1.100, ma il server (192.168.1.2) lo riceve come proveniente da 203.0.113.1. Quando il server risponde, il processo è identico a quello di un mittente esterno. Pertanto, la comunicazione bidirezionale è possibile tra gli host all'interno della rete LAN tramite l'indirizzo IP pubblico.

NAT in IPv6

La traduzione degli indirizzi di rete non è comunemente usata in IPv6 perché uno degli obiettivi di progettazione di IPv6 è ripristinare la connettività di rete end-to-end. L'ampio spazio di indirizzamento di IPv6 evita la necessità di conservare gli indirizzi e ad ogni dispositivo può essere assegnato un indirizzo univoco instradabile a livello globale. Uso di indirizzi locali univoci in combinazione con traduzione del prefisso di rete può ottenere risultati simili a NAT.

L'ampio spazio di indirizzamento di IPv6 può ancora essere sconfitto a seconda della lunghezza effettiva del prefisso fornita dal gestore. Non è raro ricevere un prefisso /64 - la sottorete più piccola consigliata - per un'intera rete domestica, che richiede l'utilizzo di una varietà di tecniche per suddividere manualmente l'intervallo in modo che tutti i dispositivi rimangano raggiungibili. Anche l'attuale NAT da IPv6 a IPv6, NAT66, a volte può rivelarsi utile: il blog APNIC delinea un caso in cui all'autore è stato fornito un solo indirizzo (/128).

Applicazioni interessate da NAT

Alcuni livello di applicazione protocolli, come File Transfer Protocol (FTP) e Protocollo di Inizializzazione Sessione (SIP), invia indirizzi di rete espliciti all'interno dei dati dell'applicazione. L'FTP in modalità attiva, ad esempio, utilizza connessioni separate per il traffico di controllo (comandi) e per il traffico dati (contenuto dei file). Quando si richiede un trasferimento di file, l'host che effettua la richiesta identifica la connessione dati corrispondente tramite il suo livello di rete e strato di trasporto indirizzi. Se l'host che effettua la richiesta si trova dietro un semplice firewall NAT, la traduzione dell'indirizzo IP o del numero di porta TCP rende non valide le informazioni ricevute dal server. SIP comunemente controlla voice over IP chiama e soffre dello stesso problema. SIP e il suo accompagnamento Protocollo di descrizione della sessione può utilizzare più porte per stabilire una connessione e trasmettere il flusso vocale tramite Protocollo di trasporto in tempo reale. Gli indirizzi IP e i numeri di porta sono codificati nei dati del payload e devono essere noti prima dell'attraversamento dei NAT. Senza tecniche speciali, come STORDIRE, il comportamento NAT è imprevedibile e le comunicazioni potrebbero non riuscire. Gateway a livello di applicazione (ALG) software o hardware possono risolvere questi problemi. Un modulo software ALG in esecuzione su un dispositivo firewall NAT aggiorna tutti i dati del payload resi non validi dalla traduzione degli indirizzi. Gli ALG devono comprendere il protocollo di livello superiore che devono correggere, quindi ogni protocollo con questo problema richiede un ALG separato. Ad esempio, su molti sistemi Linux, ci sono moduli del kernel chiamati tracker di connessione che servono per implementare gli ALG. Tuttavia, ALG non può funzionare se i dati del protocollo sono crittografati.

Un'altra possibile soluzione a questo problema è utilizzare Attraversamento NAT tecniche che utilizzano protocolli come STORDIRE or Istituzione di connettività interattiva (ICE), o approcci proprietari in a controllore del bordo di sessione. L'attraversamento NAT è possibile in entrambe le applicazioni basate su TCP e UDP, ma la tecnica basata su UDP è più semplice, più ampiamente compreso e più compatibile con i NAT legacy.[citazione necessaria] In entrambi i casi, il protocollo di alto livello deve essere progettato tenendo presente l'attraversamento NAT e non funziona in modo affidabile su NAT simmetrici o altri NAT legacy che si comportano male.

Altre possibilità sono Protocollo dispositivo gateway Internet, Protocollo di mappatura della porta NAT (NAT-PMP), o Protocollo di controllo delle porte (PCP), ma questi richiedono che il dispositivo NAT implementi quel protocollo.

La maggior parte dei protocolli client-server (FTP è l'eccezione principale), tuttavia, non inviano informazioni di contatto di livello 3 e non richiedono alcun trattamento speciale da parte dei NAT. In effetti, evitare le complicazioni del NAT è praticamente un requisito oggi quando si progettano nuovi protocolli di livello superiore.

I NAT possono anche causare problemi dove IPsec viene applicata la crittografia e nei casi in cui più dispositivi come Telefoni SIP si trovano dietro un NAT. I telefoni che crittografano la loro segnalazione con IPsec incapsulano le informazioni sulla porta all'interno di un pacchetto crittografato, il che significa che i dispositivi NAT non possono accedere e tradurre la porta. In questi casi, i dispositivi NAT tornano a semplici operazioni NAT. Ciò significa che tutto il traffico che ritorna al NAT viene mappato su un client, causando il fallimento del servizio a più di un client dietro il NAT. Ci sono un paio di soluzioni a questo problema: una è usare TLS, che opera a livello 4 e non maschera il numero di porta; un altro consiste nell'incapsulare l'IPsec all'interno UDP – quest'ultima è la soluzione scelta da TISPANO per ottenere un NAT traversal sicuro o un NAT con "Passante IPsec" supporto; un altro è usare a controllore del bordo di sessione per aiutare ad attraversare il NAT.

Istituzione di connettività interattiva è una tecnica di attraversamento NAT che non si basa sul supporto ALG.

La vulnerabilità del protocollo DNS annunciata da Dan Kaminski il 8 luglio 2008, è indirettamente influenzato dalla mappatura delle porte NAT. Evitare DNS cache poisoning, è altamente consigliabile non tradurre i numeri di porta di origine UDP delle richieste DNS in uscita da un server DNS dietro un firewall che implementa NAT. La soluzione alternativa consigliata per la vulnerabilità DNS consiste nel fare in modo che tutti i server DNS di memorizzazione nella cache utilizzino porte di origine UDP casuali. Se la funzione NAT de-randomizza le porte sorgente UDP, il server DNS diventa vulnerabile.

Esempi di software NAT

Guarda anche

Note

  1. ^ La maggior parte dei dispositivi NAT oggi consente all'amministratore di rete di configurare le voci della tabella di traduzione statica per le connessioni dalla rete esterna alla rete mascherata interna. Questa caratteristica è spesso indicata come NAT statico. Può essere implementato in due tipi: port forwarding che inoltra il traffico da una porta esterna specifica a un host interno su una porta specificata e la designazione di a Host DMZ che passa tutto il traffico ricevuto sull'interfaccia esterna (su qualsiasi numero di porta) a un indirizzo IP interno preservando la porta di destinazione. Entrambi i tipi possono essere disponibili nello stesso dispositivo NAT.
  2. ^ La disposizione più comune prevede che i computer che richiedono la connettività end-to-end vengano forniti con un indirizzo IP instradabile, mentre altri che non forniscono servizi a utenti esterni dietro NAT con solo pochi indirizzi IP utilizzati per consentire l'accesso a Internet.
  3. ^ I numeri di porta sono numeri interi a 16 bit. Il numero totale di indirizzi interni che possono essere tradotti in un indirizzo esterno potrebbe teoricamente arrivare a 65,536 per indirizzo IP. Realisticamente, il numero di porte che possono essere assegnate a un singolo indirizzo IP è di circa 4000.
  4. ^ A meno che non sia impostato un percorso esplicito nel computer instradamento tavoli.
  5. ^ Questo problema può essere evitato utilizzando SFTP invece dell'FTP

Riferimenti

  1. ^ Manuale sui protocolli di rete (2 ed.). Javvin Technologies Inc. 2005. p. 27. ISBN 9780974094526. Estratto 2014-09-16.
  2. ^ a b c d e f g h Francois Audet; Cullen Jennings (gennaio 2007). Requisiti comportamentali di Network Address Translation (NAT) per Unicast UDP. IETF. due:10.17487/RFC4787. RFC 4787.
  3. ^ a b Ala, Dan (2010-07-01). "Traduzione degli indirizzi di rete: estensione dello spazio degli indirizzi Internet". Elaborazione Internet IEEE. 14 (4): 66-70. due:10.1109/MIC.2010.96. ISSN 1089-7801. S2CID 31082389.
  4. ^ "Caratterizzazione e misurazione dell'attraversamento TCP tramite NAT e firewall". Dicembre 2006.
  5. ^ "Illuminare le ombre: rete opportunistica e misurazione del web". Dicembre 2006. Archiviata da l'originale su 2010-07-24.
  6. ^ "La guida esperta istantanea di Audio over IP" (PDF). Linea di collegamento. Gennaio 2010. Archiviata da l'originale (PDF) on-2011 10-08. Estratto 2011-08-19.
  7. ^ "Utilizzo di NAT in reti sovrapposte". Agosto 2005.
  8. ^ "Scenario problematico VPN con sottoreti sovrapposte". 2017 settembre.
  9. ^ Srisuresh, Pyda; Gan, Der-Hwa (agosto 1998). "Condivisione del carico utilizzando la traduzione dell'indirizzo di rete IP". due:10.17487/RFC2391. {{cite journal}}: Cite journal richiede |journal= (Aiuto)
  10. ^ "Che cos'è il bilanciamento del carico di livello 4?". Giugno 2020.
  11. ^ "Cos'è il bilanciamento del carico?". Novembre 2018.
  12. ^ "Configura il bilanciamento del carico del server utilizzando il NAT dinamico". Giugno 2018.
  13. ^ Singh, R.; Tay, YC; Teo, WT; Sì, SW (1999). "RAT: una rapida (e sporca?) Spinta per il supporto alla mobilità". Atti WMCSA'99. Secondo workshop IEEE sui sistemi e le applicazioni di mobile computing. pp. 32–40. CiteSeerX 10.1.1.40.461. due:10.1109/MCSA.1999.749275. ISBN 978-0-7695-0025-6. S2CID 7657883.
  14. ^ Bush, R.; Meyer, D. (2002). Alcune linee guida e filosofia sull'architettura di Internet. IETF. due:10.17487/RFC3439. RFC 3439.
  15. ^ Velde, G.Van de; Hain, T.; Droms, R.; Falegname, B.; Klein, E. (2007). Protezione della rete locale per IPv6. IETF. due:10.17487/RFC4864. RFC 4864.
  16. ^ "Resilienza IP avanzata utilizzando Cisco Stateful NAT". Cisco.
  17. ^ "Utilizza NAT per l'accesso pubblico ai server con indirizzi IP privati ​​sulla rete privata (esempio di configurazione WatchGuard)" (PDF). www.watchguard.com.
  18. ^ "K7820: panoramica delle funzionalità SNAT". ChiediF5. 28 agosto 2007. Estratto Febbraio 24, 2019.
  19. ^ "Resilienza IP avanzata utilizzando Cisco Stateful NAT". Cisco.
  20. ^ "Utilizza NAT per l'accesso pubblico ai server con indirizzi IP privati ​​sulla rete privata (esempio di configurazione WatchGuard)" (PDF). www.watchguard.com.
  21. ^ "K7820: panoramica delle funzionalità SNAT". ChiediF5. 28 agosto 2007. Estratto Febbraio 24, 2019.
  22. ^ "NAT dinamico". 26 gennaio 2016. Estratto 2022-04-19.
  23. ^ "NAT dinamico". Estratto 2022-04-19.
  24. ^ "Cos'è NAT Reflection/NAT Loopback/NAT Hairpinning?". Networker di New York. 2014-11-09. Estratto 2017-04-27.
  25. ^ "Router NAT Loopback – OpenSim" (MediaWiki). OpenSimulator. 2013/10/21. Estratto 2014-02-21.
  26. ^ Iljitsch van Beijnum (2008-07-23). "Dopo una strenua resistenza, il NAT potrebbe arrivare a IPv6 dopotutto". Ars Technica. Estratto 2014-04-24.
  27. ^ Dupont, Kasper (18 agosto 2015). "subnet - IPv6 subnetting a /64 - cosa si romperà e come aggirarlo?". Errore del server. Estratto 2023-04-20.
  28. ^ Cilloni, Marco (2018-02-01). "NAT66: Il buono, il brutto, il cattivo". Blog dell'APNIC. Estratto 2023-04-20.
  29. ^ D. Ala, Ed; Cheshire, S.; Boucadair, M.; Penno, R.; Selkirk, P. (2013). Protocollo di controllo delle porte (PCP). IETF. due:10.17487/RFC6887. RFC 6887.
  30. ^ Messmer, Ellen (2008-07-08). "Un grave difetto DNS potrebbe interrompere Internet". World Network, Archiviato da l'originale on-2009 02-13. Estratto Giugno 14 2021.

Collegamenti esterni