Anno 5 · Modulo 1 · Lezione 6
a cura di Prof Giagnotti · Sistemi e Reti

DNS - struttura, risoluzione, record

Dal nome leggibile all'IP numerico: come il Domain Name System organizza Internet in una gerarchia distribuita, come avviene la risoluzione ricorsiva e iterativa e quali record rendono possibile ogni servizio.

📚 Anno 5 - Modulo 1 ⏱ 50 min 🌐 Livello applicazione
📋 Obiettivi di apprendimento
✓Spiegare il ruolo del DNS e perché è indispensabile per il funzionamento di Internet
✓Descrivere la struttura gerarchica del DNS distinguendo root, TLD, second level domain e sottodomini
✓Distinguere risoluzione ricorsiva e iterativa, indicando il ruolo di resolver, root server e authoritative server
✓Riconoscere e descrivere i principali tipi di record DNS: A, AAAA, MX, NS, CNAME, PTR, SOA, TXT
✓Interpretare output reali di nslookup/dig e cache locale e applicare i concetti IANA/ICANN/Whois

1. Servizi Internet e ruolo del DNS

📌 Definizione da ricordare

Il DNS (Domain Name System) è il servizio di livello applicativo che traduce nomi di dominio leggibili (es. www.example.com) in indirizzi IP numerici utilizzati per instradare i pacchetti.

Internet non è solo cavi e router: è un ecosistema di servizi di livello applicativo standardizzati che garantiscono interoperabilità. HTTP/HTTPS per il Web, FTP per i file, SMTP/POP3/IMAP per la posta, RTP per VoIP/streaming, SSH per accesso remoto sicuro e — al centro di tutto — DNS per la risoluzione dei nomi. Senza DNS dovremmo ricordare IP come 142.250.184.36.

01 · WEB

HTTP/HTTPS

World Wide Web, ma prima di caricare una pagina serve risolvere il nome del server

02 · NOMI

DNS

Rubrica distribuita globale: il primo servizio invocato quando digiti un URL

03 · POSTA

SMTP / MX

Anche l'invio email dipende dal DNS per trovare il mail server di destinazione

🎯 Esempio in classe

Apri il browser in aula laboratorio e vai su https://cisco.com. Prima della connessione TCP/443, il PC fa una query A verso il resolver configurato (es. 8.8.8.8). Se osservate Wireshark vedrete: query DNS standard per cisco.com IN A, risposta con IP e TTL. Disattivate la rete WiFi e provate a pingare 8.8.8.8: funziona via IP, ma digitare google.com fallisce perché senza DNS non c'è traduzione.

💬 Tip del docente

All'interrogazione: parti dall'analogia "rubrica telefonica distribuita". Poi aggiungi: è gerarchico, distribuito, con caching. Se ti chiedono perché indispensabile, rispondi: usabilità + scalabilità: impossibile memorizzare hosts.txt centralizzato come negli anni '70.

2. Struttura gerarchica: root, TLD, domini e sottodomini

Il DNS è un database distribuito ad albero. Ogni nome è un percorso dalla radice verso le foglie, letto da destra a sinistra. Il punto finale . rappresenta la root ed è logico anche quando non lo scriviamo.

. ROOT DOMAIN13 cluster root server .com TLD generico .it ccTLD .org TLD generico googleSecond Level Domain arubaSecond Level Domain www mail Sottodomini liberi Esempio canonico: www.google.com.
LIVELLO 0

Root "."

Punto finale implicito. 13 nomi logici (A-M.root-servers.net) replicati con anycast in centinaia di istanze worldwide.

LIVELLO 1

TLD

Top Level Domain: .com .org .net .edu + ccTLD .it .fr .de .jp + nuovi gTLD .tech .cloud .school

LIVELLO 2

Second Level Domain

Nome scelto e registrato: google in google.com, aruba in aruba.it. È l'identità dell'organizzazione.

LIVELLO 3+

Sottodomini

Creati dal titolare senza registrazione extra: www, mail, ftp, blog, shop. Organizzano servizi diversi sullo stesso dominio.

⚠️ Errore comune

Confondere TLD con dominio: .com è TLD, google.com è SLD+TLD, www.google.com include sottodominio. In verifica disegna sempre l'albero con frecce e livelli.

3. IANA, ICANN, Whois e tipologie di TLD

La gestione globale non è casuale: IANA gestisce numeri, TLD, parametri; ICANN supervisiona policy, accredita i registrar e garantisce stabilità della root zone. Senza questo governo, collisioni e abusi sarebbero inevitabili.

TipoDescrizioneEsempi
gTLDDomini generici internazionali storici.com .org .net .edu .info
ccTLDAssociati a uno Stato ISO (2 lettere).it .fr .de .uk .jp .us
nuovi gTLDIntrodotti dopo 2013 per verticali.tech .online .cloud .school .shop
📌 Whois - definizione

Whois è il protocollo/servizio che espone informazioni pubbliche su un dominio: registrar, data registrazione/scadenza, name server autoritativi, stato. Utile per troubleshooting, sicurezza, contenziosi.

🎯 Esempio in classe

Su https://lookup.icann.org/ cercate profgiagnotti.altervista.org e poi google.com. Annotate: registrar, created, expiry, name servers. Notate che i sottodomini Altervista non hanno Whois diretto perché è il dominio altervista.org a essere registrato. Confrontate un ccTLD (.it) con un gTLD (.com): policy diverse su privacy.

4. Come funziona: resolver, server e risoluzione ricorsiva vs iterativa

📌 Definizione da ricordare

Resolver = client DNS del PC (stub) + server ricorsivo del provider/Google/Cloudflare che esegue il lavoro. Root server = conosce i TLD. Authoritative = conosce la zona e risponde con l'IP finale.

01 · LOCALE

Resolver

Di solito 8.8.8.8, 1.1.1.1 o quello ISP. Cache + recursion. Primo interrogato dal browser.

02 · ROOT

Root Server

Non sa l'IP finale, ma sa dove sono i TLD. Risponde con referral a .com, .it, etc.

03 · FINALE

Authoritative

Gestisce la zona example.com e possiede i record A/AAAA/MX. Risposta definitiva.

RICORSIVA (client) Client -> Resolver Resolver lavora per te Root -> TLD -> Auth in background <- Risposta completa IP Semplice per il client,carico sul resolver ITERATIVA (resolver) Resolver -> Root : dove .com? Root -> Resolver : vai da TLD .com Resolver -> TLD : dove google.com? TLD -> Resolver : vai da ns1.google.com Resolver -> Auth : A www.google.com? Auth -> Resolver : 142.250.184.36 Resolver -> Client : IP finale Tra resolver e server si usaquasi sempre iterativa realtà: ricorsiva client, iterativa server-side

Nella pratica quotidiana: il PC chiede ricorsione al resolver del provider (flag RD=1), il resolver poi esegue una serie di query iterative verso root, TLD e authoritative finché non ottiene la risposta. Il caching a ogni livello riduce drasticamente il traffico verso la root.

💬 Tip del docente

Disegna due colonne: sinistra Client-Resovler (ricorsiva), destra Resolver-Root-TLD-Auth (iterativa). Se all'interrogazione ti dicono "spiega iterativa" inizia da "ogni server non risponde direttamente ma ti dice chi interrogare dopo".

⚠️ Errore comune

Dire che il root conosce l'IP di google.com. No: il root conosce solo i server .com. È l'authoritative di google.com che conosce l'IP. La delega è il cuore del DNS.

5. I record DNS: A, AAAA, MX, NS, CNAME, PTR, SOA, TXT

Un record è una tupla: Name (FQDN), Value (dato), Type, Class (quasi sempre IN=Internet), TTL (secondi di permanenza in cache). Il TTL basso favorisce aggiornamenti rapidi, TTL alto riduce query.

TipoRuoloEsempio reale
ANome → IPv4 (host)example.com → 93.184.216.34
AAAANome → IPv6example.com → 2606:2800:220:1::32
MXMail Exchange, indica server posta + prioritàexample.com → mail.example.com (pref 10)
NSName Server autoritativi della zonaexample.com → ns1.example.com
CNAMEAlias: un nome punta a altro nome canonicowww.example.com → example.com
PTRRisoluzione inversa IP → nome (in zona in-addr.arpa)34.216.184.93 → example.com
SOAStart of Authority: primario, email admin, serial, refreshZona example.com, serial 2024050101
TXTTesto libero: SPF, DKIM, DMARC, verifica ownershipv=spf1 include:_spf.google.com ~all
POSTA

MX e priorità

Posso avere più MX con pref diverse. A parità di priorità = round robin. Senza MX, la posta non arriva.

ALIAS

CNAME vs A

CNAME non deve coesistere con altri record sullo stesso nome. Se usato su apex (dominio nudo) rompe MX/NS: meglio ANAME/ALIAS del provider.

SICUREZZA

TXT = SPF/DKIM

Verifica anti-spam: SPF dice quali IP possono spedire, DKIM firma crypto, DMARC dice cosa fare se falliscono.

🎯 Esempio in classe

Digitate: nslookup → set type=MX → gmail.com. Vedete 5 server con priorità. Poi set type=TXT → gmail.com mostra SPF. Infine set type=NS → google.com. Questo dimostra che un nome ha più tipi di record contemporaneamente, ma distribuiti su server diversi.

DNS · ZONA DI ESEMPIO (BIND FORMAT)
$ORIGIN example.com. @ IN SOA ns1.example.com. admin.example.com. ( 2024051001 3600 600 86400 600 ) IN NS ns1.example.com. IN NS ns2.example.com. IN A 93.184.216.34 IN AAAA 2606:2800:220:1:248:1893:25c8:1946 IN MX 10 mail.example.com. IN TXT "v=spf1 ip4:93.184.216.0/24 ~all"www IN CNAME example.com. mail IN A 93.184.216.35 ; reverse zone 216.184.93.in-addr.arpa 34 IN PTR example.com.

6. Cache, TTL e comandi pratici

Il DNS è velocissimo grazie al caching: resolver, browser, OS mantengono le risposte per TTL secondi. TTL alto = meno query, ma propagazione lenta delle modifiche. TTL basso (60-300s) utile prima di migrazioni.

TERMINALE · WINDOWS / LINUX / MAC
# Windows ipconfig /displaydns ipconfig /flushdns nslookup www.google.com nslookup -type=MX google.com 8.8.8.8# Linux / macOS dig www.example.com A +short dig @1.1.1.1 example.com MX dig -x 8.8.8.8 +short sudo resolvectl flush-caches # systemd sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder # macOS
🎯 Lab rapido in aula

1) ipconfig /displaydns | more → cercate TTL residuo. 2) Cambiate DNS da automatico a 1.1.1.1 e 8.8.8.8: notate tempi diversi con nslookup. 3) Su Wireshark filtrate dns e aprite una pagina mai visitata: contate query A, AAAA, CNAME. 4) Verificate se il sito della scuola ha record AAAA (IPv6 ready?).

💬 Tip del docente

Prima di una verifica su DNS, svuota cache browser + OS, altrimenti vedi risposte vecchie. E ricorda: dig mostra flags utili: qr rd ra, status NOERROR/NXDOMAIN, ANSWER section, QUERY TIME.

7. Verifica / Esercizio

🔬 Attività pratica - Analizza www.itis Rossi

La segreteria ha registrato itisrossi.edu.it con zona gestita da ns1.itisrossi.edu.it. Devi progettare i record per: sito web, posta, IPv6, alias www.

  1. Scomponi www.itisrossi.edu.it in sottodominio, SLD, TLD, root e indica tipo TLD.
  2. Descrivi la catena di risoluzione completa quando un alunno digita www.itisrossi.edu.it da casa (IP 8.8.8.8 come resolver).
  3. Scrivi i record DNS minimali (A, AAAA, MX, NS, CNAME, TXT SPF) supponendo IP 79.2.10.20 e mail su stesso IP.
  4. Spiega cosa succede se metti TTL=86400 e poi cambi IP il giorno dell'open day.
  5. Quale record useresti per verificare proprietà dominio su Google Search Console?
✅ Soluzione ragionata

1) Scomposizione: . = root implicita, .it = ccTLD (country code Italia), edu = SLD? No, in questo caso edu.it è SLD esteso gestito con regole .it (itisrossi è terzo livello ma funzionalmente SLD registrato), www = sottodominio. TLD .it è ccTLD.

2) Catena: Browser → stub resolver PC → resolver ricorsivo 8.8.8.8 (cache miss) → Root . (referral a server .it) → TLD .it (referral a ns1.itisrossi.edu.it) → Authoritative ns1 risponde con A 79.2.10.20 → Resolver cache + risposta al client. In realtà Google ha già in cache TLD .it, quindi 1 query a authoritative basta.

3) Record esempio: @ IN NS ns1.itisrossi.edu.it. | @ IN A 79.2.10.20 | @ IN AAAA 2001:db8::1 | @ IN MX 10 mail.itisrossi.edu.it. | mail IN A 79.2.10.20 | www IN CNAME @ | @ IN TXT "v=spf1 ip4:79.2.10.20 ~all"

4) TTL: Con TTL 86400 (24h), resolver di tutto il mondo mantengono vecchio IP per 24h → parte utenza vede sito vecchio non raggiungibile. Prima di cambio IP abbassa TTL a 300s per 48h, poi modifica, poi rialza.

5) Verifica ownership: Record TXT con token fornito da Google (es. google-site-verification=...). TXT è il canale standard per prove di possesso.

✓DNS indispensabile: traduce nomi human-readable in IP; senza, nessun URL funzionerebbe, storicamente nato per superare hosts.txt centrale
✓Gerarchia: root (.) → TLD (gTLD, ccTLD, nuovi) → second level → sottodomini liberi; ogni livello delega l'autorità con NS
✓IANA/ICANN/Whois: governo globale dei nomi, assegnazione, policy e lookup pubblico per audit
✓Risoluzione: client ricorsiva verso resolver, resolver iterativa verso root/TLD/authoritative; cache + TTL rendono scalabile
✓Record: A/AAAA host, MX posta, NS delega, CNAME alias, PTR reverse, SOA zona, TXT verifiche SPF/DKIM
✓Pratica: nslookup/dig/ipconfig/displaydns/flushdns, Wireshark filtro dns, controllo TTL prima di migrazioni

📚 Prossimo passo - DNS messaggi UDP TCP DNSSEC DDNS

Ora che sai struttura e record, vedremo come il DNS parla davvero: formato messaggi, perché usa UDP e quando passa a TCP, come DNSSEC firma le risposte contro spoofing e come DDNS aggiorna IP dinamici. Porta appunti su TTL e preparati a catturare un pacchetto DNS reale.