INFORMATICA DISTRIBUITA prof. Carlo Bellettini lez 8 DNS (cont) Università degli Studi di Milano Scienze e Tecnologie della Comunicazione Musicale a.a. 2009-2010 DNS: Domain Name System Indirizzamento di una macchina (host) Indirizzo IP Numero su 32 bit Nome simbolico Chi definisce il collegamento tra I due modi? Carlo Bellettini Informatica Distribuita Domain Name System: database distribuito implementato tramite una gerarchia di name server application-layer protocol DNS name servers Perché non farlo centralizzato? Blocco totale se quella macchina non funzionasse o non fosse raggiungibile Quantità di traffico Distanza e quindi ritardi Aggiornamenti E permessi… SOLUZIONE: Nessun server conosce (ed e’ responsabile di) tutto name servers locali authoritative name server: Per uno specifico host E’ l’unico che deve sempre mantenere il mapping Carlo Bellettini Informatica Distribuita DNS: Root name servers Vengono contattati quando un name server locale non riesce a risolvere un nome 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 storicamente 13 root name servers b USC-ISI Marina del Rey, CA l ICANN Marina del Rey, CA Carlo Bellettini Informatica Distribuita worldwide Attuale (2006) dislocazione root server ora 13 indirizzi Carlo Bellettini Informatica Distribuita Carlo Bellettini Informatica Distribuita Struttura gerarchica Localizzazione geografica? .to .at Carlo Bellettini Informatica Distribuita Esempio interrogazione DNS root name server 2 5 authorititive name server local name server dns.umass.edu dns.eurecom.fr 1 requesting host surf.eurecom.fr Carlo Bellettini Informatica Distribuita 3 4 6 gaia.cs.umass.edu Esempio interrogazione DNS root name server 2 7 3 6 intermediate name server dns.umass.edu local name server dns.eurecom.fr 4 1 8 5 authoritative name server dns.cs.umass.edu requesting host surf.eurecom.fr Carlo Bellettini Informatica Distribuita gaia.cs.umass.edu Esempio interrogazione iterativa root name server iterated query 2 3 local name server intermediate name server 4 dns.umass.edu 7 dns.eurecom.fr 5 1 6 authoritative name server 8 dns.cs.umass.edu requesting host surf.eurecom.fr Carlo Bellettini Informatica Distribuita gaia.cs.umass.edu DNS: caching and updating records Quando un name server impara un mapping, lo salva dentro ad una propria cache Legato ad ogni entry, ci sarà un time out (TTL) Anche gli host hanno una propria cache dei nomi già risolti Per vedere i nomi che avete in cache sotto winXP ipconfig /displaydns Carlo Bellettini Informatica Distribuita Riassunto: Come risponde un DNS? Può rispondere con IP address perché lo conosce già (è lui l’authoritative, o ce l’ha in cache). Può contattare un altro name server. Può dire: “non lo so, ma prova a chiedere a…” Può ritornare un errore perchè il dominio o la macchina non esiste Carlo Bellettini Informatica Distribuita Alternative Ci si può inventare un dominio? Si può comprare... Ma limiti sul primo livello Progetto .fw (utenti fastweb) Bisogna settare come name server uno particolare che intercetta le domande relative a .fw DNS è una applicazione… Quindi se ne possono scrivere altre? Problema è farle accettare su larga scala... Carlo Bellettini Informatica Distribuita DNS Resource records (RR) Cosa viene salvato sul “database distribuito”? RR format: (name, value, type,ttl) Type=A name hostname value IP address Type=CNAME name alias www.ibm.com value canonical name servereast.backup2.ibm.com Type=NS Type=MX name dominio name dominio value IP address del value mailserver associato a authoritative name server dominio per questo dominio Carlo Bellettini Informatica Distribuita DNS protocol, messages DNS protocol : query e reply hanno lo stesso formato msg header identification: 16 bit # flags: query / reply recursion desired recursion available reply is authoritative Carlo Bellettini Informatica Distribuita DNS protocol, messages Name, type fields for a query RRs in response to query records for authoritative servers additional “helpful” info that may be used Carlo Bellettini Informatica Distribuita DIG bellettini.usr.dico.unimi.it ; <<>> DiG 8.3 <<>> bellettini.usr.dico.unimi.it ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUERY SECTION: ;; bellettini.usr.dico.unimi.it, type = A, class = IN ;; ANSWER SECTION: bellettini.usr.dico.unimi.it. 1H IN A 159.149.156.185 ;; AUTHORITY SECTION: usr.dico.unimi.it. 1H IN NS ghost.dico.unimi.it. ;; ADDITIONAL SECTION: ghost.dico.unimi.it. 1H IN A 159.149.130.49 ;; Total query time: 2 msec ;; FROM: netdev.usr.dico.unimi.it to SERVER: default -- 159.149.130.49 ;; WHEN: Fri Apr 16 14:11:38 2004 ;; MSG SIZE sent: 46 rcvd: 98 Carlo Bellettini Informatica Distribuita