10.07.2015 Views

soluzione esercizi non svolti in aula

soluzione esercizi non svolti in aula

soluzione esercizi non svolti in aula

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Esercizio 1 Si calcoli il tempo di trasferimento di una pag<strong>in</strong>a web di dimensioni 3000 bytes, checontiene un’immag<strong>in</strong>e di dimensioni 15000 bytes, considerando:- protocollo HTTPv1.1;- funzionamento del TCP <strong>in</strong> modalità stop&wait;- MSS=1500 byte (overhead <strong>in</strong>cluso);- overhead 40 byte;- RTT= 60 ms;- l<strong>in</strong>k speed = 1.2 Mbps.Si trascuri il tempo di trasmissione degli ACK, dei pacchetti di segnalazione per l’apertura dellaconnessione e delle richieste e risposte HTTP, ed il tempo di “pars<strong>in</strong>g” della pag<strong>in</strong>a web.SoluzioneIl client TCP, dopo aver <strong>in</strong>staurato la connessione, trasmetterà la richiesta http per la pag<strong>in</strong>a web.Quando il browser avrà ricevuto l’<strong>in</strong>tera pag<strong>in</strong>a, rivelerà la presenza della figura e provvederà arichiederla. Questa nuova richiesta impiegherà la stessa connessione TCP dal momento che ilprotocollo è HTTPv1.1.La pag<strong>in</strong>a verrà trasferita mediante 3 pacchetti, qu<strong>in</strong>di occorrerà trasferire PSIZE=3,120byte.La figura verrà trasferire mediante 11 pacchetti, qu<strong>in</strong>di occorrerà trasferire FSIZE=15,440byte.clientserverStart TCPconnectionRTTpagerequestRTTP1figurerequestRTTF1F2P2...figurerequestP3...RTTF10F11...Dalla diapositiva 29 di 06_tcp_part1.pdf o dalla figura sovrastante si ricava che il tempo necessarioper ottenere la pag<strong>in</strong>a HTML con la figura è pari a:2 RTT + PSIZE/C + 2 RTT + tempo per ottenere la pag<strong>in</strong>a11 RTT + FSIZE/C = tempo per ottenere la figura= 15 RTT + (PSIZE+FSIZE)/C = 1.0237 s


Esercizio 2 Si mostr<strong>in</strong>o i pacchetti scambiati (mostrando <strong>in</strong> particolare i valori del flag SYN e FIN,ed il contenuto dei campi SEQ ed ACK) durante una connessione TCP, <strong>in</strong> cui il client spedisce 800byte ed il server spedisce 30 byte. Si assuma MSS=370 byte con un overhead di 20 byte. Si<strong>in</strong>cludano i pacchetti di apertura e chiusura della connessione.SoluzioneDi seguito è riportata la sequenza (o meglio una possibile, vedi sotto) degli scambi client-serverassumendo che il TCP del client e del server oper<strong>in</strong>o <strong>in</strong> modalità stop&wait (f<strong>in</strong>estra pari a 1segmento) e che i dati provenienti delle applicazioni siano disponibili f<strong>in</strong> dall’<strong>in</strong>izio. Il client hascelto come ISN 72, il server 51.CLIENTseq=72, ack=11, SYNseq=51, ack=73, SYN, ACKSERVERseq=73, ack=52, ACK, byte: 73-422seq=52, ack=423, ACK, FIN, byte: 52-81seq=423, ack=83, ACK, byte: 423-772Last datasegmentfrom serverseq=83, ack=773, ACK, byte: _Last datasegmentfrom clientseq=773, ack=83, ACK, FIN, byte: 773-872seq=83, ack=874, ACK, byte: _Si noti come:• il valore <strong>in</strong>iziale del campo acknowledgement number è posto pari a 11 nell’esempio, maquesto <strong>non</strong> ha significato per il server (il bit ACK è posto pari a 0); ricordatevi che anche se<strong>non</strong> ha significato nello specifico segmento, tutti i campi vengono trasmessi;• tutti gli altri segmenti hanno il bit ACK posto pari a 1, confermano sempre di avercorrettamente ricevuto tutti i dati precedenti: confermare <strong>non</strong> costa niente (piggyback<strong>in</strong>g)!• il server chiude la connessione quando ha f<strong>in</strong>ito di trasmettere i 30 byte, il bit FIN è postopari ad uno già nello stesso segmento che trasporta i 30 byte;• come per il SYN, il FIN viene contato come se fosse stato trasmesso un byte ulteriore(bruciamo un numero di sequenza <strong>in</strong> un certo senso); <strong>in</strong>fatti il segmento successivo da parte


del client ha numero di ack pari a 83 perché esso conferma tutti i byte ricevuti f<strong>in</strong>o al byte81, conferma il FIN (82) e dichiara che nel prossimo segmento si aspetterebbe il byte 83;Di seguito riporto una diversa conclusione della connessione <strong>in</strong> cui il segmento con il FIN <strong>non</strong>co<strong>in</strong>cide con l’ultimo segmento dati. Anche questa è una <strong>soluzione</strong> possibile, anche se la primaè più efficiente. Anche il server avrebbe potuto <strong>in</strong>viare un segmento con i dati e un segmentoper segnalare la chiusura.CLIENTSERVERseq=83, ack=773, ACK, byte: _Last datasegmentfromclientseq=773, ack=83, ACK, byte: 773-872seq=83, ack=873, ACK, byte: _Last datasegmentfromclientseq=873, ack=83, ACK, FIN, byte: _seq=83, ack=874, ACK, byte: _Esercizio 3 Si consideri un collegamento composto da due l<strong>in</strong>k <strong>in</strong> successione:- l<strong>in</strong>k 1: propagation delay = 30 ms; rate = 4.8 Mbps- l<strong>in</strong>k 2: propagation delay = 10 ms; rate = 1.6 MbpsSi assuma <strong>in</strong>f<strong>in</strong>ita la dimensione dei buffer sul router di <strong>in</strong>terconnessione tra i due l<strong>in</strong>k e del bufferdi trasmissione. Si consider<strong>in</strong>o pacchetti di dimensione MSS=1000 byte (overhead trascurabile).i) Si calcoli la dimensione m<strong>in</strong>ima W della f<strong>in</strong>estra di pipel<strong>in</strong><strong>in</strong>g da adottare <strong>in</strong> modo tale daraggiungere il massimo throughput. Si effettu<strong>in</strong>o sia i calcoli esatti sia quelli approssimaticonsiderando solo il tempo di trasmissione sul bottleneck (oltre che il RTT).ii) Si assuma di utilizzare una f<strong>in</strong>estra di pipel<strong>in</strong><strong>in</strong>g doppia rispetto a quella calcolataprecedentemente. Si descriva il comportamento del sistema (<strong>in</strong> modo quantitativo, specificandocome vengono trattati i pacchetti <strong>in</strong> eccesso).Esercizio 4 Si descriva la modalità con cui è possibile realizzare multi-hom<strong>in</strong>g (più web serversulla stessa macch<strong>in</strong>a), con HTTP.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!