Server dei nomi di dominio (DNS Name Servers)
Nell’ambito del Domain Name System, per name server si intende quella componente server del Domain Name System (DNS) il cui compito principale è fornire risposte alle richieste (query) di traduzione (risoluzione) dei nomi di dominio e degli hostname nei corrispondenti indirizzi IP numerici utilizzate per identificare e localizzare computer e risorse su Internet. Possiamo suddividere i name server entro due tipologie: i name server autoritativi/autorevoli (authoritative name servers) e i cache name servers.
Lo scopo dei name server autoritativi è memorizzare (mantenere in archivio) i record DNS per la (o le) zona di dominio per cui essi sono autorevoli e per rispondere alle queries. Il DNS dispone di differenti tipi di record per le risorse, ad esempio il record di tipo ‘AAAA’ e quello di tipo ‘A’, rispettivamente un tipo a 128-bit per indirizzi IPv6 e uno a 32-bit per IPv4. I name server autoritativi sono strutturati in una gerarchia, al più alto livello ci sono i root name server; elencati in seguito. Ciascun root name server memorizza i dati – in un root zone file – dei domini di primo livello; questi dati sono fornii ai root name server da parte della Internet Assigned Numbers Authority (IANA). Pertanto, i root name server sono una fonte autoritativa per qualunque query relativa al dominio di primo livello. Gli operatori dei domini di primo livello dispongono di name server autorevoli per la loro zona gestita ed inoltre creano e pubblicano un file di zona per ciascun nome di dominio attivo nella loro zona. Da ciò deriva che la zona DNS discende come una struttura ad albero con singole organizzazioni e name server autoritativi, responsabili per ciascuna zona.
La DNS root zone è servita da parte di tredici root name server autoritativi, ciascuno dei quali per il loro nome adotta la forma letter.root-server.net
dove letter varia da a
ad m
, e sono: a.root-servers.net VeriSign, Inc.; b.root-servers.net University of Southern California (ISI); c.root-servers.net Cogent Communications; d.root-servers.net University of Maryland; e.root-servers.net NASA (Ames Research Center); f.root-servers.net Internet Systems Consortium, Inc.; g.root-servers.net Defense Information Systems Agency; h.root-servers.net US Army (Research Lab); i.root-servers.net Netnod; j.root-servers.net VeriSign, Inc.; k.root-servers.net RIPE NCC; l.root-servers.net ICANN; ed m.root-servers.net WIDE Project. Ciascun root name server non è costituito da un singolo server (fisico) ma il carico è distribuito su più sedi, in molteplici luoghi; per esempio f.root-servers.net Internet Systems Consortium, Inc è costituito da una serie di nodi (F-root nodes), oltre 125 fra Americhe, Europa, Asia e Africa, in anycast per fare in modo che i server si comportino collettivamente come un unico server. Ciò permette ad ogni singolo computer o rete che effettua richiesta di risoluzione di poter utilizzare il nodo a esso più prossimo, migliorando il loro accesso a “f-root” ed, in ultima analisi, migliorando l’affidabilità del DNS in generale.
Il secondo tipo di name server è il cache name server: questi sono gestiti dai DNS resolvers – i DNS resolvers sono tipicamente dispiegati dagli Internet Service Provider. I cache name server memorizzano Query di ricerca DNS dai proprio utenti per incrementare le prestazioni e per ridurre il carico di lavoro dei neme server autoritativi.
Name | Indirizzo IPv4 | Indirizzo IPv6 | Operatore | Homepage | Software |
---|---|---|---|---|---|
a.root-servers.net | 198.41.0.4 | 2001:503:ba3e::2:30 | Verisign, Inc. | http://a.root-servers.org/ | NSD e Verisign ATLAS |
b.root-servers.net | 199.9.14.201 | 2001:500:200::b | USC-ISI | http://b.root-servers.org/ | BIND |
c.root-servers.net | 192.33.4.12 | 2001:500:2::c | Cogent Communications | http://c.root-servers.org/ | BIND |
d.root-servers.net | 199.7.91.13 | 2001:500:2d::d | University of Maryland | http://d.root-servers.org/ | BIND |
e.root-servers.net | 192.203.230.10 | 2001:500:a8::e | NASA (Ames Research Center) | https://e.root-servers.org/ | BIND e NSD |
f.root-servers.net | 192.5.5.241 | 2001:500:2f::f | Internet Systems Consortium, Inc | http://f.root-servers.org/ | BIND |
g.root-servers.net | 192.112.36.4 | 2001:500:12::d0d | Defense Information Systems Agency | https://disa.mil/G-Root | BIND |
h.root-servers.net | 198.97.190.53 | 2001:500:1::53 | U.S. Army Research Lab | http://h.root-servers.org/ | NSD |
i.root-servers.net | 192.36.148.17 | 2001:7fe::53 | Netnod | http://i.root-servers.org/ | BIND |
j.root-servers.net | 192.58.128.30 | 2001:503:c27::2:30 | Verisign, Inc. | http://j.root-servers.org/ | NSD e Verisign ATLAS |
k.root-servers.net | 193.0.14.129 | 2001:7fd::1 | RIPE NCC | http://k.root-servers.org/ | BIND, NSD e Knot DNS |
l.root-servers.net | 199.7.83.42 | 2001:500:9f::42 | ICANN | http://l.root-servers.org/ | NSD e Knot DNS |
m.root-servers.net | 202.12.27.33 | 2001:dc3::35 | WIDE Project | http://m.root-servers.org/ | BIND |
Elencon root name servers
Risolutori, Lookup: DNS Resolvers
Il Domain Name System (DNS) utilizza un modello di tipo client-server, nel quale l’utente finale utilizza un client per effettuare query verso i name server autorevoli che memorizzano i dati dei records per i nomi di dominio. Il lato client coinvolto nel processo di risoluzione DNS viene chiamato DNS Resolver (risolutore). il resolver è responsabile dell’avvio e del sequenziamento delle query DNS, e fa ciò traducendo un nome di dominio (immesso nel client) in un indirizzo IP numerico (memorizzato su un name server). i risolutori DNS traducono mediante uno dei tre metodi di processamento e di query possibili: query non ricorsive, ricorsive, iterative. Nelle non ricorsive il resolver effettuata una query ad un singolo name server. Le query ricorsive attraversano più di un name server se il resolver riceve una risposta parziale dal primo name server. Le query iterative sfruttano un processo a catena per interrogare i name server: il resolver riceve dal name server una risposta parziale ed un riferimento ad un altro name server che potrebbe avere la risposta
Il DNS resolver non interagisce direttamente con gli utenti; ciascuna programma applicativo client (per esempio un web browser) gestirà il processo, in combinazione con il sistema operativo. Gli attuali sistemi operativi sono corredati da software di networking e, altri ancora dispongono di strumenti utilizzabili per lo studio del processo di risoluzione DNS; MIcrosoft Windows attualmente (Windows 7 e superiori) dispone del comando nslookup, storicamente presente in ambiente *nix a corredo del software DNS BIND, ora deprecato in favore di strumenti più moderni quali host e dig (domain information groper).
Tipicamente, il software di networking di un sistema operativo può essere configurato manualmente. In linea generale le configurazioni di rete saranno configurate per utilizzare il server DNS del fornitore del servizio Internet utlizzato dall’utente, ma potrà essere cambiato manualmente per utilizzare un server DNS terzo. Le ragioni per effettuare tale cambio sono: migliorare le prestazioni generali, migliorare la sicurezza, aggirare sistemi di censura, protezione contro il phishing e per implementare sistemi di controllo parentale. Non tutti i fornitori di accesso ad Internet forniscono buoni resolver DNS e servizi di caching. Allora la domanda che potrebbe sorgere è il perché non tutte le query di dominio non siano instradate verso i root name server: per una questione di prestazioni i root nameserver non possono gestire miliardi di richieste e, per questo, il gravoso compito è suddiviso fra una gerarchia di name server che conservano record DNS e rispondono alle query. Infine, Il Domain Name System è sovente descritto come un database distribuito. I name server utilizzano tipicamente BIND (Barkeley Internet Name Domain) quale software DNS per gestire le query al DNS.