Esercizio 1 : HTTP. Soluzione Esercizio 1 : HTTP

Documenti analoghi
Fondamenti di Internet e Reti

Fondamenti di Internet e Reti

2. Esercizi sul Livello Applicativo

Applicazioni web. Sommario. Parte 4 http. http Metodi, intestazioni e codici di stato get post Parametri e cookie. Applicazioni web.

D - ESERCIZI: Protocolli applicativi ed altro:

Prova in itinere Esempio d esame 1

Prova in itinere Esempio d esame 1

IL LIVELLO APPLICAZIONI WEB e HTTP

Reti di Calcolatori. IL LIVELLO APPLICAZIONI WEB e HTTP

IL LIVELLO APPLICAZIONI WEB e HTTP

Mettiamo i puntini sulle i. 5 min. per pensare 5 min. per discutere la soluzione

IL LIVELLO APPLICAZIONI WEB e HTTP

Prova in itinere Esempio d esame 1

Il World Wide Web. Marco Porta - CIM: Web Design & Technologies

Politecnico di Milano Advanced Network Technologies Laboratory. ESERCIZI da Temi d Esame e Ripasso

Parte II: Reti di calcolatori Lezione 6 (30)

Reti e Protocolli rassegna (II)

RETI DI CALCOLATORI Home Work ritardi e livello applicativo

Politecnico di Milano Advanced Network Technologies Laboratory. Esercizi sul TCP

Esame completo - 8 Luglio 2016

WEB: Architettura Client Server

Tito Flagella - Il protocollo HTTP

Parte II: Reti di calcolatori Lezione 7 (31)

C 2 = 10 Mb/s τ 2 = 1.5 ms

Parte II: Reti di calcolatori Lezione 6 (30)

Esame - 16 Luglio 2018

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

RETI DI CALCOLATORI Home Work ritardi e livello applicativo

Corso di Laurea Specialistica in Ingegneria Informatica Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni

la trasmissione è regolata solamente dall algoritmo per il controllo del flusso prima di inviare l ACK.

World Wide Web (WWW o Web)

Architetture di Internet esercizi livello Applicazione

Programmazione in Rete

Ipertesto (testo + link a risorse)

Livello di applicazione: Web e HTTP

Esame Completo - 26 Luglio 2017

Introduzione ad HTTP WWW. Fabio Vitali

FONDAMENTI DI RETI E TELECOMUNICAZIONI

Filippo Bergamasco ( DAIS - Università Ca Foscari di Venezia Anno accademico:

Appello 18 Luglio Importante: usare lo spazio dopo ogni esercizio per le risposte. Esercizio 1 Esercizio 2 Esercizio 3 Domande Laboratorio

Recupero I Prova in itinere - Rete Internet (ing. Giovanni Neglia) Lunedì 25 Giugno 2007

9 Febbraio 2015 Modulo 2

Appello Esempio d esame. Es1 (6 pt) Es2 (6 pt) Es3 (6 pt) Ques (9 pt) Lab (6pt)

Applicazioni di rete 1

Il Protocollo HTTP e il WWW

Fondamenti di Internet e Reti

Tecnologie di Sviluppo per il Web

Architetture Applicative Il Web

Lo sniffer. questo sconosciuto! Corso di Reti di Calcolatori Architetture e Servizi A.A. 2010/11. Introduzione allo sniffing TCP

Fondamenti di Internet e Reti

FONDAMENTI DI RETI E TELECOMUNICAZIONI

Tecnologie e Protocolli per Internet 1 Introduzione al NAT Network Address Translation

Sicurezza delle applicazioni web: protocollo HTTP

L'HyperText Transfer Protocol (HTTP)

Prova in itinere 5 Maggio 2016

Tecnologie di Sviluppo per il Web

Università degli Studi di Bergamo

Lo strato di applicazione in Internet

Applicazioni e protocolli a livello applicazione

WWW = URL + HTTP + HTML

Reti di Calcolatori I. Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

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

Architetture di Internet esercizi livello di Trasporto

INFORMATICA DISTRIBUITA. lez 6 World Wide Web (cont)

Prova in itinere 2 Maggio Tempo complessivo a disposizione per lo svolgimento: 2h Usare lo spazio dopo ogni Esercizio/Quesito per la risposta.

Metodologie Informatiche Applicate al Turismo

Uso di Internet: introduzione. Prof. Franco Callegati

Prova in itinere 4 Maggio 2016

Esame completo - 25 Luglio 2016

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

Web caching. Corso di Applicazioni Telematiche. A.A Lezione n.3 - parte I Prof. Roberto Canonico

Prova completa - Rete Internet (ing. Giovanni Neglia) Lunedì 25 Giugno 2007

Introduzione alle Architetture di Rete

Architetture Web Protocolli di Comunicazione

Fondamenti di Internet e Reti Km. 1. Soluzione. Facendo riferimento alla figura qui sopra, Il tempo di trasmissione del pacchetto è:

Corso di Applicazioni Telematiche

Livello applicativo: protocollo HTTP

Internet. b c. pp2. eth3

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

Prova in itinere 2 Maggio Tempo complessivo a disposizione per lo svolgimento: 2h Usare lo spazio dopo ogni Esercizio/Quesito per la risposta.

Esame completo - 25 Luglio 2016

Avvertenza: Si usi lo spazio dopo ogni quesito per lo svolgimento. Includere fogli aggiuntivi solo se strettamente necessario.

UNIVERSITA DEGLI STUDI DI PAVIA

Fondamenti di Internet e Reti Esercizi sui meccanismi di controllo di errore e sul livello di trasporto

Soluzione dell esercizio 2 (TCP) dell esame del 16 giugno 2015

1. Esercizi sul Livello di Trasporto

ESERCIZI SVOLTI. Eserczio

Architettura dell Informazione

Terza Prova in Itinere di Fondamenti di Telecomunicazioni B

Il protocollo HTTP. Caratteristiche del protocollo HTTP. Versioni del protocollo. Due tipologie di messaggi:

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

INFORMATICA DISTRIBUITA. lez 5 World Wide Web (cont)

Esame completo 13 Febbraio 2018

Web e HTTP. path name. host name Realizzato da Roberto Savino.

INFORMATICA GENERALE - MODULO 2 CdS in Scienze della Comunicazione. CRISTINA GENA

UNIVERSITÀ DEGLI STUDI DI TORINO

Transcript:

Esercizio 1 : HTTP In the following you can find the content of an HTTP Request. Answer to the following questions, indicating where (e.g., in which field) in the HTTP Request you can find the answer: GET /martignon/index.html HTTP/1.1 Host: cs.unibg.it User Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/124 (KHTML, like Gecko) Safari/125 Accept: ext/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, image/png,*,*;q=0.5 Accept-Language: it Keep-Alive: 300 Connection: keep-alive 1) What is the requested URL? 2) Which version of HTTP is used? 3) Does the browser ask for a persistent or a non-persistent connection? 4) What is, in your opinion, the utility in indicating the type (and version) of browser used by the client in the HTTP Request? Soluzione Esercizio 1 : HTTP 1) The requested URL is (see the first two lines of the HTTP message): cs.unibg.it /martignon/index.html 2) The HTTP version used is 1.1(first line of the HTTP message) 3) It s a persistent connection (the header part concerned is connection:keep-alive ). 4) The information on the browser type is needed to customize the answer on the browser (e.g., if the HTTP server needs to send a mobile version of a website to the client, on a smartphone).

Esercizio 2 : http An HTTP client sends the following message: GET http://cs.unibg.it /index.html HTTP/1.1 User-agent: Mozilla/4.0 Accept: text/html, image/gif, image/jpeg If-modified-since: 27 Feb 2017 08:10:00 a) Write down two feasible responses of the HTTP server (only the status line) b) Assuming that the message is sent through a Proxy, specify the behavior of the Proxy itself Soluzioni Esercizio 2 : HTTP a)server Responses: HTTP/1.1 200 OK HTTP/1.1 304 Not Modified b) The Proxy crosschecks if the resource is available in the local cache. If not: o Forwards the message to the server If so, crosschecks the date associated to the resource: o If it s older than the one specified in the message If-modified-since, it forwards the message to the server. o Otherwise??

Esercizio 3 : HTTP Un client HTTP richiede a un server HTTP una pagina web costituita da un oggetto base (un file HTML) e da 10 altri oggetti. Ogni oggetto ha dimensione L=200 [kbit]. Il collegamento, bidirezionale, tra il client e il server ha una capacità C=100 [kbit/s]. I messaggi di controllo utilizzati per aprire la connessione TCP tra il client e il server, cosi come il messaggio HTTP GET, hanno dimensione m=100 [bit]. Il ritardo di propagazione del link è di tau = 100 [ms]. Calolare il tempo totale necessario perché il client riceva la pagina web e i 10 oggetti nei 2 casi seguenti: a) il client HTTP apre in parallelo e in modalità non-persistent tutte le connessioni TCP necessarie a scaricare la pagina web e i suoi oggetti collegati (facciamo l ipotesi che il ritmo di trasmissione di ogni connessione TCP sia uguale a r=c/n, dove N è il numero di connessioni aperte in parallelo) b) Il client HTTP apre in serie 11 connessioni TCP in modalità non-persistent.

Esercizio 4 HTTP (condivisione link) Un client HTTP richiede ad un server HTTP una pagina web costituita da un oggetto base (file HTML) e 11 altri oggetti. Ogni oggetto ha una dimensione L=50 kbyte. Il collegamento (collo di bottiglia/bottleneck) tra client e server HTTP è in grado di trasferire informazione ad una velocità di C=1Mbit/s in entrambe le direzioni. I messaggi di controllo usati per aprire una connessione TCP tra client e server ed il messaggio di GET HTTP hanno lunghezza trascurabile. Il ritardo di andata e ritorno (RTT) sia pari a 150 ms. Il collegamento è condiviso da altri 9 trasferimenti file di lunga durata verso altri server. Assumendo che tutti i trasferimenti condividano in modo equo la capacità del collegamento ottenendo un rate medio pari a C/n, dove n è il numero di trasferimenti paralleli, calcolare in tempo totale per ricevere interamente la pagina web richiesta nei due casi seguenti: - a) il client HTTP apre un unica connessione TCP persistente per scaricare tutti gli oggetti della pagina web. - b) il client HTTP apre in parallelo in modalità non persistente tutte le connessioni TCP necessarie per scaricare la pagina web.

Es. 4 : soluzione a) Nel primo caso si ha il seguente schema temporale: Il rate effettivo è dato dalla suddivisione delle capacità del collegamento tra i 9 flussi interferenti e il flusso relativo allo scambio HTTP, dunque 10 flussi.

b) Nel secondo caso si ha il seguente schema temporale: Il tempo di trasferimento della pagina HTML è uguale al precedente perché la situazione rimane invariata Il rate effettivo con cui vengono scambiati gli oggetti invece è diverso, poiché vengono aperte 11 connessioni in parallelo. Esso è dato dalla suddivisione delle capacità del collegamento tra i 9 flussi interferenti e il flusso delle 11 connessioni, dunque 20 flussi. Quindi il tempo totale di trasferimento è:

Esercizio 5 HTTP (caching) Un azienda possiede una rete locale con un proxy HTTP con cache locale (vedi Figura 1). I client sono collegati al proxy HTTP tramite collegamenti dedicati con capacità C=1 [Gb/s]. La probabilità che il contenuto (pagina web) richiesto dal generico client sia presente nella cache del proxy locale (cache hit rate) sia P=0.4 (dualmente, la probabilità che la pagina web richiesta non sia presente in cache del proxy locale sia Q=0.6). Trovare il ritardo medio sperimentato dal generico client da quando invia richiesta HTTP per una pagina web a quando ottiene la pagina web richiesta. Assumere che: i messaggi di richiesta HTTP siano di 100 [byte], la pagina web richiesta sia di 100 [kbyte], il proxy HTTP abbia un canale di comunicazione con capacità equivalente di c=100 [Mb/s] verso il server web che ospita le pagine web richieste, il tempo di apertura delle connessioni TCP tra client e proxy e tra proxy e web server sia trascurabile, i ritardi di propagazione siano trascurabili. Es. 5 - Soluzione Nel caso in cui la pagina web richiesta sia disponibile presso il proxy locale, il tempo per ottenere la stessa è uguale al tempo necessario al client per inviare il messaggio di richiesta HTTP al proxy e per ricevere il messaggio di risposta HTTP dal proxy contenente la pagina web stessa. In formule: Sostituendo i valori ai parametri, si ottiene: T 1 = 0.8008 [ms]. Si noti che non sono stati considerati nel computo del tempo di ottenimento della pagina web i tempi di processing della richiesta HTTP da parte del proxy.

Nel caso in cui la pagina web richiesta non sia disponibile presso il proxy locale, il tempo per ottenere la stessa è uguale al tempo necessario al client per inviare il messaggio di richiesta http al proxy, il tempo necessario per il proxy per inviare il messaggio HTTP di richiesta al web server, il tempo che il web server impiega per inviare il messaggio HTTP di risposta contenente la pagina web al proxy ed il tempo che il proxy impiega per inviare la pagina web al client. In formule: dove i parametri sono gli stessi del caso precedente, fatta eccezione per c che è la capacità del collegamento tra il proxy ed il web server. Sostituendo i valori ai parametri, si ottiene: T 2 =8.808 ms. Si noti che non sono stati considerati nel computo del tempo di ottenimento della pagina web i tempi di processing della richiesta HTTP da parte del proxy e del server web. Il tempo medio complessivo per ottenere una pagina web è quindi: uguale a T medio = 5.6056 ms T medio = P*T 1 +Q*T 2 La Figura 2 di seguito riporta l andamento di T medio al variare del parametro di cache hit rate, P.

Come era lecito aspettarsi, il tempo medio per ottenere una pagina web diminuisce linearmente al crescere della probabilità che la pagina web sia disponibile più vicina all utente finale.