DNS (Domain Name System) – Sistema dei Nomi di Dominio

DNS? Il DNS, acronimo inglese che stà per Domain Name System o Sistema dei Nomi di Dominio, è un meccanismo attraverso il quale conoscendo il nome di un nodo è possibile ottenere il corrispettivo indirizzo IP. E perchè è necessario questo? Le macchine che sono collegate in rete, Internet incluso, parlano tra di loro attraverso gli indirizzi IP e non attraverso i nomi, non sono in grado di farlo diversamente. Quindi c’è bisogno di un sistema che traduca i nomi, che sono semplice da ricordare per gli umani (meno per le macchine), in relativi indirizzi.

Risolvere i nomi in indirizzi

Per farla breve: immaginate che vogliate raggiungere il sito www.microsoft.com – il cui indirizzo è 23.211.9.92, per voi è semplice scrivere il nome sul vostro browser internet e non starvi a raggrovigliare il cervello per ricordarvi l’indirizzo. Mentre il vostro browser (che utilizza lo stack TCP per comunicare) non sarà in grado di connettersi al server remoto dal nome, lui ha bisogno dell’indirizzo IP.

Ecco che viene in aiuto il sistema DNS!

Quando il nostro PC ha bisogno di collegarsi ad un sistema remoto invierà una richiesta al DNS con il nome che stà cercando ed il DNS gli restituirà l’indirizzo IP corrispondente così che la connessione possa avvenire.

Il DNS è un sistema distribuito che mantiene un database mondiale. Ogni server distribuito nel mondo è responsabile per una porzione di questo database e se l’informazione non è contenuta al suo interno sa a quale server DNS deve rimbalzare la richiesta per ottenere la risposta.

Esso segue una struttura ad albero rovesciato, cioè la punta in alto, detta ROOT, costituisce il punto di partenza e man mano che si va in basso aumenta la ramificazione fino a raggiungere il livello di dettaglio richiesto.

Quando un PC sulla rete inoltra una richiesta al sistema DNS esso segue un ciclo reiterato interrogando i vari sistemi DNS fino a giungere alla informazione richiesta secondo uno schema simile al seguente (semplificato):

Nell’esempio indicato il client (il nostro PC) chiede di risolvere il nome example.microsoft.com in un indirizzo IP.

La richiesta viene inoltrata al DNS configurato nel nostro client (si veda sotto) – passaggio 1. Esso è il primo stadio del sistema DNS. Se questa informazione è già contenuta nel DNS iniziale perchè magari precedentemente ha già risolto questa interrogazione allora l’informazione viene rilasciata immediatamente altrimenti se non vi è già contenuta, la richiesta sarà diretta al successivo server DNS – passaggio 2. Il successivo server non ha la risposta ed invece che fornire una risposta negativa invia l’indirizzo del prossimo server DNS che potrebbe conoscere la risposta alla interrogazione – passaggio 3. Il DNS precedente allora interroga il prossimo DNS suggerito – passaggio 4. Si va avanti così fino ad ottenere l’indirizzo IP corrispondente – passaggio 8..11 (si ignori per il momento il server WINS rappresentato in immagine). Ottenuta la risposta, questa viene comunicata dal server DNS impostato al nostro PC – passaggio finale 12. Il PC finalmente può contattare il sistema di destinazione finale.

Tutti i dispositivi connessi in rete utilizzano il DNS per poter scambiare tra loro informazioni ed ottenere gli indirizzi ip in cambio del nome.
Tra i dispositivi vi sono PC, Tablet, Smartphone, TV, etc…

Come configurare il DNS nel nostro PC

Vi sono varie modalità attraverso le quali è possibile configurare il DNS. Normalmente, la più semplice, è lasciare che sia il DHCP – Dynamic Host Configuration Protocol (un servizio di rete) a farlo per noi. Il DHCP è il servizio che assegna in automatico la configurazione della rete ad un dispositivo che si connette ad una specifica rete. Ad esempio quando ci colleghiamo al nostro Wi-Fi di casa o quando il nostro notebook aziendale si collega alla rete del nostro ufficio.

Esiste però una modalità in cui è possibile configurare i parametri di rete manualmente.

Normalmente il router che usiamo all’interno della nostra rete domestica funge da gateway DNS, cioè i dispositivi della nostra rete inviano a lui tutte le richieste DNS e lui le gira ai server su internet. Ottenuta la risposta la gira alla rete interna.

Se configuriamo manualmente (per varie esigenze) i server DNS possiamo specificare alcuni indirizzi noti.

Ecco i più noti:

Google DNS

  • Server DNS preferito: 8.8.8.8
  • Server DNS alternativo: 8.8.4.4

Cloudflare DNS

  • Server DNS preferito: 1.1.1.1
  • Server DNS alternativo: 1.0.0.1

OpenDNS

  • Server DNS preferito: 208.67.222.222
  • Server DNS alternativo: 208.67.220.220

Tra questi il mio consiglio è utilizzare il DNS di Google, fondamentalmente perchè dietro di essi vi è una gigantesca infrastruttura di rete che garantisce uno tra i migliori servizi della rete con una disponibilità pressocchè continua. Immaginate la grandezza di Google per rendervene conto.

Ma come configurarli sul nostro PC?

Aprite Esplora Risorse (o Window Explore).

Individuate l’icona della rete (o network), cliccate con il tasto destro e selezionate Proprietà (o Properties).

Si aprirà il pannello di controllo delle connessioni di rete.

In Windows 7 (ma è concettualmente simile anche in Windows 8 e Windows 10) si presenterà come in foto:

Cliccate in basso su “Connessione Rete Locale” (o “Local Area Connection” – come in foto).

Si aprirà la finestra di proprietà della connessione alla rete locale, essa si presenterà simile alla seguente:

Cliccate a questo punto sul bottone in basso a sinistra: Proprietà (o Properties).

Si aprirà finalmente la finestra delle proprietà della connessione e le impostazioni della stessa:

Scorrete l’elenco e trovate la voce “Protocollo Internet Versione 4 (TCP/IPv4)” (o come in foto “Internet Protocol Version 4 (TCP/IPv4)”). Selezionatela e premete sul bottone Proprietà.

Finalmente avremo raggiunto la finestra che ci serve. Cioè quella per impostare le proprietà ed i parametri della connessione.

La finestra è divisa in due parti principali.

La parte superiore serve per impostare i parametri dell’indirizzo fisico della macchina, normalmente viene lasciata in automatico, cioè seleziona la prima voce in alto “Ottieni un indirizzo IP automaticamente” (o “Obtain an IP address automatically”). Lasciamola così come è.

La seconda parte, quella inferiore, è quella che ci interessa. Anche qui possiamo decidere di lasciare in automatico oppure impostare il tutto manualmente. Attivando la funzione di impostazione manuale si abilitano i campi “DNS Primario” (o “Preferred DNS server”) e “DNS Alternativo” (o “Alternate DNS server”).

Nel primo campo andremo, come in foto, ad inserire uno dei DNS che vi ho suggerito prima, io ho usato il DNS di Google. Come server alternativo ho specificato l’indirizzo IP del mio router nella rete interna. Questo perchè se non dovesse funzionare il server di Google abbiamo l’opportunità di contattarne un altro. Specificando l’indirizzo IP del mio router vuol dire che affido a lui il compito di inoltrare la richiesta DNS (se il primo fallisce o non è attivo) al server che riterrà opportuno. Normalmente questa scelta lascia al provider del servizio della nostra connessione internet il compito di fornirci le risposte DNS. Lui a sua volta ri rivolgerà ai server che sono configurati sui sistemi del provider.