traccia soluzione
Transcript
traccia soluzione
5 febbraio 2015 1. L = 512 byte, O = 220 byte, R1 = 1 Gbps, R2 = 100 Mbps Ritardo di propagazione dprop = 500/(2.8 ∗ 108 )sec = 1, 8µsec Il secondo link è bottleneck, quindi i pacchetti successivi al primo ricevuti da R subiscono ritardo di coda prima di venire ritrasmessi a B. Numero di pacchetti N = O/L = 220 /512 = 2048 T = L/R1 + dprop + delab + N ∗ L/R2 + dprop 2. (a) dtrasm = 5µsec, dACK = 50µsec B riceve pacchetto 1 → 1 Kbyte nel buffer → RcvWin=15Kbyte B riceve pacchetto 2 → 2 Kbyte nel buffer → RcvWin=14Kbyte Dopo aver trasmesso 16 pacchetti, a 80 µsec, la trasmissione va in stallo, in quanto A ha trasmesso e non confermato 10 pacchetti e la finestra di ricezione notificata da B è esattamente 10. In dettaglio, esprimendo RcvWin in numero di pacchetti da 1 Kbyte: t 0 5 10 15 ... 50 55 60 ... 75 80 RcvWin 16 16 16 16 ... 16 15 14 ... 11 10 # pacchetti non confermati 0 1 2 3 ... 10 10 10 ... 10 10 evento P11 P12 P15 P16 P1 trasmesso P2 trasmesso P3 trasmesso ... P10 trasmesso trasmesso, ACK1 ricevuto trasmesso, ACK2 ricevuto ... trasmesso, ACK5 ricevuto trasmesso, ACK6 ricevuto La conferma contenente RcvWin=0 è quella sul sedicesimo pacchetto, che A riceve a 16*5µsec+ 50µsec = 130µsec (b) No, non varia. Poichè il processo applicativo su B non svuota il buffer, A non può trasmettere più di 16 pacchetti, indipendentemente dall’istante in cui riceve notifiche. (c) Variando la dimensione del buffer si cambia il numero di pacchetti che A può trasmettere prima di bloccare la trasmissione per il vincolo LastByteSent − LastByteAcked ≤ RcvW in 3. O = 10 ∗ 220 byte R = 10 ∗ 109 bps dprop = 50µsec M SS = 210 byte H = 65byte soglia = 8M SS SEQS = 32 # segmenti=10*1024 (a) La finestra di trasmissione cresce esponenzialmente da 1 a 8 (4 round di slow start) e quindi linearmente (AIMD) (b) il pacchetto di apertura connessione conta 1 byte nello spazio di sequenza, quindi la sequenza del primo segmento inviato dal server è 33, e la sequenza dell’ultimo 33+(102401)*MSS=10484769. L’ultimo ACK conferma tutti i dati, quindi 33+10240*MSS (o sequenza dell’ultimo segmento + MSS) (c) condizione di continuità: W ∗ (M SS + H)/R ≥ (M SS + 2H)/R + 2dprop da cui W ≥ 115, 8, cioè nel round in cui si trasmettono 116 segmenti. Sono necessari 107 round di AIMD per arrivare alla continuità (dal primo round con 9 segmenti all’ultimo di stallo con P115 115) e il numero totale di segmenti trasmessi è i=9 i = 107 ∗ 9+115 = 6634 2 quindi durante la trasmissione con stallo vengono inviati in tutto 15 (SS) + 6634 (AIMD) segmenti=6649. I rimanenti 10240-6649=3591 segmenti vengono trasmessi con trasmissione continua. Tempo = tapertura + #stalli ∗ [(M SS + 2H)/R + 2dprop ] + tcontinua + tACK = 3H/R + 3 ∗ dprop + 111 ∗ [(M SS + 2H)/R + 2dprop ] + 3591 ∗ (M SS + H)/R + H/R + 2 ∗ dprop (d) La conferma dell’11o segmento sarà un duplicato dell’ACK dell’ultimo pacchetto ricevuto correttamente, cioè il 9o , cioè SEQ1 + 9 ∗ M SS = 33 + 9 ∗ 1024 = 9249 (e) Nell’8o round la trasmissione è in stallo, e la finestra di congestione è 12 segmenti, quindi 12∗MSS ≃ 973M bps Throughput = (MSS+2H)/R+2d prop Utilizzo = 12∗(MSS+H)/R (MSS+2H)/R+2dprop ≃ 10, 35% 4. (a) /18 indica che i 18 bit più significativi dell’indirizzo identificano la rete; la maschera è un indirizzo a 32 bit in cui i primi 18 sono 1 11111111 11111111 11111100 00000000, cioè 255.255.192.0 indirizzo broadcast bit a 1 nella parte host, cioè 193.160.63.255 # IP =214 − 2(riservati) = 16382 (b) per indirizzare 8000 nodi è necessario un blocco da 8192=213 IP e per 2500 nodi un blocco da 4096=212, quindi lo spazio disponibile non è sufficiente. Possibile suddivisione: 193.160.0.0/19 8192 IP 193.160.32.0/20 4096 IP 193.160.48.0/21 2048 IP 193.160.56.0/21 2048 IP