• Aucun résultat trouvé

Analyse de TCP: modele uide a une le

Analyse d'une connexion TCP sur ABR

2.2 Fondements de l'etude: resultats etablis

2.2.2 Analyse de TCP: modele uide a une le

Les rapports [BCA+96] et [COS96] decrivent de leur c^ote l'analyse uide d'une connexion TCP partageant un goulot d'etranglement avec un ux exogene (cf gure 2.3).

Goulot d’étranglement taux de service C

SOURCE TCP DESTINATION TCP

Débit constant E Trafic exogène

τ

τ1 2

τ/2

Fig. 2.3 - Modele d'une connexion TCP avec ux exogene et une seule le d'attente Ils montrent l'existence de trois phases d'evolution de la fen^etre de congestion W en fonction du temps:

une croissance exponentielle de la taille de la fen^etre tant que cette fen^etre est inferieure a minfWth;T(C E)g, c'est-a-dire tant que nous sommes en mode \slow start" et que la le d'attente est vide;

une croissance lineaire lorsque la taille de la fen^etre est telle que:

minfWth;T(C E)gW maxfWth;T(C E)g

une croissance en racine des que la fen^etre est superieure a maxfWth;T(C E)g, c'est-a-dire des que nous sommes en mode \congestion avoidance" et que la le d'attente est non vide.

2.2. Fondements de l'etude: resultats etablis 73 Pour prouver ces phases d'evolutions de W, nous observons que la vitesse de croissance de la fen^etre est telle que:

dWdt = dW

dack dack(t)

dt = dW

dack thpout(t) a

ou ack(t) est le nombre total d'acquittements recus a la date t. Il y a emission d'un acquittement pour a paquets TCP parvenus a destination.

Or, par denition des modes de croissance de la fen^etre, a savoir les modes \slow start"

(si W Wth) et \congestion avoidance2" (si W > Wth), nous avons:

Par ailleurs, tant que la le d'attente du goulot d'etranglement est vide, nous avons:

thpin(t) = thpout(t) = W(t)T (2.2.6)

Lorsque le buer est non vide, les debits de sortie du ux TCP et du ux exogene hors de la le d'attente sont inferieurs aux debits d'entree. Nous supposerons que les debits de sortie sont proportionnels aux debits d'entree. D'ou:

thpout(t) = C thpin(t)

thpin(t) + E et Eout(t) = C E

thpin(t) + E (2.2.7)

D'autre part, comme le buer du goulot d'etranglement n'est pas vide, nous avons:

thpout(t) + Eout(t) = C (2.2.8)

2:Dans le cas de la version TCP Reno, le mode \congestion avoidance" a ete modie an que l'aug-mentation de la fen^etre soit acceleree. Nous avons eectivement :

dW

La source augmente donc sa fen^etre de 1=8 paquet a chaque acquittement recu. Mais, d'apres [STE97], cet ajout devrait ^etre abandonne dans les versions ulterieures pour des questions de stabilite. C'est pour cette raison que nous ne considererons pas cet aspect dans notre etude. Nous pouvons cependant en trouver une analyse uide precise dans le document [COL98].

74 Analyse d'une connexion TCP sur ABR

Les egalites 2.2.7 et 2.2.8 permettent d'obtenir une premiere expression de thpin en fonction de thpout:

thpin(t) = thpout(t) E

C thpout(t) (2.2.9)

Le debit d'entree de TCP dans le reseau etant egal au nombre de paquets acquittes plus l'augmentation de la fen^etre, nous avons egalement:

thpin(t) = thpout(t) + dW(t)dt

=thpout(t) + dWdack dack(t)

=thpout(t) + dWdack thpdtout(t) a

d'ou

thpin(t) = thpout(t)1 +1a dackdW (2.2.10)

ou dackdW a pour expression 2.2.4.

A partir des equations 2.2.9 et 2.2.10, il vient l'expression de thpout:

thpout(t) = C E

1 + a1 dackdW (2.2.11)

Notons qu'en mode \congestion avoidance", le terme 1adackdW , egal a a1W, peut ^etre neglige en supposant queW 1 1.

Cette expression dethpout permet de deduire l'expression de dWdt , puis deW. Par ailleurs, concernant le remplissageQ(t) de la le d'attente du goulot d'etranglement, nous avons:

W(t) 1thpin(t) 2+ 2thpout(t) 1 = Q(t) thpin(t) thpin(t) + E

Nous utiliserons l'ensemble des resultats demontres pour un modele a une seule le d'attente dans tous les cas de notre analyse ou une seule des deux les d'attente sera non vide.

2.2.2.1 Remarques concernant les retards

Au cours de l'analyse uide de TCP presentee dans le paragraphe precedent,nous n'avons pas tenu compte du retard d^u a la propagation des paquets ou des acquittements sur les liens et au temps d'attente dans la le. Or, entre le temps auquel les paquets sortent du goulot au debit thpout et le temps auquel les acquittements de ces paquets parviennent a la source, il s'ecoule une duree 2+ 2. Ceci modie les expressions de thpin, thpout etW, en ajoutant un retard supplementaire dans les equations. Ainsi, l'equation 2.2.10 devient:

2.2. Fondements de l'etude: resultats etablis 75

thpin(t) = thpout(t (2+ 2)) 1 + 1a dW dack

!

Cependant, comme il est precise dans [NAB+97], il est raisonnable de supposer que les debits de sortie sont proportionnels aux debits d'entree tant que ceux-ci evoluent

\lentement". Cela est generalement le cas, sauf dans les conditions presentees ci-dessous.

File d'attente vide et mode \slow start":

Neanmoins, lorsque nous sommes en mode \slow start", et que la le d'attente est vide, la fen^etre TCP cro^t tres rapidement.

Dans ce cas, nous ne pouvons pas faire l'approximation du paragraphe 2.2.2, qui compa-rait le debitthpout, au tempst, avec le debit thpin, au m^eme instant. Nous sommes obliges de considerer un retard entre le depart de ces paquets depuis la source, leur arrivee a des-tination, et le retour des acquittements de ces paquets a la source . En eet, compte tenu de la vitesse de croissance de la fen^etre, les intervalles de temps separant ces evenements ne peuvent plus ^etre consideres comme courts, et la fen^etre peut evoluer, voire doubler durant ces periodes.

Ainsi, le goulot d'etranglement etant vide, l'expression du debit d'arrivee des paquets TCP a leur destination s'ecrit en tenant compte du retard entre l'emission des paquets TCP et l'instant ou ces paquets sortent du goulot d'etranglement:

thpout(t) = thpin(t =2) = W(t =2)T

Or, en tenant compte du retard entre l'arrivee des paquets a destination et le retour des acquittements correspondant a la source, on obtient:

dW(t)

dt = thpout(t (3+=2))

a si W(t)Wth

D'ou, en combinant les deux equations precedentes:

dW(t)

dt = W(t )

aT si W(t)Wth

En suivant les recommandations de [BC63], nous posons dWdt(t) =Wa(Tt) et nous calculons tel que dWdt(t) = Wa(t T ). Nous avons alors:

dW(t)

dt = W(t)

aT si W(t)Wth (2.2.12)

76 Analyse d'une connexion TCP sur ABR

Le coecient represente l'equivalent de la pente de dWdt en mode \slow start"3. L'erreur introduite par cette approche est faible car la phase consideree (mode \slow start" et le d'attente vide) est generalementcourte et n'intervientque faiblement sur les performances globales.

2.3 Approche personnelle pour l'analyse de TCP sur