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