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