logo
  • userLoginStatus

Welcome

Our website is made possible by displaying online advertisements to our visitors.
Please disable your ad blocker to continue.

Current View

Computer Engineering - Fondamenti di Internet e Reti

Esercizi livello applicativo

Divided by topic

Fondamenti di Internet e Reti 097246 Esercizi 1 2. Esercizi sul Livello Applicativo 2-1.Esercizio – HTTP (basi) Di seguito è riportato il contenuto (in codifica testuale ASCII) di una richiesta HTTP. Rispondere alle domande seguenti indicando dove trovate la risposta nella richiesta HTTP. GET /cesana/index.html HTTP/1.1 Host: home.deib.polimi.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: ita Keep-Alive: 300 Connection: keep-alive a) Quale è la URL richiesta? b) Quale versione di HTTP è usata? c) Il browser richiede una connessione non persistente o persistente? d) A cosa serve l’indicazione del tipo di browser nel messaggio di richiesta? Soluzione a) La URL richiesta è (vedi le prime due righe del messaggio HTTP): home.deib.polimi.it/cesana/index.html b) La versione HTTP usata è la 1.1(vedi prima riga del messaggio HTTP) c) Tramite l’header conenction:keep-alive si richiede una connessione persistente. d) L’informazione sul tipo di browser serve al server HTTP per “customizzare” il tipo di risposta sul tipo del browser richiedente (es. un server HTTP inviare la versione “mobile” di un sito web se il browser richiedente è su uno smartphone). Fondamenti di Internet e Reti 097246 Esercizi 2 2-2.Esercizio – HTTP (tipi di connessioni) Un client HTTP richiede ad un server HTTP una pagina web costituita da un oggetto base (file HTML) e 10 altri oggetti. Ogni oggetto ha una dimensione L=200 [kbit]. Il collegamento tra client e server HTTP è in grado di trasferire informazione ad una velocità di C=100 [kb/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 l=100 [bit]. Il ritardo di propagazione è trascurabile. Calcolare il tempo totale per ricevere interamente la pagina web richiesta nei tre casi seguenti: a) il client HTTP apre in parallelo in modalità non persistente tutte le connessioni TCP necessarie per scaricare la pagina web (si assuma che il data rate della singola connessione sia r=C/N, con C data rate del collegamento e N numero di connessione aperte in parallelo) b) il client HTTP apre un’unica connessione TCP persistente per scaricare tutti gli oggetti della pagina web. c) Il client HTTP apre in serie 11 connessioni TCP in modalità non persistente. Soluzione Nel caso a) il client funziona in modo non persistente. Il client apre una connessione TCP non persistente per richiedere il file HTML (oggetto base) della pagina web. Ricevuto il file HTML chiude la connessione, “legge” il file HTML, scopre che la pagina web è costituita da 10 altri oggetti ed apre quindi 10 connessioni TCP non persistenti per scaricare ciascuno dei 10 oggetti. Il tempo richiesto per ottenere il file HTML (oggetto base) è: !"#$%&'()*=2-.+-.+0. dove il primo termine rappresenta il tempo per aprire la connessione TCP, il secondo termine il tempo per inviare al server il messaggio di GET HTTP ed il terzo termine il tempo per scaricare il file HTML. Una volta ottenuto il file HTML, il client apre in parallelo 10 connessioni TCP che condividono lo stesso collegamento. Il tempo per ottenere ciascuno dei 10 oggetti attraverso le connessioni TCP, ciascuna delle quali necessita di una fase di apertura, è !"#$%&"11$223=2-4+-4+04 Il tempo complessivo sarà quindi dato da: !2"256$=!"#$%&'()*+!"#$%&"11$223 Sostituendo i valori di l, L, C e r nelle formule, si ottiene: !"#$%&'()* = 2 89+ 189+ 2000 89=2.003[9] e !"#$%&"11$223 = 2089+ 1089+ 2000089= 20.03 [9] e quindi !2"256$= 22.033 [9] Nel caso b) il client apre una connessione persistente per scaricare in serie tutti gli 11 oggetti che comprendono la pagina web: Fondamenti di Internet e Reti 097246 Esercizi 3 !2"256$=2-.+11-+0. dove il primo termine rappresenta il tempo per aprire la connessione TCP, ed il secondo termine rappresenta il tempo per inviare la richiesta GET HTTP e ricevere il singolo oggetto per tutti gli 11 oggetti della pagina web. Sostituendo i valori nella formula si ottiene: !2"256$ = 22.013 [9]. Nel caso c) il client apre 11 connessioni TCP in serie in modalità non persistente. Si ha quindi: !2"256$=112-.+-+0. da cui si ottiene: !2"256$ = 22.033 [9]. Fondamenti di Internet e Reti 097246 Esercizi 4 2-3.Esercizio – 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 kB. Il collegamento (collo di bottiglia) tra client e server HTTP è in grado di trasferire informazione ad una velocità di C=1Mb/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. 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. 45=.10=0.1 [@A/9] !C2D6=!"EF=045=50∙8 JAKL100 JA/9=4 [9] !2"2=2N!!+!C2D6+11N!!+ !"EF=49.95 [9] Fondamenti di Internet e Reti 097246 Esercizi 5 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 !C2D6=4 [9] 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. 4E=.20=0.05 [@A/9] !"EF=04E=50∙8 JAKL50 JAP9=8 [9] Quindi il tempo totale di trasferimento è !2"2=2N!!+!C2D6+2N!!+!"EF=12.6 [9] Fondamenti di Internet e Reti 097246 Esercizi 6 2-4.Esercizio – 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. 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: !R=-.+0. Sostituendo i valori ai parametri, si ottiene: !R= 0.8008 [89]. 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: !S=-.+-T+0T+0. 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: !S= Figura 1 Topologia di riferimento web server Internet 1 [Gb/s] 100 [Mb/s] Fondamenti di Internet e Reti 097246 Esercizi 7 8.08 [89]. 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: !D$U3"=V!R+W!S uguale a !D$U3"= 5.6[89] La Figura 2 di seguito riporta l’andamento di !D$U3" 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. 0 1 2 3 4 5 6 7 8 9 0 0,2 0,4 0,6 0,8 1 Tmedio [ms] P Figura 2 Andamento di Tmedio al variare della cache hit rate, P. Fondamenti di Internet e Reti 097246 Esercizi 8 2-5.Esercizio – HTTP (proxy) L’utente del client A digita sul suo browser la URL: www.antlab.polimi.it. Mostrare il contenuto (sintetico) di tutti i messaggi HTTP che vengono scambiati tra tutte le entità coinvolte nei casi in cui: a) il browser A abbia configurato il proxy HTTP www.ilmioproxy.org e la pagina web non sia presente sul proxy HTTP b) il browser A abbia configurato il proxy HTTP www.ilmioproxy.org e la pagina web sia presente sul proxy HTTP c) il browser A non abbia configurato alcun proxy Soluzione Nel caso a) il client invia il messaggio GET HTTP al proxy; il proxy invia il messaggio GET HTTP al server web; il server web invia il messaggio di risposta al proxy che inoltra il messaggio di risposta al client A. Vedi figura. Si noti che: i messaggi HTTP (1) e (2) hanno come indirizzi IP di destinazione rispettivamente quelli del proxy e del server web, e come indirizzi IP di sorgente rispettivamente quelli del client e del proxy. Nel caso b) la pagina web richiesta è presente sul proxy quindi la transazione HTTP si chiude senza coinvolgere il server web. Vedi figura. INTERNET Server WEB www.antlab.polimi.it Proxy HTTP www.ilmioproxy.org client A client A Proxy Server Web (1) GET www.antlab.polimi.it (2) GET www.antlab.polimi.it (3) 200 OK (4) 200 OK Fondamenti di Internet e Reti 097246 Esercizi 9 In questo caso gli indirizzi IP sorgente e destinazione sono quelli del client e del proxy Nel caso c) la sessione HTTP avviene direttamente tra client A e server web senza coinvolgere il proxy. Vedi figura. Rispetto al caso a), il messaggio (1) in figura è indirizzato (a livello IP) al server web e non al proxy. Gli indirizzi IP sorgente e destinazione sono quelli del client e del server. client A Proxy Server Web (1) GET www.antlab.polimi.it (2) 200 OK client A Server Web (1) GET www.antlab.polimi.it (2) 200 OK Fondamenti di Internet e Reti 097246 Esercizi 10 2-6.Esercizio – DNS + SMTP In figura è riportata una rete locale con un host (host A), un mailserver ed un DNS server locale. Per ogni dispositivo sono indicati i rispettivi parametri di configurazione. L’host A conosce SOLO l’indirizzo IP del DNS server ed il nome simbolico del proprio mailserver: mail.polimi.deib.it. Il DNS server ha una riga nel suo database: mail.polimi.deib.it, 131.175.123.1, A, 15s. Supponendo che l’host A debba inviare un messaggio di posta elettronica con destinatario [email protected], indicare i tipi dei messaggi applicativi scambiati all’interno della rete locale fino al punto in cui il messaggio di posta elettronica viene preso in carico dal mailserver. Si metta chiaramente in evidenza sorgente, destinazione, tipo del messaggio e specifico protocollo applicativo di comunicazione usato. Soluzione 1) L’host A deve “risolvere” il nome simbolico del proprio mailserver, cioè deve ottenere l’indirizzo IP che corrisponde a quel nome simbolico. L’host A invia quindi un messaggio di richiesta DNS per risolvere l’indirizzo simbolico del mailserver. 2) Il DNS server risponde con un messaggio DNS in cui indica l’indirizzo IP che corrisponde all’indirizzo simbolico richiesto. 3) L’host A apre una connessione TCP con la porta 25 del mailserver, utilizzando l’indirizzo IP comunicato dal DNS sever 4) L’host A ed il mailserver “si scambiano” una sequenza di messaggi SMTP attraverso la connessione TCP di cui sopra. Una sessione tipica potrebbe essere quella qui di seguito: Server: 220 mail.polimi.deib.it Host A: HELO host A Host%A%Mail%Server%mail.polimi.deib.it % RETE%LOCALE%DNS%Server%131.175.123.3%MACAA%131.175.124.2%MACADNS%131.175.124.1%MACAMail% Host ADNS ServerDNS Requestmail.polimi.deib.it??DNS Replymail.polimi.deib.it131.175.124.1 Fondamenti di Internet e Reti 097246 Esercizi 11 Server: 250 Host A, pleased to meet you Host A: MAIL FROM: Server: 250 [email protected] …Sender OK Host A: RCPT TO: Server: 250 [email protected] …Recipient OK Host A: DATA Server: 354 Enter mail, end with "." on a line by itself Host A: Ciao, come stai? Host A: . Server: 250 Message accepted for delivery Host A: QUIT Server: 221 mail.polimi.deib.it closing connection Fondamenti di Internet e Reti 097246 Esercizi 12 2-7.Esercizio – Esempio prima prova in itinere AA 2015/16 Si assuma che un client http in A voglia scaricare una pagina web contenuta del server in S. La capacità del collegamento tra S ed A è limitata dal collegamento che costituisce il collo di bottiglia della rete, e che è condiviso con due flussi interferenti di lunga durata (file transfer) tra D e B e tra C e B. La pagina web è composta da un documento base (html) di 100 [byte] e da 8 immagini di 1 [Mbyte]. Si calcoli il tempo di scaricamento della pagina web: a) nel caso di connessione http persistente per il documento base e le immagini, e b) nel caso di connessione non persistente (prima il documento html e poi le 8 immagini con connessioni in parallelo). Soluzione a) Nel caso di una connessione persistente la condivisione equa tra i due flussi interferenti e il flusso http tra S e A porta quest’ultimo ad un rate R=2 [Mb/s] sul link collo di bottiglia R1-R2. Infatti, i due flussi interferenti sono al loro volta limitati ad un totale di 2 [Mb/s] attraversando il link R3-R1 (collo di bottiglia per i flussi interferenti), quindi sul link R1-R2 rimangono 4 [Mb/s] – 2 [Mb/s] = 2 [Mb/s] per il flusso tra S ed A. N!!=2XR+XS+XY=3.4 [89] !C2D6=RZZ∗\ []^_]S [)E/`]=0.4 [89] Tb]c=8∗10d [bit]2 [Mb/s]=4 [s] !2"2=!"#$%+!1$2+!C2D6+8!1$2+!"EF =N!!+N!!+!C2D6+8N!!+!"EF=32.0344 [9] b) Nel caso di connessione non persistente e oggetti in parallelo, la parte del file html non cambia, per gli oggetti invece il rate di condivisione equa risulta 0.4 Mb/s (4Mb/s condivisi da 10 flussi: 2 interferenti + 8 immagini in parallelo). In questo caso, il link R1-R2 è il collo di bottiglia anche per i flussi interferenti. !"EF=8∗10d [bit]0.4 [@A/9]=20 [9] !2"2=!"#$%+!1$2+!C2D6+!"#$%+!1$2+!"EF R1R2R3ABCDC1= 8 Mb/sτ1= 1 msC2= 4 Mb/sτ2= 0.5 msC3= 16 Mb/sτ3= 0.2 msC4= 2 Mb/sτ4= 2 msC5= 2 Mb/sτ5= 2 msC6= 8 Mb/sτ6= 3 msC7= 8 Mb/sτ7= 2 msS Fondamenti di Internet e Reti 097246 Esercizi 13 =2N!!+!C2D6+2N!!+!"EF=20.014 [9] Fondamenti di Internet e Reti 097246 Esercizi 14 2-8.Esercizio (Esempio esame completo AA 2015/16) Nella rete in figura sono illustrati i client A, B, C, D, E, il server http S, il proxy http P ed i router R1, R2, R3, R4, R5, R6. Accanto ad ogni link (bidirezionale e simmetrico) sono indicati la capacità e il ritardo di propagazione. Sul client C è in esecuzione un client http che deve scaricare dal server S una pagina web composta da 1 oggetto HTML di 500 [kbyte] e 10 oggetti di 2 [Mbyte] ciascuno, richiamati dalla pagina HTML. Inoltre, nella rete esistono dei flussi interferenti di lunga durata: 4 flussi dal client A al client B, 4 flussi dal client D al client E. Si assuma ogni flusso in rete instradato secondo una politica che minimizza il numero di hop. Si chiede di calcolare il tempo di trasferimento della pagina web nei tre seguenti casi: a) Il client C è configurato per usare il proxy P, le connessioni http sono non-persistenti e sia il client che il proxy aprono tutte le connessioni in parallelo possibili. Tutti gli oggetti della pagina si trovano nella cache del proxy. b) Il client C è configurato per non usare proxy e può aprire una connessione al massimo, ma in maniera persistente. c) (OPZIONALE, 2 punti extra) Il client C è configurato per usare il proxy P, le connessioni http sono non-persistenti ed sia il client che il proxy aprono tutte le connessioni in parallelo possibili. Nessun oggetto della pagina si trova nella cache del proxy. Soluzione a) Tutti gli oggetti sono sul proxy, viene percorso il link R1-R4. Apertura della connessione e messaggi di GET avvengono solo tra client e proxy. Non ci sono flussi interferenti sul percorso, i 10 flussi in parallelo per gli oggetti condividono l’intera capacità di R1-R4, mentre il trasferimento iniziale della pagina html, essendo un unico flusso, può utilizzare tutta la capacità del link. !=!"#$%+!1$2+!'()*+!"#$%+!1$2+!"11,RZ !"#$%=2X=20 [89] !1$2=2X=20 [89] !'()*=kZZ∗\ [lE32]YSZ [)E/`]=12.5 [89] R2R5R1R4R3R6CEDABSP!=100 &'/)*=0 +)!=100 &'/)*=0 +)!=100 &'/)*=0 +)!=100 &'/)*=0 +)!=100 &'/)*=0 +)!=100 &'/)*=0 +)!=100 &'/)*=0 +)!=1.6 &'/)*=10 +)!=320 0'/)*=10 +)!=320 0'/)*=10 +)!=800 0'/)*=10 +)!=224 0'/)*=10 +)!=160 0'/)*=10 +) Fondamenti di Internet e Reti 097246 Esercizi 15 !"11,RZ=SZZZ∗\ [lE32]mnopo [)E/`]=500 [89] Dunque, !=592.5 [89] b) Il proxy non viene usato, la connessione tra C e S è unica e persistente. Apertura della connessione e messaggi di GET avvengono solo tra client e server. La connessione usa i link R1-R2 e R2-R3. Su R1-R2 ci sono 4 flussi interferenti, oltre all’unico flusso per il trasferimento http. !=!"#$%+!1$2+!'()*+10(!1$2+!"11) !"#$%=4X=40 [89] !1$2=4X=40 [89] !'()*=kZZ∗\ [lE32]psoot[)E/`]=12.5 [89] !"11,RZ=SZZZ∗\ [lE32]psoot[)E/`]=50 [89] Dunque, !=992.5 [89] c) Nessun oggetto è nel proxy, per la sessione client-proxy viene percorso il link R1-R4, per la sessione proxy-server vengono percorsi i link R4-R5 e R5-R3. Apertura della connessione e messaggi di GET avvengono sia tra client e proxy che tra proxy e server. !=!"#$%,uvw+Xuvw+!"#$%,wvx+!1$2,wvx+!'()*,xvw+Xuvw+!'()*,wvu + !"#$%,uvw+Xuvw+!"#$%,xvw+!1$2,wvx+!"11,RZ,xvw+Xuvw+!"11,RZ,wvu !"#$%,uvw=2X=2089,!"#$%,wvx=4X=40 [89] Xuvw=X=10 89,Xwvx=2X=20 [89] !'()*,wvu=kZZ∗\ [lE32]YSZ [)E/`]=12.5 [89] !"11,RZ,wvu=SZZZ∗\ lE32mnopo[)E/`]=500 [89] Abbiamo 1 flusso lungo R4-R5 (flusso http proxy-server), 5 flussi lungo R5-R3 (flusso http proxy-server + 4 flussi A-B), 4 flussi lungo R3-R6 (4 flussi A-B) che corrispondo, rispettivamente, al rate per flusso di 320 [Mb/s], 44.8 [Mb/s] e 40 [Mb/s]. Quindi i 4 flussi !"#$%,'()*'()!"#$%,)(+!,$-,.−0!1-23*'()!1-23ClientProxyServer Fondamenti di Internet e Reti 097246 Esercizi 16 da A a B sono limitati a 40 [Mb/s] ciascuno e il flusso da P a S riceverà una capacità pari a 224 – 4⋅40 = 224 – 160 = 64 [@A/9] vincolato dal link collo di bottiglia R5-R3. !'()*,xvw=kZZ∗\ [lE32]d{ [)E/`]=62.5 [89] Abbiamo 10 flussi lungo R4-R5 (10 flussi http in parallelo), 14 flussi lungo R5-R3 (10 flussi http in parallelo + 4 flussi A-B), 4 flussi lungo R3-R6 (4 flussi A-B) che corrispondo, rispettivamente, al rate per flusso di 32 [Mb/s], 16 [Mb/s] e 40 [Mb/s]. Quindi i 4 flussi da A a B e i 10 flussi da P a S riceveranno ciascuno una capacità di 16 [Mb/s] vincolati dal link R5-R3. !"11,RZ,xvw=2000∗8 [JAKL]16 [@A/9]=1000 [89] Dunque, !=1815 [89] Fondamenti di Internet e Reti 097246 Esercizi 17 2-9.Esercizio (Prova in itinere 4 Maggio 2016) Nella rete in figura sono rappresentati 4 client (A, B, C e D), 3 router (R1, R2 e R3), un server HTTP (S) e un proxy HTTP (P). Il client C vuole trasferire un documento formato da una pagina HTML di dimensione LHTML = 30 [kbyte] che richiama 11 oggetti di dimensione LOGG = 75 [kbyte]. Nella rete sono presenti anche 4 flussi interferenti di lunga durata: 2 da A a D, 2 da A a B. Si supponga che: i) i messaggi di apertura della connessione e di richiesta HTTP siano di lunghezza trascurabile, ii) la connessione TCP tra proxy HTTP e server HTTP sia sempre aperta e non occorra mandare una richiesta di apertura. Si calcoli: a) il tempo di trasferimento del documento nel caso in cui il client C senza proxy configurato apra in parallelo in modalità non-persistente tutte le connessioni TCP necessarie b) il tempo di trasferimento del documento nel caso in cui il client C con proxy configurato apra un’unica connessione TCP persistente per scaricare tutti gli oggetti, ipotizzando che la pagina HTML e solo i primi 6 degli 11 oggetti siano presenti nella cache del proxy c) nel caso b), il numero minimo di oggetti che occorre trovare nella cache del proxy per avere un tempo di trasferimento minore di 2 s. Soluzione Punto a Il client manda/riceve messaggi HTTP direttamente al/dal server. Durante il trasferimento della pagina HTML (1 flusso tra C e S) sul link R2-R3 ci sono 5 flussi che condividono 15 [Mb/s]. Il link è collo di bottiglia per tutti i flussi che ottengono 3 [Mb/s] ciascuno. Quindi la capacità vista dal trasferimento C-S sarà .$||vk=3 [@A/9]. Il tempo di trasferimento della pagina HTML è: !'()*=*}~�u����t=YZ∗\ [lE32]Y [)E/`]=80 [89] Durante il trasferimento degli oggetti (11 flussi in parallelo tra C e D) sul link R2-R3 ci sono 15 flussi che condividono 15 [Mb/s]. Il link è collo di bottiglia per tutti i flussi che ottengono 1 [Mb/s] ciascuno. Quindi la capacità vista dal trasferimento C-S sarà .$||vRk=1 [@A/9]. Il tempo di trasferimento di un oggetto è: !���=*���u����pt=�k∗\ [lE32]R [)E/`]=600 [89] Il RTT tra C e S è: N!!uvx=2(XR+XS+XY+X{)=2∗80 89=160 [89] Il tempo totale di trasferimento sarà: !2"2=N!!+N!!+!'()*+N!!+N!!+!���=4N!!+!'()*+!���=1320 [89] Punto b Il client manda/riceve messaggi HTTP al/dal proxy. Per i primi 6, riceve l’oggetto direttamente dal proxy, per gli ultimi 5, il proxy scarica l’oggetto dal server e poi lo invia al client. R1R2R3PSCABDC1= 150 Mb/sτ1= 20 msC2= 100 Mb/sτ2= 20 msC3= 15 Mb/sτ3= 20 msC4= 25 Mb/sτ4= 20 msC7= 60 Mb/sτ7= 10 msC8= 15 Mb/sτ8= 10 msC5= 15 Mb/sτ5= 20 msC6= 6 Mb/sτ6= 10 ms Fondamenti di Internet e Reti 097246 Esercizi 18 La capacità del trasferimento tra client e proxy è determinata dal link P-R2 e dunque pari a .$||=60 [@A/9]. Il tempo di trasferimento della pagina HTML (diretta al proxy) è: !'()*=*}~�u���=YZ∗\ [lE32]dZ[ )E/`]=4 [89] Il tempo di trasferimento di un oggetto (in cache) è: !���v�5�C$=*���u���=�k∗\ l[E32]dZ [)E/`]=10 [89]. La capacità del trasferimento tra proxy e server è determinata dal link R2-R3, su cui transitano 5 flussi, dunque pari a .$||vk=3 [@A/9]. Il tempo di trasferimento di un oggetto (nel server) è: !���v%"�5�C$=*���u����t=�k∗\ [lE32]Y [)E/`]=200 [89]. Il RTT tra C e P è: N!!uvw=2(XR+XS+X�)=2∗50 89=100 [89], mentre il RTT tra P e S è: N!!wvx=2(X�+XY+X{)=2∗50 [89]=100 [89] Il tempo totale di trasferimento è: !2"2=N!!uvw+N!!uvw+!'()*+6N!!uvw+!���v�5�C$+5N!!wvx+!���v%"�5�C$+N!!uvw+!���v�5�C$=100 [89]+100 [89]+4 [89]+6100 [89]+10 [89]+5100 [89]+200 [89]+100 [89]+10 [89]=204 [89]+660 [89]+2050 [89]=2914 [89] Punto c Dall’ultima espressione del punto b) si può scrivere !2"2=204 [89]+�110 [89]+(11−�)(410 [89]) dove x è il numero di oggetti trovati in cache. Quindi da !2"2=204+�110+11−�410< 2000, si ottiene �>9.046. Occorre trovare in cache almeno 10 oggetti. Fondamenti di Internet e Reti 097246 Esercizi 19 2-10.Esercizio (Prova in itinere 5 Maggio 2016) Si assuma A sia un server http e B un client http. Occorre trasferire un documento base html di Lhtml = 100 [kbyte] base e 9 immagini di Lobj = 5 [Mbyte] in presenza di 1 flusso interferente tra C e D. Si calcoli il tempo necessario assumendo un RTT pari a 46.5 [ms] e un ritmo medio di trasmissione (Rhtml e Robj) pari al valore di condivisione equa delle risorse (capacità del link 2 diviso il numero di flussi che lo attraversano) nel caso di connessione http persistente e non persistente (con trasmissione in parallelo delle immagini). Soluzione Persistente: NC2D6=N"EF=unS=1 @AP9 (Condivisione equa del flusso http e del flusso interferente) !2"2=!"#$%+!��(+!C2D6+9!��(+!"EF =!"#$%+N!!+0C2D6NC2D6+9N!!+0"EFN"EF=361.305 [9] Non-persistente: NC2D6=unS=1 @AP9 (Condivisione equa del flusso http e del flusso interferente) N"EF=unRZ=0.2 @AP9 (Condivisione equa dei 9 flussi http e del flusso interferente) !2"2=!"#$%+!��(+!C2D6+!"#$%+!��(+!"EF=!"#$%+N!!+0C2D6NC2D6+!"#$%+N!!+0"EFN"EF=200.973 [9] Fondamenti di Internet e Reti 097246 Esercizi 20 2-11.Esercizio (Tema 25 Luglio 2016) Nella rete in figura sono rappresentati 4 router (R1, R2, R3 e R4), in client A, un HTTP proxy P e un HTTP server S. Accanto ad ogni collegamento è indicata la propria capacità, mentre il tempo di propagazione è pari a 10 [ms] su ciascun collegamento. Il client vuole scaricare del server un sito web composto da 1 pagina HTML di dimensione LHTML=80 [kbyte] e 6 oggetti JPEG richiamati nella pagina HTML di dimensione LOGG=500 [kbyte]. Nella rete sono presenti flussi interferenti di lunga durata: 4 tra R1 e R2, 10 tra R3 e R4. Si chiede di calcolare il tempo di trasferimento del sito web a livello applicativo nei seguenti casi: a) Il client A non ha proxy configurato, apre connessioni non-persistent in parallello (quando possibile e nel massimo numero possibile) b) Il client A utilizza il proxy P, apre al massimo una connessione alla volta in modalità non-persistent. Solo la pagina HTML ed i primi 2 oggetti JPEG sono presenti nella cache del proxy. Soluzione Punto a) Il client C colloquia direttamente con il server S. Per la pagina HTML, i collegamenti attraversati hanno le seguenti capacità effettive: A-R1 15 Mb/s, R1-R2 2 Mb/s (4+1 flussi), R2-R3 15Mb/s, R3-R4 1Mb/s (10+1 flussi). Dunque il trasferimento è governato dal collo di bottiglia R3-R4 a 1 Mb/s. Il tempo di trasferimento della pagina HTML è pari a !'()* =(8⋅ 80 [JAKL]) / 1 [@A/9] = 640 89 Per gli oggetti JPEG, i collegamenti attraversati sono i medesimi, dunque il collo di bottiglia sarà il link R3-R4 con una capacità effettiva di 687.5 [kb/s] (10+6 flussi). Il tempo di trasferimento di ogni oggetto JPEG è pari a TOGG = 8*500 [kbit] / 687.5 [kb/s] = 5.82 s. Il tempo totale di trasferimento è pari a !=!"#$%+!1$2+!'()*+!"#$%+!1$2+!��� in accordo con la seguente figura. Per i tempi di propagazione, !"#$%=!1$2=100 [89] T=6.86s Punto b) Il client C colloquia con il proxy P. Il colloquio client-proxy è definito dal collo di bottiglia R1-R2 con una capacità di 2 Mb/s (4+1 flussi), mentre il colloquio proxy-server ha R3-R4 come collo di bottiglia, dunque una capacità di 1 Mb/s (10+1 flussi). I tempi di trasferimento sono !'()*uw=d{ZlE32S)E/`=32089,!���uw={)E32S)E/`=2 9 � !���wx=R1R2AC1= 15 Mb/sC5= 30 Mb/sSR3PC2= 10 Mb/sC3= 15 Mb/sC4= 11Mb/sR4C6= 30 Mb/sASTopenTgetTHT MLTOGGTopenTgetHTMLOGG Fondamenti di Internet e Reti 097246 Esercizi 21 {)E32R)E/`=4[9], rispettivamente, per il trasferimento della pagina HTML dal proxy al client, di un oggetto JPEG dal proxy al client e di un oggetto JPEG dal server al proxy. I tempi di propagazione sono !"#$%uw=!1$2uw=60[89] per la connessione client-proxy e !"#$%wx=!1$2wx=80[89] per la connessione proxy-client. Il tempo totale di trasferimento è pari a !=!"#$%uw+!1$2uw+!'()*uw+2!"#$%uw+!1$2uw+!���uw+4!"#$%uw+!1$2uw+!���uw+!"#$%wx+!1$2wx+!���wx=29.8 [9] Fondamenti di Internet e Reti 097246 Esercizi 22 2-12.Esercizio (Tema 27 Settembre 2016) Nella rete in figura sono rappresentati 3 router (R1, R2 e R3), tre client (A, B e C) e due HTTP server (S1 e S2). Accanto ad ogni collegamento (in fibra ottica) è indicata la rispettiva capacità e il ritardo di propagazione. Il client A vuole scaricare del server S1 un sito web composto da 1 pagina HTML di dimensione LHTML=600 [byte] e 5 oggetti JPEG richiamati nella pagina HTML di dimensione LOBJ= 1.3 [kbyte]. Le dimensioni dei segmenti che non trasportano dati siano trascurabili. Nella rete sono presenti flussi interferenti TCP di lunga durata: 2 flussi tra C e S2, 3 flussi tra B e S1. Si chiede di calcolare il tempo di trasferimento del sito web a livello applicativo nei seguenti casi: a) Il client A apre connessioni non-persistent in parallello (quando possibile e nel massimo numero possibile) b) Il client A apre al massimo una connessione alla volta in modalità persistent, in assenza dei flussi interferenti (cioè, i flussi interferenti sono spenti) Soluzione Punto a) Calcoliamo la capacità equivalente delle sessioni al livello applicativo, tenendo conto dei flussi interferenti attivi. I link “candidati” ad essere bottleneck sono R3-R1, R1-R2 e R2-S2. Nel caso vi sia una sola connessione attiva tra A e S1 (trasferimento file HTML), il numero di flussi sui 3 link è rispettivamente 5, 6, 2. Nell’ipotesi di equipartizione, il rate per flusso sarebbe rispettivamente 0.6 [Mbit/s], 3 [Mbit/s], 1 [Mbit/s]. Dunque, il bottleneck è il link R3-R1, determinando un rate uguale per tutti gli interferenti pari a ri = 0.6 Mbit/s. Di conseguenza, il rate equivalente per la connessione A-S1 è 4'()* = .S – 5⋅ 43= 15 [@A/9]. Nel caso vi siano 5 connessioni attive tra A e S1 (trasferimento oggetti in parallelo), il numero di flussi sui 3 link è rispettivamente 5, 10, 2. Nell’ipotesi di equipartizione, il rate per flusso sarebbe rispettivamente 0.6 [Mbit/s], 1.8 [Mbit/s], 1 [Mbit/s]. Dunque, il bottleneck è ancora il link R3-R1, determinando un rate uguale per tutti gli interferenti pari a ri = 0.6 [Mbit/s]. Di conseguenza, il rate equivalente per ciascuna connessione A-S1 (quando ce ne sono 5 in parallelo) è 4��� = [.S – 5⋅ (43 )] / 5 = 3 [@A/9]. Lo scambio a livello applicativo avviene secondo il seguente diagramma temporale: Fondamenti di Internet e Reti 097246 Esercizi 23 !"#$% = !1$2 = 2 (tR + tS +tY) = 80 [�9] !'()* = 0'()* / 4'()* = (8⋅ 600 / 15) [�9] = 320 [�9] !��� = 0���/4��� = (8⋅ 1300 / 3) [�9] = 3466.7 [�9] ! = 2 !"#$% + !'()* + 2 !"#$% + !��� = 4106.7 [�9] Punto b) In assenza delle connessioni interferenti, e con una sola connessione attiva tra A e S1, il bottleneck è il link R1-R2. Quindi, 4��� = 4'()* = .S = 18 [@A/9]. !��� =0���.S = 8⋅ 1300/18�9= 577.8 [�9] !'()* =0'()*.S= 8⋅ 600/18�9= 266.7 [�9] ! = 2 !"#$% + !'()* + 5 !"#$% + !���= 3715.7 [�9]