Professional Documents
Culture Documents
Protocole du niveau transport (Bout en Bout) Mode connect : circuit virtuel <@IPs, Ports, @IPd, Portd>
Full Duplex Orient flot doctets
transmet une suite doctets
Du fait de la philosophie best effort de la couche rseau de l Internet les routeurs IP peuvent perdre des datagrammes les routeurs IP peuvent dupliquer ou permuter des datagrammes 1) ===> TCP assure une intgrit binaire de bout en bout Un metteur rapide peut dborder et saturer un rcepteur lent 2) ===> TCP assure un contrle de flux de bout en bout Ces mcanismes fonctionnent sur la base de connexions
Client
Internet
Server
Une connexion est un quadrupl [IP@,Port#,IP@,Port#] liant temporairement 2 calculateurs par une relation face face bidirectionnelle et contractuelle Le niveau IP (Network level) n est pas inform des connexions actives: seules les machnines d extrmit sont concernes par la gestion des connexions !
Emetteur
Appelle de nouveaux segments or demande des retransmissions (si ncessaire)
Rcepteur
L Emetteur peut anticiper sa transmission jusqu la taille de la receive window annonce par le rcepteur... Il doit ensuite s arrter et attendre des acquittements du rcepteur (positif / ngatif) L metteur adapte le nombre de paquets envoys la taille du buffer de rception Dans les implmentations standards de TCP, cette fentre d anticipation est < 64 K bytes
Q Autorise
lmetteur transmettre un certain nombre de segments (fentre de rception) sans avoir a attendre les acquittements
Fentre dclar par le rcepteur
5
Emis, Non Ack
10
Ne peut pas tre mis Ouverture
11
La perte dun segment provient : plus souvent dune congestion que dune erreur de transmission, peut se dtecter quand lmetteur reoit plusieurs acquittements identiques. La perte de plusieurs segments se dtecte quand la temporisation de retransmission se dclenche
Le contrle de congestion dsigne le mcanisme permettant de rguler le trafic afin d'viter de surcharger le rseau au point qu'il s'effondre. Contrairement au contrle de flux du rcepteur, le contrle de congestion ne faisait pas partie de la spcification initiale du protocole TCP. Il fut rajout vers la fin des annes 1980 lorsque le trafic, avec la croissance rapide de l'ARPANET (futur Internet), avait commenc excder la capacit des rseaux. Les routeurs de ces derniers n'arrivaient pas transmettre les paquets au rythme o ils arrivaient, entranant ainsi de nombreux effondrements du rseau en octobre 1986. Ces vnements furent l'origine des travaux de Jacobson, lesquels aboutirent en 1988 la proposition de deux algorithmes. Ces derniers dlguent TCP une tche supplmentaire : celle de rguler le dbit des paquets en fonction de l'tat du rseau. Ces algorithmes connus sous le nom de slow-start et congestion avoidance reposent sur l'utilisation d'une fentre supplmentaire par l'metteur appele fentre de congestion (ou congestion window que l'on note cwnd). L'approche consiste augmenter additivement la taille de cette fentre tant que le rseau et les possibilits des machines mettrice et rceptrice le permettent, puis la rduire multiplicativement en cas de signes de congestion.
Fentre de rception pilot par le rcepteur (rwnd) nombre max de paquets que le rcepteur est capable de recevoir un certain moment. Fentre dmission contrle le flux de donnes applicatif. Fentre de congestion (cwnd) sous fentre mobile dmission pilot par lmetteur nombre max de paquets que lmetteur peut envoyer avant de recevoir un accus lui permettant de poursuivre la transmission Fentre dmission = min (cwnd, rwnd)
La phase additive contient deux sous-phases : celle du dmarrage lent et celle d'vitement de congestion correspondant respectivement aux algorithmes slow-start et congestion avoidance. Pendant la phase du dmarrage lent, l'augmentation de la fentre de congestion suit une croissance exponentielle : pour chaque acquittement reu pendant cette phase, la taille de la fentre de congestion est augmente de la taille d'un segment. En l'occurrence, si la taille initiale de la fentre est d'un segment, elle prendra la suite de valeurs suivante : 2, 4, 8, 16, 32 ... au bout de chaque RTT. Cette phase se poursuit jusqu' atteindre une valeur seuil bien choisie et fixe par une variable communment appele ssthresh. Suit alors la phase d'vitement de congestion qui est rgie par le deuxime algorithme. Pendant cette phase, la croissance de la fentre de congestion est linaire : elle augmente raison d'un segment pour une fentre acquitte (i.e. un segment par RTT).
L metteur TCP essaye de deviner la bande passante Internet disponible et viter ainsi une situation de congestion en utilisant une stratgie dfinie par l IETF sous le nom de slow start La bande passante du rseau est estime en permanence partir de mesures de round trip time entre les segments mis et les acquittements de rception associs. Basiquement, la stratgie slow start consiste en: dmarrer une transmission avec 1 segment TCP doubler le nombre de segments chaque acquittement positif La stratgie de slow start rduit considrablement le dbit efficace des transactions TCP courtes lorsque TCP n a pas suffisamment de trafic pour quitter ce mode.
Cot metteur, le Slow Start met en oeuvre une nouvelle fentre, la fentre de congestion Cwnd . A ltablissement Cwnd = 1 segment. A chaque rception dun ACK Cwnd = Cwnd +1 Les segments sont mis au rythme des acquittements reus
L'ide de l'algorithme est qu'une indication de pertes de paquets signale une situation de congestion. Quand la congestion est signale, TCP doit ralentir son dbit d'mission des paquets et demander l'algorithme slow-start de reprendre la situation en main. Lorsqu'une situation de pertes de paquets est signale, la fentre de congestion est dcrmente de moiti : cette taille est conserve comme seuil pour l'algorithme slowstart (ssthresh). De plus, si la perte de paquets est signale par un timeout, cwnd est ramene sa valeur initiale et TCP se remet en mode slow-start.
Congestion Avoidance
Ds quune congestion est dtect (timeout o duplication ACK) Ssthr = 1/2 min (Cwnd, Rwnd) et si timeout alors Cwnd = 1 Si Cwnd > Ssthr Congestion Avoidance A chaque rception dun ACK Cwnd = Cwnd + 1/Cwnd (~ 1 segment par RTT) Si Cwnd <= Ssthr Slow Start
Au fil des des annes, TCP a connu un certain nombre de changements visant l'amliorer et l'adapter aux diverses volutions des rseaux. Ces derniers ont eu tendance devenir de plus en plus rapides, augmenter en capacit ce qui a introduit de nouvelles difficults. Ces changements portaient sur plusieurs mcanismes de TCP et plus particulirement sur l'algorithme de congestion en rajoutant les mcanisme de fast retransmit et de fast recovery. Fast retransmit propose attendre trois acquittements dupliqus avant de considrer qu'un segment est perdu. Le segment qui semble perdu est alors rmis sans attendre l'expiration du temporisateur. Aprs Fast retransmit, TCP passe dans la phase transitoire, fast recovery, dans laquelle il reste jusqu' qu'une expiration de temporisateur survienne ou que le segment cens perdu soit acquitt. Durant cette phase, TCP continue envoyer un nouveau segment pour chaque acquittement dupliqu reu. Ceci est ralis dans le but de maintenir le flot de donnes sur le rseau. Dans le cas o le segment perdu est acquitt, la fentre est ramene la valeur de ssthresh, puis continue en phase d'vitement de congestion plutt qu'en slow-start
Fentre de 10 Ko Segment 1 Ko
8 Ko
Capacit
8 Ko
Capacit 32 Ko
Sur les satellites GEO, le retard pur physique est: 480 ms pour un lien bidirectionnel (4*36000/300000)
Sachant que le produit bandwith*delay ne peut excder 64 K Octets -----Le dbit thorique d une connexion TCP satellite GEO ne peut excder: (64*1024*8)/0.48 = 1,09 Mbits/sec (bidirectionnel)
LEO 1,6
GEO 0,94
64 MEO 2,6
GEO 0,11
8 MEO 0,30
LEO 1,4
GEO 0,89
64 MEO 2,2
LEO 12,2
155300000
154800000
NSeq/NAcq
153300000 4,0000
6,0000
8,0000
10,0000
12,0000
14,0000
16,0000
18,0000
20,0000
22,0000
TEMPS (s econde)
TCP interprte les pertes de segment et donc les erreurs de transmission comme une congestion
TCP va rduire la taille de la fentre de congestion (Cwnd) et donc dbit
utile de la connexion
Taux de retransmission
Les mcanismes standards de TCP ont un comportement trs proche du SACK (Selective ACKnoledgement) : Seuls les paquets faux sont retransmit.
Q 10 T (octets) 1460 9126 p 0,99 0,93 CWD (octets) 8 192 65 536 RMesur (pas de dlai) 0,01 0,01 0,12 RMesur (dlai GEO) 0,01 0,02 0,13
-6
10
-5
1460 4536 0,89 0,70 8 192 65 536 0,16 0,15 0,50 0,18 0,18 0,43
Q Dbit
utile mesur
10-7 1460 9126 65 536 7,3 7,1 2,1 1,9 0,66 0,86 10-6 1460 9126 8 192 65 536 1,3 4,8 4,0 0,29 1,3 0,99 0,12 0,50 0,39 10-5 1460 8192 65 536 0,21 0,31 0,10 0,11 0,04 0,05
Windows NT 4.0
Q T (octest) WDTCP (octets) Dut (Mbit/s) LEO MEO GEO
Q Conclusion
Mme si le taux de retransmission dpend peu de la taille de la fentre TCP, le dbit utile est dautant plus affect par les erreurs de transmission que la taille de cette fentre est grande et que la taille des paquets TCP est petite. En prsence derreur, laugmentation de la taille de la fentre TCP ne suffit pas garantir un accroissement des performances de dbit de la connexion TCP. Il faut simultanment garantir un taux derreur suffisamment bas.
l IETF travaille sur ces LFN topologies LFN (prononcer Elephant) signifie Long Fat Networks et se produit chaque fois que le produit "Bandwith*Delay" est susceptible de gnrer des problmes de performances Les LFN peuvent apparatre sur satellite ( cause du retard) mais aussi sur des rseaux trs haut dbit. Ex: ATM ou SDH! La rponse de l IETF est la RFC 1323 (Extended TCP) qui gre: - Windows Size - SACK / SNACK - Times Stamp
Windows Scaling - Dfinit une mthode de prise en charge des fentres de congestion en
permettant TCP de ngocier un facteur dchelle de la taille des fentres lors de ltablissement de la connexion.
Selective Ack - Avant SACK, un rcepteur pouvait seulement accuser rception du dernier
numro de squence de donnes contigus reues. Quand la fonction SACK est active, le rcepteur continue dutiliser le numro ACK pour accuser la rception, mais il peut galement accuser rception individuellement dautres blocs de donnes non contigus.
Times Stamp - Ils ont t conus afin daider le protocole TCP dans la mesure prcise du temps
de transmission aller-retour (RTT) pour rgler les dlais de retransmission.
Application TCP IP
Application TCP IP
TCP IP
PEP TCP IP
PEP TCP IP
TCP IP
internet
internet
Connections using the SkyX Gateway fully saturate the link at low error rates and even at an bit error rate of 1x10-5 (correspond PERIP, lg fixe 1500 octets, de 0,115), achieve 5.1 Mbps without compression and up to 15.8 Mbps for compressible data.