LIVELLO 3 • COMUNICAZIONE • LEZIONE 3.4

DNS e NAT: come funzionano

Scopri come il DNS trasforma i nomi dei siti in indirizzi IP e come il NAT permette a tutti i dispositivi della rete domestica di comunicare con Internet attraverso il router.

Livello Base
Obiettivo Capire DNS e NAT
Prerequisito Lezione 3.3

💡 In poche parole

Il DNS ci permette di utilizzare nomi facili da ricordare al posto degli indirizzi IP. Il NAT, invece, permette al router di tradurre gli indirizzi utilizzati nella rete locale quando i dispositivi comunicano con Internet.

🌐 Cosa succede quando scrivi il nome di un sito?

Quando apri il browser e digiti il nome di un sito, per esempio progettiarduino.com, il computer non può utilizzare semplicemente quel nome per inviare i pacchetti attraverso Internet.

La comunicazione IP ha bisogno di conoscere un indirizzo IP di destinazione.

Serve quindi un sistema capace di associare il nome del sito al relativo indirizzo IP.

Questo sistema è il DNS.

📖 Che cos’è il DNS?

DNS significa Domain Name System.

È un sistema distribuito che permette di associare i nomi di dominio alle informazioni necessarie per raggiungere i servizi associati, tra cui gli indirizzi IP.

In questo modo non dobbiamo ricordare una lunga serie di numeri ogni volta che vogliamo visitare un sito.

🔍 Un esempio semplice

Noi possiamo ricordare facilmente:

progettiarduino.com

Il computer, invece, deve ottenere l’indirizzo IP necessario per raggiungere il server.

💻 Computer progettiarduino.com
🔍 Server DNS Cerca il record
🌐 Indirizzo IP Risultato DNS

🔄 Una richiesta DNS passo dopo passo

In maniera semplificata, quando vuoi raggiungere un sito accade questo:

  • digiti il nome del sito nel browser;
  • il dispositivo deve conoscere il relativo indirizzo IP;
  • viene effettuata una richiesta DNS;
  • il resolver DNS cerca o recupera la risposta;
  • il dispositivo ottiene l’indirizzo necessario;
  • può quindi iniziare la comunicazione con il server.
Nome del sito ↓ Richiesta DNS ↓ Risposta DNS ↓ Indirizzo IP ↓ Connessione al server

🧠 Concetto chiave

Il DNS non trasporta la pagina web. Il suo compito, in questo esempio, è aiutare il dispositivo a trovare l’indirizzo necessario per raggiungere il servizio.

📡 Quale server DNS utilizziamo?

Nella lezione precedente abbiamo visto che il DHCP può fornire al dispositivo anche l’indirizzo di uno o più server DNS.

Una configurazione domestica potrebbe apparire così:

IP: 192.168.1.100 Subnet: 255.255.255.0 Gateway: 192.168.1.1 DNS: 192.168.1.1

In alcuni router l’indirizzo DNS configurato sul dispositivo coincide con quello del router.

Il router può quindi inoltrare le richieste verso resolver DNS esterni oppure gestirle secondo la propria configurazione.

🗃️ La cache DNS

Sarebbe inefficiente ripetere continuamente le stesse ricerche.

Per questo motivo le risposte DNS possono essere memorizzate temporaneamente in una cache.

Se la stessa informazione viene richiesta nuovamente e la voce è ancora valida, può essere riutilizzata senza ripetere l’intero processo.

⚡ Perché la cache è utile?

Riduce il numero di richieste DNS necessarie e può rendere più rapido il recupero di informazioni già conosciute.

⏳ Il TTL

Le informazioni DNS non vengono normalmente conservate nella cache per sempre.

I record DNS possiedono un valore chiamato TTL, cioè Time To Live.

Il TTL indica per quanto tempo una determinata risposta può essere mantenuta in cache prima che sia necessario considerarla scaduta e recuperarla nuovamente.

💡 Perché a volte una modifica DNS non appare subito?

Una delle ragioni è proprio la presenza delle cache. Informazioni precedenti possono continuare a essere utilizzate fino alla loro scadenza.

📋 Alcuni record DNS

Il DNS non contiene soltanto una semplice associazione tra un nome e un indirizzo IPv4.

Esistono diversi tipi di record, ognuno con uno scopo preciso.

Record Funzione principale
A Associa un nome a un indirizzo IPv4
AAAA Associa un nome a un indirizzo IPv6
CNAME Indica un nome canonico per un alias
MX Indica i server utilizzati per la posta elettronica del dominio
TXT Contiene informazioni testuali utilizzate per diversi scopi

🏠 Dagli indirizzi privati a Internet

Ora passiamo al secondo protagonista della lezione: il NAT.

Ricordi gli indirizzi privati che abbiamo incontrato nelle lezioni precedenti?

192.168.1.10 192.168.1.20 192.168.1.100

Questi indirizzi possono essere utilizzati nella rete locale, ma gli indirizzi IPv4 privati non vengono instradati sulla rete Internet pubblica.

Il router deve quindi gestire la comunicazione tra la rete privata e la rete esterna.

🔄 Che cos’è il NAT?

NAT significa Network Address Translation.

È un meccanismo che modifica le informazioni relative agli indirizzi IP mentre il traffico attraversa un dispositivo che effettua la traduzione, tipicamente il router.

In una rete domestica IPv4 permette, tra le altre cose, a numerosi dispositivi con indirizzi privati di comunicare con Internet attraverso l’indirizzo pubblico della connessione.

💻 PC 192.168.1.100
📡 Router / NAT Traduzione
🌐 Internet IP pubblico

💡 In pratica

Il computer può continuare a utilizzare il suo indirizzo privato nella LAN, mentre il router gestisce la traduzione necessaria quando il traffico attraversa il confine tra rete privata e rete pubblica.

👥 Ma come fanno più dispositivi a condividere un solo IPv4 pubblico?

In casa potremmo avere contemporaneamente:

PC → 192.168.1.100 Smartphone → 192.168.1.101 Smart TV → 192.168.1.102 Console → 192.168.1.103

Tutti questi dispositivi possono navigare contemporaneamente anche quando la connessione dispone di un solo indirizzo IPv4 pubblico.

Nelle reti domestiche viene comunemente utilizzata una forma di traduzione che sfrutta anche i numeri di porta per distinguere le diverse comunicazioni.

Questa tecnica viene spesso chiamata PAT — Port Address Translation oppure NAT overload.

192.168.1.100 PC
192.168.1.101 Smartphone
192.168.1.102 Smart TV
📡 Router NAT / PAT
🌐 IPv4 pubblico Internet

📝 Un esempio semplificato di PAT

Immaginiamo due dispositivi che aprono contemporaneamente delle connessioni verso Internet.

192.168.1.100:51000 192.168.1.101:52000 ↓ ROUTER ↓ IP pubblico:61001 IP pubblico:61002

Il router mantiene le informazioni necessarie per sapere a quale comunicazione interna appartengono i pacchetti di risposta.

Quando arrivano le risposte da Internet, può quindi consegnarle al dispositivo corretto.

🧠 Concetto chiave

Non è sufficiente pensare che il router sostituisca semplicemente un IP privato con quello pubblico. Nella situazione domestica più comune, deve anche distinguere contemporaneamente molte comunicazioni provenienti da dispositivi differenti.

🚪 E le connessioni iniziate da Internet?

Se un dispositivo della rete locale avvia una comunicazione verso Internet, il router può mantenere lo stato necessario per gestire il traffico di risposta.

Una nuova connessione proveniente dall’esterno, invece, non corrisponde automaticamente a uno specifico dispositivo della LAN.

Se vogliamo rendere raggiungibile dall’esterno un determinato servizio interno, possiamo avere bisogno di configurare una regola di port forwarding.

Internet ↓ Porta 8080 ↓ Router ↓ 192.168.1.50:8080

⚠️ NAT e firewall non sono la stessa cosa

NAT e firewall sono due funzioni differenti. Il NAT esegue la traduzione degli indirizzi, mentre il firewall applica regole per consentire o bloccare il traffico.

Molti router domestici svolgono entrambe le funzioni, ed è per questo che i due concetti vengono talvolta confusi.

🛡️ Il NAT è una tecnologia di sicurezza?

Non propriamente.

Il fatto che una tipica configurazione NAT domestica non permetta automaticamente di associare una nuova connessione proveniente da Internet a un host interno può avere effetti utili dal punto di vista dell’esposizione, ma il NAT non deve essere considerato un sostituto del firewall.

Sono tecnologie con funzioni diverse.

🌐 NAT e IPv6

Il NAT è diventato estremamente comune con IPv4 anche a causa della disponibilità limitata degli indirizzi IPv4 pubblici.

IPv6 dispone invece di uno spazio di indirizzamento enormemente più grande ed è stato progettato affinché ogni interfaccia possa disporre di indirizzi globalmente instradabili quando appropriato.

Questo significa che nel normale modello IPv6 non è necessario utilizzare NAT per risparmiare indirizzi come avviene comunemente con IPv4.

🔒 Questo non significa eliminare il firewall

Avere indirizzi IPv6 globali non significa che qualsiasi dispositivo debba essere liberamente raggiungibile da Internet. Il firewall continua ad avere un ruolo fondamentale nel controllo delle connessioni.

🔗 DNS e NAT lavorano insieme?

DNS e NAT svolgono compiti completamente differenti, ma possiamo incontrarli entrambi durante una normale navigazione web.

Immaginiamo di aprire un sito dal nostro notebook.

1. Digiti il nome del sito 2. Il DNS permette di ottenere l’indirizzo IP necessario 3. Il computer invia il traffico verso il gateway 4. Il router gestisce NAT/PAT per la comunicazione IPv4 5. I pacchetti viaggiano su Internet 6. Le risposte tornano al router 7. Il router le associa alla comunicazione corretta 8. I dati arrivano al notebook
💻 Notebook Nome del sito
🔍 DNS Trova l’indirizzo
📡 Router Gateway + NAT
🌐 Internet Server remoto

🎯 Cosa devi ricordare

  • DNS significa Domain Name System.
  • Il DNS permette di ottenere informazioni associate ai nomi di dominio, tra cui gli indirizzi IP dei servizi.
  • I record A sono utilizzati per IPv4, mentre i record AAAA sono utilizzati per IPv6.
  • Le risposte DNS possono essere memorizzate temporaneamente in cache.
  • Il TTL contribuisce a stabilire per quanto tempo un record può essere conservato in cache.
  • NAT significa Network Address Translation.
  • Il NAT permette di tradurre gli indirizzi quando il traffico attraversa il dispositivo che effettua la traduzione.
  • Nelle reti domestiche IPv4, NAT/PAT permette a più dispositivi privati di condividere un indirizzo pubblico.
  • Il port forwarding può essere utilizzato per indirizzare determinate connessioni in ingresso verso uno specifico servizio interno.
  • NAT e firewall non sono la stessa cosa.
  • IPv6 non necessita normalmente del NAT come soluzione alla scarsità degli indirizzi IPv4.

🎓 Quiz finale

Controlla se hai assimilato i concetti principali della lezione.

1. Che cosa significa DNS?
Mostra la risposta

Domain Name System.

2. Perché utilizziamo il DNS durante la navigazione?
Mostra la risposta

Per ottenere le informazioni necessarie ad associare i nomi di dominio agli indirizzi IP dei servizi che vogliamo raggiungere.

3. Qual è la differenza principale tra un record A e un record AAAA?
Mostra la risposta

Un record A associa un nome a un indirizzo IPv4, mentre un record AAAA lo associa a un indirizzo IPv6.

4. A cosa serve la cache DNS?
Mostra la risposta

Permette di riutilizzare temporaneamente informazioni DNS già ottenute, evitando di ripetere inutilmente le stesse ricerche finché i dati sono ancora validi.

5. Che cosa significa NAT?
Mostra la risposta

Network Address Translation.

6. Come possono più dispositivi domestici IPv4 condividere lo stesso indirizzo pubblico?
Mostra la risposta

Il router può utilizzare NAT/PAT, distinguendo le diverse comunicazioni anche attraverso i numeri di porta.

7. NAT e firewall sono la stessa cosa?
Mostra la risposta

No. Il NAT traduce gli indirizzi, mentre il firewall applica regole per controllare il traffico consentito o bloccato.

8. A cosa serve il port forwarding?
Mostra la risposta

Permette di indirizzare determinate connessioni provenienti dall’esterno verso uno specifico servizio o dispositivo della rete interna.