3.7 KiB
Domain Name System (DNS)
Il Domain Name System o DNS
è un protocollo del livello applicativo (layer 7) nel modello ISO/OSI (layer 5 nel modello TCP/IP). Utilizza il protocollo UDP a livello di trasporto ed è associato alla well-know port 53.
La funzione principale del DNS è quella di tradurre i nomi di dominio in indirizzi IP, facilitando così la navigazione degli utenti. Oltre a questa funzione principale, il DNS offre anche altre due importanti caratteristiche:
- Aliasing: consente di creare alias per un dominio principale (ad esempio, per il dominio miosito.com, è possibile avere alias come blog.miosito.com)
- Load Balancing: il DNS può anche fungere da bilanciatore di carico. Quando un client richiede l'indirizzo IP di un web server, il DNS può inviare la richiesta a un server specifico in base al carico di lavoro attuale, smistando così le richieste tra più indirizzi IP associati allo stesso dominio
Gerarchia DNS
Quando il processo di risoluzione DNS viene avviato, si seguono diversi passaggi per ottenere l'indirizzo IP associato a un nome di dominio.
Il primo passo consiste nell'interrogare la memoria locale del dispositivo, la quale può contenere sia entry manuali inserite dall'utente sia informazioni precedentemente risolte e memorizzate nella cache.
DNS Resolver locale
Se l'informazione non è presente nella memoria locale, il sistema si rivolge al DNS resolver locale, che può essere:
- un server DNS configurato localmente sulla macchina o sul proprio router
- un server DNS locale nella LAN
- un server DNS fornito dal proprio Internet Service Provider (
ISP
)
Server DNS root
Se il resolver locale non riesce a fornire la risposta, la richiesta viene inoltrata ai server DNS root
, che rappresentano il primo livello della gerarchia DNS. Non contengono informazioni specifiche sui nomi di dominio, ma il loro compito principale è quello di indirizzare la risoluzione verso i server dei Top Level Domain (TLD
), che si trovano al secondo livello della gerarchia. Questi server gestiscono i domini di primo livello, come ad esempio .com
, .org
, ecc.
Server TLD
I server TLD
ricevono la richiesta e, a loro volta, indirizzano il resolver verso i server DNS autoritativi per il dominio specifico richiesto.
Server DNS Autoritativi
Infine, al terzo livello della gerarchia, ci sono i server DNS autoritativi
. Questi server contengono le informazioni definitive riguardanti il dominio richiesto e sono gestiti dal proprietario del dominio o da un ente di fiducia a cui il proprietario si affida. Solo questi server possono fornire la risposta finale, ovvero l'indirizzo IP associato al nome di dominio.
Risoluzione DNS
La risoluzione DNS può avvenire attraverso due modalità principali:
-
Interattiva
: nella modalità interattiva, il DNS resolver locale richiede direttamente l'informazione a ciascun livello della gerarchia DNS, partendo dal server DNS root fino ai server autoritativi. Questo approccio presenta diversi vantaggi in termini di sicurezza. Il resolver locale quindi:- invia richieste ai server DNS root per ottenere indicazioni sui server TLD appropriati
- prosegue a interrogare i server TLD per ottenere informazioni sui server autoritativi specifici del dominio richiesto
- contatta i server autoritativi per ottenere l'indirizzo IP associato al nome di dominio
-
Ricorsiva
: nella modalità ricorsiva, il resolver locale delega la responsabilità di trovare l'informazione a altri server DNS, partendo dal server DNS root di primo livello. Questo processo continua in modo ricorsivo, con ogni server che fornisce indicazioni al successivo, fino a quando il resolver non ottiene la risposta finale