Network

Come Funziona il NAT (Network Address Translation)

Il NAT (Network Address Translation) è una tecnica ampiamente utilizzata da provider di servizi internet (ISP) e organizzazioni per consentire a più dispositivi di condividere un unico indirizzo IP pubblico.

Grazie al NAT, i dispositivi connessi a una rete privata, come i PC di casa o i computer in ufficio, possono comunicare con il mondo esterno senza che ciascuno di essi abbia bisogno di un proprio indirizzo IP univoco pubblico.

Gli indirizzi IP pubblici sono una risorsa limitata. Con miliardi di dispositivi connessi alla rete globale, sarebbe impossibile assegnare un IP pubblico univoco a ognuno di essi. Il NAT risolve questo problema: l’ISP assegna un solo indirizzo IP pubblico al router di casa o aziendale, e tutti i dispositivi interni si “nascondono” dietro di esso.

Come funziona nella pratica

Immaginiamo di avere tre computer collegati alla tua rete domestica

  • 192.168.1.11
  • 192.168.1.12
  • 192.168.1.13

Questi sono indirizzi IP privati, visibili solo all’interno della rete locale. Il router, invece, possiede un indirizzo IP pubblico assegnato dall’ISP, ad esempio 200.100.50.10, attraverso cui comunica con Internet.

Quando il computer 192.168.1.11 vuole contattare un server remoto, ad esempio 184.25.54.148, questo è quello che accade

  • pacchetto in uscita: il computer invia un pacchetto con Source IP 192.168.1.11:5733 e Destination IP 184.25.54.148:443
  • il router interviene: sostituendo l’indirizzo IP privato con il proprio IP pubblico, traducendo (NAT) il pacchetto con Source IP 200.100.50.10:5733 e Destination IP 184.25.54.148:443
  • il server remoto risponde: la risposta torna al router 200.100.50.10 che consulta la propria tabella di NAT per capire a quale dispositivo interno inoltrarla
  • pacchetto in entrata: il router ritraduce e consegna il pacchetto al computer originale 192,168.1.11:5733

Tutto questo è reso possibile dalla tabella NAT, una struttura che il router mantiene in memoria per tenere traccia delle connessioni attive

Inside Private IP:PortInside Public IP:PortOutside Public IP:Port
192.168.1.11:5733200.100.50.10:5733184.25.54.148:443
192.168.1.11:6812200.100.50.10:6812184.25.54.148:443
192.168.1.11:7888200.100.50.10:7888184.25.54.148:443

Come si evince dalla tabella, tre dispositivi diversi stanno comunicando con lo stesso server esterno, tutti attraverso lo stesso IP pubblico 200.100.10.1, ma su porte diverse. È proprio la porta che permette al router di distinguere le sessioni e instradare correttamente i pacchetti di ritorno.

Tipi di NAT

Esistono diverse varianti del NAT, ognuna con caratteristiche specifiche

  • Static NAT: mappa un indirizzo privato a uno pubblico in modo fisso (1:1). Usato spesso per server interni che devono essere raggiungibili dall’esterno
  • Dynamic NAT: assegna dinamicamente un IP pubblico da un pool disponibile a ogni connessione privata
  • PAT (Port Address Translation): è la forma più comune, molti IP privati vengono mappati su un unico IP pubblico usando porte differenti

Vantaggi e limiti del NAT

Vantaggi

  • Risparmio di indirizzi IP pubblici, fondamentale per lo standard IPv4
  • Sicurezza implicita, i dispositivi interni non sono direttamente raggiungibili dall’esterno
  • Flessibilità, la rete interna può essere riorganizzata senza impatto sull’IP pubblico

Limiti

  • Latenza aggiuntiva, ogni pacchetto richiede una traduzione
  • Difficoltà con alcuni protocolli, applicazioni P2P, VoIP e gaming online possono avere problemi di connettività
  • Non è un firewall, il NAT offre una protezione passiva, non sostituisce una soluzione di sicurezza dedicata

NAT e il futuro con IPv6

Con l’adozione crescente di IPv6, che offre un numero di indirizzi IP immensamente più grande rispetto a IPv4, il NAT diventerà tecnicamente superfluo e ogni dispositivo potrà avere il proprio IP pubblico univoco. Tuttavia, data l’enorme diffusione dell’infrastruttura IPv4 esistente, il NAT rimarrà rilevante ancora per molto tempo.