DNS: Il Servizio Directory di Internet Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© 1996-2004 All Rights Reserved) 2-1 DNS: Domain Name System Persone: molti identificativi: C.F., nome, n. passaporto Host, router Internet: Indirizzi IP (32 bit) – usati per indirizzare i pacchetti IP “Nome”, es., gaia.cs.umass.edu – usati dagli utenti D: Chi fa la traduzione tra indirizzo IP e nome? Domain Name System: Database distribuito implementato come una gerarchia di molti name server Protocollo applicativo usato da host, router, name server per comunicare allo scopo di risolvere (tradurre) i nomi in indirizzi IP Nota: funzionalità base di Internet implementata come protocollo applicativo La complessità trasferita al “bordo” della rete 2-2 Name server DNS name server locali: Si può usare un DNS Ogni ISP o azienda ha un centralizzato? name server locale unico punto di rottura (default) traffico eccessivo La richiesta DNS di un host è prima rivolta al name DB centralizzato distante server locale gestione name server assoluto poca scalabilità (authoritative): Nessun server contiene tutte le associazioni nome-indirizzo IP Contiene le informazioni del nome e degli indirizzi IP di un host e può eseguire la traduzione nome-indirizzo IP per quell’host 2-3 DNS: Name server radice (root) Contattato dal name server locale che non riesce a risolvere un nome Root name server: Contatta il name server assoluto se la traduzione non gli è nota Ottiene la traduzione Restituisce la traduzione al name server locale a NSI Herndon, VA c PSInet Herndon, VA d U Maryland College Park, MD g DISA Vienna, VA h ARL Aberdeen, MD j NSI (TBD) Herndon, VA k RIPE London i NORDUnet Stockholm m WIDE Tokyo e NASA Mt View, CA f Internet Software C. Palo Alto, CA 13 root name server nel mondo b USC-ISI Marina del Rey, CA l ICANN Marina del Rey, CA 2-4 Esempio DNS L’ host surf.eurecom.fr vuole l’indirizzo IP di gaia.cs.umass.edu root name server 2 query 4 5 reply 1. Contatta il server DNS locale, dns.eurecom.fr 2. dns.eurecom.fr contatta local name server il root name server, se dns.eurecom.fr necessario 1 6 3. Il root name server contatta il name server assoluto dns.umass.edu, se necessario requesting host surf.eurecom.fr 3 authoritative name server dns.umass.edu gaia.cs.umass.edu 2-5 Esempio DNS (2) root name server Root name server: Può non essere a conoscenza di un name server assoluto Può tuttavia conoscere un name server intermedio che contatta e quest’ultimo raggiunge quello assoluto 6 2 7 local name server dns.eurecom.fr 1 8 requesting host 3 intermediate name server dns.umass.edu 4 5 authoritative name server dns.cs.umass.edu surf.eurecom.fr gaia.cs.umass.edu 2-6 DNS: Richieste ripetute root name server Richiesta ricorsiva (recursive query): 3 Pone il carico della 4 traduzione sul name server contattato Carico eccessivo? Richiesta ripetuta (iterated query): Il name server contattato risponde con l’indirizzo del prossimo name server da contattare “Non conosco questo nome, ma chiedi a quest’altro server” iterated query 2 7 local name server dns.eurecom.fr 1 8 requesting host intermediate name server dns.umass.edu 5 6 authoritative name server dns.cs.umass.edu surf.eurecom.fr gaia.cs.umass.edu 2-7 DNS: caching e aggiornamento Quando un qualsiasi name server apprende una traduzione la memorizza localmente (caching) Le traduzioni memorizzate nella cache (cache entries) scadono (timeout) dopo un certo tempo (di solito un paio di giorni) Se possibile, le richieste successive vengono soddisfatte usando la traduzione presente in cache I meccanismi di aggiornamento/modifica sono in fase di studio da parte dell’IETF RFC 2136 (UPDATE dei dati attraverso mesaggi DNS) http://www.ietf.org/html.charters/dnsind-charter.html 2-8 Record DNS DNS: database distribuito che memorizza Resource Record (RR) Formato RR: (nome, valore, tipo, ttl) Tipo=A Tipo=CNAME nome è il nome dell’ host nome è un alias di qualche nome reale (“canonico”) valore è l’ indirizzo IP www.ibm.com è realmente Tipo=NS servereast.backup2.ibm.com nome è il dominio (es. valore è il nome canonico foo.com) valore è l’indirizzo IP Tipo=MX del name server assoluto valore è il nome di un per questo dominio mailserver associato a nome 2-9 Protocollo DNS, messaggi Protocollo DNS : messaggi di richiesta (query) e risposta (reply), stesso formato Header di messaggio identification: numero a 16 bit per la richiesta, la risposta usa lo stesso numero flags: Richiesta o risposta Richiesta ricorsione (D) Ricorsione disponibile (R) Il server che risponde è assoluto per la richiesta (R) 2-10 Protocollo DNS, messaggi (2) Nome e tipo per ogni richiesta RR in risposta a una richiesta Record per i server assoluti Informazioni addizionali Es.: RR di tipo A contenente indirizzo IP di un mail server il cui nome canonico è contenuto nella sezione delle risposte (answer section) 2-11