logo

Traduzione degli indirizzi di rete (NAT)

Per accedere a Internet è necessario un indirizzo IP pubblico, ma possiamo utilizzare un indirizzo IP privato nella nostra rete privata. L'idea del NAT è quella di consentire a più dispositivi di accedere a Internet attraverso un unico indirizzo pubblico. Per raggiungere questo obiettivo è necessaria la traduzione di un indirizzo IP privato in un indirizzo IP pubblico. Traduzione degli indirizzi di rete (NAT) è un processo in cui uno o più indirizzi IP locali vengono tradotti in uno o più indirizzi IP globali e viceversa per 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à instradato verso la destinazione. Quindi inserisce le voci corrispondenti dell'indirizzo IP e del numero di porta nella tabella NAT. NAT generalmente funziona su un router o firewall.

Network Address Translation (NAT) funzionante –
Generalmente, il router di confine è configurato per NAT, ovvero il router che ha un'interfaccia nella rete locale (interna) e un'interfaccia nella rete globale (esterna). Quando un pacchetto attraversa l'esterno della rete locale (interna), NAT converte l'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).



volpe contro lupo

Se il NAT esaurisce gli indirizzi, ovvero non viene lasciato alcun indirizzo nel pool configurato, i pacchetti verranno eliminati e verrà inviato alla destinazione un pacchetto ICMP (Internet Control Message Protocol) non raggiungibile dall'host.

Perché mascherare i numeri di porta?
Supponiamo che in una rete siano connessi due host A e B. Ora, entrambi richiedono la stessa destinazione, sullo stesso numero di porta, diciamo 1000, sul lato host, allo stesso tempo. Se il NAT esegue solo la traduzione degli indirizzi IP, quando i pacchetti arriveranno al NAT, entrambi gli indirizzi IP verranno mascherati dall'indirizzo IP pubblico della rete e inviati alla destinazione. La destinazione invierà risposte all'indirizzo IP pubblico del router. Pertanto, dopo aver ricevuto una risposta, non sarà chiaro al NAT quale risposta appartenga a quale host (perché i numeri di porta di origine sia per A che per B sono gli stessi). Quindi, per evitare questo problema, NAT maschera anche il numero della porta di origine e inserisce una voce nella tabella NAT.

Indirizzi NAT interni ed esterni –
All'interno si riferiscono agli indirizzi che devono essere tradotti. Outside si riferisce agli indirizzi che non hanno il controllo di un'organizzazione. Questi sono gli Indirizzi di rete in cui verrà effettuata la traduzione degli indirizzi.



    Indirizzo locale interno: un indirizzo IP assegnato a un host sulla rete interna (locale). Probabilmente l'indirizzo non è un indirizzo IP assegnato dal fornitore di servizi, ovvero si tratta di indirizzi IP privati. Questo è l'host interno visto dalla rete interna.
    Indirizzo globale interno – Indirizzo IP che rappresenta uno o più indirizzi IP locali interni verso il 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.
    Indirizzo globale esterno: questo è l'host esterno visto dalla rete esterna. È l'indirizzo IP dell'host di destinazione esterno prima della traduzione.

Tipi di traduzione degli indirizzi di rete (NAT) –
Esistono 3 modi per configurare NAT:

ordinamento delle tuple Python
    NAT statico: in questo caso, un singolo indirizzo IP (privato) non registrato viene mappato con un indirizzo IP (pubblico) legalmente registrato, ovvero una mappatura uno a uno tra indirizzi locali e globali. Questo è generalmente utilizzato per l'hosting Web. Questi non vengono utilizzati nelle organizzazioni poiché sono molti i dispositivi che necessitano dell'accesso a Internet e per fornire l'accesso a Internet è necessario un indirizzo IP pubblico.

    Supponiamo che se ci sono 3000 dispositivi che necessitano di accesso a Internet, l'organizzazione deve acquistare 3000 indirizzi pubblici, il che sarebbe molto costoso.
    NAT dinamico – In questo tipo di NAT, un indirizzo IP non registrato viene convertito in un indirizzo IP (pubblico) registrato da un pool di indirizzi IP pubblici. Se l'indirizzo IP del pool non è libero, il pacchetto verrà scartato poiché solo un numero fisso di indirizzi IP privati ​​può essere convertito in indirizzi pubblici.



    Supponiamo che, se esiste un pool di 2 indirizzi IP pubblici, è possibile tradurre solo 2 indirizzi IP privati ​​alla volta. Se il terzo indirizzo IP privato desidera accedere a Internet, il pacchetto verrà scartato, pertanto molti indirizzi IP privati ​​verranno mappati su un pool di indirizzi IP pubblici. NAT viene utilizzato quando il numero di utenti che desiderano accedere a Internet è fisso. Ciò è anche molto costoso poiché l'organizzazione deve acquistare molti indirizzi IP globali per creare un pool.
    Port Address Translation (PAT): noto anche come sovraccarico NAT. In questo modo, molti indirizzi IP locali (privati) possono essere tradotti in un unico indirizzo IP registrato. I numeri di porta vengono utilizzati per distinguere il traffico, ovvero quale traffico appartiene a quale indirizzo IP. Questo è quello utilizzato più frequentemente perché è conveniente in quanto migliaia di utenti possono connettersi a Internet utilizzando un solo indirizzo IP globale (pubblico) reale.

Vantaggi del NAT –

  • NAT conserva gli indirizzi IP registrati legalmente.
  • Garantisce la privacy poiché l'indirizzo IP del dispositivo, che invia e riceve il traffico, sarà nascosto.
  • Elimina la rinumerazione degli indirizzi quando una rete si evolve.

Svantaggio del NAT –

  • La traduzione provoca ritardi nel cambio di percorso.
  • Alcune applicazioni non funzioneranno mentre NAT è abilitato.
  • Complica i protocolli di tunneling come IPsec.
  • Inoltre, essendo il router un dispositivo a livello di rete, non dovrebbe manomettere i numeri di porta (livello di trasporto), ma deve farlo a causa del NAT.