Il NAT: la stessa busta, prima e dopo il router

L'indirizzo 192.168.1.10 non esiste su Internet: nessun router di dorsale lo instrada, perché di reti 192.168.1.0/24 nel mondo ce ne sono milioni. Il router di casa allora riscrive l'intestazione mentre il pacchetto passa. Qui vedi la stessa busta dai due lati, e la tabella che permette alla risposta di ritrovare la strada di casa.

1 · Chi manda, e verso dove

📡 Il router di casa — un apparato, due indirizzi
Lato casa 192.168.1.1 È il gateway che i tuoi dispositivi hanno in configurazione. Privato, come i loro.
Lato Internet Non se lo inventa lui: glielo ha dato l'operatore quando la linea si è accesa. È questo che finisce nella busta al posto del tuo.
Provalo: cambia, e non succede niente di speciale. È solo il numero che la tua linea ha in prestito — e la tabella qui sotto si aggiorna da sola.

La tabella NAT del router

Una riga per ogni conversazione aperta in casa. È l'unico posto al mondo dove quel legame è scritto — se la riga non c'è, la risposta non sa a chi andare.

Quello che è partito da casa → quello che esce sulla linea Verso Prova

Ancora nessuna conversazione aperta.

Come funziona

Perché serve: gli indirizzi privati

Tre blocchi di indirizzi sono riservati alle reti locali e nessun router di Internet li instrada. Sono definiti dalla RFC 1918:

Blocco Intervallo Indirizzi Uso tipico
10.0.0.0/810.0.0.0 – 10.255.255.25516.777.216grandi reti aziendali
172.16.0.0/12172.16.0.0 – 172.31.255.2551.048.576reti medie, Docker
192.168.0.0/16192.168.0.0 – 192.168.255.25565.536reti domestiche

NAT, o meglio PAT

Quello che fa il router di casa si chiama con precisione PAT (Port Address Translation, detto anche NAPT o «NAT overload»): non traduce solo l'indirizzo, traduce la coppia indirizzo + porta. Ed è tutta lì la differenza: un indirizzo pubblico solo, diviso fra decine di dispositivi, funziona perché la porta fa da numero di interno.

La porta si riscrive solo quando serve

Questo è il punto che quasi tutti gli schemi sbagliano. Il router prova a tenere la porta sorgente che ha scelto il tuo PC: se è libera sul lato pubblico, se la tiene e non tocca niente. La riscrive solo se quel numero è già occupato da un'altra conversazione. Provalo: manda dal PC con la porta 51274, poi manda dal telefono con la stessa porta 51274. La prima passa intatta, la seconda viene rinumerata — ed è esattamente il momento in cui capisci a cosa serve la tabella.

Il router è comunque un salto

Nel confronto qui sopra cambiano anche due campi che con il NAT non c'entrano: il TTL scende di 1 (il router è un salto come tutti gli altri) e il checksum va ricalcolato — perché è la firma dei byte dell'intestazione, e quei byte sono appena cambiati. Un router che riscrivesse gli indirizzi senza rifare il checksum produrrebbe pacchetti che il primo apparato a valle butterebbe via. Il numero che vedi è un conto vero, non un segnaposto: è la somma a complemento a uno su 16 bit degli indirizzi e del TTL, la stessa aritmetica del checksum IP. E c'è un secondo checksum da rifare, quello di TCP: nel calcolarlo TCP include gli indirizzi IP (si chiama pseudo-intestazione), quindi il NAT costringe a rifare anche quello — un livello che tocca i conti del livello sopra, cosa che a rigore non dovrebbe succedere.

Dall'esterno non si entra

Prova il pulsante «qualcuno bussa da fuori»: il pacchetto arriva al tuo indirizzo pubblico, il router cerca la riga corrispondente, non la trova e lo scarta. Non è cattiveria: non saprebbe a chi consegnarlo. Due conseguenze — per ospitare un server in casa serve il port forwarding (una riga scritta a mano, che esiste prima che arrivi il pacchetto), e il NAT si comporta di fatto come un firewall passivo. Non è stato progettato per proteggere: protegge per effetto collaterale.

Da dove viene l'indirizzo pubblico

Domanda giusta, perché il NAT non crea nessun indirizzo: ne condivide uno che esiste già. Il router, sul suo lato esterno, è a sua volta un cliente della rete dell'operatore, e riceve il proprio indirizzo pubblico esattamente come il tuo PC riceve quello privato — vedi Il Gioco del DHCP. Il pubblico arriva da fuori, uno per linea; il NAT si limita a farlo bastare per tutta la casa.

Quindi quel numero non si calcola: non c'è nessuna formula che da 192.168.1.10 produca l'indirizzo pubblico. È semplicemente il valore che il router ha sulla sua seconda scheda di rete, quella rivolta all'operatore — il riquadro giallo in cima alla pagina — e il NAT si limita a copiarlo dentro la busta. Preme il pulsante «l'operatore ne assegna un altro» e lo vedi: cambia, e non cambia nient'altro nella logica.

Gli indirizzi pubblici usati qui (203.0.113.7, 198.51.100.23, 192.0.2.146) vengono dai tre blocchi che la RFC 5737 riserva alla documentazione, esattamente come la RFC 1918 riserva i privati alle reti locali. Servono a scrivere esempi senza citare l'indirizzo di qualcuno che esiste davvero: su Internet non rispondono, e non risponderanno mai.

Un tampone, non una soluzione

Il NAT è nato per la scarsità di indirizzi IPv4: 32 bit fanno al massimo 2³² ≈ 4,3 miliardi di indirizzi, meno dei dispositivi collegati oggi. È il problema che IPv6 risolve alla radice. E dove nemmeno il NAT basta, molti operatori ne aggiungono un secondo livello sulla propria rete — il CGNAT, che usa il blocco 100.64.0.0/10: in quel caso nemmeno l'indirizzo «pubblico» del tuo router è davvero pubblico, e il pacchetto viene tradotto due volte.

Si può vedere per davvero

La tabella qui sopra esiste anche a casa tua. Il posto vero è il pannello del router: cerca una pagina «Connessioni attive», «Sessioni» o «Connection list». Dal PC ne vedi la tua metà, con netstat -ano su Windows o ss -tan su Linux: ogni riga lì ha la sua riga gemella nella tabella del router.

Questa è la Fase 2, quella in cui il pacchetto lascia la rete di casa. Prima viene la domanda «stessa rete o no?», che si risolve con un conto in Il messaggio in numeri e si progetta con IP & Subnet Calc; dopo comincia il viaggio fra i router, raccontato in Come i router si dicono le strade.

Tutoring Premium

Ripetizioni e tutoring con un docente di ruolo

Matematica, fisica e informatica. Un metodo, non solo esercizi: si parte da come funziona.

Prenota il colloquio gratuito Senza impegno · Posti limitati