Che cos'è il DNS (Domain Name System) e come funziona?

Pubblicato: 2020-12-09

DNS-nome-dominio-sistema

Qual è la definizione di DNS?

DNS, che sta per Domain Name System, viene utilizzato come mezzo per tradurre i nomi di dominio nei rispettivi indirizzi IP quando un client avvia una query di richiesta. Il DNS memorizza il database di tutti i nomi di dominio e dei relativi indirizzi IP registrati nella rete.

Può essere pensato come un registro delle presenze per vari siti web presenti su Internet. Nel caso del DNS, mantiene il database di tutti i siti Web Domain Names e relativi indirizzi IP (Internet Protocol) operativi in ​​tutto il mondo.

Storia del DNS

Le origini del DNS risalgono ai tempi di ARPANET, quando c'erano solo pochi computer per ottenere una voce nel database. Un file HOSTS.TXT è stato mantenuto dallo Stanford Research Institute, che costituiva i dati di tutte le macchine, ed è stato copiato da tutte le macchine host per rimanere aggiornato.

Jon Postel dell'Information Sciences Institute ha chiesto a Paul Mockapetris di progettare la prima implementazione di DNS presso l'Università della California, a Irvine, nel 1983. Poi, nel 1984, BIND (Berkeley Internet Name Domain) è stato creato da quattro studenti, Douglas Terry, Mark Painter, David Riggle e Songnian Zhou, per macchine Unix.

Dopo alcune revisioni apportate nel 1985 da Kevin Dunlap, è stato successivamente portato su macchine Windows ed è ancora il DNS più utilizzato al mondo.

Come funziona il DNS? – Un semplice esempio di DNS

Per comprendere il funzionamento di base del DNS, lascia che ti guidi con un esempio di hotel. Supponiamo che tu debba far visita a un tuo amico in qualche hotel. Ora, cosa farai? Raggiungerai la reception dell'hotel e chiederai alla receptionist il numero della camera del tuo amico.

Per fare ciò, dovrai dire il nome del tuo amico all'addetto alla reception, che controllerà lo stesso nel suo database e ti dirà il numero della stanza del tuo amico. Chiamerà anche il tuo amico per confermare se è disponibile o meno.

Ora, prova a mettere in relazione l'esempio con il funzionamento del DNS. In questo caso, sei il cliente che invia una richiesta a un server DNS, l'addetto alla reception e il nome del tuo amico è il nome del dominio e il numero della sua stanza è il suo indirizzo IP.

La receptionist digiterà il nome della tua amica sul suo computer contenente il database di tutti gli ospiti, chiamato Domain Name Space. Se la tua amica soggiorna in hotel, ti dirà il numero della camera, altrimenti no.

Una cosa simile accade nel funzionamento del DNS: quando si digita il nome del sito web nel browser, il browser invia una richiesta al server DNS. Se il nome di dominio del sito Web è registrato nel database con il DNS, risponderà con l'indirizzo IP del sito Web a cui stai tentando di accedere, qualcosa come 117.234.214.14.

Comprensione del nome di dominio e dell'indirizzo IP

Ora, se volessi chiedere cos'è il dominio? Viene utilizzato per identificare vari siti Web e servizi su Internet. Prendi il nome di dominio, www.google.com. La convenzione di denominazione si sposta da destra a sinistra e viceversa per gli indirizzi IP. Nel nome di dominio di Google, in primo luogo, il DNS verificherà la presenza di com che sta per dominio commerciale ed è un dominio di primo livello.

Procedendo ulteriormente, Google è un sottodominio di com e, successivamente, www è un sottodominio del dominio Google. Il punto (.) viene utilizzato per separare i domini dai relativi sottodomini. Il nome di dominio completo può essere composto solo da 253 caratteri.

Ora, se qualcuno vuole conoscere il nome di dominio registrato su un indirizzo IP, richiederà al server DNS l'indirizzo IP del sito web. Supponiamo che l'indirizzo IP inviato sia 31.13.79.246, il DNS controllerà prima 31, poi 13, poi 79 e infine 246, concludendo che l'indirizzo IP appartiene a www.fb.com.

Il DNS ricorda la struttura gerarchica di un albero, non quella biologica. Esiste un albero diverso nelle strutture dati dei computer, in cui l'indirizzo 31 appartiene alla prima posizione dell'albero ed è il dominio principale nella gerarchia, gli indirizzi 13, 79, 246 sono sottodomini consecutivi.

Il numero 246 si riferisce alla macchina server che ospita il sito www.fb.com. Tutte queste cose di dominio e sottodominio non sono così complicate come pensi, ma ci vorrà del tempo per ottenerle correttamente se sei nuovo a questo concetto.

Leggi anche: Cos'è HTTP/2 e come funziona

Evoluzione del DNS

In passato, un file master veniva mantenuto da un server principale che veniva aggiornato manualmente con l'ingresso di ogni nuovo sito Web e poi altri server lo copiavano. Tuttavia, poiché il numero di siti Web è cresciuto nel tempo, è stato difficile mantenere manualmente il database dei nomi di dominio. Quindi, si è sentita la necessità di un sistema automatizzato e quindi è stata introdotta la possibilità di aggiornare automaticamente il database in tutto il mondo alle nuove generazioni di DNS.

Se registri il nome del tuo sito web presso un Domain Name Registrar, ci vorranno circa 24 ore prima che il tuo sito web sia presente nei database DNS di tutto il mondo.

Sono state introdotte le relazioni server Master-Slave in cui un server master gestiva il database e il server Slave doveva solo copiare il database per rimanere aggiornato. Per facilitare gli aggiornamenti dinamici del database DNS sono stati introdotti i meccanismi NOTIFY e IXFR.

In NOTIFY, quando il server master aggiorna il database, invia una notifica ai server slave sull'aggiornamento, che quindi copia il database. IXFR (Incremental Zone Transfer) elimina la necessità di copiare l'intero database ogni volta che viene effettuata una singola voce; consente ai server slave di aggiungere solo la voce aggiornata nel proprio database, riducendo così gli sforzi e rendendo più veloce il processo di aggiornamento dinamico.

Risoluzione dell'indirizzo IP

Si riferisce al processo di traduzione di un nome di dominio nel rispettivo indirizzo IP. Il risolutore DNS è il PC client, tu nell'esempio dell'hotel, che invia la query al server DNS, l'addetto alla reception. Esistono due metodi utilizzati per la risoluzione:

Ricorsivo: ora, continuando con l'esempio del DNS dell'hotel, supponiamo che l'hotel abbia più di una filiale in città e che l'addetto alla reception non sia stato in grado di trovare il numero della camera del tuo amico. Quindi controllerà se il tuo amico ha soggiornato nell'altra filiale contattando l'addetto alla reception presente lì.

Pertanto, se il server DNS non riesce a trovare alcun IP associato al nome di dominio inviato nella query, chiederà agli altri server collegati di risolvere l'indirizzo IP per il dominio richiesto. Raccoglierà le informazioni da quei server e ti risponderà con l'indirizzo IP appropriato.

Iterativo: supponi di voler conoscere anche il piano su cui si trova la stanza dell'amico, per farlo chiederai nuovamente all'addetto alla reception. Allo stesso modo, se il resolver DNS desidera maggiori informazioni su un dominio, avvierà una nuova query per lo stesso server DNS.

Cache DNS

Il server DNS memorizza temporaneamente le query di richiesta sotto forma di cache per ridurre il tempo di risposta se un altro resolver DNS richiede la stessa query. Il tempo per il quale le informazioni della cache rimangono valide, chiamato TTL (Time To Live), viene impostato dall'amministratore per ogni record di query memorizzato nella cache.

Applicazioni DNS

La prima e più importante applicazione del DNS è nslookup, in cui un server DNS risponde con l'indirizzo IP del nome di dominio richiesto nella query. Il DNS viene utilizzato da diversi Mail Transfer Agent (MTA) come Microsoft Exchange Server e IBM Domino per recapitare le e-mail in modo più efficiente.

Il DNS può anche aiutare a identificare gli indirizzi IP nella lista nera su Internet e impedire agli utenti di accedervi. Questo aiuta a proteggere gli utenti da e-mail di spam e potenziali attacchi di hacking.

I dati per ciascun nome di dominio e il relativo indirizzo IP sono conservati su più di un server DNS per recuperare facilmente i dati in caso di problemi su un server.

Vulnerabilità DNS

Cache Poisoning: chiamato anche DNS Spoofing, è la tecnica usata dalle persone malevole. Alterano i dati nella cache del resolver del server DNS, rendendo l'indirizzo IP errato al resolver DNS, magari per deviare l'utente verso la macchina di un hacker.

Le risposte DNS non sono crittografate, consentendo così la possibilità di potenziali attacchi. Tuttavia, DNSSEC (Domain Name System Security Extensions) viene utilizzato per eseguire il rendering delle risposte DNS con firma crittografica .

Gli attacchi di phishing possono essere pianificati a causa della somiglianza visiva di alcuni caratteri sullo schermo dell'utente, come la lettera l e 1 che appaiono uguali su alcune schermate, reindirizzando così gli utenti a indirizzi IP diversi visualizzando lo stesso aspetto del sito Web originale .

Come trovo il mio DNS?

È abbastanza facile individuare l'indirizzo del server DNS sulla tua macchina. Se utilizzi un PC Windows, vai su Impostazioni > Rete e Internet. Qui, fai clic sulle Proprietà per la tua connessione e scorri verso il basso per trovare il server DNS.

Usa DNS personalizzato

E se l'addetto alla reception dell'hotel fosse molto lento e molte persone chiedessero i numeri delle camere contemporaneamente? Quindi non sarà in grado di fornirti rapidamente il numero di camera corretto. Quindi, puoi chiedere a un'altra persona al banco della reception di occuparsi della tua preoccupazione. Allo stesso modo, quando ci connettiamo a Internet, utilizziamo generalmente il server DNS fornito dai nostri ISP.

Ma cosa succede se il server DNS predefinito è irresponsabile o se non è in grado di gestire un numero elevato di query in un determinato momento? Tali istanze degraderanno solo la tua esperienza di navigazione. Ma non preoccuparti, c'è un'altra via d'uscita. È possibile configurare il sistema in modo che utilizzi un server DNS diverso per la risoluzione degli indirizzi IP.

Leggi anche: 5 migliori server DNS: DNS pubblico gratuito per connessioni veloci

Alcuni server DNS popolari:

DNS pubblico di Google: il gigante della ricerca ha creato alcuni seri server DNS di alta qualità in grado di gestire milioni di richieste in qualsiasi momento. E sono assolutamente gratuiti, proprio come gli altri servizi di Google. È possibile configurare la macchina per utilizzare i seguenti indirizzi DNS:

8.8.8.8 e 8.8.4.4

OpenDNS: questa è una società privata che fornisce gratuitamente un server DNS sicuro e affidabile. Basta configurare i seguenti indirizzi sulla tua macchina:

208.67.222.222 e 208.67.220.220

Per quei lettori che non sanno come configurare il DNS sulla tua macchina, fai riferimento al link qui sotto:

Consigliato: come aumentare la velocità di Internet utilizzando DNS Hack

Finendo

Il DNS è stato un argomento della massima importanza sin dal suo avvento come modo sistematico per mantenere un database così vasto di milioni di siti Web e server in tutto il mondo. Senza DNS, avrebbe istigato un sacco di confusione di tutti i nomi di dominio e gli indirizzi IP e ci sarebbero voluti anni solo per individuare google.com da una raccolta casuale di tutti i nomi di dominio.

Il DNS ha semplificato il processo di risoluzione IP e, seriamente, se il DNS non fosse stato presente, so che avresti bruciato i circuiti cerebrali per ricordare tutti quegli indirizzi IP. E lascia che ti chieda, ricordi l'indirizzo IP di Facebook che ho menzionato sopra. E non scorrere verso l'alto ora, anche se non lo ricordo perché il DNS è lì per ricordarlo per noi. Dobbiamo solo esprimere la nostra gratitudine per il nobile lavoro che DNS ha svolto negli ultimi tre decenni ed è diventato più veloce, più intelligente e più affidabile.

Guarda questo video sul DNS:

Continua a leggere: Come funziona l'attacco DDoS?

Quindi ora hai un'idea di cosa sia il DNS e il suo scopo. Lascia i tuoi pensieri nei commenti e prova a configurare il server DNS utilizzando il collegamento nell'articolo.

Se ti piace questa semplice spiegazione, dai un'occhiata alla nostra sezione Byte brevi. Prendiamo argomenti tecnologici complessi e li suddividiamo in articoli brevi e di facile comprensione.