Domain Name System Nomi ed indirizzi Esempio

Transcript

Domain Name System Nomi ed indirizzi Esempio
DNS: Domain Name System
Domain Name System
Persone: diversi codici di
identificazione:
CF, SSN, Passport #
Internet: hosts/routers:
GianLuigi Ferrari
IP address (32 bit):
l’indirizzo dei datagrams
“nome dei datagrams”,
e.g., gaia.cs.umass.edu
Come viene definita
l’associazione IP
addresses/name ?
1
Domain Name System:
Database distribuito
realizzatùto mediante una
gerarchia di name servers
application-layer protocol
host, routers, name
servers comunicano tra di
loro per risolvere la
traduzione nome/indirizzo
Una funzione di base
del funzionamento di
internet è realizzata
da un protocollo delle2
applicazioni.
Nomi ed indirizzi
È raro che i programmi si riferiscano a host,
mailbox o altre risorse di rete mediante il
loro indirizzo assoluto: invece di usare
numeri si usano stringhe ASCII
Esempio
Hosts
cheltenham.cs.princeton.edu
192.12.69.17
80:23:A8:33:5B:9F
[email protected]
www.di.unipi.it
Files
/usr/llp/tmp/foo
Risulta dunque necessario un meccanismo di
conversione delle stringhe ASCII in indirizzi
di rete
(server, fileid)
Users
GianLuigi Ferrari
[email protected]
3
4
1
Esempio
Mailboxes
2
cs.princeton.edu
Name
server
User
1
user @ cs.princeton.edu
Ai tempi di ARPANET esisteva in ogni sistema
opertivo un unico file, hosts.txt, che elencava tutti gli
host e i loro indirizzi IP. Ogni notte tutti gli host della
rete lo copiavano dal sito in cui era mantenuto
Quando la rete comprendeva solo qualche centinaio
di grosse macchine questo approccio funzionava
bene; quando la rete crebbe venne inventato il
servizio DNS (Domain Name Server), definito nei
documenti RFC 1034 e 1035
Mail
program
192.12.69.5
192.12.69.5
3
4
TCP
192.12.69.5
Un po’ di storia
5
IP
Services
La stampante piu’ vicina all’utente
5
6
Lo spazio dei nomi
I Domini
Ogni entità in Internet possiede un nome
unico a livello mondiale: la gestione
dell’insieme di tali nomi, che è vasto ed in
continua modifica, è un problema complesso
Lo spazio dei nomi Internet è suddiviso in
centinaia di domini radice; ogni dominio si
divide in sottodomini, che a loro volta
possono essere partizionati
I domini radice possono essere generici o
nazionali
I domini generici sono com (commerciale),
edu (istituzioni educative), gov (il governo
federale USA), int (organismi internazionali o
sovranazionali), mil (le forze armate USA),
net (fornitori di servizi di rete), e org
(organizzazioni senza scopo di lucro).
I domini nazionali sono uno per nazione
(definiti dallo standard ISO 3166)
7
8
2
DNS
Gerarchia di naming
Gerarchie di naming
Il nome di un dominio è composto dal cammino
inverso dalla foglia fino alla radice (anonima); i
componenti del cammino sono separati da punti.
I nomi dei domini sono insensibili alle
maiuscole/minuscole
I nomi all’interno dei cammini possono essere lunghi
al più 63 caratteri, mentre un cammino non può
superare complessivamente i 255 caratteri
Esempio: il dominio del dipartimento di informatica
a Pisa è di.unipi.it
9
10
Interrogare il DNS
Il programma nslookup permette di
interrogare il DNS
Per convertire un nome di dominio in numero IP
Per convertire un numero IP in nome di dominio
La funzione nslookup è presente in tutti i
sistemi operativi (es Windows 2000)
Il sito Web www.infobear.com/nslookup.shtml
permette di interrogare via Web il DNS
Il sito www.nic.it/RA/database/database.html
accede al registro della Registration Authority
italiana
11
12
3
Name Servers
In teoria un solo name server potrebbe
contenere l’intero database DNS mondiale; in
pratica, questo server sarebbe così
sovraccarico da essere inservibile. Inoltre, se
mai si guastasse, l’intera Internet sarebbe
bloccata.
Nota: Nel 2000 c’erano solo 13 root name
servers:10 negli USA, uno a Londra, uno a
Stoccolma, uno a Tokyo
www.icann.org/committees/dns-root/y2kstatement.htm
Zone
Lo spazio dei nomi DNS è suddiviso in zone non
sovrapposte (cioè senza intersezione); normalmente
una zona avrà un name server principale, che legge
informazioni da un file sul proprio disco, ed uno o più
name server secondari, che prendono le loro
informazioni dal name server principale
Per migliorare l’affidabilità, è possibile che alcuni server
di zona si trovino al di fuori della zona stessa.
Dove siano posti i confini di una zona è affare
dell’amministratore della zona. Questa decisione è in
gran parte basata su quanti name server si vogliono e
dove vanno collocati.
13
14
Name Servers
Partizione della gerarchia in zone
edu
princeton …mit
cs
com
gov
cisco … yahoo nasa … nsf
mil
org
arpa …navy
acm … ieee
net
uk
fr
ee physics
ux01 ux04
DNS name servers
Nessun server memorizza
DNS centralizzato
l’associazione name-to-IP
Punto di fallimento globale
address per tutta Internet
Volume di traffico elevato local name servers:
Database remoto
ogni ISP ha un local
(default) name server
maintenance
Primo passo: query al local
name server
Root
name server
Ogni zona può avere due o piu’
name servers
Non scala!!!
Princeton
name server
CS
name server
…
…
Cisco
name server
EE
name server
15
authoritative name server:
host: memorizza l’indirizzo
IP ed il nome del sistema
Effettua la traduzione
name/IP address translation
16
4
Distributed, Hierarchical
Database
DNS
Quando un programma deve trasformare un
nome in un indirizzo IP chiama una
procedura detta resolver, passandole il nome
come parametro di ingresso.
Il resolver interroga un server DNS locale,
che cerca il nome nelle sue tabelle e
restituisce l’indirizzo al resolver, che a sua
volta lo trasmette al programma chiamante
(usando tale indirizzo IP il programma può
aprire una connessione di rete con la
destinazione)
Root DNS Servers
com DNS servers
yahoo.com
DNS servers
amazon.com
DNS servers
org DNS servers
pbs.org
DNS servers
edu DNS servers
poly.edu
umass.edu
DNS serversDNS servers
Client: IP for www.amazon.com?;
Client queries a root server to find com DNS server
Client queries com DNS server to get amazon.com
DNS server
Client queries amazon.com DNS server to get IP
address for www.amazon.com
17
DNS: Root name servers
Contattati dai name server locali root name server:
Interagiscono con il name server di autorità (se non
possono risolvere direttamente ilo nome)
Ottengono il mapping
Restituiscono il risultato
a
c
d
g
h
NSI Herndon, VA
PSInet Herndon, VA
U M aryland College Park, M D
DISA Vienna, VA
ARL Aberdeen, M D
j NSI (TBD) Herndon, VA
TLD and Authoritative Servers
Top-level domain (TLD) servers: sono I
server in carico del naming per com, org,
net, edu, etc, e per i country domains (it,
uk, fr, ca, etc).
k RIPE London
i NORDUnet Stoc kholm
Authoritative DNS servers: DNS server
dei provider
m WIDE T okyo
e NASA M t View, CA
f Internet Software C. Palo
Alto, CA
b USC-ISI M arina del Rey, CA
l ICANN M arina del Rey, CA
18
13 root name servers
worldwide
19
20
5
Local Name Server
Example
Host locale
cis.poly.edu wants
effettua una query
per determinare
IP address di
gaia.cs.umass.edu
Ogni ISP (residenziale -- company,
universita’) al il proprio server
“default name server”
Una query al DNS viene inviata al DNS
locale
root DNS server
2
3
4
5
local DNS server
dns.poly.edu
1
6
7
8
requesting host
Sostanzialmente un proxy per la gerarchia
TLD DNS server
authoritative DNS server
dns.cs.umass.edu
cis.poly.edu
gaia.cs.umass.edu
21
Recursive queries
root name server
root DNS server
3
7
6
TLD DNS server
local DNS server
dns.poly.edu
5
authoritative DNS server
dns.cs.umass.edu
cis.poly.edu
gaia.cs.umass.edu
23
server restituisce il
nome del name
server da
contattare per
risolvere la query
“I don’t know this
name, but ask this
server”
iterated query
2
Meccanismo di
trasmissione delle
query tra i vari
name server
iterated query:
4
8
requesting host
DNS: queries
recursive query:
2
1
22
3
4
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
24
6
DNS: caching
Un generico name server può effetttuare
una operazione di caching per memorizzare
i risultati delle query
Elementi della cache diventano “vecchi”
Meccanismi per update/notify sono in fase
di progetto
DNS records
DNS: distributed db che memorizza resource records (RR)
RR format: (name,
Type=A
name is hostname
value is IP address
Type=NS
name is domain (e.g.
foo.com)
value is IP address of
authoritative name server
for this domain
RFC 2136
http://www.ietf.org/html.charters/dnsind-charter.html
25
RR Type A
Associazione standard tra nome ed un
indirizzo IP
value, type,ttl)
Type=CNAME
name è un alias di un nome
“canonico”
www.ibm.com è
servereast.backup2.ibm.com
Value è il nome
canonico
Type=MX
value is hostname of
mailserver associated with
name
26
RR: Type NS
Associazione tra il nome di un dominio
e l’indirizzo dell’host che e’ in grado di
ottenere gli indirizzi IP di host
all’interno di quel dominio
(a.b.c.d, 145.37.93.126, A)
(a.b, dns.a.b, NS)
27
28
7
RR: Type =CNAME
Permette di associare un indirizzo
canonico ad un alias
RR: Type = MX
Permette di avere l’indirizzo dell’host di
un mail server
(foo.com, a.b.foo.com, CNAME)
(foo.com, mailserver.a.foo.com, MX)
29
Root Server
(princeton.edu, cit.princeton.edu, NS, IN)
(cit.princeton.edu, 128.196.128.233, A, IN)
(cisco.com, thumper.cisco.com, NS, IN)
(thumper.ciscoe.com, 128.96.32.20, A, IN)
30
Princeton Server
(cs.princeton.edu, optima.cs.princeton.edu, NS, IN)
(optima.cs.princeton.edu, 192.12.69.5, A, IN)
(ee.princeton.edu, helios.ee.princeton.edu, NS, IN)
(helios.ee.princeton.edu, 128.196.28.166, A, IN)
(jupiter.physics.princeton.edu, 128.196.4.1, A, IN)
(saturn.physics.princeton.edu, 128.196.4.2, A, IN)
(mars.physics.princeton.edu, 128.196.4.3, A, IN)
(venus.physics.princeton.edu, 128.196.4.4, A, IN)
…
31
32
8
CS Server
(cs.princeton.edu, optima.cs.princeton.edu, MX, IN)
(cheltenham.cs.princeton.edu, 192.12.69.60, A, IN)
(che.cs.princeton.edu, cheltenham.cs.princeton.edu,
CNAME, IN)
(optima.cs.princeton.edu, 192.12.69.5, A, IN)
(opt.cs.princeton.edu, optima.cs.princeton.edu,
CNAME, IN)
(baskerville.cs.princeton.edu, 192.12.69.35, A, IN)
(bas.cs.princeton.edu,
baskerville.cs.princeton.edu, CNAME, IN)
DNS protocol, messages
DNS protocol : query / repy messages,
Identico message format
msg header
identification: 16 bit # for query,
repy to query uses same #
flags:
query or reply
recursion desired
recursion available
reply is authoritative
33
34
DNS protocol, messages
DNS
Name, type fields
for a query
Protocollo di trasporto: UDP
Porta: 53
RRs in reponse
to query
records for
authoritative servers
additional “helpful”
info that may be used
35
36
9
Inserting records into DNS
Startup “Network Utopia”
Registrare il nome networkuptopia.com
Need to provide registrar with names and IP
addresses of your authoritative name server
(primary and secondary)
Registrar inserts two RRs into the com TLD server:
(networkutopia.com,
dns1.networkutopia.com, NS)
(dns1.networkutopia.com, 212.212.212.1,
A)
Put in authoritative server Type A record for
www.networkuptopia.com and Type MX record
for networkutopia.com
37
10