Livello applicazione: Protocollo DNS



Documenti analoghi
Livello applicazione: Protocollo DNS

Livello di applicazione. Reti di Calcolatori. Corso di Laurea in Ingegneria Informatica. Livello di applicazione DNS A.A.

Livello applicazione: Protocollo DNS

Livello applicazione: DNS

Programmazione in Rete

Parte II: Reti di calcolatori Lezione 10

Reti di Calcolatori:

Domain Name System. Gerarchia nomi simbolici

RETI E SISTEMI INFORMATIVI Domain Name System. Prof. Andrea Borghesan

INFORMATICA DISTRIBUITA. prof. Carlo Bellettini. lez 8 DNS (cont)

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Corso di recupero di sistemi Lezione 8

SISTEMA DEI NOMI DI DOMINIO (DNS) Funzionamento del DNS. Soluzione centralizzata

SISTEMA DEI NOMI DI DOMINIO (DNS)

Domain Name System: DNS

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

Parte II: Reti di calcolatori Lezione 8

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Reti di Calcolatori. Il Livello delle Applicazioni

Protocolli applicativi basati su TCP/IP

ARP (Address Resolution Protocol)

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Dal protocollo IP ai livelli superiori

Sistemi avanzati di gestione dei Sistemi Informativi

Domain Name System: DNS

(Domain Name System) DNS (Domain Name System) Architettura del DNS DNS. A.Lioy - Politecnico di Torino (2013) B-1. Antonio Lioy < lioy@polito.

Naming nei Sistemi Distribuiti

Naming nei Sistemi Distribuiti

PROTOCOLLI APPLICATIVI PER INTERNET

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 25/09/2011 prof. Antonio Santoro

Domain Name System. Nomi ed indirizzi. Esempio. DNS: Domain Name System

Inizializzazione degli Host. BOOTP e DHCP

Introduzione al Dns. Loredana Pillitteri. Semplificazione della gestione e delega amministrativa Pisa - CNR - ISTI dicembre 2003

Cenni di programmazione distribuita in C++ Mauro Piccolo

P2-09: Domain Name System (Cap. 24)

20. DNS: Il Domain Name System

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Reti di Telecomunicazione Lezione 8

Protocolli applicativi: FTP

TCP/IP: INDIRIZZI IP SIMBOLICI

Reti di Calcolatori AA 2011/2012. Protocolli di applicazione. Livello di applicazione (3) Capitolo 2: Livello di applicazione (3)

Protocolli di applicazione

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Domain Name System (DNS)

Reti di Telecomunicazione Lezione 6

Sistemi e Servizi di TLC. Lezione N. 6. Il servizio DNS (Domain Name System)

Introduzione alle applicazioni di rete

Reti di calcolatori. Reti di calcolatori

Domain Name Service. Mario BALDI. Silvano GAI. Fulvio RISSO. staff.polito.it/mario.baldi. sgai[at]cisco.com. fulvio.risso[at]polito.

Reti di Calcolatori

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Network Services Location Manager. Guida per amministratori di rete

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Il DNS e la gestione degli indirizzi IP. Appunti a cura del prof. ing. Mario Catalano

Introduzione alla rete Internet

Interconnessione di reti

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Inidirizzi IP e Nomi di Dominio. Domain Name System. Spazio dei Nomi Piatto. Gestione dello Spazio dei Nomi

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella

Parte II: Reti di calcolatori Lezione 9

Reti Informatiche. dott. Andrea Mazzini

Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, Pisa

Capitolo 2 Livello di applicazione

Reti di Telecomunicazioni LB Introduzione al corso

Domain Name Service. Mario BALDI. Silvano GAI. Fulvio RISSO. sgai[at]cisco.com. fulvio.risso[at]polito.

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Manuale per la configurazione di AziendaSoft in rete

Transmission Control Protocol

Application layer. Protocolli a livello applicativo. Identificatori in Internet. Protocolli a livello applicativo, esempi. Francesco Dalla Libera

Laboratorio di Reti Esercitazione N 2-DNS Gruppo 9. Laboratorio di Reti Relazione N 2. Mattia Vettorato Alberto Mesin

KR_2. Livello di Applicazione di Internet

Siti web centrati sui dati (Data-centric web applications)

Informatica per la comunicazione" - lezione 9 -

URI. Introduzione. Pag. 1

P2-11: BOOTP e DHCP (Capitolo 23)

Reti diverse: la soluzione nativa

Lezione 11 Livello Applicativo bind (DNS)

ARP e RARP. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it Fulvio RISSO

Internet: Domini e spazi web. conoscerlo al meglio per usarlo meglio Gabriele Riva - Arci Barzanò

Protocolli di Comunicazione

appunti delle lezioni Architetture client/server: applicazioni client

Esercitazione. Formato di compitini e compiti: domande ed esercizi "closed book" G. Ferrari - Reti di calcolatori.

Applicazioni web centrati sui dati (Data-centric web applications)

InterNet: rete di reti

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

19. LA PROGRAMMAZIONE LATO SERVER

Sistemi centralizzati e distribuiti

Livello Applicazione. Davide Quaglia. Motivazione

Il World Wide Web: nozioni introduttive

ESERCITAZIONE Semplice creazione di un sito Internet

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

Reti di Telecomunicazione Lezione 7

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Lezione 1 Introduzione

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

Transcript:

Livello applicazione: Protocollo DNS Gaia Maselli Queste slide sono un adattamento delle slide fornite dai libri di testo e pertanto protette da copyright. - Copyright 2013 McGraw-Hill Education Italy srl - All material copyright 1996-2007 J.F Kurose and K.W. Ross, All Rights Reserved 2-1

Identificazione degli host Identificazione degli host Persone: molti identificatori: v nome, codice fiscale, numero della carta d identità Host Internet hanno nomi (hostname) v v www.google.com w3.uniroma1.it I nomi sono facili da ricordare ma forniscono poca informazione sulla collocazione degli host all interno di Internet v w3.uniroma1.it ci dice che l host si trova probabilmente in Italia ma non dove Indirizzi IP per gli host: v v indirizzo IP (32 bit) - usato per indirizzare i datagrammi Più appropriato per le macchine 2-2

Indirizzo IP Consiste di 4 byte v E costituito da una stringa in cui ogni punto separa uno dei byte espressi con un numero decimale compreso tra 0 e 255 Presenta una struttura gerarchica v Leggendolo da destra a sinistra otteniamo informazioni sempre più specifiche sulla collocazione dell host in Internet (rete di appartenenza) Esempio v 121.34.230.94 D: Come associare un indirizzo IP a un nome? 2-3

DNS: Domain Name System www.uniroma1.it DNS 130.186.99.43 2-4

Servizio DNS Domain Name System (RFC 1034, 1035): r Database distribuito implementato in una gerarchia di server DNS r Protocollo a livello applicazione che consente agli host di interrogare il database distribuito per risolvere i nomi (tradurre indirizzi/nomi) r Il DNS viene utilizzato dagli altri protocolli di livello applicazione (HTTP, SMTP, FTP) per tradurre hostname in indirizzi IP r Utilizza il trasporto UDP e indirizza la porta 53 2-5

Esempio di interazione con HTTP Un browser (ossia client HTTP) di un host utente richiede la URL www.someschool.edu 1. L host esegue il lato client dell applicazione DNS 2. Il browser estrae il nome dell host, www.someschool.edu dall URL e lo passa al lato client dell applicazione DNS 3. Il client DNS invia una query contenente l hostname a un server DNS 4. Il client DNS riceve una risposta che include l indirizzo IP corrispondente all hostname 5. Ottenuto l indirizzo IP dal DNS, il browser può dare inizio alla connessione TCP verso il server HTTP localizzato a quell indirizzo IP HTTP query response DNS query response 2-6

DNS: è un applicazione? E` un protocollo del livello applicazione v Viene eseguito dagli end system secondo il paradigma clientserver v Utilizza un protocollo di trasporto end-to-end per traferire messaggi tra gli end system (UDP) Non è un applicazione con cui gli utenti interagiscono direttamente (eccetto amministratori di rete) Fornisce una funzionalità di base di internet per le applicazioni utente Rispecchia la filosofia di concentrare la complessità nelle parti periferiche della rete 2-7

Servizi DNS: aliasing Permette di associare un nome più semplice da ricordare a un nome complesso Host aliasing: un host può avere uno o più sinonimi (alias) v Esempio: relay1.west-coast.enterprise.com potrebbe avere due sinonimi, quali enterprise.com e www.enterprise.com v relay1.west-coast.enterprise.com è un hostname canonico v enterprise.com e www.enterprise.com sono alias v Gli alias sono più facili da ricordare v Il DNS può essere invocato da un applicazione per l hostname canonico di un sinonimo così come l IP Mail server aliasing: spesso i mail server e il web server di una società hanno lo stesso alias, ma nomi canonici diversi Il DNS può essere invocato da un applicazione per avere il nome canonico di un alias e il suo indirizzo IP 2-8

Servizi DNS: distribuzione del carico DNS viene utilizzato per distribuire il carico tra server replicati (es. web server) I siti con molto traffico (es. cnn.com) vengono replicati su più server, e ciascuno di questi gira su un sistema terminale diverso e presenta un indirizzo IP differente Hostname canonico associato a un insieme di indirizzi IP Il DNS contiene l insieme di indirizzi IP Quando un client effettua un richiesta DNS per un nome mappato in un insieme di indirizzi, il server risponde con l insieme di indirizzi ma variando l ordinamento a ogni risposta La rotazione DNS distribuisce il traffico sui server replicati 2-9

DNS r Traduce nomi in indirizzi IP r Ai tempi di ARPANET era un file host.txt che veniva caricato durante la notte r Adesso è un applicazione che gira su ogni host r Costituita da v un gran numero di server DNS distribuiti per il mondo v Un protocollo a livello applicazione che specifica la comunicazione tra server DNS e host richiedenti Perché non centralizzare DNS? r singolo punto di guasto r volume di traffico r database centralizzato distante r manutenzione Un database centralizzato su un singolo server DNS non è scalabile! 2-10

Gerarchia DNS Nessun server DNS mantiene il mapping per tutti gli host in Internet Il mapping è distribuito su svariati server DNS Ci sono 3 classi di server DNS organizzati in una gerarchia: v Root v Top-level domain (TLD) v Authoritative Ci sono poi i server DNS locali con cui interagiscono direttamente le applicazioni 2-11

Database distribuiti e gerarchici Server DNS radice Server DNS com Server DNS org Server DNS edu Server DNS di yahoo.com Server DNS di amazon.com Server DNS di pbs.org Server DNS di poly.edu Server DNS di umass.edu Esempio: Il client vuole l IP di www.amazon.com r Il client interroga il server radice (root) per trovare il server DNS com r Il client interroga il server DNS com per ottenere il server DNS amazon.com r Il client interroga il server DNS amazon.com per ottenere l indirizzo IP di www.amazon.com 2-12

DNS: server DNS radice r In Internet ci sono 13 server DNS radice r Ognuno di questi server è replicato per motivi di sicurezza e affidabilità (in totale diventano 247 root server) r I root server vengono contattati dai server DNS locali r Server DNS radice: v contatta un server DNS autorizzato (TLD) se non conosce la mappatura v ottiene la mappatura v restituisce la mappatura al server DNS locale a Verisign, Dulles, VA c Cogent, Herndon, VA (e Los Angeles) d U Maryland College Park, MD g US DoD Vienna, VA k RIPE Londra (anche Amsterdam e Francoforte) h ARL Aberdeen, MD i Autonomica, Stoccolma (più altre 3 locazioni) j Verisign, ( 11 locazioni) e NASA Mt View, CA f Internet Software C. Palo Alto, CA (e altre 17 locazioni) b USC-ISI Marina del Rey, CA l ICANN Los Angeles, CA m WIDE Tokyo 13 server DNS radice nel mondo 2-13

Server TLD e server di competenza r Server TLD (top-level domain): si occupano dei domini com, org, net, edu, ecc. e di tutti i domini locali di alto livello, quali it, uk, fr, ca e jp. v La compagnia Verisign Global Registry Services gestisce i server TLD per il dominio com v La compagnia Educause gestisce quelli per il dominio edu r Server di competenza (authoritative server): ogni organizzazione dotata di host Internet pubblicamente accessibili (quali i server web e i server di posta) deve fornire i record DNS di pubblico dominio che mappano i nomi di tali host in indirizzi IP. v possono essere mantenuti dall organizzazione (università) o da un service provider v In genere sono due server (primario e secondario) 2-14

esempio 2-15

Etichette dei domini generici 2-16

Server DNS locale r Non appartiene strettamente alla gerarchia dei server r Ciascun ISP (università, società, ISP residenziale) ha un server DNS locale. v detto anche default name server r Quando un host effettua una richiesta DNS, la query viene inviata al suo server DNS locale v il server DNS locale opera da proxy e inoltra la query in una gerarchia di server DNS 2-17

Query iterativa Server DNS radice r L host cis.poly.edu vuole l indirizzo IP di gaia.cs.umass.edu Query iterativa: (2-7) r Il server contattato risponde con il nome del server da contattare r Io non conosco questo nome, ma puoi chiederlo a questo server. Server DNS locale dns.poly.edu 1 2 Host richiedente cis.poly.edu N.B. Per ottenere la mappatura di un hostname sono stai inviati 8 messaggi!!! 8 3 4 5 7 Server DNS TLD 6 Server DNS di competenza dns.cs.umass.edu gaia.cs.umass.edu 2-18

Query ricorsiva Server DNS radice Query ricorsiva: r Affida il compito di tradurre il nome al server DNS contattato 2 7 6 3 Server DNS TLD Server DNS locale dns.poly.edu 5 4 1 8 Server DNS di competenza dns.cs.umass.edu Host richiedente cis.poly.edu gaia.cs.umass.edu 2-19

DNS: caching r DNS sfrutta il caching per migliorare le prestazioni di ritardo e per ridurre il numero di messaggi DNS che rimbalzano in Internet r Una volta che un server DNS impara la mappatura, la mette nella cache v le informazioni nella cache vengono invalidate (spariscono) dopo un certo periodo di tempo (es. 2 giorni) v tipicamente un server DNS locale memorizza nella cache gli indirizzi IP dei server TLD (ma anche quelli di competenza) quindi i server DNS radice non vengono visitati spesso q Esempio: più utenti in dipartimento che si connettono sul sito dell università di Berkley r I meccanismi di aggiornamento/notifica sono progettati da IETF v RFC 2136 v http://www.ietf.org/html.charters/dnsind-charter.html 2-20

DNS record e messaggi Il mapping è mantenuto nei database sotto forma di resource record (RR) Ogni RR mantiene un mapping ( es. tra hostname e indirizzo IP, alias e nome canonico, etc.) I record vengono spediti tra server e all host richiedente all interno di messaggi DNS Un messaggio può contenere più RR 2-21

Record DNS Database distribuito che memorizza i record di risorsa o resource record (RR). Ogni messaggio di risposta DNS trasporta uno o più RR Formato RR: (Name, Value, Type, TTL) Tempo residuo di vita 2-22

Record DNS Formato RR: (Name, Value, Type, TTL) Type=A Hostname è IP address v name è il nome dell host v value è l indirizzo IP Es. (relay1.bar.foo.com, 45.37.93.126, A) 2-23

Record DNS Formato RR: (Name, Value, Type, TTL) Type=CNAME Alias è Canonical Name v name è il nome alias di qualche nome canonico (nome vero) v value è il nome canonico Es. (foo.com, relay1.bar.foo.com, CNAME) 2-24

Record DNS Formato RR: (Name, Value, Type, TTL) Type=NS Domain name è Name Server v name è il dominio (ad esempio foo.com) v value è il nome dell host del server di competenza di questo dominio Es. (foo.com, dns.foo.com, NS) 2-25

Record DNS Formato RR: (Name, Value, Type, TTL) Type=MX Alias è mail server canonical name v value è il nome canonico del server di posta associato a name Es. (foo.com, mail.bar.foo.com, MX) 2-26

Tipi di record 2-27

Esempio Server di competenza per un hostname v Contiene un record di tipo A per l hostname v Es. (corsi.di.uniroma1.it, 131.111.45.68, A) Server non di competenza per un dato hostname v Contiene un record di tipo NS per il dominio che include l hostname Es.: v Contiene un record di tipo A che fornisce l indirizzo IP del server DNS nel campo value del record NS v Un server TLD it non è competente per l host corsi.di.uniroma1.it v Contiene (uniroma1.it, dns.uniroma1.it, NS) (dns.uniroma1.it, 128.119.40.111, A) 2-28

Messaggi DNS Protocollo DNS: domande (query) e messaggi di risposta, entrambi con lo stesso formato Intestazione del messaggio r Identificazione: numero di 16 bit per la domanda; la risposta alla domanda usa lo stesso numero r Flag: v domanda o risposta v richiesta di ricorsione v ricorsione disponibile v risposta di competenza (il server è competente per il nome richiesto) q Numero di: numero di occorrenze delle quattro sezioni di tipo dati che seguono 2-29

Messaggi DNS Campi per il nome richiesto e il tipo di domanda (A, MX) RR nella risposta alla domanda Più RR nel caso di p.e. di server replicati Record per i server di competenza Informazioni extra che possono essere usate Nel caso di una risposta MX, il campo di risposta contiene il record MX con il nome canonico del server di posta, mentre la sezione aggiuntiva contiene un record di tipo A con l indirizzo IP relativo all hostname canonico del server di posta 2-30

Inserire record nel database DNS r Esempio: abbiamo appena avviato la nuova società Network Utopia r Registriamo il nome networkuptopia.it presso registrar (www.registro.it) v Forniamo al registrar i nomi e gli indirizzi IP dei server DNS di competenza (primario e secondario) v Registrar inserisce due RR nel server TLD it: v (networkutopia.it, dns1.networkutopia.it, NS) v (dns1.networkutopia.it, 212.212.212.1, A) N.B. The Internet Assigned Numbers Authority (IANA) is responsible for the global coordination of the DNS Root, IP addressing, and other Internet protocol resources (see also ICANN) IANA's Root Zone Database contains the authoritative record of the operators of various top-level domains r Inseriamo nel server di competenza un record tipo A per www.networkuptopia.it e un record tipo MX per networkutopia.it r In che modo gli utenti otterranno l indirizzo IP del nostro sito web? 2-31

esempio Local proxy at uniroma1 2 Root DNS per / 1 5 Record A 3 4 TLD DNS per com Authoritative DNS Per example.com www.example.com. 150.160.15.12 URL: www.example.com Browser invia query DNS al proxy 6 Web server IP: 150.160.15.12 2-32

Perche UDP? Less overhead Messaggi corti Tempo per set-up connessione di TCP lungo Un unico messaggio deve essere scambiato tra una coppia di server (nella risoluzione contattati diversi server se si usasse TCP ogni volta dovremmo mettere su la connessione!!) Se un messaggio non ha risposta entro un timeout? Semplicemente viene ri-inviato dal resolver (problema risolto dallo strato applicativo) 2: Application Layer 33

Un esempio: uso di DNS da parte di un client web CLIENT Browser http://cerbero.elet.polimi.it/ people/bianchi/research.html DNS server(s) Port 23561 151.100.37.9 Browser asks DNS to resolve location cerbero.elet.polimi.it Uses UDP packet <151.100.37.9,port=23561>, <name_server_ip_address, port 53> 2: Application Layer 34

opening transport session: client side, step b CLIENT Browser http://cerbero.elet.polimi.it/ people/bianchi/research.html DNS server(s) Port 23561 151.100.37.9 Network responds with IP address 131.175.15.1 Uses UDP connection <name_server_ip_address, port 53>, <151.100.37.9,port=23561> 2: Application Layer 35

opening transport session: client side, step c Browser http://cerbero.elet.polimi.it/ people/bianchi/research.html Port 2345 CLIENT Port 23561 151.100.37.9 Closes UDP socket used for DNS lookup Creates TCP socket and assigns port no. Sends TCP conn req to server 131.175.21.1 port 80 INTERNET SERVER IP: 131.175.21.1 Port: 80 TCP connection <151.100.37.9, 2345>, <131.175.21.1,80> 2: Application Layer 36

opening transport session: server side v httpd (http daemon) process listens for arrival of connection requests from port 80. v Upon connection request arrival, server decides whether to accept it, and send back a TCP connection accept v This opens a TCP connection, uniquely identified by client address+port and server address+port 80 (coppia di indirizzi socket) 2: Application Layer 37

Prova pratica Nslookup: command-line tool to query Internet DNS interactively nslookup dal prompt dei comandi Ø nslookup www.di.uniroma1.it! Ø nslookup type=ns uniroma1.it! Ø nslookup uniroma1.it 151.100.4.13! Ø nslookup type=ns. 2-38