Root Server, repliche RS, anycast: una introduzione

[5 Giugno 2008 versione 1.1]

Valeria Rossi [bio]

Premessa

    Quanto segue è scritto allo scopo di spiegare con semplicità uno degli elementi essenziali al funzionamento della rete Internet.

    Non è un trattato rivolto agli esperti del settore né una dispensa universitaria e pertanto anche la terminologia utilizzata non sarà - ove possibile - specifica o strettamente tecnica, per facilitarne la lettura e la sua comprensione.

    Anche gli esempi e le procedure sono semplificati al massimo, al punto da poter recare disturbo, talvolta, alla lettura di un occhio attento ed esperto.

Concetti preliminari

  • Quando si parla di root name server si parla della base su cui appoggia l'intero sistema dei nomi Internet, per capirci quelli usati negli indirizzi di posta elettronica dopo la "@" - quali pippo@pippomailbox.com - o quando si accede alle pagine web scrivendo un semplice www.pippo.com.
  • Ma dove sia la casella postale (mailbox) di Pippo, cioè quale sia il server su cui viene consegnata la posta (mail) a lui indirizzata o quale sia quello dove fisicamente sono scritte le informazioni che si trovano in www.pippo.com è assolutamente trasparente e tutto considerato non importa più di tanto agli utenti della Rete.
  • Ma "alla Rete", o meglio ai protocolli che la governano, importa eccome perché devono essere in grado di consegnare la mail nei posti giusti o far aprire sugli schermi la pagina web voluta.
  • Perché ciò sia possibile ogni server ad essa collegato deve essere univocamente raggiungibile e per esserlo deve essere "unico" sulla rete.
  • Ora, se per gli umani ricordare un nome è più semplice che non ricordare un numero, per ciò che muove la Rete è necessario utilizzare dei numeri (gli indirizzi IP); quindi per rendere unico un elemento della rete è necessario che sia l'unico elemento che possegga un certo indirizzo IP.
  • Ogni mail indirizzato a Pippo verrà dunque trasportato all'interno della Rete grazie al fatto che esiste un metodo che associa al nome internet "mailbox.com" un numero, il suo "indirizzo IP". Questa trasformazione, come sappiamo, è effettuata dal DNS (Domain Name System), un database distribuito a struttura gerarchica rappresentabile con un albero rovesciato.
  • Ad ogni ramo dell'albero corrisponde una gerarchia dei nomi internet all'interno dei cosiddetti Top Level Domains, meglio conosciuti come .COM .NET .ORG ecc. o quelli geografici come .IT (per l'Italia) .SE (per la Svezia) .CH (per la Svizzera) e così via.
  • I server che operano nel DNS si chiamano "dns" dove questa volta l'acronimo si traduce in Domain Name Server, a cui ci riferiremo nel seguito più semplicemente come "name server".

Cosa sono i root name server

  • I root name server sono la radice del DNS, il "punto" di riferimento cui si rivolgono i name server che operano all'interno di un ramo dell'albero quando necessitano informazioni relative ad un altro ramo dell'albero.
  • Ad esempio, se Pippo che invia e riceve posta su pippomailbox.com (quindi ramo .COM del DNS) invia un mail a Gio@giunchimailbox.it (quindi ramo .IT del DNS), è necessario che il sistema conosca l'indirizzo IP associato al server "giunchimailbox.it".
  • La procedura con cui questo avviene è quella tipica del funzionamento dei dns: per prima cosa il name server cui si appoggia pippomailbox.com controlla se ha già questa informazione in pancia (cache); se ce l'ha (caso in cui ad esempio c'è già stato un precedente scambio di posta tra Pippo e Gio), la invia a pippomailbox che può quindi indirizzare direttamente tutti i pacchetti all'indirizzo IP di giunchimailbox.it; se non ce l'ha (caso in cui è la prima volta che un pacchetto transita dal name server di riferimento di pippomailbox.com a giunchimailbox.it, oppure l'informazione è datata e quindi ritenuta non più affidabile = scaduta), la deve richiedere al nameserver che ha l'autorità nella gerarchia del DNS di fornire l'indirizzo di giunchimailbox.it.
  • Questa richiesta quindi deve transitare dal ramo .COM al ramo .IT del DNS. Il transito avviene grazie ai root name server il cui unico compito è quello di fornire l'indirizzo IP del name server di riferimento per ogni TLD dell'albero del DNS.

Come funzionano

  • I root name server contengono un file di testo (root zone file) che elenca TLD per TLD gli indirizzi IP dei name server autoritativi di riferimento.
  • Ad esempio, per il TLD ".IT", gli zone root file (al Maggio 2008) contengono le seguenti informazioni:
Name Server Indirizzo IP
dns.nic.it. 193.205.245.5
.. 2001:760:4000:1f5:0:0:0:5
nameserver.cnr.it 194.119.192.34
m.dns.it 217.29.76.4
j.dns.it 202.11.16.57
r.dns.it. 193.206.141.46
. 2001:760:ffff:ffff::ca
s.dns.it 194.146.106.30

    dove nella colonna di sinistra sono elencati i nomi internet dei name server che sono delegati a fornire gli indirizzi IP di tutti i domini di secondo livello dell'albero .IT (xxx.it, yyy.it ecc.), e nella colonna di destra i corrispondenti indirizzi IP (versione 4 e/o versione 6 del protocollo).

  • Per quanto i TLD siano ad oggi 269 a cui sono associati oltre 700 nameserver autoritativi, il file è di piccole dimensioni.
  • Quando un name server - ovunque si trovi all'interno del DNS - necessita di conoscere l'indirizzo IP di un name server autoritativo per un dato dominio di cui non ha alcuna informazione, la richiesta viene inviata ad un root name server il quale fornisce l'indirizzo IP del name server del TLD cui si riferisce la richiesta o, se è il caso, rispondendo che il TLD non esiste.
  • Ritornando al nostro esempio, alla richiesta del name server di appoggio per pippomailbox.com, il root name server fornirà le informazioni sopra elencate relative a .IT. Con tali informazioni, la richiesta di pippomailbox viene dunque inviata ad uno dei name server autoritativi di .IT che sarà in grado di rispondere e di fornire l'indirizzo IP di giunchimailbox.it.
  • Questo indirizzo verrà inserito nella cache del name server di riferimento per pippo e contemporaneamente da esso inviata a pippomailbox.com i cui pacchetti, ora, potranno essere inviati sulla rete che saprà come instradarli fino a destinazione.
  • In Internet esistono 13 indirizzi IP che corrispondono ai 13 root name server esistenti (trivialmente chiamati A,B,C, fino alla M). Tutti i root name server contengono le medesime informazioni e pubblicano sulla Rete il medesimo file.
  • Quando un name server invia una richiesta che richiede una risposta di un root name server, non si preoccupa quale dei 13 gli risponderà, semplicemente accetta la risposta dal primo che gli risponde.
  • Come funzioni l'algoritmo delle risposte nel DNS non è compito di questo breve documento, diciamo per semplicità soltanto che almeno uno dei root name server invierà una risposta, e diciamo quello "più vicino" al name server richiedente , o anche quello "più veloce" nel fornire la risposta. Questo concetto ci sarà utile più avanti.

Quanti sono

  • Abbiamo detto poc'anzi che esistono 13 root name server, anzi abbiamo detto che esistono 13 indirizzi IP associati ai 13 nomi di root name server.
  • Tredici sembra un numero piccolo dato il ruolo chiave che essi svolgono ma questo numero - dovuto ad un limite introdotto dalla dimensione dei pacchetti del protocollo utilizzato da molte applicazioni internet tra cui anche il DNS (protocollo UDP) - di fatto non è più un limite fisico, ma solo logico e funzionale.
  • In realtà, dal punto di vista puramente tecnico, per il funzionamento di Internet basterebbe anche uno solo root name server ma, naturalmente, per ovvi motivi di ridondanza e di affidabilità del servizio, agli albori di Internet se ne prevederono e configurarono il numero massimo disponibile.
  • Fino al 21 Ottobre 2002, la Rete si appoggiava esclusivamente sui 13 root name server esistenti. Quel giorno, un imponente attacco di DDoS (Distributed Denial of Service) rivolto proprio ai root name server che ne annullò il funzionamento di 9 su 13, mise in allarme i gestori dei root name server segnando una nuova importante svolta nell'architettura in rete del DNS.
  • La necessità di proteggere quanto più possibile il cuore di Internet dall'azione scellerata di alcuni, ha portato ad utilizzare in tutta la loro finezza i protocolli che si occupano dell'instradamento dei pacchetti sulla rete.
  • Seppur vero che come inizialmente detto ogni server sulla Rete deve essere univocamente raggiungibile (per semplicità: 1 server = 1 indirizzo IP), è stato applicato un metodo (ANYCAST) che consente di spostare l'univocità dal livello globale della Rete a solo parti di essa: in altre parole sono state creati dei "replicanti" dei singoli root name server (stesso nome, stesso indirizzo IP, stesso gestore) e posizionati in punti diversi di Internet, garantendone la visibilità e la raggiungibilità solo ad una porzione ristretta della Rete.
  • In Italia ad esempio alcune repliche anycast di root name server sono state installate presso il MIX, che è un punto di aggregazione dei Providers che operano in Italia.
  • La raggiungibilità di queste repliche è possibile solo a questi Providers e non al di fuori delle loro reti, come se si trattasse di un club privato.
  • In tal modo, quando un name server all'interno della rete di un Provider connesso al MIX invia una richiesta ad un root name server, gli risponde una delle repliche senza che il Provider abbia dovuto modificare in alcun modo le configurazioni standard della propria rete o dei propri name server.
  • Supponendo che per qualsiasi motivo la connessione al MIX del Provider sia momentaneamente non disponibile, semplicemente le richieste ai root name server verranno processate da uno dei root name server originali, raggiungibili dall'intera comunità Internet.

Anycast

  • La standardizzazione del metodo di instradamento anycast applicato all'IP, ed in particolare applicato al DNS, consente dunque di presentare sulla Rete diverse istanze del medesimo soggetto, nella fattispecie del medesimo name server.
  • Grazie a questo, il numero di root name server raggiungibili in Rete non è più dunque limitato a tredici, ma è ben più alto: alla data, il totale delle istanze di root name server in Internet è più di 100 distribuiti in altrettanti luoghi - strategici nella topologia di rete - che coprono tutti i continenti.
  • Il test dell'adozione di anycast per i root name server è avvenuto nella pratica nel Febbraio del 2007, quando un secondo attacco simile a quello dell'Ottobre 2002 è stato effettuato nei confronti di 6 root name server: di questi solo i due non ancora configurati con un servizio anycast non hanno retto all'attacco dimostrando pertanto l'efficacia della soluzione anycast.
  • Tale soluzione, per altro, è stata poi utilizzata e sta prendendo sempre più piede anche per la distribuzione geografica e strategica dei name server dei TLD.

Topologia

  • Dove le repliche sia dei root name server che dei dns di TLD siano posizionate non è sempre noto in quanto alcuni gestori preferiscono per ovvi motivi di sicurezza di non pubblicarne l'informazione.
  • Come si può facilmente intuire e così come raccomandato, comunque, le repliche vengono generalmente posizionate in luoghi dove gli operatori scambiano traffico con le reti di altri operatori, sempre però in considerazione del principio della "diversità" che è uno dei princìpi che regolano il servizio dei root name server: seppur parte o meglio radici di un sistema gerarchico, per evitare che essi rappresentino il punto debole del funzionamento di Internet, i root name server sono rappresentati da un sistema distribuito nella geografia di Internet e gestito in autonomia da differenti organizzazioni.
  • Il non aver sottoposto i root name server ad un controllo centrale da parte di una singola autorità è una delle chiavi che garantiscono l'affidabilità del servizio; e questo vale anche dal punto di vista tecnico: seppur vero che punti ad alta concentrazione di traffico rappresentino un punto strategico per la collocazione dei root name server, è pur vero che diversificandone l'installazione a livello topologico nella Rete, minori sono i rischi che il servizio venga a soffrire di malfunzionamenti.

Organizzazione

  • I tredici root name server e le loro repliche sono gestiti da dodici organizzazioni inizialmente selezionate da IANA (Internet Assigned Names and Numbers Authority) ed ancor oggi incaricate della gestione dei rispettivi root name server e loro repliche:
    • A e J : Verisign, Inc.
    • B: Information Sciences Institute
    • C: Cogent Communications
    • D: University of Maryland
    • E: NASA Ames Research Center
    • F: Internet Systems Consortium, Inc.
    • G: U.S. DOD Network Information Center
    • H: U.S. Army Research Lab
    • I: Autonomica/NORDUnet
    • K: RIPE NCC
    • L: ICANN
    • M: WIDE Project
  • Nove root name server originali sono localizzati negli Stati Uniti, gli altri quattro si trovano in Svezia, Inghilterra, Olanda e Giappone.
  • A questi, ora sappiamo, si aggiungono le oltre 100 repliche posizionate in oltre 50 diversi paesi nel mondo.
  • Non esiste un gruppo formalizzato che coordina le attività dei gestori dei singoli root name server (principio della "diversità"), ma come è sempre stato nello spirito di Internet, essi si coordinano in autonomia tra loro e con le più alte autorità tecniche in Internet (ICANN, IANA, IETF).
  • All'interno di ICANN, in particolare, esistono due gruppi che rivedono periodicamente la situazione dei root name server sia dal punto di vista operativo che dal punto di vista della loro sicurezza:
    • RSSAC (Root Server System Advisory Committee) che riferisce alla comunità di ICANN relativamente a problematiche di tipo operativo dei root name server e propone accorgimenti tecnico operativi (quali specifiche ambientali, hardware, sistemi operativi ecc.) e naturalmente anche a problematiche relative alla sicurezza, ridondanza e stabilità dei root name server;
    • SSAC (Security and Stability Advisory Committee) che si occupa e riferisce in ICANN delle problematiche di sicurezza dell'intero sistema dei nomi ed indirizzi Internet, ivi icluso dunque anche il sistema dei root name server.

Puntatori

RFC 2826: IAB Technical Comment on the Unique DNS Root

RFC 2870: Root Name Server Operational Requirements

RFC 3258: Distributing Authoritative Name Servers via Shared Unicast Addresses

http://www.root-servers.org/

http://www.icann.org/

http://www.iana.org/

http://www.ietf.org/

Cartelle http://cctld.it di riferimento all' articolo

Fonti e ricerche per una storia dell' internetworking in Italia

Fonti e ricerche
  • [a cura di http://cctld.it]
  • [whois output for: cctld.it - Created: 2001-10-17 00:00:00]
  • Sommario
  • [a cura di http://cctld.it]
  • [whois output for: cctld.it - Created: 2001-10-17 00:00:00]
  • L' Uomo e la Macchina
  • [a cura di http://cctld.it]
  • [whois output for: cctld.it - Created: 2001-10-17 00:00:00]
  • La prima Calcolatrice Elettronica Italiana - CEP - Generazione e Sviluppi
  • [a cura di http://cctld.it]
  • [whois output for: cctld.it - Created: 2001-10-17 00:00:00]
  • Root_Server
    Valeria_Rossi
    cctld.it
    internetworking