Per accedere a Internet, è necessario un indirizzo IP pubblico, ma possiamo utilizzare un indirizzo IP privato nella nostra rete privata. L’idea di NAT è quella di consentire a più dispositivi di accedere a Internet attraverso un unico indirizzo pubblico. Per ottenere ciò, è necessaria la traduzione dell’indirizzo IP privato in un indirizzo IP pubblico. Network Address Translation (NAT) è un processo in cui uno o più indirizzi IP locali vengono tradotti in uno o più indirizzi IP globali e viceversa al fine di fornire l’accesso a Internet agli host locali. Inoltre, esegue la traduzione dei numeri di porta, ovvero maschera il numero di porta dell’host con un altro numero di porta, nel pacchetto che verrà indirizzato alla destinazione. Quindi crea le voci corrispondenti dell’indirizzo IP e del numero di porta nella tabella NAT. NAT generalmente opera su router o firewall.
Network Address Translation (NAT) working –
Generalmente, il router di confine è configurato per NAT cioè il router che ha un’interfaccia nella rete locale (interna) e un’interfaccia nella rete globale (esterna). Quando un pacchetto attraversa all’esterno della rete locale (interna), NAT converte quell’indirizzo IP locale (privato) in un indirizzo IP globale (pubblico). Quando un pacchetto entra nella rete locale, l’indirizzo IP globale (pubblico) viene convertito in un indirizzo IP locale (privato).
Se NAT esaurisce gli indirizzi, cioè nessun indirizzo viene lasciato nel pool configurato, i pacchetti verranno eliminati e verrà inviato un pacchetto host unreachable Packet (ICMP) di Internet Control Message Protocol alla destinazione.
Perché mascherare i numeri di porta?
Supponiamo che, in una rete, due host A e B siano collegati. Ora, entrambi richiedono la stessa destinazione, sullo stesso numero di porta, diciamo 1000, sul lato host, allo stesso tempo. Se NAT esegue un’unica traduzione di indirizzi IP, quando i loro pacchetti arriveranno al NAT, entrambi i loro indirizzi IP saranno mascherati dall’indirizzo IP pubblico della rete e inviati alla destinazione. Destinazione invierà risposte sull’indirizzo IP pubblico del router. Pertanto, quando si riceve una risposta, non sarà chiaro a NAT quale risposta appartiene a quale host (perché i numeri di porta di origine per A e B sono gli stessi). Quindi, per evitare un tale problema, NAT maschera anche il numero di porta di origine e fa una voce nella tabella NAT.
NAT inside and outside addresses –
Inside si riferisce agli indirizzi che devono essere tradotti. Al di fuori si riferisce agli indirizzi che non sono in controllo di un’organizzazione. Questi sono gli indirizzi di rete in cui verrà eseguita la traduzione degli indirizzi.
- Inside local address – Un indirizzo IP assegnato a un host sulla rete interna (locale). L’indirizzo non è probabilmente un indirizzo IP assegnato dal fornitore di servizi cioè, questi sono indirizzo IP privato. Questo è l’host interno visto dalla rete interna.
- Inside global address-Indirizzo IP che rappresenta uno o più indirizzi IP locali interni al mondo esterno. Questo è l’host interno visto dalla rete esterna.
- Indirizzo locale esterno-Questo è l’indirizzo IP effettivo dell’host di destinazione nella rete locale dopo la traduzione.
- Outside global address-Questo è l’host esterno come si vede dalla rete esterna. È l’indirizzo IP dell’host di destinazione esterno prima della traduzione.
Tipi NAT (Network Address Translation) –
Ci sono 3 modi per configurare NAT:
- NAT statico – In questo, un singolo indirizzo IP non registrato (privato) viene mappato con un indirizzo IP (pubblico) registrato legalmente, ovvero una mappatura one-to-one tra indirizzo locale e globale. Questo è generalmente utilizzato per il Web hosting. Questi non sono utilizzati nelle organizzazioni in quanto vi sono molti dispositivi che avranno bisogno di accesso a Internet e per fornire l’accesso a Internet, è necessario l’indirizzo IP pubblico.
Supponiamo che, se ci sono 3000 dispositivi che hanno bisogno di accedere a Internet, l’organizzazione deve acquistare 3000 indirizzi pubblici che sarà molto costoso. - NAT dinamico – In questo tipo di NAT, un indirizzo IP non registrato viene tradotto in un indirizzo IP (pubblico) registrato da un pool di indirizzi IP pubblici. Se l’indirizzo IP del pool non è libero, il pacchetto verrà eliminato poiché solo un numero fisso di indirizzi IP privati può essere tradotto in indirizzi pubblici.
Supponiamo che, se esiste un pool di 2 indirizzi IP pubblici, solo 2 indirizzi IP privati possono essere tradotti in un dato momento. Se il terzo indirizzo IP privato desidera accedere a Internet, il pacchetto verrà eliminato, quindi molti indirizzi IP privati vengono mappati su un pool di indirizzi IP pubblici. NAT viene utilizzato quando il numero di utenti che desidera accedere a Internet è fisso. Questo è anche molto costoso in quanto l’organizzazione deve acquistare molti indirizzi IP globali per creare un pool. - Port Address Translation (PAT) – Questo è anche noto come sovraccarico NAT. In questo, molti indirizzi IP locali (privati) possono essere tradotti in un singolo indirizzo IP registrato. I numeri di porta vengono utilizzati per distinguere il traffico, ad esempio, quale traffico appartiene a quale indirizzo IP. Questo è più frequentemente utilizzato in quanto è conveniente in quanto migliaia di utenti possono essere collegati a Internet utilizzando un solo indirizzo IP (pubblico) globale reale.
Vantaggi di NAT –
- NAT conserva indirizzi IP legalmente registrati .
- Esso fornisce la privacy come l’indirizzo IP del dispositivo, l’invio e la ricezione del traffico, sarà nascosto.
- Elimina la rinumerazione degli indirizzi quando una rete si evolve.
Svantaggio di NAT-
- Risultati di traduzione in commutazione ritardi percorso.
- Alcune applicazioni non funzioneranno mentre NAT è abilitato.
- Complica i protocolli di tunneling come IPSec.
- Inoltre, il router essendo un dispositivo a livello di rete, non dovrebbe manomettere i numeri di porta (livello di trasporto) ma deve farlo a causa del NAT.