Ti è piaciuto l’articolo?
0
Ti è piaciuto l’articolo?
0

Che cos’è un root server? Definizione e funzionamento

Non appena si richiede un servizio online (ad esempio una pagina web o un indirizzo e-mail), i root name server o i DNS root server entrano in azione per trovare l’indirizzo del servizio. Sono un componente del Domain Name System (DNS), un pilastro fondamentale di Internet, e essenziali per la risoluzione dei nomi di dominio nel DNS, in cui un nome di dominio (per esempio “www.1and1.it”) viene convertito in un indirizzo IP. Questo processo è obbligatorio, perché solo avendo l’indirizzo IP del server si può richiedere un servizio online e ottenere i dati necessari per il suo funzionamento.

DNS root server: definizione

Un root name server (anche chiamato DNS root server o abbreviato in root server) è un server, che svolge una funzione di primaria importanza nella conversione del nome di dominio in un indirizzo IP: risponde alle richieste del client (requests) nella zona di root del Domain Name System (la zona di root indica il livello più alto nel namespace del DNS). I root name server non eseguono autonomamente la risoluzione del nome, ma si limitano a dare solo informazioni al client richiedente indicando da quale altro name server (server DNS) ricevono altri dati sull’indirizzo IP richiesto.

Ciò avviene tramite il file di zona di root, che fa parte di ogni DNS root server. Il file è di circa 2 MB e comprende, malgrado le sue dimensioni ridotte, i nomi e gli indirizzi IP complessivi di ogni name server di tutti i domini di primo livello (TLD). Questi dati svolgono una funzione importante, visto che vi accede un root server, quando richiede al client quel name server in cui sono presenti altre informazioni necessarie in merito alla sua richiesta.

Ma anche se inoltrano solo richieste, i root name server per la risoluzione del nome di dominio sono indispensabili perché senza di loro il DNS così com’è ora non funzionerebbe. Un root server lavora al livello della radice (in inglese root) del Domain Name System ed è un componente importante per la trasmissione degli indirizzi Internet.

Il funzionamento dei root server

Ma come riesce precisamente un root name server ad identificare l’indirizzo IP di un sito? Per capire il funzionamento del root server aiuta prendere in considerazione il processo generale della risoluzione del nome di dominio nel DNS.

Ogni servizio Internet ha, oltre ad un indirizzo personalizzato (il nome di dominio), un indirizzo IP numerico e univoco, che è collegato con il nome di dominio: ad esempio al sito italiano di 1&1 viene assegnato l’indirizzo IPv4 “217.160.86.23”. Se inserite nel vostro browser “www.1and1.it”, il nome alfanumerico del sito deve essere prima di tutto convertito in questo indirizzo IP, di modo che il vostro browser possa far visualizzare la pagina.

Il processo di risoluzione del nome di dominio nel DNS

Il compito principale del Domain Name System è la conversione dei nomi di dominio in indirizzi IP (chiamata anche “forward lookup”). Il procedimento della risoluzione del nome di dominio su Internet è organizzato gerarchicamente. Ma prima che il DNS venga incaricato della risoluzione, il sistema in uso cerca in genere autonomamente di trovare l’indirizzo IP necessario nella propria memoria dati.

Il numero e l’ordine delle diverse stazioni attraversate da una richiesta dipende da diversi fattori, ad esempio dal sistema operativo in uso o se viene utilizzato come protocollo UDP o NetBIOS over TCP/IP. La risoluzione del nome di dominio in sé tramite i diversi server nel DNS avviene di norma sempre allo stesso modo. Vi esemplifichiamo di seguito le fasi più importanti compiute durante la ricerca dell’indirizzo IP giusto di un sito e vi spieghiamo il ruolo svolto in questo processo dal DNS root server.

  1. Dopo aver iniziato la richiesta di una pagina web (ad esempio “www.1and1.it“) nel vostro client, per primo viene incaricato della risoluzione del nome di dominio il risolutore DNS locale del vostro computer, un risolutore è un modulo che serve da interfaccia tra  l’applicazione e il server DNS che, per prima cosa, controlla nel file hosts se è già presente una voce per il nome di dominio. Tramite questo file di testo la risoluzione del nome di dominio può avvenire direttamente dal proprio computer, almeno se prima è stato assegnato manualmente un indirizzo IP ad un nome host. La maggior parte degli utenti non gestiscono e non utilizzano questo file, perché risale al periodo prima del Domain Name System, che lo ha sostituito, e perciò non risulta neanche utile nella risoluzione del nome di dominio.
  2. Se non è presente alcuna voce per il sito richiesto nel file hosts, il risolutore DNS dell’applicazione o del sistema operativo verifica ora la presenza del nome di dominio nella cache (memoria di transito) del vostro client. Qualora abbiate già visitato la pagina o un’altra dello stesso sito (ad esempio “1and1.it/digitalguide”) e le informazioni siano già state memorizzate nella cache, l’indirizzo IP viene ricavato da questo.
  3. Se il risolutore locale non è riuscito a trovare niente nella cache per poter risolvere il nome di dominio, entra in azione il name server di rete, che è generalmente il router di rete con il quale vi connettete ad Internet. Il name server del router dopo aver controllato nella sua cache (se presente) e non avendo trovato niente neanche lì, richiede al name server del provider l’indirizzo IP del sito.
  4. Verificando il suo database, il server DNS del vostro provider cerca di scoprire l’indirizzo IP del nome di dominio; anche i diversi risolutori dei name server vengono utilizzati per raccogliere le informazioni.
  5. Se anche questo passaggio non dovesse portare ad alcun risultato, il server DNS del provider si rivolge al root name server e gli richiede altre informazioni sul TLD della pagina ricercata (la parte finale di un nome di dominio rappresenta il TLD, ad esempio .com o .it). Sui DNS root server è memorizzato nel file di zona di root quali sono i name server del Top Level Domain che forniscono ulteriori informazioni su uno specifico TLD. L’informazione giusta per la richiesta viene inoltrata ai name server del provider. Nel caso del nome di dominio “www.1and1.it” il root server rimanda al name server del TLD del Nic.it, responsabile per tutti i nomi di dominio .it.
  6. Successivamente il server del provider richiede il name server del TLD e anche qui non riceve una risposta definitiva, ma viene di nuovo reinoltrato: i name server del TLD ricoprono esclusivamente una funzione di inoltro e informano i name server richiedenti su quale server DNS autoritativo è memorizzato il nome di dominio ricercato.
  7. Ora il name server del provider si rivolge ai name server autoritativi responsabili per il nome di dominio e ottiene infine l’indirizzo IP richiesto.
  8. Per finire, il name server del provider trasmette l’indirizzo IP al server DNS del vostro router, che lo inoltra al vostro risolutore locale. Da là l’indirizzo IP viene trasferito al vostro browser, che così può richiedere la pagina, caricarla e visualizzarla.

Durante il processo della risoluzione del nome di dominio sono impiegati molti diversi name server. Nonostante ciò, i root name server ricoprono un ruolo particolare in questo procedimento: rappresentano l’istanza più alta nella risoluzione del nome di dominio e, qualora un nome di dominio non possa essere convertito in un indirizzo IP attraverso il risolutore locale o il server DNS del provider, diventano i punti di inizio per la ricerca dell’indirizzo IP. Anche nel caso in cui la risoluzione del nome di dominio vada a buon fine in un passaggio precedente, le informazioni necessarie antecedenti vengono raccolte da un DNS root server e salvate. In altre parole è importante che il server possa offrire costantemente il suo servizio.

Panoramica dei root name server

Esistono complessivamente 13 root name server principali, che sono indicati rispettivamente con le lettere dall’A alla M. Tutti dispongono di un indirizzo IPv4 e la maggior parte hanno anche un indirizzo IPv6. L’amministrazione dei root server rientra tra i compiti dell’ICANN (Internet Corporation for Assigned Names and Numbers), ma l’esecuzione è a cura di diverse istituzioni che garantiscono uno scambio dei dati nella zona di root sempre corretto, raggiungibile e sicuro. Questa panoramica mostra insieme ai gestori dei singoli root name server anche il loro indirizzo IP.

Lettera del DNS root server Indirizzo IPv4 Indirizzo IPv6 Gestore
A 198.41.0.4 2001:503:ba3e::2:30 VeriSign
B 192.228.79.201 2001:478:65::53 USC-ISI
C 192.33.4.12 2001:500:2::c Cogent Communications
D 199.7.91.13 2001:500:2d::d University of Maryland
E 192.203.230.10   NASA
F 192.5.5.241 2001:500:2f::f ISC
G 192.112.36.4   U.S. DoD NIC
H 128.63.2.53 2001:500:1::803f:235 US Army Research Lab
I 192.36.148.17 2001:7FE::53 Autonomica
J 192.58.128.30 2001:503:c27::2:30 VeriSign
K 193.0.14.129 2001:7fd::1 RIPE NCC
L 199.7.83.42 2001:500:3::42 ICANN
M 202.12.27.33 2001:dc3::35 WIDE Project

Ognuno di questi root name server dispone di una copia identica del file della zona di root, che deve essere aggiornata di tanto in tanto, ad esempio se si cambia il registry per un TLD responsabile di un nome del dominio. La modifica al file di zona di root è un processo relativamente complesso: non appena viene aggiornata una voce, questa viene verificata da IANA (Internet Assigned Numbers Authority, un reparto dell’ICANN). Se tutto è corretto, il ministero del commercio USA deve approvare la richiesta, visto che l’ICANN è legato a questo ente da un contratto. Solo dopo questo passaggio la modifica viene implementata nella zona di root dall’azienda VeriSign (la stessa che gestisce due root server).

Misure di sicurezza dei DNS root server

Giornalmente i root server devono gestire una grande quantità di richieste. La maggior parte dei 13 root name server non risponde però da solo alle richieste del client, ma lo fa in collaborazione con altri server: qui la tecnica Anycast regola la distribuzione delle richieste in entrata. Quindi sono in realtà più di 13 server che si occupano delle richieste nella zona di root: complessivamente centinaia di server sparsi in tutto il mondo svolgono questo compito, di cui la maggior parte si trovano in USA e in Europa.

La distribuzione dei server ha tra l’altro lo scopo di bilanciare il carico e aumentare la stabilità dei root server: prima dell’uso di Anycast c’erano solo 13 root name server principali, che si occupavano della risposta alle richieste. Visto che 10 di questi si trovano negli USA, solo tramite la tecnica Anycast è stato possibile assicurare un’elaborazione relativamente decentrata delle richieste nella zona di root. Inoltre, la distribuzione globale dei server favorisce anche dei tempi di accesso inferiori nell’elaborazione delle richieste, perché risponde sempre il server che svolge il percorso più breve.

Un’altra misura di sicurezza è la limitazione delle capacità dei root name server utilizzati normalmente: i server utilizzano solo un terzo delle risorse complessive messe a disposizione dai computer. Così si garantisce che la risoluzione dei nomi di dominio funzioni comunque, anche qualora più DNS root server non siano raggiungibili nello stesso momento. Infatti i rimanenti server attivi si occupano in questo caso delle richieste, che sono previste per i server non più raggiungibili.

Di conseguenza i diversi attacchi DDoS tentati in passato verso i DNS root server non sono andati a buon fine, visto le misure di sicurezza elevate intraprese. I gestori dei 13 root server sanno fin troppo bene quanto siano importanti i loro server per Internet, infatti senza di loro sarebbe a rischio il funzionamento di tutti i servizi in rete, che potrebbero non essere più raggiungibili.

Differenze con i root server dedicati

Tema di questo articolo sono i DNS root server, cioè i root name server del Domain Name System, da non confondere con i root server dedicati (chiamati anche dedicated root server), presenti nell’offerta dei provider.  Gli host di questo tipo vengono anche indicati colloquialmente con il termine root server, distinguendosi dai managed server per via dell’accesso di root (una spiegazione più dettagliata sulla differenza tra i vari tipi di server la trovate nell’articolo “Server a confronto”, ma non verranno trattati in questa sede.

Rete