Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Laurea Specialistica in Ingegneria dei sistemi e delle tecnologie dellinformazione Prof. Franco Callegati
Un modello analitico del TCP deve descrivere questi processi fondamentali Lobiettivo e quello di valutare le prestazioni del protocollo
Velocit di trasmissione dei pacchetti da parte della sorgente TCP
2
Throughput e goodput
Throughput della connessione TCP
Quantit totale di informazioni trasmesse nellunit di tempo
Goodput Throughput Nei modelli di TCP pi comuni il tempo suddiviso in unit di dimensione RTT
In RTT viene trasmessa unintera finestra (batch) Al termine di RTT arriva la conferma di ricezione
si pu iniziare a trasmettere la finestra successiva
#1 #2 #3
Si misura il throughput
Numero di segmenti trasmessi per RTT
S(t)=W(t)/RTT
3
Ipotesi di base
Il trasmettitore ha infiniti dati da trasmettere
Invia praticamente sempre segmenti di dimensioni pari a MSS
Le prestazioni del TCP sono determinate dal protocollo a finestra in funzione della congestione in rete Lo stato delle code nei router non si modifica in modo significativo durante il periodo oggetto di analisi
I ritardi non si modificano e RTT rimane circa costante
Modello periodico
Il modello pi semplice assume
Condizione di equilibrio e TCP in congestion avoidance Un ACK generato per ogni segmento correttamente ricevuto Eventi di perdita periodici, in percentuale di p
Causano la riduzione della finestra da W a W/2
Ne consegue un andamento periodico a dente di sega della finestra in funzione del tempo
w w/2 time
5
W(t)=3
t T
6
Calcolo di W
Il numero N di segmenti trasmessi in T si calcola
Utilizzando linformazione sulla perdita 1 N= p In funzione della dimensione finestra
N=
W / 2 "1
#
i =0
W W 2 (W / 2 " 1)(W / 2) W 2 W 2 3W 2 +i = + ! + = 2 4 2 4 8 8
Throughput
Il throughput si calcola come rapporto fra
Numero di pacchetti trasmessi = 1/p Tempo totale di trasmissione T = W/2 RTT
1/ p 1 2/ p 1 3 S( p) = = = RTT W /2 RTT 8 /3p RTT 2 p
Delayed ACK
Un ACK ogni b pacchetti
W=W/2 t Ai
Se AW ha valore finito bisogna tenere conto della relazione W = min(AW,CW) Si procede per approssimazioni successive:
Modello TD TD+TO TD+TO+AW
10
Modello TD
Yi = # i + Wi ! 1 " E [ ]= E [ ]+ E [ ]! 1 Y # W
Pr{ = k }= ( " p ) p ! E [ ]= 1 p # 1 #
k "1
E [Y ] = E [W ] + (1" p) p
W(t)
Wi
i
Wi-1
2 1 4 3 5 Yi
1 2 b
RTT
Xi
Ai =
X i +1 j =1
# RTT
Il legame fra Y, X e W
Wi = W i"1 X i + 2 b
X i / b"1
E [W ] = 2 $ E [ X ] b #
E[X] =
b E[W ] 2
Yi =
*
k= 0
Wi =
W i"1 X i + 2 b
12
E[W]
Se Xi e Wi sono variabili aleatorie indipendenti
& E[X] # E[W ] E[X] # 3E[W ] & E[W ] E[Y] = + E[W ] "1( + E[) ] = "1( + % % ' ' 2 $ 2 2 $ 2 2 1" p bE[W ] # 3E[W ] & E[W ] E[W ] + = "1( + % ' p 4 $ 2 2
8 E[W ] ! 3bp
13
Throughput
E[ ] Y S ( p) = E [A]
b 2+b 2 ( b ( (1 ' p ) & 2 + b # E[ X ] = E [ ]= W + +$ ! 2 6 3p % 6 "
1" p + E [W ] p S( p) = = RTT # ( E[X] + 1)
2
2 1" p 2 + b 8 # (1" p) $ 2 + b ' + + +& ) % 3b ( p 3b 3bp 2 $ ' 2+b 2 # b # (1" p) $ 2 + b ' RTT # & + +& ) + 1) & 6 ) % 6 ( 3p % (
Se p << 1 allora
S ( p) !
1 p 1 = RTT 2b 3 p RTT
3 2bp
14
Modello TD+TO
W(t)
A1
A2
A3
T0
2T0
15
U1 A1
V1
16
Esempio
17
Influenza di RTT
18
Influenza di AW
19
Influenza di RTO
20
Ipotesi semplificative
W limitata solamente da CW del trasmettitore Assenza di ritrasmissioni Overhead dovuto alle intestazioni trascurabile File costituito da un numero intero di MSS I segmenti che non trasportano dati, relativi a richieste e riscontri, hanno tempi di trasmissione trascurabili
Notazioni
P (bit): dimensione del file di dati (pagina web) da trasferire S (bit): MSS R (bit/s): velocit di trasmissione dal server al client
21
Latenza minima
Nel caso in cui non ci sia limitazione al flusso dati dovuta al protocollo a finestra
Occorre un RTT per iniziare la connessione TCP Trascorso un RTT viene inviata la richiesta delloggetto Dopo 2 RTT il client comincia a ricevere i dati richiesti I dati vengono ricevuti per un periodo O/R
Limite inferiore (lower bound) per la latenza: Lmin = 2 RTT + P/R In generale L Lmin
P/R
RTT RTT
22
23
Il server si pu trovare
nello stato di trasmissione nello stato di attesa di riscontro
K = P/(WS) Il server in attesa nellintervallo tra la trasmissione di due finestre consecutive e quindi per K-1 volte Durata dellintervallo di attesa TA = RTT - (W-1) S/R
25
W=2
(W-1)S/R RTT
Torno al caso precedente
Quante finestre sono necessarie per trasmettere lintero oggetto? K = min { k : 20+21+.2k-1 P/S } = min{ k : 2k-1 P/S } = min{ k : k log2(1+P/S) }
27
Partenza lenta
Temporizzazione durante la partenza lenta
Intervalli di attesa grandi per k piccoli Intervalli di attesa nulli per finestre grandi k = finestra per cui 2k-1 S/R RTT + S/R Dalla finestra k terminano i tempi di attesa
28
RTT
Calcolo del tempo di stallo dopo la k-esima finestra Tempo che trascorre da quando il server inizia a trasmettere la k-esima finestra a quando riceve il riscontro: T1 = S/R + RTT Tempo di trasmissione della k-esima finestra: T2 = (S/R) 2k-1 Tempo di stallo: max{ 0, T1-T2} = max{ 0, S/R + RTT - (S/R) 2k-1}
29
Si osserva che lunica differenza dal caso con finestra statica e rappresentata dal termine (S/R)2k-1 che sostituisce WS/R
30
31
LD = 2RTT+P/R+k=1n [S/R + RTT- (S/R)2k-1] = 2RTT + P/R + n [RTT+S/R] - (2n-1)S/R In quanto k=1,n2k-1=2n-1
32
Nel web:
Oggetti piccoli su link spesso in congestione
La partenza lenta pu influire
33
Bibliografia
1. 2. V. Jacobson, Congestion avoidance and control, SIGCOMM 88, Stanford, 1988. M. Mathis, J. SempKe, J. Mahdavi, T. Ott, The macroscopic behavior of the TCP congestion avoidance algorithm, Computer Communication Review, Vol. 27, No. 3, 1997 J. Padhye, V. Firoiu, D. Towsley, J. Kurose, Modeling TCP trhoughput: a simple model and its empirical evaluation, ACM Sigcomm, 1998.
3.
34