Cos'è il DNS? Un'introduzione al sistema dei nomi di dominio

Pubblicato: 2022-04-11

Quando ti siedi al tuo computer, Internet sembra semplice. Si apre un browser, si digita il nome di dominio e si visualizza il sito Web sullo schermo. Tuttavia, sotto l'interfaccia utente grafica (GUI) c'è una vasta rete di software e server nota come Domain Name System (DNS). Tuttavia, cos'è il DNS e in che modo ci aiuta a visualizzare il Web sui nostri dispositivi?

La risposta a questa domanda è complessa, a causa dell'enorme numero di parti mobili coinvolte. Scoprirai che quasi ogni collegamento della catena utilizza un server. Inoltre, esistono tecniche per aiutarti a ridurre i colli di bottiglia che possono erodere le velocità di caricamento delle pagine elevate.

Per questo post, ti aiuteremo a comprendere il DNS nel modo più semplice possibile. Riassumiamo di cosa tratterà questo articolo.

Sommario

  • Come Internet ottiene una pagina Web da un server al browser
    • I 4 server DNS che recuperano e caricano le pagine Web
  • La differenza tra il ricorsore DNS e il server dei nomi autorevole
  • Come funziona una ricerca DNS
    • Le query che troverai in una ricerca DNS
  • Una guida alla memorizzazione nella cache DNS
  • Apportare modifiche ai record DNS: "Propagazione"
  • Conclusione

Come Internet ottiene una pagina Web da un server al browser

In sintesi, il DNS è il modo in cui convertiamo un nome di dominio leggibile nell'indirizzo IP (Internet Protocol) risultante che rappresenta. Anche se in apparenza sembra un compito semplice, è tutt'altro che vero.

Ogni sito web risiede su un server e ogni server (e computer, appunto) ha un indirizzo IP. Il DNS è il sistema che mappa gli indirizzi IP sui nomi di dominio, così possiamo goderci una navigazione intuitiva. Per analogia, pensa a come il nome di una via e l'indirizzo di una casa siano in realtà un insieme di coordinate della mappa. Utilizziamo gli indirizzi stradali per semplificare la longitudine e la latitudine di un luogo.

Una schermata della mappa che mostra un indirizzo fisico e la latitudine e longitudine.

Quando si converte un indirizzo IP in un nome di dominio (e viceversa), si tratta di "risoluzione DNS". Ci sono una serie di componenti hardware in questa catena, in particolare quattro diversi tipi di server. Discutiamo di questi dopo.

I 4 server DNS che recuperano e caricano le pagine Web

Ogni richiesta e risoluzione DNS passa attraverso quattro server. Eccoli, in poche parole:

  • Ricorrente DNS. Questo è il "portatore d'acqua" per l'intero DNS. Quando richiedi un sito web dal tuo browser, dici al ricorrente di andare a trovare (o 'cercare') il sito nel DNS.
  • Il server dei nomi radice. Se si considera un server Web che contiene molti siti, il server dei nomi radice rappresenta l'intero. È la posizione generale dell'indirizzo IP.
  • Il server dei nomi di dominio di primo livello (TLD). Un sito Web vivrà all'interno del server dei nomi radice, ma il server dei nomi TLD estrarrà la parte finale dell'indirizzo IP: la parte finale del nome host. Potrebbe essere .com, .net o una miriade di altri.
  • Il server dei nomi autorevole. Per semplificare questo complicato server, è la libreria di riferimento per l'indirizzo IP. Questo server invierà l'indirizzo IP completo al ricorrente, che a sua volta mostra il sito nel tuo browser.

Una query DNS esegue tutti questi passaggi, anche più volte, prima che la query venga risolta. Pertanto, ci sono molti punti nella catena che possono causare il fallimento di una query, quindi perché abbiamo errori HTTP.

Tuttavia, vale la pena approfondire la parte anteriore e posteriore di questa catena in maggiori dettagli. Facciamolo dopo.

La differenza tra il ricorsore DNS e il server dei nomi autorevole

Capirai che il recursor recupera il risultato di una query ed è l'inizio dell'intero processo DNS. A sua volta, saprai anche che il server dei nomi autorevole ritrasmette il risultato di questo processo al recursor. Tuttavia, entrambi hanno più differenze che devi sapere:

  • Ricorrente DNS. Questo server risponde a una richiesta di query DNS. È attivo in quanto rintraccia il record DNS lungo la catena. Sebbene l'approccio tipico per un ricorrente sia quello di effettuare più richieste agli altri server, la memorizzazione nella cache può ridurre questo tempo. Ne parleremo più avanti.
  • Server dei nomi autorevole. Questo server contiene tutti i record DNS. Il suo compito è rispondere a una richiesta in base alle informazioni che riceve dagli altri server della catena, incluso il ricorrente. È questo server che consente a un browser di visualizzare un sito Web. Poiché è autorevole, non ha bisogno di consultare altre fonti per convalidare una query: è una fonte di verità.

Tuttavia, sebbene il server dei nomi autorevole sia l'endpoint per una richiesta DNS, non sarà sempre così. Troverai anche server dei nomi aggiuntivi dopo questo punto a seconda della richiesta.

Se una query DNS è per un sottodominio (come shop.example.com), scoprirai che ci sarà un server dei nomi aggiuntivo dopo quello autorevole. Questo memorizza un record CNAME per il sottodominio in questione.

Un record CNAME all'interno di un registrar.

In teoria, non c'è limite al numero di server dei nomi aggiuntivi richiesti da una query. Tuttavia, la maggior parte delle volte, ci sarà solo un nameserver aggiuntivo.

Come funziona una ricerca DNS

Sebbene ci siano quattro server che elaborano una ricerca e una query DNS, ci sono molti passaggi nella catena che trasmettono la query e recuperano i risultati. Ecco come funziona il processo di ricerca:

  • Digiterai un nome di dominio nel tuo browser. Dopo aver fatto clic su Invio , la query si dirige dal browser e dal sistema operativo (OS) a Internet dove il ricorsivo DNS lo riceve.
  • Il recursor passa questa query al server dei nomi radice ed esegue la propria query.
  • Il risultato di questa query sarà il server dei nomi TLD, che ritorna al ricorsivo.
  • Questa volta, il recursor interroga il nameserver TLD, che risponde con l'indirizzo IP del nameserver autorevole del dominio.
  • Il recursor invia un'altra query al server dei nomi autorevole, che a sua volta risponde con l'indirizzo IP per la richiesta di dominio iniziale.

Da qui, il ricorrente invia il risultato del suo lavoro al browser web. Questo completa il processo DNS e il ricorrente può riposare per alcuni millisecondi! Il browser elaborerà quindi la richiesta HTTP per visualizzare il sito nel browser.

Ci sono molti passaggi complessi e laboriosi (relativi a ciò che un server può ottenere) e questo accade miliardi di volte al secondo in tutto il mondo. Anche così, ci sono solo tre query che si verificano all'interno di una ricerca.

Le query che troverai in una ricerca DNS

C'è una relazione all'interno di ciascuna di queste query tra il client DNS e il server. Sebbene questi siano termini generici, noteremo eventuali dettagli nelle nostre spiegazioni:

  • Interrogazione ricorsiva. In questa query, il client richiederà che il ricorrente DNS risponda con il record DNS richiesto o con un messaggio di errore.
  • Interrogazione iterativa. Questa query fornisce al ricorrente la licenza gratuita per fare una "ipotesi migliore" con ciò che restituisce. Se non c'è corrispondenza per una query, il risultato sarà un riferimento a un server autorevole di livello inferiore fino all'esaurimento di questo "percorso".
  • Interrogazione non ricorsiva. Troverai che questa query si verificherà se nella cache esiste un record DNS o se il ricorrente ha accesso autorevole a un record. Parleremo della memorizzazione nella cache verso la fine dell'articolo.

In molti casi, scoprirai che le query ricorsive e non ricorsive sono le più comuni. Questo è il motivo per cui vedrai messaggi di errore e perché il processo di ricerca può essere complesso.

Una guida alla memorizzazione nella cache DNS

Quando si ha a che fare con una query non ricorsiva, un record ha la possibilità di risiedere in una cache dedicata per i record DNS. Se conosci la memorizzazione nella cache, capirai che conterrà file a cui accedi regolarmente. Le app locali possono farlo, ma la cache del tuo sito è il miglior esempio:

Il plug-in W3 Total Cache all'interno della dashboard di WordPress.

Ciò manterrà i record per i file del tuo sito, in modo da poter mantenere basso il numero di richieste HTTP. Lo stesso è possibile anche per i record DNS. Ciò mantiene i record pertinenti più vicini alla posizione del tuo computer, in modo che tu possa recuperare un indirizzo IP più velocemente di quanto faresti normalmente.

Per gli sviluppatori web, una richiesta GET è ciò che il browser emette. Con una cache, il recursor esclude gli altri server nella catena e va direttamente al server dei nomi autorevole o lo richiama senza la necessità di ulteriori query. È la query non ricorsiva più tipica che puoi fare.

In effetti, troverai cache DNS su più tecnologie, come il tuo provider di servizi Internet (ISP), il tuo router e il tuo computer locale.

Il browser Brave che mostra il numero di file memorizzati nella cache.

Scoprirai che la cache del browser è il primo punto di riferimento per un ricorrente che cerca un record DNS e, in quanto tale, i browser spesso memorizzano nella cache i record come impostazione predefinita. Il tuo sistema operativo avrà anche un risolutore DNS e questo controlla anche la sua cache per un record DNS.

Ancora una volta, se il sistema operativo non contiene il record all'interno della sua cache, invierà la query al ricorsivo del tuo ISP per l'elaborazione. Entrambi questi ricorsori lavoreranno con i record A e NS del tuo dominio per provare a risolvere una query, prima che avvenga il processo di ricerca completo.

Apportare modifiche ai record DNS: "Propagazione"

A proposito, puoi apportare modifiche ai tuoi record A , NS o CNAME con il tuo registrar. In molti casi, ci vorranno fino a 72 ore in totale prima che tutte queste modifiche vengano registrate.

Questa è la propagazione DNS e il tempo necessario per il completamento dipende da una serie di fattori, in particolare il valore Time To Live (TTL) per un record associato:

Record del registrar che mostrano i valori TTL in secondi.

In breve, questo determina la velocità con cui una modifica avrà effetto per un record DNS specifico. Un tipico TTL è di circa quattro ore e più alto è il valore, più tempo impiegherà questa propagazione.

Il registrar spesso imposta il TTL per i tuoi nameserver e, in quanto tale, tu o chiunque altro non sarete in grado di apportare modifiche. Questo è il motivo per cui dovrai spesso aspettare che la propagazione finisca e perché controllerai costantemente un sito come What's My DNS? per misurarne l'andamento:

Qual è il mio DNS? sito web.

La soluzione è impostare il tuo TTL il più possibile prima di decidere di modificare i tuoi record DNS. Naturalmente, il registrar sarà responsabile dei tuoi nameserver, ma avrai fatto tutto il possibile per ridurre i tempi di propagazione.

Conclusione

Se pensi che l'accesso a una pagina web sia semplice, ripensaci. Per l'utente finale, il processo è semplice nella sua essenza. Tuttavia, sotto il cofano è molto più complesso e coinvolge una pletora di server aggiuntivi.

Questo post ha esaminato il DNS, il modo in cui Internet prende un nome di dominio e lo risolve in un indirizzo IP. Da lì, può tornare al browser ed eseguire il rendering come pagina Web. Tuttavia, scoprirai che si verificano anche molti altri processi, come la propagazione e la memorizzazione nella cache. Insieme, ci danno una navigazione veloce e (per lo più) senza problemi.

Pensi che questo articolo risponda alla domanda: "Cos'è il DNS?", e in caso contrario hai altre domande? Se è così, chiedi nella sezione commenti qui sotto!