INFORMATICA DISTRIBUITA lez 8 DNS (cont)

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