Domain Name System: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Zone, deleghe e repliche: aggiuno dettaglio più riferimento
m +immagine
Etichetta: Link a wikipedia.org
 
(204 versioni intermedie di oltre 100 utenti non mostrate)
Riga 1:
{{nota disambigua||[[DNS (disambigua)]]|DNS}}
[[File:DNS_schema.svg|thumb|upright=1.5|Esempio della ''[[directory]]'' DNS per il sito en.wikipedia.org]]
Il '''sistema dei nomi di dominio''' (in [[Lingua inglese|inglese]]: '''Domain Name System''', '''DNS'''), è un sistema utilizzato per la risoluzione di nomi dei [[host|nodi della rete]] (in inglese: ''host'') in [[Indirizzo IP|indirizzi IP]] e viceversa. Il servizio è realizzato tramite un [[database distribuito]], costituito dai [[server]] DNS. Il DNS ha una struttura gerarchica ad albero rovesciato ed è diviso in domini (com, org, it, ecc.). Ad ogni dominio o nodo corrisponde un nameserver, che conserva un database con le informazioni di alcuni domini di cui è responsabile e si rivolge ai nodi successivi quando deve trovare informazioni che appartengono ad altri domini.
 
'''Domain Name System''' ('''DNS''', {{Lett|sistema dei nomi di dominio}}),<ref>{{Cita web|url=https://www.techdico.com/translation/english-italian/___domain+name+system.html|titolo=___domain name system - Translation in Italian — TechDico|sito=www.TechDico|lingua=en|accesso=19 luglio 2019}}</ref> in [[informatica]] e [[telecomunicazioni]], indica un sistema per assegnare nomi ai [[host|nodi della rete]] ({{Inglese|[[host]]}}).
Ogni nome di dominio termina con un “.” (punto). Ad esempio l’indirizzo wikipedia.org. termina con il punto. La stringa vuota che segue il punto finale è chiamata dominio radice (DNS root zone). I server responsabili del dominio radice sono i cosiddetti root nameservers. Essi possiedono l’elenco dei server autoritativi di tutti i domini di primo livello (TLD) riconosciuti e lo forniscono in risposta a ciascuna richiesta. I root nameserver sono 13 in tutto il mondo, di cui 10 negli USA, due in Europa (Inghilterra e Svezia) ed uno in Giappone.
 
Indica anche il protocollo che regola il funzionamento del servizio, i programmi che lo implementano, i ''[[server]]'' su cui questi vengono elaborati, l'insieme di questi ''server'' che cooperano per fornire il servizio più intelligente.
== Descrizione ==
Il nome DNS denota anche il protocollo che regola il funzionamento del servizio, i programmi che lo implementano, i [[server]] su cui questi girano, l'insieme di questi server che cooperano per fornire il servizio.
 
== Storia ==
I nomi DNS, o "nomi di dominio", sono una delle caratteristiche più visibili di [[Internet]].
Il DNS fu ideato il 23 giugno [[1983]] da [[Paul Mockapetris]], [[Jon Postel]] e Craig Partridge<ref>{{Cita web|url=https://www.internethalloffame.org//blog/2012/07/23/why-does-net-still-work-christmas-paul-mockapetris|titolo=Why Does the Net Still Work on Christmas? Paul Mockapetris {{!}} Internet Hall of Fame|sito=www.internethalloffame.org|accesso=2022-07-13}}</ref><ref>{{Cita web|url=https://internethalloffame.org/inductees/paul-mockapetris|titolo=Paul Mockapetris {{!}} Internet Hall of Fame|sito=internethalloffame.org|accesso=2022-07-13}}</ref>; le specifiche originali sono descritte nello standard [[Request for Comments|RFC]] 882. Nel [[1987]] vennero pubblicati commenti allo standard RFC del DNS, con i nomi RFC 1034 e RFC 1035 rendendo obsolete le specifiche precedenti.
 
== Descrizione ==
C'è confusione in merito alla definizione dell'acronimo: la S spesso viene interpretata come ''service'', ma la definizione corretta è ''system''.<ref>[http://www.ietf.org/rfc/rfc1034.txt [[Request for Comments|RFC]] 1034]</ref>
I nomi DNS, o "nomi di dominio" o "indirizzi mnemonici"<ref group="N">Indirizzo mnemonico (ad esempio www.wikipedia.org) perché è facile tenerlo a mente mentre gli indirizzi IP sono ben più complicati per essere memorizzati.</ref>, sono una delle caratteristiche più visibili di [[Internet]]. L'operazione di conversione da nome a indirizzo IP è detta "risoluzione DNS"; la conversione da indirizzo IP a nome è detta "risoluzione inversa". Questi nomi sono utilizzabili, mediante una traduzione, di solito chiamata "risoluzione", al posto degli [[Indirizzo IP|indirizzi IP]] originali. Il servizio è realizzato tramite un [[Database distribuiti|''database'' distribuito]], costituito dai ''[[server]]'' DNS. Il DNS ha una struttura gerarchica ad albero rovesciato ed è diviso in domini (com, org, it, ecc.). Ad ogni dominio o nodo corrisponde un ''nameserver'', che conserva un ''[[Base di dati|database]]'' con le informazioni di alcuni domini di cui è responsabile e si rivolge ai nodi successivi quando deve trovare informazioni che appartengono ad altri domini.
 
Ogni nome di dominio termina con un "." (punto). Ad esempio l'indirizzo ''wikipedia.org'' termina con il punto. La stringa che segue il punto finale è chiamata "dominio radice" (''DNS root zone''). I ''server'' responsabili del dominio radice sono i cosiddetti ''[[root nameserver]]s''. Essi possiedono l'elenco dei ''server'' autoritativi di tutti i domini di primo livello (TLD) riconosciuti e lo forniscono in risposta a ciascuna richiesta. I ''root nameserver'' sono 13 in tutto il mondo, di cui 10 negli [[Stati Uniti d'America|Stati Uniti]], due in [[Europa]] ([[Inghilterra]] e [[Svezia]]) e uno in [[Giappone]].
L'operazione di conversione da nome a indirizzo IP è detta ''risoluzione DNS''; la conversione da indirizzo IP a nome è detta ''risoluzione inversa''.
 
In pratica, il DNS è un registro universale cioè un ''database'' distribuito, con una struttura gerarchica, che archivia i nomi mnemonici di dominio e la loro associazione ai relativi indirizzi IP specifici.
== Motivazioni ed utilizzi ==
 
* La possibilità di attribuire un nome testuale facile da memorizzare a un server (ad esempio un sito [[world wide web]]) migliora di molto l'uso del servizio, in quanto gli esseri umani trovano più facile ricordare nomi testuali (mentre gli host e i [[router]] sono raggiungibili utilizzando gli indirizzi IP numerici). Per questo, il DNS è fondamentale per l'ampia diffusione di internet anche tra utenti non tecnici, ed è una delle sue caratteristiche più visibili.
=== Motivazioni ed utilizzi ===
* È possibile attribuire più nomi allo stesso indirizzo IP (o viceversa) per rappresentare diversi servizi o funzioni forniti da uno stesso host (o più host che erogano lo stesso servizio). Questa '''flessibilità''' risulta utile in molti casi:
* La possibilità di attribuire un nome testuale facile da memorizzare a un ''server'' (ad esempio un sito ''[[world wide web]]'') migliora di molto l'uso del servizio, in quanto gli esseri umani trovano più facile ricordare nomi testuali (mentre gli ''host'' e i ''[[router]]'' sono raggiungibili utilizzando gli indirizzi IP numerici). Per questo, il DNS è fondamentale per l'ampia diffusione di internet anche tra utenti non tecnici, ed è una delle sue caratteristiche più visibili.
** Nel caso in cui si debba sostituire il server che ospita un servizio, o si debba modificare il suo indirizzo IP, è sufficiente modificare il record DNS, senza dover intervenire sui client.
* È possibile attribuire più nomi allo stesso indirizzo IP (o viceversa) per rappresentare diversi servizi o funzioni forniti da uno stesso ''host'' (o più ''host'' che erogano lo stesso servizio). Questa "flessibilità" risulta utile in molti casi:
** Un utilizzo molto popolare di questa possibilità è il cosiddetto [[virtual hosting]] basato sui nomi, una tecnica per cui un [[web server]] dotato di una singola interfaccia di rete e di singolo indirizzo IP può ospitare più siti web, usando l'indirizzo alfanumerico trasmesso nell'header [[Hyper Text Transfer Protocol|HTTP]] per identificare il sito per cui viene fatta la richiesta.
** Nel caso in cui si debba sostituire il ''server'' che ospita un servizio, o si debba modificare il suo indirizzo IP, è sufficiente modificare il ''record'' DNS, senza dover intervenire sui ''client''.
** Utilizzando nomi diversi per riferirsi ai diversi servizi erogati da un host, è possibile spostare una parte dei servizi su un altro host, e spostare i client su questo nuovo host modificando il suo record nel DNS.
** Utilizzando nomi diversi per riferirsi ai diversi servizi erogati da uno stesso ''host'' (registrati quindi con lo stesso indirizzo IP), è possibile spostare una parte dei servizi su un altro ''host'' (con diverso indirizzo IP, già predisposto a fornire i servizi in oggetto). Modificando quindi sul ''server'' DNS i record dei nomi associati ai servizi da spostare e registrando il nuovo IP al posto di quello vecchio, si otterrà lo spostamento automatico delle nuove richieste di tutti i ''client'' su questo nuovo ''host'', senza interruzione dei servizi.
** Facendo corrispondere più indirizzi IP a un nome, il carico dei client viene distribuito su diversi server, ottenendo un aumento delle prestazioni complessive del servizio e una tolleranza ai guasti (ma è necessario assicurarsi che i diversi server siano sempre allineati, ovvero offrano esattamente lo stesso servizio ai client).
** Un utilizzo molto popolare di questa possibilità è il cosiddetto ''[[virtual hosting]]'', basato sui nomi, una tecnica per cui un ''[[web server]]'' dotato di una singola interfaccia di rete e di singolo indirizzo IP può ospitare più siti web, usando l'indirizzo alfanumerico trasmesso nell{{'}}''header'' [[Hypertext Transfer Protocol|HTTP]] per identificare il sito per cui viene fatta la richiesta.
* La risoluzione inversa è utile per identificare l'identità di un host, o per leggere il risultato di un [[traceroute]].
** Facendo corrispondere a un nome più indirizzi IP, il carico dei ''client'' che richiedono quel nome viene distribuito sui diversi ''server'' associati agli IP registrati, ottenendo un aumento delle prestazioni complessive del servizio e una tolleranza ai guasti (ma è necessario assicurarsi che i diversi ''server'' siano sempre allineati, ovvero offrano esattamente lo stesso servizio ai ''client'').
* La risoluzione inversa è utile per identificare l'identità di un ''host'', o per leggere il risultato di un ''[[traceroute]]''.
* Il DNS viene usato da numerose tecnologie in modo poco visibile agli utenti, per organizzare le informazioni necessarie al funzionamento del servizio.
 
=== StoriaNomi di dominio ===
Un nome di dominio è costituito da una serie di stringhe separate da punti, ad esempio ''it.wikipedia.org''. e sono organizzati a livelli. A differenza degli indirizzi IP, dove la parte più importante del numero è la prima cifra partendo da sinistra, in un nome DNS la parte più importante è la prima partendo da destra.
Il DNS fu ideato il 23 giugno [[1983]] da [[Paul Mockapetris]], [[Jon Postel]] e [[Craig Partridge]]; le specifiche originali sono descritte nello standard [[Request for Comments|RFC]] 882. Nel [[1987]] vennero pubblicati commenti allo standard RFC del DNS, con i nomi RFC 1034 e RFC 1035 rendendo obsolete le specifiche precedenti.
 
La parte più a destra è detta [[dominio di primo livello]] (o TLD, ''Top Level Domain''), e ce ne sono centinaia che possono essere scelti, per esempio <kbd>[[.org]]</kbd> o <kbd>[[.it]]</kbd>.
== Nomi di dominio ==
Un nome di dominio è costituito da una serie di stringhe separate da punti, ad esempio ''it.wikipedia.org''. A differenza degli indirizzi IP, dove la parte più importante del numero è la prima partendo da sinistra, in un nome DNS la parte più importante è la prima partendo da destra. Questa è detta [[dominio di primo livello]] (o TLD, ''Top Level Domain''), per esempio <tt>[[.org]]</tt> o <tt>[[.it]]</tt>.
 
Un [[dominio di secondo livello]], consistea indifferenza duedel parti,dominio perdi esempioprimo <tt>wikipedia.org</tt>,livello eche cosìè via.formato Ognida ulterioreparole elemento"fisse" specificae un'ulteriorelimitate, suddivisione.è Quandoformato unda dominiouna diparola secondoscelta livelloa vienepiacimento. registratoQuesta all'assegnatario,parola questodeve èil autorizzatopiù possibile essere legata a usarequello iche nomici diidentifica dominioe relativia aiquello successiviche livellivogliamo come <tt>'''it'''comunicare.wikipedia.org</tt> (Il dominio di terzosecondo livello) eè altriquindi comeformato da due parti, per esempio <ttkbd>some.other.stuff.wikipedia.org</ttkbd> (dominio di quinto livello), e così via.
 
Il dominio di terzo livello è il figlio del dominio di secondo livello, infatti, prendendo come esempio wikipedia.org, un dominio di terzo livello sarà: stuff.wikipedia.org. Ogni ulteriore elemento specifica quindi un'ulteriore suddivisione. Quando un dominio di secondo livello viene registrato all'assegnatario, questo è autorizzato a usare i nomi di dominio relativi ai successivi livelli, come <kbd>some.other.stuff.wikipedia.org</kbd> (dominio di quinto livello) e così via.
 
=== Utilizzo dei nomi DNS ===
Un nome di dominio, come per esempio ''it.wikipedia.org'', può essere parte di un [[Uniform Resource Locator|URL]], come <nowiki>http://it.wikipedia.org/wiki/Treno</nowiki>, o di un indirizzo [[e-mail]], come per esempio ''apache@it.wikipedia.org''. È anche possibile connettersi a un sito con il protocollo [[telnet]] oppure usare una connessione [[File Transfer Protocol|FTP]] usando il suo nome a dominio.
 
== Record DNS ==
{{vedi anche|Tipi di record DNS}}
 
=== Tipi di record ===
[[File:Example of an iterative DNS resolver-it.svg|thumb|upright=1.8|Un esempio di risoluzione iterativa di un indirizzo IP da parte del DNS]]
[[File:svg2raster.jpg|thumb|upright=1.8]]
 
Ad un nome DNS possono corrispondere diversi tipi di informazioni. Per questo motivo, esistono diversi [[tipi di record DNS]]. Ogni voce del database DNS deve essere caratterizzata da un tipo. I principali tipi sono:
Ad un nome DNS possono corrispondere diversi tipi di informazioni. Per questo motivo, esistono diversi [[tipi di record DNS]]. Ogni voce del ''database'' DNS<ref>{{Cita web|url=https://infowebhosting.it/|titolo=Hosting - Che cos'è, Significato, Definizione & Recensioni.|autore=John O.|sito=Infowebhosting|accesso=27 ottobre 2017}}</ref> deve essere caratterizzata da un tipo. I principali tipi sono:
* [[Record A]] - Indica la corrispondenza tra un nome ed uno (o più) indirizzi IP (per la precisione indirizzi [[IPv4]], ovvero la versione attualmente in uso).
* [[Record A]] - Indica la corrispondenza tra un nome ed uno (o più) indirizzi [[IPv4]].
* [[MX record]] - (''Mail eXchange'') indica a quali server debba essere inviata la [[posta elettronica]] per un certo dominio.
* [[MX record]] - (''Mail eXchange'') indica a quali ''server'' debba essere inviata la [[posta elettronica]] per un certo dominio.
* [[Record CNAME]] - Sono usati per creare un alias, ovvero per fare in modo che lo stesso host sia noto con più nomi. Uno degli utilizzi di questo tipo di record consiste nell'attribuire ad un host che offre più servizi un nome per ciascun servizio. In questo modo, i servizi possono poi essere spostati su altri host senza dover riconfigurare i [[client]], ma modificando solo il DNS.
* [[Record CNAME]] - (''Canonical NAME'', nome canonico) è usato per creare un alias, ovvero per fare in modo che lo stesso ''host'' sia noto con più nomi. Uno degli utilizzi di questo tipo di ''record'' consiste nell'attribuire a un ''host'' che offre più servizi un nome per ciascun servizio. In questo modo, i servizi possono poi essere spostati su altri host senza dover riconfigurare i [[client]], ma modificando solo il DNS.
* [[Record PTR]] - Il DNS viene utilizzato anche per realizzare la [[risoluzione inversa]], ovvero per far corrispondere ad un indirizzo IP il corrispondente nome di dominio. Per questo si usano i record di tipo "PTR" (e una apposita zona dello spazio dei nomi ''in-addr.arpa'').
* [[Record PTR]] - Il DNS viene utilizzato anche per realizzare la [[risoluzione inversa]], ovvero per far corrispondere a un indirizzo IP il corrispondente nome di dominio. Per questo si usano i record di tipo "PTR" (e una apposita zona dello spazio dei nomi ''in-addr.arpa'').
* [[Record AAAA]] - È come il [[Record A]] ma lavora con l'IPv6 e restituisce un indirizzo [[IPv6]].
* [[Record SRV]] - Identificano il ''server'' per un determinato servizio all'interno di un dominio. Possono essere considerati una generalizzazione dei record MX.
* [[Record TXT]] - Associano campi di testo arbitrari ada un dominio. Questi campi possono contenere una descrizione informativa oppure essere utilizzati per realizzare servizi.
 
Vi sono anche tipi di record "di servizio", necessari al funzionamento del database distribuito:
Riga 49 ⟶ 56:
* [[Record SOA]] - (''Start of Authority'') usato per la gestione delle zone DNS.
 
Nel DNS possono essere immessi altri tipi di record, alcuni folcloristici, come "LOC", usato (poco) per riportare le coordinate geografiche di un sito, altri aggiungono funzioni di sicurezza per evitare manomissioni. Per avere riferimenti su tutti questi record vedi ''[[Tipi di record DNS]]''.
 
=== Record multipli ===
Ad uno stesso nome di dominio, possono essere associati contemporaneamente ''record'' di tipo diverso, o più ''record'' dello stesso tipo. Questo generalmente viene fatto per suddividere il carico di un ''[[server]]'' molto frequentato su più computer che offrono lo stesso servizio.
 
=== Time to live ===
[[File:DNS RRin the real world-it.pngsvg|thumb|upright=1.8|Sequenza di risoluzione del DNS]]
I record associati ad un nome di dominio possono cambiare nel tempo, permettendo ad esempio di assegnare un nuovo indirizzo IP ad un server, facendo in modo che questo continui a rispondere al nome già noto agli utenti.
 
I record associati ad un nome di dominio possono cambiare nel tempo, permettendo ad esempio di assegnare un nuovo indirizzo IP a un ''server'', facendo in modo che questo continui a rispondere al nome già noto agli utenti.
A ciascun record DNS è associato un parametro detto "time to live" o TTL (tempo di vita), che indica per quanto tempo questo record può venire memorizzato in un sistema di [[cache]] DNS prima che venga considerato scaduto.
Quando un server risponde ad una richiesta con un record preso dalla propria cache, assegna alla risposta il time to live residuo del record. Quindi se il record originariamente ha un TTL di 12 ore, e un server risponde ad una richiesta con un dato che ha ottenuto due ore prima, nella risposta metterà un TTL di 10 ore.
 
A ciascun record DNS è associato un parametro detto ''time to live'' o TTL (tempo di vita), che indica per quanto tempo questo record può venire memorizzato in un sistema di ''[[cache]]'' DNS prima che venga considerato scaduto. Quando un ''server'' risponde a una richiesta con un record preso dalla propria ''cache'', assegna alla risposta il ''time to live'' residuo del ''record''. Quindi se il ''record'' originariamente ha un TTL di 12 ore, e un ''server'' risponde ad una richiesta con un dato che ha ottenuto due ore prima, nella risposta metterà un TTL di 10 ore.
== Utilizzo dei nomi DNS ==
Un nome di dominio, come per esempio ''it.wikipedia.org'', può essere parte di un [[Uniform Resource Locator|URL]], come <nowiki>http://it.wikipedia.org/wiki/Treno</nowiki>, o di un indirizzo [[e-mail]], come per esempio ''apache@it.wikipedia.org''. È anche possibile connettersi a un sito con il protocollo [[telnet]] oppure usare una connessione [[ftp]] usando il suo nome a dominio.
 
== Realizzazione ==
Riga 69 ⟶ 73:
I nomi di dominio sono soggetti a determinate restrizioni: per esempio ogni parte del nome (quella cioè limitata dai punti nel nome) non può superare i 63 caratteri e il nome complessivo non può superare i 255 caratteri.
 
I nomi di dominio sono anche limitati ada un sottoinsieme di caratteri [[ASCII]]; in questo modo si impedisce di scrivere nomi e parole con caratteri che non tutti hanno sulla propria tastiera. Per superare questa limitazione, il sistema di [[Applicazione Internazionale dei Nomi di Dominio|IDNA]] esi basatobasa sul modello [[Punycode]], rileva stringhe [[Unicode]] in un insieme di caratteri DNS validi, venne approvato dall'[[ICANN]] e adottato da alcuni [[registri di nomi di dominio|registri]].
 
=== Zone, deleghe e repliche ===
[[File:NomeDomain spazioname di dominiospace-it.jpgsvg|thumb|upright=1.8|Diagramma del DNS]]
Una '''zona''' DNS è una parte dello spazio dei nomi, costituita da un dominio e i suoi sottodomini che non sono a loro volta delegati, che è sotto una stessa gestione amministrativa e quindi è gestita da uno o più server.
 
Una "zona" DNS è una parte dello spazio dei nomi, costituita da un dominio e i suoi sottodomini che non sono a loro volta delegati, che è sotto una stessa gestione amministrativa e quindi è gestita da uno o più server.
La gestione di una zona è '''delegata''' dalla zona superiore tramite dei record di tipo NS. Ad esempio, nella zona [[.org]] ci sarà una delega per la zona ''wikipedia.org'' ai server DNS che la gestiscono. Per ragioni di ridondanza, ciascuna zona è '''replicata''' su più server, e di conseguenza la delega è costituita da più record NS, che indicano che ciascuno dei server indicati contiene le informazioni per quella zona (ovvero è '''autoritativo''' per la zona). All'interno di una zona possono essere delegate delle zone di livello inferiore, ad esempio in ''wikipedia.org'' potrebbero esistere deleghe per ''devel.wikipedia.org'' o per ''accounting.admin.wikipedia.org''.
 
La gestione di una zona è "delegata" dalla zona superiore tramite dei record di tipo NS. Ad esempio, nella zona [[.org]] ci sarà una delega per la zona ''wikipedia.org'' ai ''server'' DNS che la gestiscono. Per ragioni di ridondanza, ciascuna zona è "replicata" su più ''server'', e di conseguenza la delega è costituita da più ''record'' NS, che indicano che ciascuno dei server indicati contiene le informazioni per quella zona (ovvero è "autoritativo" per la zona). All'interno di una zona possono essere delegate delle zone di livello inferiore, ad esempio in ''wikipedia.org'' potrebbero esistere deleghe per ''devel.wikipedia.org'' o per ''accounting.admin.wikipedia.org''.
Ogni dominio, quindi, possiede un server DNS autoritativo.<ref>{{Cita web|url = http://fortyzone.it/dns-___domain-name-system/|titolo = DNS (Domain Name System): come funziona - FortyZone|accesso = 2015-09-08}}</ref>
 
Ogni dominio, quindi, possiede un server DNS autoritativo.<ref>{{Cita web|url = http://fortyzone.it/dns-___domain-name-system/|titolo = DNS (Domain Name System): come funziona - FortyZone|accesso = 8 settembre 2015|urlarchivio = https://web.archive.org/web/20151105023154/http://fortyzone.it/dns-___domain-name-system/|dataarchivio = 5 novembre 2015|urlmorto = sì}}</ref>
I diversi server che sono delegati per una zona dovrebbero contenere le stesse informazioni, in modo che uno qualsiasi di questi possa rispondere ad una query per un record della zona.
 
I diversi ''server'' che sono delegati per una zona dovrebbero contenere le stesse informazioni, in modo che uno qualsiasi di questi possa rispondere ad una ''query'' per un ''record'' della zona.
Lo schema di replica tipicamente prevede che ci sia un server ''master'' (primario), che è quello sul quale vengono aggiornate le informazioni, e uno o più server ''slave'' (secondari), che copiano le informazioni dal master quando necessario. Per tener traccia delle diverse "versioni" di una zona che possono esserci in circolazione, ed in particolare per permettere ad un secondario di decidere se deve trasferire la zona dal primario, ogni zona ha un numero di serie, che deve essere aumentato ogni volta che vengono fatte modifiche sul primario. Per ottenere il numero di serie di una zona presente su un server, si effettua una interrogazione di tipo SOA.
Il secondario confronta il proprio numero di serie con quello del primario, e se quello del primario è superiore trasferisce la zona.
 
Lo schema di replica tipicamente prevede che ci sia un server ''master'' (primario), che è quello sul quale vengono aggiornate le informazioni, e uno o più server ''slave'' (secondari), che copiano le informazioni dal ''master'' quando necessario. Per tener traccia delle diverse "versioni" di una zona che possono esserci in circolazione, e in particolare per permettere a un secondario di decidere se deve trasferire la zona dal primario, ogni zona ha un numero di serie, che deve essere aumentato ogni volta che vengono fatte modifiche sul primario. Per ottenere il numero di serie di una zona presente su un ''server'', si effettua una interrogazione di tipo SOA. Il secondario confronta il proprio numero di serie con quello del primario, e se quello del primario è superiore trasferisce la zona.
L'operazione di copia di tutti i record di una zona dal master ad uno slave è detta ''zone transfer'', e può essere completo (tutto il contenuto della zona viene copiato) o incrementale (vengono copiati solo i record modificati rispetto alla versione già presente).
 
L'operazione di copia di tutti i record di una zona dal ''master'' a uno ''slave'' è detta ''zone transfer'', e può essere completo (tutto il contenuto della zona viene copiato) o incrementale (vengono copiati solo i record modificati rispetto alla versione già presente).
Alcune implementazioni di DNS permettono di modificare le zone da qualsiasi server autorevole, propagando le modifiche sugli altri server.
 
Alcune implementazioni di DNS permettono di modificare le zone da qualsiasi server autorevole, propagando le modifiche sugli altri ''server''.
La radice (root) dell'albero dei nomi DNS è la zona . (punto), che è gestita da un insieme di server chiamati appunto [[Root nameserver|root servers]].
 
La radice (''root'') dell'albero dei nomi DNS è la zona. (punto), che è gestita da un insieme di ''server'' chiamati appunto ''[[Root nameserver|root servers]]''.
=== Ricorsione ===
In generale, per ottenere la risoluzione di un nome è necessario partire dalla radice, interrogare uno dei root server nel dominio di primo livello, ottenere il server che lo gestisce, interrogarlo nel dominio di secondo livello, fino a raggiungere il server autorevole per il nome desiderato. Questa tecnica è detta "ricorsione".
 
=== CachingIterazione e ricorsione ===
In generale, per ottenere la risoluzione di un nome è necessario partire dalla radice, interrogare uno dei ''root server'' nel dominio di primo livello, ottenere il ''server'' che lo gestisce, interrogarlo nel dominio di secondo livello, fino a raggiungere il ''server'' autorevole per il nome desiderato. Questa tecnica è detta "iterazione".
Alcuni server si prestano ad effettuare query ricorsive per conto di alcuni client. Una volta che hanno ottenuto una risposta, memorizzano in una [[cache]] tutte le informazioni che hanno imparato, fino alla loro scadenza.
Alcune implementazioni del servizio DNS permettono di realizzare i cosiddetti servers ''caching only'', ovvero privi di database proprio, ma utili per reindirizzare ad un server autorevole le query di risoluzione. Tale caratteristica è utile soprattutto quando la risoluzione deve essere effettuata attraverso collegamenti lenti (con velocità inferiore a 500 kbps) o [[firewall]].
 
La ricorsione invece delega ai ''server'' stessi le varie interrogazioni: si fa una richiesta al ''root server'', il quale la inoltra esso stesso al TLD ''server'', il quale la inoltra al ''server'' autoritativo e così via fino a raggiungere il ''server'' desiderato. La risposta DNS procede in senso inverso fino a giungere al ''client'' che aveva fatto la richiesta.
=== Funzioni dei server ===
 
=== ''Caching'' ===
Alcuni ''server'' si prestano ad effettuare ''query'' ricorsive per conto di alcuni ''client''. Una volta che hanno ottenuto una risposta, memorizzano in una ''[[cache]]'' tutte le informazioni che hanno imparato, fino alla loro scadenza. Alcune implementazioni del servizio DNS permettono di realizzare i cosiddetti servers ''caching only'', ovvero privi di ''database'' proprio, ma utili per reindirizzare ad un server autorevole le ''query'' di risoluzione. Tale caratteristica è utile soprattutto quando la risoluzione deve essere effettuata attraverso collegamenti lenti (con velocità inferiore a 500&nbsp;kbps) o ''[[firewall]]''.
 
=== Funzioni dei ''server'' ===
Un server DNS può essere configurato per assolvere ad una o più delle seguenti funzioni:
* ''server''server autorevole''' per una o più zone, ovvero il ''server'' su cui sono configurati i dati di una zona, e che è delegato a gestirla tramite record NS inseriti nella zona superiore. Normalmente sono presenti più ''server'' autorevoli per una zona. Molte implementazioni permettono di modificare i dati di una zona solo su un ''server'':
** '''primario''' - ''server'' autorevole su cui vengono modificati i dati di una zona
** '''secondario''' - ''server'' autorevole che copia i dati di zona da un primario
* ''server''server ricorsivo''' - il ''server'' che viene configurato in una popolazione di ''client'', che si occupa di risolvere le ''query'' che riceve interrogando i server originali, e mantenendo una ''[[cache]]'' delle risposte ricevute
** '''query forwarder''' - un ''server'' che viene configurato in una popolazione di ''client'', che risolve le loro ''query'' non direttamente ma interrogando un ''server'' ricorsivo, e spesso mantenendo una ''[[cache]]'' delle risposte ricevute
 
=== Origine dei dati ===
I dati contenuti in una zona possono essere configurati da uno o più operatori, oppure possono essere alimentati da meccanismi automatici:
* nelle implementazioni più semplici, i dati di zona sono memorizzati in uno o più ''[[file]]'' sul ''server'' primario
* implementazioni più raffinate immagazzinano i dati in un ''[[database]]''. In alcuni casi, questo è accessibile non solo agli operatori del servizio ma anche direttamente ai clienti (è il caso dei servizi DNS commerciali)
 
==== DNS dinamico ====
Il termine [[DDNS|DNS dinamico]], o [[DDNS]], indica un insieme di tecnologie che permettono di inserire automaticamente in una zona DNS gli indirizzi di calcolatori che ottengono un indirizzo non predefinito, tipicamente attraverso il protocollo [[Dynamic Host Configuration Protocol|DHCP]] o [[Point-to-Point Protocol|PPP]]. A questo scopo, sono definite ''query'' DNS di "UPDATE".
 
In una rete locale, questa funzionalità può essere utilizzata direttamente dai ''client'', è presente nei servizi [[Active Directory]] di [[windowsWindows]], o può essere configurata usando BIND e il server DHCP di [[Internet Systems Consortium]] (ISC).
 
Il [[DDNS]] viene inoltre utilizzato da servizi commerciali per permettere agli utenti ''dial-up'' (modem, [[ADSL]]) di registrare un nome corrispondente all'indirizzo che viene loro assegnato di volta in volta dal loro ''provider''. In questo modo, un host con indirizzo IP dinamico è sempre raggiungibile. Esistono ''client'' [[DDNS]] sia sotto forma di applicazioni che all'interno di ''[[router]]'' destinati al mercato domestico.
 
==== Blocco dei contenuti ====
Governi e ISP, tramite filtraggio DNS, possono bloccare l'accesso a specifici contenuti non conformi alle leggi locali e/o alla minore età del fruitore, il blocco dei contenuti tramite DNS può venire implementato anche da singoli utenti per finalità di [[Filtro famiglia|parental control]].
 
Sulla effettiva efficacia di tali blocchi vi sono pareri discordanti in quanto la semplice sostituzione del dns operatore con quello di fornitori terzi ovvero, la configurazione e l'utilizzo del protocollo [[DNS over HTTPS|dns over https]], ormai presente su tutti i maggiori browser, gli smartphone con sistema operativo Android ed iOS ed il sistema operativo Windows 11 ovvero l'installazione di specifiche app rinvenibili sugli store, limitano l'efficacia di tali blocchi.
 
== Utilizzo ==
Per utilizzare il servizio, è necessario configurare su ciascun ''client'' uno o più server DNS di riferimento. Questi sono predisposti a effettuare ''query'' ricorsive e che effettuano servizi di ''caching''.
 
Quando un sistema ha la necessità di comunicare con un altro sistema, chiede al server DNS di riferimento di effettuare il processo detto di "risoluzione" del nome in un indirizzo IP.
Il server effettua una ricerca all'interno del suo database per ottenere l'indirizzo IP corrispondente al sistema ricercato.
 
Se il ''server'' interrogato possiede l'informazione richiesta, il processo di ricerca termina con l'invio dell'indirizzo IP al richiedente. Se la ricerca ha esito negativo il ''server'' effettua una richiesta "ricorsiva".<ref>{{Cita news|url=http://www.lastampa.it/2018/04/06/tecnologia/tutorial/ecco-come-usare-i-dns-che-rispettano-la-privacy-sI0WlbMv3QCb5tYMSYhbwJ/pagina.html|titolo=Ecco come usare 1.1.1.1, i DNS che rispettano la privacy|pubblicazione=LaStampa.it|accesso=6 aprile 2018|dataarchivio=6 aprile 2018|urlarchivio=https://web.archive.org/web/20180406123326/http://www.lastampa.it/2018/04/06/tecnologia/tutorial/ecco-come-usare-i-dns-che-rispettano-la-privacy-sI0WlbMv3QCb5tYMSYhbwJ/pagina.html|urlmorto=sì}}</ref><ref>{{Cita news|url=https://www.hwupgrade.it/news/web/nuovo-dns-1111-velocissimo-e-sicuro-ecco-i-primi-test-e-come-usarlo_75114.html|titolo=Nuovo DNS 1.1.1.1, velocissimo e sicuro: ecco i primi test (e come usarlo)|pubblicazione=Hardware Upgrade|accesso=6 aprile 2018}}</ref>
 
== Implementazione ==
Il [[Protocollo di rete|protocollo]] DNS è implementato da diversi ''[[software]]''. Di seguito alcuni dei più diffusi:
* [[BIND]] (Berkeley Internet Name Domain), il nome del più comune [[Demone (informatica)|demone]] DNS usato sui sistemi [[Unix]].
* [[DJBDNS]] (Dan J Bernstein's DNS implementation)
* [[Unbound]], un server DNS progettato modularmente e con un riguardo particolare verso [[DNSSEC]].
* [[MaraDNS]]
* [[NSD]] (''Name Server Daemon'')
* [[PowerDNS]]
* DDNS (''Dynamic Domain Name System'') Il servizio DNS alla base dei servizi di ''directory'' [[Microsoft]] incluso nelle versioni ''server'' da [[Windows 2000]] in poi.
 
Il DNS utilizza il protocollo di trasporto [[User Datagram Protocol|UDP]] e la [[porta (reti)|porta]] 53 per soddisfare le richieste di risoluzione provenienti dagli host.
 
I server DNS effettuano gli ''zone transfer'' usando il protocollo di trasporto [[Transmission Control Protocol|TCP]] e la porta 53. Questa porta viene usata anche quando una ''query'' ha una risposta molto lunga.
 
Il lato ''client'' del servizio DNS è normalmente implementato tramite librerie di sistema, che spesso lo integrano con altri servizi di risoluzione, come ad esempio [[WINS]], [[Network Information Service|NIS]], o con la consultazione di file locali, in modo che un utente possa utilizzare un nome simbolico in un'applicazione ed ottenere la sua risoluzione in un indirizzo IP senza preoccuparsi di quale strumento è stato utilizzato per ottenere la risoluzione.
 
=== Sistema DNS in Internet ===
Qualsiasi rete [[Internet Protocol|IP]] può usare il DNS per implementare un suo sistema di nomi privato. Tuttavia, il termine "nome di dominio" è più comunemente utilizzato quando esso si riferisce al sistema pubblico dei DNS su Internet. Questo è basato su 13 "''root server"'' universali, i cui indirizzi IP sono distribuiti indipendentemente dal DNS tramite un file detto "''root hints"hint'' (letteralmente: indizi per la radice). Da questi ''server'' principali, il DNS viene poi delegato ad altri ''server'' DNS che si occupano dei nomi all'interno di parti specifiche dello spazio dei nomi DNS.
 
Dieci dei tredici root server sono, almeno nominalmente, situati negli [[Stati Uniti d'America|USA]]. Tuttavia, dato che l'accesso a molti di essi è realizzato tramite indirizzamento ''[[anycast]]'', che permette di assegnare a più computer lo stesso indirizzo IP per fornire un servizio uniforme su vaste aree geografiche, la maggior parte dei ''server'' sono in effetti localizzati al di fuori degli Stati Uniti.
 
Il proprietario di un nome di dominio è rintracciabile in un ''database'' chiamato [[Whois]]: per molti domini di primo livello un Whois base è gestito dalla [[IANA]], con il Whois dettagliato mantenuto dall'autorità di registrazione che controlla quel dominio. Per i più di 240 domini nazionali l'autorità di registrazione gestisce in esclusiva il Whois per il dominio di competenza.
 
Un sito o applicazione web possono essere ospitati presso un ''provider'' (''hosting provider'') o anche essere archiviati presso la sede del proprietario o gestore, mentre il relativo dominio potrebbe essere stato acquistato da un altro ''provider'' comunemente detto ''registrar'' (che possiede quindi un'infrastruttura DNS). Il ''registrar'' permette, attraverso pannello di amministrazione, di configurare l'IP primario cui è associato il nome a dominio nonché creare dei sotto-domini.
 
=== DNS e navigazione ===
Quando si utilizza Internet attraverso la connessione offerta da un [[Service provider|provider]] telefonico di tipo ISP, il dispositivo impiega il DNS predefinito del fornitore (IP pubblico o IP esterno). In situazioni di tipo aziendale, invece, il DNS per la navigazione web o altri impieghi di Internet potrebbe essere quello impostato centralmente dall'amministratore di rete, servizio spesso a pagamento.
 
Volendo è sempre possibile usare DNS alternativi, pure gratuiti come, ad esempio il [[Google Public DNS|DNS pubblico di Google]] oppure quello di [[OpenDNS]], sia agendo nelle impostazioni di sicurezza del [[browser]] (per la sola navigazione web, quindi un DNS pubblico usato dal [[router]] come [[Gateway (informatica)|gateway]]) sia nelle proprietà della scheda di rete del dispositivo o del router stesso (DNS privato del dispositivo nella rete locale).
 
Non bisogna confondere l'indirizzo IP che il dispositivo sta usando per navigare in internet con gli eventuali indirizzi IP delle reti (ad esempio LAN, WLAN, VLAN, etc) a cui è connesso.
 
== Politica ==
=== Allocazione delle zone di primo livello ===
L'attuale modalità di controllo del sistema DNS offre spesso alcune criticità. Alcuni ''[[root nameserver|root serversserver]]'' appartengono a società private (esempio [[Verisign]]), anche se la maggior parte sono controllati da [[università]] o altri enti (ad esempio la [[NASA]])<ref>Sito ufficiale dei ''root serversserver'' - http://www.root-servers.org/</ref>. Non è possibile aggiungere altri ''root serversserver'', o almeno, non in maniera fisica: a causa di un problema di compatibilità con il protocollo [[User Datagram Protocol|UDP]] devono essere visibili solo 13 ''zone'' di ''root serversserver'', ma ogni zona può avere più ''server''<ref>[httphttps://blog.icann.org/2007/11/there-are-not-13-root-servers/ There are not 13 root servers<!-- Titolo generato automaticamente -->]</ref>.
 
== Utilizzi impropri ==
Nel 2009, Paul Vixie, presidente dell'[[Internet Systems Consortium]], ha pubblicato sul sito della [[Association for Computing Machinery]] un articolo riguardante pratiche che derivano da interpretazioni sbagliate del concetto di DNS o lo violano deliberatamente.<ref name="Vixie_2009">{{cita web|url=httphttps://dl.acm.org/citation.cfm?id=1647302|titolo=What DNS is Not. DNS is many things to many people - perhaps too many things to too many people|autore=Paul Vixie|mese=novembre|anno=2009}}<br />Articolo disponibile anche [http://queue.acm.org/detail.cfm?id=1647302 sul sito] della ACM.</ref>
 
=== Manipolazione delle risposte ===
Quando un ''client'' inoltra una ''query'' DNS ad un ''server'' ricorsivo, si aspetta di ottenere la risposta "corretta", ovvero il valore del record DNS richiesto oppure un messaggio di errore se il nome richiesto non esiste. Questo messaggio è noto come "NXDOMAIN" o anche come "RCODE=3".
 
{{F|applicazioni dell'informatica|agosto 2010}}
 
Tuttavia, alcuni gestori di server ricorsivi manipolano le risposte fornite ai propri clienti, {{CitazioneSenza necessariafonte|eliminandone alcune selettivamente}}, oppure restituendo un indirizzo IP diverso da quello corretto.
 
Questa tecnica può essere usata con diversi scopi:
* '''protezione da abusi''': il server DNS può filtrare le ''query'' relative a siti pericolosi per gli utenti, ad esempio a causa della distribuzione di ''[[malware]]'', o perché usati per operazioni di ''[[phishing]]'';
* '''censura''': vengono filtrate le ''query'' relative a siti che si vogliono rendere inaccessibili per decisione politica (del gestore della rete o di una autorità pubblica). In caso la visita o il tentativo di visita a siti "proibiti" venga qualificata come indizio di [[reato]], la redirezione del traffico su un ''server'' diverso da quello richiesto dall'utente può permettere la raccolta degli indirizzi IP dei ''client'', o anche {{CitazioneSenza necessariafonte|in alcuni casi}} il furto di credenziali;
* '''[[man in the middle|man-in-the-middle']]'': le ''query'' vengono modificate in modo da reindirizzare tutto o parte del traffico verso un ''server'' che agisce da ''[[proxy]]'' trasparente, intercettando il traffico degli utenti. Questo permette il monitoraggio del traffico degli utenti, e quindi, eventualmente, anche il furto di informazioni sensibili e/o credenziali;
* '''redirezione degli errori''': alle ''query'' per nomi inesistenti viene risposto con l'indirizzo IP di un ''server'', che tipicamente ospita un motore di ricerca e tenta di aiutare gli utenti a trovare il sito cercato.<ref name="Vixie_2009"/>
 
Queste tecniche possono essere adottate anche dai gestori di rete, redirigendo le ''query'' DNS dirette verso l'esterno su propri server mediante meccanismi di ''destination NAT'' ([[Network address translation]]).
 
Il DNS non è stato progettato per questi utilizzi, pertanto le implicazioni sulla sicurezza degli utenti possono essere negative, in quanto le informazioni personali condivise tra un utente e il sito che sta visitando vengono scambiate anche con siti di terzi, non autorizzati.<ref name="Vixie_2009"/>
 
== Note ==
;Annotazioni
<references />
<references group="N"/>
;Fonti
<references/>
 
== Voci correlate ==
* [[1.1.1.1]]
* [[Risoluzione DNS inversa]]
* [[Record DNS]]
Riga 182 ⟶ 205:
* [[DNSSEC]]
* [[ICANN]]
* [[OpenNIC]]
* [[Nslookup]]
* [[Cybersquatting]]
Riga 187 ⟶ 211:
 
== Altri progetti ==
{{interprogetto|v=Nomi a dominio|preposizione=sul|wikt=DNS|wikt_etichetta=DNS}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* [http://blog.informaticalab.com/reti-protocollo-dns/ Protocollo DNS]
* {{FOLDOC}}
* [http://www.dnssec.net/ DNS Security Extensions (DNSSEC)]
=== Profili legali ===
* [http://www.root-servers.org/ Root Servers]
* [https://www.cyberlaws.it/2018/nomi-dominio-segno-distintivo-aspetti-regolatori/ Nomi a dominio: profili regolatori], ''CyberLaws.it''
* [http://migliorhosting.biz/2014/12/domini-ed-intestazioni-tutto-quello-che-ce-da-sapere/ Domini ed intestazioni: tutto quello che c’è da sapere]
=== Censura ICANN===
*{{en}}[https://www.icann.org/ ICANN Site]
* [http://censura.bofh.it/elenchi.html Osservatorio Censura]
* [http://www.cambiodns.com/ Cambio DNS]
* [https://developers.google.com/speed/public-dns/ Google DNS]
=== RFC ===
* {{en}} RFC 882, ''Domain Names - Concepts and Facilities'' (resa obsoleta da RFC 1034)
* {{en}} RFC 883, ''Domain Names - Implementation and Specification'' (resa obsoleta da RFC 1035)
* {{en}} RFC 920, ''Domain Requirements'' - Specified original top-level domains
* {{en}} RFC 1032, ''Domain Administrators Guide''
* {{en}} RFC 1033, ''Domain Administrators Operations Guide''
* {{en}} RFC 1034, ''Domain Names - Concepts and Facilities''
* {{en}} RFC 1035, ''Domain Names - Implementation and Specification''
* {{en}} RFC 1101, ''DNS Encodings of Network Names and Other Types''
* {{en}} RFC 1123, ''Requirements for Internet Hosts—Application and Support''
* {{en}} RFC 1178, ''Choosing a Name for Your Computer'' (FYI 5)
* {{en}} RFC 1183, ''New DNS RR Definitions''
* {{en}} RFC 1591, ''Domain Name System Structure and Delegation'' (Informational)
* {{en}} RFC 1912, ''Common DNS Operational and Configuration Errors''
* {{en}} RFC 1995, ''Incremental Zone Transfer in DNS''
* {{en}} RFC 1996, ''A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY)''
* {{en}} RFC 2100, ''The Naming of Hosts'' (Informational)
* {{en}} RFC 2136, ''Dynamic Updates in the ___domain name system (DNS UPDATE)''
* {{en}} RFC 2181, ''Clarifications to the DNS Specification''
* {{en}} RFC 2182, ''Selection and Operation of Secondary DNS Servers''
* {{en}} RFC 2308, ''Negative Caching of DNS Queries (DNS NCACHE)''
* {{en}} RFC 2317, ''Classless IN-ADDR.ARPA delegation'' (BCP 20)
* {{en}} RFC 2671, ''Extension Mechanisms for DNS (EDNS0)''
* {{en}} RFC 2672, ''Non-Terminal DNS Name Redirection''
* {{en}} RFC 2845, ''Secret Key Transaction Authentication for DNS (TSIG)''
* {{en}} RFC 3225, ''Indicating Resolver Support of DNSSEC''
* {{en}} RFC 3226, ''DNSSEC and IPv6 A6 aware server/resolver message size requirements''
* {{en}} RFC 3597, ''Handling of Unknown DNS Resource Record (RR) Types''
* {{en}} RFC 3696, ''Application Techniques for Checking and Transformation of Names'' (Informational)
* {{en}} RFC 4033, ''DNS Security Introduction and Requirements''
* {{en}} RFC 4034, ''Resource Records for the DNS Security Extensions''
* {{en}} RFC 4035, ''Protocol Modifications for the DNS Security Extensions''
* {{en}} RFC 4343, ''Domain Name System (DNS) Case Insensitivity Clarification''
* {{en}} RFC 4470, ''Minimally Covering NSEC Records and DNSSEC On-line Signing''
* {{en}} RFC 4509, ''Use of SHA-256 in DNSSEC Delegation Signer (DS) Resource Records''
* {{en}} RFC 4592, ''The Role of Wildcards in the Domain Name System''
* {{en}} RFC 4635, ''HMAC SHA TSIG Algorithm Identifiers''
* {{en}} RFC 4892, ''Requirements for a Mechanism Identifying a Name Server Instance'' (Informational)
* {{en}} RFC 5001, ''DNS Name Server Identifier (NSID) Option''
* {{en}} RFC 5011, ''Automated Updates of DNS Security (DNSSEC) Trust Anchors''
* {{en}} RFC 5155, ''DNS Security (DNSSEC) Hashed Authenticated Denial of Existence''
* {{en}} RFC 5395, ''Domain Name System (DNS) IANA Considerations'' (BCP 42)
* {{en}} RFC 5452, ''Measures for Making DNS More Resilient against Forged Answers'
* {{en}} RFC 5625, ''DNS Proxy Implementation Guidelines'' (BCP 152)
* {{en}} RFC 5702, ''Use of SHA-2 Algorithms with RSA in DNSKEY and RRSIG Resource Records for DNSSEC''
 
=== RFC ===
{{vedi anche|Tipi di record DNS#Collegamenti esterni}}
* {{en}}RFC 882, ''Domain Names - Concepts and Facilities'' (resa obsoleta da RFC 1034)
* {{en}}RFC 883, ''Domain Names - Implementation and Specification'' (resa obsoleta da RFC 1035)
* {{en}}RFC 920, ''Domain Requirements'' - Specified original top-level domains
* {{en}}RFC 1032, ''Domain Administrators Guide''
* {{en}}RFC 1033, ''Domain Administrators Operations Guide''
* {{en}}RFC 1034, ''Domain Names - Concepts and Facilities''
* {{en}}RFC 1035, ''Domain Names - Implementation and Specification''
* {{en}}RFC 1101, ''DNS Encodings of Network Names and Other Types''
* {{en}}RFC 1123, ''Requirements for Internet Hosts—Application and Support''
* {{en}}RFC 1178, ''Choosing a Name for Your Computer'' (FYI 5)
* {{en}}RFC 1183, ''New DNS RR Definitions''
* {{en}}RFC 1591, ''Domain Name System Structure and Delegation'' (Informational)
* {{en}}RFC 1912, ''Common DNS Operational and Configuration Errors''
* {{en}}RFC 1995, ''Incremental Zone Transfer in DNS''
* {{en}}RFC 1996, ''A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY)''
* {{en}}RFC 2100, ''The Naming of Hosts'' (Informational)
* {{en}}RFC 2136, ''Dynamic Updates in the ___domain name system (DNS UPDATE)''
* {{en}}RFC 2181, ''Clarifications to the DNS Specification''
* {{en}}RFC 2182, ''Selection and Operation of Secondary DNS Servers''
* {{en}}RFC 2308, ''Negative Caching of DNS Queries (DNS NCACHE)''
* {{en}}RFC 2317, ''Classless IN-ADDR.ARPA delegation'' (BCP 20)
* {{en}}RFC 2671, ''Extension Mechanisms for DNS (EDNS0)''
* {{en}}RFC 2672, ''Non-Terminal DNS Name Redirection''
* {{en}}RFC 2845, ''Secret Key Transaction Authentication for DNS (TSIG)''
* {{en}}RFC 3225, ''Indicating Resolver Support of DNSSEC''
* {{en}}RFC 3226, ''DNSSEC and IPv6 A6 aware server/resolver message size requirements''
* {{en}}RFC 3597, ''Handling of Unknown DNS Resource Record (RR) Types''
* {{en}}RFC 3696, ''Application Techniques for Checking and Transformation of Names'' (Informational)
* {{en}}RFC 4033, ''DNS Security Introduction and Requirements''
* {{en}}RFC 4034, ''Resource Records for the DNS Security Extensions''
* {{en}}RFC 4035, ''Protocol Modifications for the DNS Security Extensions''
* {{en}}RFC 4343, ''Domain Name System (DNS) Case Insensitivity Clarification''
* {{en}}RFC 4470, ''Minimally Covering NSEC Records and DNSSEC On-line Signing''
* {{en}}RFC 4509, ''Use of SHA-256 in DNSSEC Delegation Signer (DS) Resource Records''
* {{en}}RFC 4592, ''The Role of Wildcards in the Domain Name System''
* {{en}}RFC 4635, ''HMAC SHA TSIG Algorithm Identifiers''
* {{en}}RFC 4892, ''Requirements for a Mechanism Identifying a Name Server Instance'' (Informational)
* {{en}}RFC 5001, ''DNS Name Server Identifier (NSID) Option''
* {{en}}RFC 5011, ''Automated Updates of DNS Security (DNSSEC) Trust Anchors''
* {{en}}RFC 5155, ''DNS Security (DNSSEC) Hashed Authenticated Denial of Existence''
* {{en}}RFC 5395, ''Domain Name System (DNS) IANA Considerations'' (BCP 42)
* {{en}}RFC 5452, ''Measures for Making DNS More Resilient against Forged Answers''
* {{en}}RFC 5625, ''DNS Proxy Implementation Guidelines'' (BCP 152)
* {{en}}RFC 5702, ''Use of SHA-2 Algorithms with RSA in DNSKEY and RRSIG Resource Records for DNSSEC''
 
{{IPstack}}
{{Controllo di autorità}}
{{Portale|informatica|Telematicatelematica}}
 
[[Categoria:Architettura di Internet]]