Livello applicazione: Protocollo DNS



Похожие документы
Livello applicazione: Protocollo DNS

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

Programmazione in Rete

Parte II: Reti di calcolatori Lezione 10

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

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

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

Parte II: Reti di calcolatori Lezione 8

Reti di Calcolatori. Il Livello delle Applicazioni

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

Protocolli applicativi basati su TCP/IP

ARP (Address Resolution Protocol)

Dal protocollo IP ai livelli superiori

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

Sistemi avanzati di gestione dei Sistemi Informativi

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

Cenni di programmazione distribuita in C++ Mauro Piccolo

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

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

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

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

Reti di Telecomunicazione Lezione 8

Protocolli applicativi: FTP

Domain Name System (DNS)

TCP/IP: INDIRIZZI IP SIMBOLICI

20. DNS: Il Domain Name System

Reti di Telecomunicazione Lezione 6

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 Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Calcolatori

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

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

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

Network Services Location Manager. Guida per amministratori di rete

Interconnessione di reti

Introduzione alla rete Internet

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

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

Reti Informatiche. dott. Andrea Mazzini

Manuale per la configurazione di AziendaSoft in rete

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

Capitolo 2 Livello di applicazione

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)

Informatica per la comunicazione" - lezione 9 -

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

Transmission Control Protocol

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

KR_2. Livello di Applicazione di Internet

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

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

Reti diverse: la soluzione nativa

Reti di Telecomunicazioni LB Introduzione al corso

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

Il World Wide Web: nozioni introduttive

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

Protocolli di Comunicazione

appunti delle lezioni Architetture client/server: applicazioni client

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

InterNet: rete di reti

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

P2-11: BOOTP e DHCP (Capitolo 23)

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

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

Sistemi centralizzati e distribuiti

Il Web Server e il protocollo HTTP

19. LA PROGRAMMAZIONE LATO SERVER

Lezione 11 Livello Applicativo bind (DNS)

ESERCITAZIONE Semplice creazione di un sito Internet

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

Reti di Telecomunicazione Lezione 7

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.

Lezione 1 Introduzione

Транскрипт:

Livello applicazione: Protocollo DNS Gaia Maselli Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright. 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 sinistra a destra otteniamo informazioni sempre più specifiche sulla collocazione dell host in Internet (rete di appartenenza) v Simile ad un indirizzo postale letto dal basso verso l alto 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 di 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 applicativo (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 DNS response 2-6

DNS: è un applicazione? E` un protocollo del livello applicativo 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 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 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 applicativo 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

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-16

Esempio 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-17

Esempio 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-18

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-19

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-20

Record DNS DNS: database distribuito che memorizza i record di risorsa o resource record (RR). Ogni messaggio di risposta DNS trasporta uno o più RR Type=A Hostname è IP address v name è il nome dell host Formato RR: (Name, Value, Type, TTL) v value è l indirizzo IP Es. (relay1.bar.foo.com, 45.37.93.126, A) 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) 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) Type=MX Tempo residuo di vita 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-21

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-22

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-23

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-24

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-25

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-26

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 riinviato dal resolver (problema Risolto dallo strato applicativo) 2: Application Layer 27

Un esempio: uso di DNS da parte di un client web CLIENT Browser http://cerbero.elet.polimi.it/ people/bianchi/research.html Port no given by OS when UDP socket created 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 28

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 29

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 30

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 2: Application Layer 31

Prova pratica Nslookup dal prompt dei comandi > Nslookup www.di.uniroma1.it! namespace.pgmedia.net/nslookup/ v Inserendo www.di.uniroma1.it! v Si ottiene la seguente risposta Name: ccalcolo.di.uniroma1.it! Address: 151.100.17.39! Aliases: WWW.DI.UNIROMA1.IT! 2-32