Application Layer DNS, TELNET



Documenti analoghi
Application Layer DNS, TELNET. DNS: Domain Name System. DNS: gerarchia dei domini. DNS: Domain Name System. DNS: Domain Name System

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

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

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

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

Domain Name System. Gerarchia nomi simbolici

Reti di Calcolatori in Tecnologia IP

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

Telematica di Base. IL Livello di Trasporto TCP

Transmission Control Protocol

Reti di Telecomunicazione Lezione 8

4 - Il livello di trasporto

Livello di Trasporto

Domain Name System (DNS)

ARP (Address Resolution Protocol)

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

Domain Name System: DNS

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

Inizializzazione degli Host. BOOTP e DHCP

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

SISTEMA DEI NOMI DI DOMINIO (DNS)

TELNET [RFC 854, ]

Livello Trasporto. Liv. Applic. Liv. Transport. Transport Entity. Liv. Network. Trasporto

Parte II: Reti di calcolatori Lezione 10

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10

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

Corso di recupero di sistemi Lezione 8

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

Reti di Calcolatori:

IL LIVELLO TRASPORTO Protocolli TCP e UDP

CORSO DI RETI SSIS. Lezione n.3 9 novembre 2005 Laura Ricci


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

Capitolo 3 Livello di trasporto

IL LIVELLO TRASPORTO Protocolli TCP e UDP

Gestione degli indirizzi

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

Gestione degli indirizzi

Reti diverse: la soluzione nativa

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

Programmazione in Rete

Reti di Telecomunicazione Lezione 6

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

Introduzione (parte III)

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

Dal protocollo IP ai livelli superiori

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

Programmazione in Rete

P2-11: BOOTP e DHCP (Capitolo 23)

PROTOCOLLI APPLICATIVI PER INTERNET

Domain Name System: DNS

Reti di Calcolatori. Il Livello delle Applicazioni

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

Reti di Calcolatori. Il software

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

Il livello trasporto Protocolli TCP e UDP

Reti di Calcolatori:

I protocolli UDP e TCP

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

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Standard: OSi vs TCP/IP. Il livello di trasporto. TCP e UDP. TCP: Transmission Control Protocol. TCP: funzionalità

Reti di calcolatori TCP/IP. Slide a cura di Simon Pietro Romano

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

Elementi sull uso dei firewall

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

Parte II: Reti di calcolatori Lezione 8

Parte II: Reti di calcolatori Lezione 13

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Venerdì 18 Febbraio 2005, ore 9.30

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

Il protocollo TCP. Obiettivo. Procedura

Internet. Cos'è internet? I parte

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 3

MODELLI ISO/OSI e TCP/IP

20. DNS: Il Domain Name System

Introduzione alle applicazioni di rete

INFORMATICA DISTRIBUITA. prof. Carlo Bellettini. lez 1 Informazioni Logistiche

Cenni di programmazione distribuita in C++ Mauro Piccolo

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

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B

Livello applicazione: Protocollo DNS

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

Livello applicazione: Protocollo DNS

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30

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

Reti diverse: la soluzione nativa

Configurazione IP. Assegnazione Indirizzi IP

Protocolli applicativi basati su TCP/IP

L architettura di TCP/IP

Il routing in Internet Exterior Gateway Protocols

Approfondimento di Marco Mulas

Internet Control Message Protocol ICMP. Struttura di un Messaggio ICMP. Segnalazione degli Errori

Internet, così come ogni altra rete di calcolatori possiamo vederla suddivisa nei seguenti componenti:

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

Esercizi (1-2): da: TCP/IP Sockets in C (Donahoo-Calvert)

Introduzione alla rete Internet

Livello trasporto: TCP / UDP. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 14 TCP/UDP - 1/35.

ICMP. Internet Control Message Protocol. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it

Gestione della Connessione in TCP

Sicurezza delle reti. Monga. Il livello di trasporto. Problemi di sicurezza intrinseci. Riassunto. Porte. Sicurezza delle reti.

Transcript:

Application Layer DNS, TELNET DNS: Domain Name System The Domain Name System is a hierarchical distributed database. It stores information for mapping Internet host names to IP addresses and vice versa, mail routing information, and other data used by Internet s. Clients look up information in the DNS by calling a resolver library, which sends queries to one or more name servers and intrerprets the responses 1

DNS: Domain Name System Gli host su Internet e i router possono essere identificati mediante un indirizzo IP (32 bit) (130.251.152.126) un nome logico (forum.educ.disi.unige.it) Il DNS si occupa del mapping tra nomi logici e indirizzi IP DNS: gerarchia dei domini root com edu gov int mil net org au... it... zw top level gnu. unige unito 2 o livello = generici = relativi a nazioni www. www.gnu.org disi www dima www 3 o livello 4 o livello www.disi.unige.it 2

DNS: Domain Name System È un protocollo del livello Application usato dagli host per risolvere i nomi È caratterizzato da domande (query) e risposte (reply) Il DNS viene usato da altre applicazioni (basate su HTTP, SMTP, ) per tradurre i nomi logici forniti dall utente in indirizzi IP DNS: Domain Name System Sulla macchina client gira la parte client del DNS, cioè quella che inizia il meccanismo di interrogazione (query) per ottenere un indirizzo IP Il DNS usa i servizi che UDP fornisce a livello di trasporto Porta 53 3

DNS: Domain Name System http://www.disi.unige.it DNS client Name server Indirizzo IP telnet 130.251.61.252 80 Connessione TCP Perchè non centralizzare il DNS? Problema di tolleranza ai guasti Impensabile con l attuale volume di traffico Non può essere vicino a tutti gli host che hanno bisogno di questo servizio Difficile da mantenere aggiornato doesn t scale! doesn t scale! 4

DNS name server Non esiste quindi un unico server che conosce il mapping di tutti i nomi logici negli indirizzi IP corrispondenti Si distingue tra 1) local name server Ogni ISP, ogni azienda, ogni università ha il suo local name server Le richieste al DNS passano prima attraverso il name server locale DNS name server 2) authoritative name server Per un host memorizza la coppia <IP, nome logico> Amministrano gruppi di host 3) root name server Contengono gli IP degli authoritative name server (o sanno a chi chiedere) per ogni dominio registrato ufficialmente 5

DNS: root name server 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 b USC-ISI Marina del Rey, CA l ICANN Marina del Rey, CA 13 root name server DNS: root name server Quando un root name server riceve una richiesta da un name server locale Se conosce il mapping tra nome logico e indirizzo IP lo restituisce al name server locale Altrimenti interroga l authoritative name server per quel name server locale ottiene il mapping lo restituisce al name server locale 6

Esempio (1) root name server 2 5 3 4 local name server dns.eurecom.fr authorititive name server dns.umass.edu 1 6 surf.eurecom.fr gaia.cs.umass.edu query reply Esempio (2) root name server 2 7 3 6 local name server dns.eurecom.fr 1 8 intermediate name server dns.umass.edu 4 5 surf.eurecom.fr authoritative name server dns.cs.umass.edu query reply gaia.cs.umass.edu 7

Esempio (3): query iterative Il server contattato non restituisce un indirizzo IP ma il nome di un altro server: non conosco questo nome, prova a chiedere a questo server local name server dns.eurecom.fr 1 2 8 surf.eurecom.fr 3 4 7 root name server query iterativa intermediate name server dns.umass.edu 5 6 authoritative name server dns.cs.umass.edu query reply gaia.cs.umass.edu In realtà DNS: caching I name server conservano nella memoria cache i mapping che ricevono (che valgono fino allo scadere di un timeout) Grazie al meccanismo del caching i name server locali possono evitare di interrogare i root name server ogni volta che necessitano di un indirizzo IP La richiesta viene invece passata al name server di livello superiore 8

DNS: formato dei messaggi numero a 16 bit per identificare la richiesta (la risposta usa lo stesso numero) query o reply query ricorsiva reply da un name server autoritativo DNS: formato dei messaggi Name, Type per una query record in risposta ad un query record per i server autoritativi 9

DNS: resource record RR: (Name, Value, Type, TTL) TTL (Time to Live) Determina la durata della validità di una risorsa in cache (un mapping nome logico IP) DNS: resource record RR: (Name, Value, Type, TTL) Type: Name: Value: A host indirizzo IP 10

DNS: resource record RR: (Name, Value, Type, TTL) Type: Name: Value: NS dominio (es. unige.it) nome del name server autoritativo per il dominio (serve per il routing delle query) DNS: resource record RR: (Name, Value, Type, TTL) Type: Name: Value: CNAME è l alias del nome canonico es. webapp.educ.disi.unige.it è l alias di puin.educ.disi.unige.it è il nome canonico 11

DNS: resource record RR: (Name, Value, Type, TTL) Type: Name: Value: MX alias del mail server nome canonico del mail server Comando dig $$ dig pianeta.di.unito.it ; <<>> DiG 8.3 <<>> pianeta.di.unito.it ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3 ;; QUERY SECTION: ;; pianeta.di.unito.it, type = A, class = IN ;; ANSWER SECTION: pianeta.di.unito.it. 8h33m39s IN A 130.192.239.1 12

Comando dig ;; AUTHORITY SECTION: di.unito.it. 21m57s IN NS amleto.di.unito.it. di.unito.it. 21m57s IN NS pianeta.di.unito.it. di.unito.it. 21m57s IN NS albert.unito.it. ;; ADDITIONAL SECTION: amleto.di.unito.it. 21m57s IN A 130.192.239.30 pianeta.di.unito.it. 8h33m39s IN A 130.192.239.1 albert.unito.it. 23h49m31s IN A 130.192.119.1 ;; Total query time: 10 msec ;; FROM: elios to SERVER: default -- 130.251.61.19 ;; WHEN: Mon Oct 4 12:32:51 2004 ;; MSG SIZE sent: 37 rcvd: 157 TELNET [RFC 854] Anche il TELNET è un protocollo del livello Application Permette la connessione remota (remote login) The purpose of the TELNET protocol is to provide a fairly general, bidirectional, eight-bit byte oriented communications facility. Its primary goal is to allow a standard method of interfacing terminal devices and terminaloriented processes to each other 13

TELNET [RFC 854] telnet <macchina remota> L utente sulla macchina client digita i caratteri da tastiera (Network Virtual Terminal) I caratteri vengono inviati alla macchina server (<macchina remota>) che si occupa di rispedire indietro ogni carattere che viene visualizzato sullo schermo del client I comandi vengono eseguiti sulla macchina remota! Transport Layer TCP 14

Transport layer Residing between the and the layers, the transport layer is a central piece of the layered architecture. It has the critical role of providing communication services directly to the processes running on different hosts Transport layer Fornisce una comunicazione logica tra applicazioni che girano su host diversi transport logical end-end transport I protocolli del livello Transport girano sugli end system transport 15

Transport layer Lato sender i messaggi prodotti al livello Application vengono suddivisi in segmenti Lato receiver i segmenti vengono riassemblati per ricostruire il messaggio da passare al livello superiore transport logical end-end transport transport Internet: TCP e UDP Transport layer: protocolli TCP Orientato alla connessione Affidabile Controllo di flusso Controllo della congestione UDP Non affidabile Non orientato alla connessione transport logical end-end transport transport 16

Multiplexing/demultiplexing Multiplexing (sender) I dati in arrivo dai socket devono essere presi e trasformati in segmenti (con header opportuni) Demultiplexing (receiver) I segmenti devono essere inviati al socket corretto = socket = processo P3 P1 P2 P4 transport transport transport link link link host 1 host 2 host 3 TCP: Transmission Control Protocol socket door writes data TCP send buffer reads data TCP receive buffer socket door segment RFC: 793, 1122, 1323, 2018, 2581 point-to-point reliable in-order byte stream 17

TCP: Transmission Control Protocol socket door writes data TCP send buffer segment reads data TCP receive buffer socket door full duplex i dati fluiscono in entrambe le direzioni connection-oriented meccanismo di handshaking flow control il sender non sovraccarica di dati il receiver TCP: Struttura di un segmento Dati in arrivo dal livello Application: stream di byte ordinati che vengono suddivisi in parti di dimensione MSS (Maximum Segment Size, 1500 byte, 512 byte, ) La posizione del primo byte in ogni parte viene usata come sequence number In realtà viene generato un numero casuale per il primo sequence number che viene sommato alle varie posizioni iniziali di ogni parte. In questo modo si evita di riconsiderare segmenti che sono scaduti (ma che potrebbero avere lo stesso sequence number). 18

TCP: Struttura di un segmento Header TCP (di solito 20 byte) Dati (lunghezza MSS) TCP: Struttura di un segmento 32 bits head len source port # dest port # not used sequence number acknowledgement number U A checksum P R S F Receive window Urg data pnter Options (variable length) Application data (variable length) 19

TCP: flag U = URG il livello superiore ha marcato dei A = ACK dati come urgenti P = PSH il receiver dovrebbe passare i dati immediatamente al livello superiore R = RST S = SYN F = FIN TCP: Gestione della connessione Il sender e il receiver stabiliscono una connessione prima di iniziare lo scambio dei dati Vengono inoltre inizializzate numerose variabili e vengono creati i buffer per memorizzari i dati Il client inizia la connessione Il server accetta la connessione 20

TCP: Three-way handshake Passo 1: il client spedisce un segmento TCP di tipo SYN al server. Questo segmento non contiene dati ma un numero di inizio sequenza (client_isn) per il client Passo 2: il server, ricevuto SYN, risponde con un segmento SYNACK. Inoltre, alloca i buffer e specifica un numero di inizio sequenza (server_isn) per il server Passo 3: il client riceve SYNACK, risponde con un segmento ACK, che può contenere dei dati TCP: Three-way handshake client server connection request segment SYN SYN=1, Seq num=client_isn SYN=1, Seq num=server_isn, Ack num=client_isn+1 connection granted segment SYNACK acknowledge segment ACK SYN=0, Ack num= server_isn+1 21

TCP: sequence e acknowledge numbers Ogni volta che un sender A invia un segmento ad un receiver B vi associa il suo sequence number Il receiver B, ricevuto il segmento, copia il sequence number incrementato di 1 nel campo acknowledge number Questo dirà al sender A che il receiver B è in attesa del prossimo segmento TCP: sequence e acknowledge numbers Le cose sono un po più complicate perchè TCP è full-duplex Inoltre, se arrivano segmenti fuori sequenza, ogni host continua a mandare l acknowledge number del segmento che sta aspettando (cumulative acknowledge) Negli RFC di TCP non viene specificato cosa si deve fare dei segmenti fuori sequenza 22

TCP: sequence e acknowledge numbers Host A telnet scenario Host B L utente su A digita C Seq num=42, Ack num=79, Data = C A conferma la ricezione dell echo Seq num=79, Ack num=43, Data = C Seq num=43, Ack num=80 B conferma la ricezione di C, e ne fa l echo time TCP: chiusura della connessione Passo 1: il client spedisce un segmento TCP di controllo detto FIN Passo 2: il server, ricevuto FIN, risponde con ACK. Poi si prepara a chiudere la connessione ed invia a sua volta un segmento FIN Passo 3: il client riceve FIN, e risponde con ACK. Entra quindi in uno stato di timed wait : risponderà con ACK a tutti i FIN che riceve Passo 4: il server, ricevuto ACK, chiude la connessione 23

TCP: chiusura della connessione client server closing FIN ACK FIN close timed wait ACK closed closed TCP: Flow Control Il mittente non inonda il destinatario trasmettendo troppe informazioni (overflow del buffer = perdita di dati) 24

TCP: Flow Control Servizio di tipo speed-matching Il destinatario informa il mittente dello spazio libero nel buffer usando il campo Receive Window dell header RcvWindow = RcvBuffer - [LastByteRcvd - LastByteRead] TCP: Flow Control Servizio di tipo speed-matching Il mittente usa due variabili per sapere quanti sono i dati non confermati dal destinatario LastByteSent LastByteAcked <= RcvWindow 25