Вы находитесь на странице: 1из 48

TRANSPORT CONTROL PROTOCOL

Présentation des services de l internet par satellite

Protocole du niveau transport (Bout en Bout)

Mode connecté : circuit virtuel <@IPs, Ports,


@IPd, Portd>
Full Duplex Orienté flot d octets
transmet une suite d octets
Retransmet les données perdues ou endommagées
Assure la gestion du flux de données
fenêtre d anticipation
Indication du service par numéro de port
TRANSPORT CONTROL PROTOCOL
Présentation des services de l internet par satellite

Du fait de la philosophie « best effort » de la couche réseau de


l Internet
les routeurs IP peuvent perdre des datagrammes
les routeurs IP peuvent dupliquer ou permuter des datagrammes

1) ===> TCP assure une intégrité binaire « de bout en bout »

Un émetteur « rapide » peut « déborder »et « saturer » un


récepteur lent

2) ===> TCP assure un contrôle de flux « de bout en bout »

Ces mécanismes fonctionnent sur la base de connexions


TRANSPORT CONTROL PROTOCOL
Présentation des services de l internet par satellite
Connect to a specific port number
of Red Box

Client
Internet Listen any incoming
connection request
Accept from yellow

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 extrémité sont concernées par la
gestion des connexions !
TCP : CONNEXION

Présentation des services de l internet par satellite


TCP : TRANSFERT DE DONNEES

Présentation des services de l internet par satellite


TCP : CONTRÔLE DE FLUX

Présentation des services de l internet par satellite


TCP : CONTRÔLE DE FLUX PAR RAPPORT AU RECEPTEUR

Présentation des services de l internet par satellite


Emet des segments TCP à un rythme
contrôlé par le récepteur
Contrôle l intégrité binaire
Récepteur
Emetteur
Appelle de nouveaux segments
or
demande des retransmissions
(si nécessaire)

L Emetteur peut anticiper sa transmission jusqu à la taille


de la « receive window » annoncée par le récepteur... Il doit ensuite
s arrêter et attendre des acquittements du récepteur (positif / négatif)

L émetteur adapte le nombre de paquets envoyés à la taille du buffer de


réception

Dans les implémentations standards de TCP, cette fenêtre d anticipation


est < 64 K bytes
TCP : CONTRÔLE DE FLUX PAR RAPPORT AU RECEPTEUR

Présentation des services de l internet par satellite

Autorise l émetteur à transmettre un certain nombre


de segments (fenêtre de réception) sans avoir a
attendre les acquittements
Fenêtre déclaré par le récepteur

2 3 4 5 6 7 8 9 10 11

Emis, Non Ack Peut être émis


Ne peut pas
Emis, Ack être émis

Fermeture Ouverture
TCP : CONTRÔLE DE FLUX PAR RAPPORT AU RECEPTEUR

Présentation des services de l internet par satellite


TCP : CONTRÔLE D INTEGRITE

Présentation des services de l internet par satellite

La perte d un segment provient :


plus souvent d une congestion que d une erreur de transmission,
peut se détecter quand l émetteur reçoit plusieurs acquittements identiques.
La perte de plusieurs segments se détecte quand la temporisation de retransmission se
déclenche
TCP : CONTRÔLE D INTEGRITE

Présentation des services de l internet par satellite


TCP : CONTRÔLE D INTEGRITE

Présentation des services de l internet par satellite

Gestion dynamique des valeurs de temporisation


RTT : Round Trip Time, temps mesuré pour un aller et retour

L estimation du RTT va déterminer le RTO


(Retransmission Time Out)
Err = RTTmesuré - RTTmoy
RTTmoy = RTTmoy + g * Err
Déviation = Déviation + h * (|Err| - Déviation)
le gain pour la moyenne g prend généralement la valeur de 1/8
le gain pour la déviation h prend la valeur de 1/4
RTO = RTTmoy + 4 * Déviation
TCP : CONTRÔLE D INTEGRITE

Présentation des services de l internet par satellite


TCP : CONTRÔLE D INTEGRITE

Présentation des services de l internet par satellite


TCP : CONTRÔLE DE CONGESTION

Présentation des services de l internet par satellite

Le contrôle de congestion désigne le mécanisme permettant de réguler le trafic afin d'éviter de


surcharger le réseau au point qu'il s'effondre.

Contrairement au contrôle de flux du récepteur, le contrôle de congestion ne faisait pas partie de la


spécification initiale du protocole TCP. Il fut rajouté vers la fin des années 1980 lorsque le trafic,
avec la croissance rapide de l'ARPANET (futur Internet), avait commencé à excéder la capacité
des réseaux. Les routeurs de ces derniers n'arrivaient pas à transmettre les paquets au rythme où
ils arrivaient, entraînant ainsi de nombreux effondrements du réseau en octobre 1986.

Ces événements furent à l'origine des travaux de Jacobson, lesquels aboutirent en 1988 à la
proposition de deux algorithmes. Ces derniers délèguent à TCP une tâche supplémentaire : celle
de réguler le débit des paquets en fonction de l'état du réseau.

Ces algorithmes connus sous le nom de slow-start et congestion avoidance reposent sur l'utilisation
d'une fenêtre supplémentaire par l'émetteur appelée fenêtre de congestion (ou congestion window
que l'on note cwnd). L'approche consiste à augmenter additivement la taille de cette fenêtre tant
que le réseau et les possibilités des machines émettrice et réceptrice le permettent, puis à la
réduire multiplicativement en cas de signes de congestion.
TCP : CONTRÔLE DE CONGESTION

Présentation des services de l internet par satellite


TCP : CONTRÔLE DE CONGESTION

Présentation des services de l internet par satellite

Fenêtre de réception piloté par le récepteur (rwnd)

nombre max de paquets que le récepteur est capable de recevoir à un certain


moment.

Fenêtre d émission contrôle le flux de données applicatif.

Fenêtre de congestion (cwnd) sous fenêtre mobile d émission piloté par l émetteur

nombre max de paquets que l émetteur peut envoyer avant de recevoir un


accusé lui permettant de poursuivre la transmission

Fenêtre d émission = min (cwnd, rwnd)


TCP : SLOW START - CONGESTION AVOIDANCE

Présentation des services de l internet par satellite

La phase additive contient deux sous-phases : celle du démarrage lent et celle


d'évitement de congestion correspondant respectivement aux algorithmes slow-start et
congestion avoidance.

Pendant la phase du démarrage lent, l'augmentation de la fenêtre de congestion suit


une croissance exponentielle : pour chaque acquittement reçu pendant cette phase, la
taille de la fenêtre de congestion est augmentée de la taille d'un segment. En
l'occurrence, si la taille initiale de la fenêtre 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 fixée par une
variable communément appelée ssthresh.

Suit alors la phase d'évitement de congestion qui est régie par le deuxième algorithme.
Pendant cette phase, la croissance de la fenêtre de congestion est linéaire : elle
augmente à raison d'un segment pour une fenêtre acquittée (i.e. un segment par RTT).
TCP : SLOW START

Présentation des services de l internet par satellite

L émetteur TCP essaye de deviner la bande passante Internet disponible et éviter


ainsi une situation de congestion en utilisant une stratégie définie par l IETF sous le
nom de « slow start »

La bande passante du réseau est estimée en permanence à partir de mesures de


« round trip time » entre les segments émis et les acquittements de réception associés.

Basiquement, la stratégie slow start consiste en:

démarrer une transmission avec 1 segment TCP


doubler le nombre de segments à chaque acquittement positif

La stratégie de slow start réduit considérablement le débit efficace des transactions


TCP courtes lorsque TCP n a pas suffisamment de trafic pour quitter ce mode.
TCP : SLOW START

Présentation des services de l internet par satellite

Ssthr (Slow start threshold)


initialisé à 65535octets

Coté émetteur, le « Slow Start » met en oeuvre une nouvelle fenêtre, la fenêtre de
congestion « Cwnd ».

A l établissement Cwnd = 1 segment.

A chaque réception d un ACK Cwnd = Cwnd +1

Les segments sont émis au rythme des acquittements reçus


TCP : SLOW START

Présentation des services de l internet par satellite

cwnd = cwnd * 2 à chaque RTT


TCP : CONGESTION AVOIDANCE

Présentation des services de l internet par satellite


L'idée de l'algorithme est qu'une indication de pertes de paquets signale une situation
de congestion.

Quand la congestion est signalée, TCP doit ralentir son débit d'émission des paquets
et demander à l'algorithme slow-start de reprendre la situation en main.

Lorsqu'une situation de pertes de paquets est signalée, la fenêtre de congestion est


décrémentée de moitié : cette taille est conservée comme seuil pour l'algorithme slow-
start (ssthresh). De plus, si la perte de paquets est signalée par un timeout, cwnd est
ramenée à sa valeur initiale et TCP se remet en mode slow-start.
TCP : CONGESTION AVOIDANCE

Présentation des services de l internet par satellite

Ssthr (Slow start threshold)


initialisé à 65535octets

Congestion Avoidance

Dès qu une congestion est détecté (timeout où duplication ACK)


Ssthr = 1/2 min (Cwnd, Rwnd) et si timeout alors Cwnd = 1
Si Cwnd > Ssthr Congestion Avoidance
A chaque réception d un ACK Cwnd = Cwnd + 1/Cwnd (~ 1 segment par RTT)
Si Cwnd <= Ssthr Slow Start
TCP : FAST RETRANSMIT FAST RECOVERY

Présentation des services de l internet par satellite

Au fil des des années, TCP a connu un certain nombre de changements visant à
l'améliorer et à l'adapter aux diverses évolutions des réseaux. Ces derniers ont eu
tendance à devenir de plus en plus rapides, à augmenter en capacité ce qui a introduit
de nouvelles difficultés. Ces changements portaient sur plusieurs mécanismes de TCP
et plus particulièrement sur l'algorithme de congestion en rajoutant les mécanisme de
fast retransmit et de fast recovery.

Fast retransmit propose à attendre trois acquittements dupliqués avant de considérer


qu'un segment est perdu. Le segment qui semble perdu est alors réémis sans attendre
l'expiration du temporisateur.

Après 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é reçu. Ceci est réalisé dans le but de
maintenir le flot de données sur le réseau. Dans le cas où le segment perdu est acquitté,
la fenêtre est ramenée à la valeur de ssthresh, puis continue en phase d'évitement de
congestion plutôt qu'en slow-start
TCP : FAST RETRANSMIT FAST RECOVERY

Présentation des services de l internet par satellite


TCP : FAST RETRANSMIT FAST RECOVERY

Présentation des services de l internet par satellite


TCP : FAST RETRANSMIT FAST RECOVERY

Présentation des services de l internet par satellite


Présentation des services de l internet par satellite
TCP : CONTRÔLE DE CONGESTION

Présentation des services de l internet par satellite


TCP : impact du délai de propagation
Présentation des services de l internet par satellite
TCP : impact du délai de propagation
Présentation des services de l internet par satellite

Capacité (bits) = Bande Passante (Bits/s) x Round-Trip time (s)

Fenêtre de 10 Ko
Segment 1 Ko Capacité 8 Ko
8 Ko

Capacité 32 Ko
TCP : impact du délai de propagation
Présentation des services de l internet par satellite
TCP : impact du délai de propagation
Présentation des services de l internet par satellite
TCP : impact du délai de propagation
Présentation des services de l internet par satellite

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 excéder


64 K Octets
------
Le débit théorique d une connexion TCP satellite GEO ne
peut excéder:

(64*1024*8)/0.48 = 1,09 Mbits/sec (bidirectionnel)


TCP : impact du délai de propagation
Présentation des services de l internet par satellite

WDTCP (Ko) 8 64 2 048


RTT (ms) GEO MEO LEO GEO MEO LEO GEO MEO LEO
Dmax (Mbit/s) 0,12 0,33 1,6 0,94 2,6 13,1 30,0 83,9 419,4

DEBIT UTILE MAXIMAL THEORIQUE DUNE CONNEXION TCP

WDTCP (Ko) 8 64
RTT (ms) GEO MEO LEO GEO MEO LEO
Dmax (Mbit/s) 0,11 0,30 1,4 0,89 2,2 12,2

DEBIT UTILE MAXIMAL MESURE D UNE CONNEXION TCP


TCP : impact du délai sur le Slow Start
Présentation des services de l internet par satellite
FIGURE 3 : évolutions des séquences émises et des acquittements reçus
Rwnd = 64 Ko
155300000
Pente = 1Mbps
Délai : GEO

154800000
N°Seq/N°Acq

SEQ
ACQ
154300000

153800000
Slow Start

153300000
4,0000 6,0000 8,0000 10,0000 12,0000 14,0000 16,0000 18,0000 20,0000 22,0000
TEMPS (seconde)

Durée Slow Start : 7 s = RTT * Log2 (Rwnd)


TCP : impact des erreurs de transmission
Présentation des services de l internet par satellite

TCP interprète les pertes de segment et donc les erreurs


de transmission comme une congestion
TCP va réduire la taille de la fenêtre de congestion (Cwnd) et donc débit
utile de la connexion
Taux de retransmission
Les mécanismes standards de TCP ont un comportement très proche du
SACK (Selective ACKnoledgement) : Seuls les paquets faux sont
retransmit. -6 -5
Q 10 10
T (octets) 1460 9126 1460 4536
p 0,99 0,93 0,89 0,70
CWD (octets) 8 192 65 536 8 192 65 536
RMesuré (pas de délai) 0,01 0,01 0,12 0,16 0,15 0,50
RMesuré (délai GEO) 0,01 0,02 0,13 0,18 0,18 0,43

TAUX DE RETRANSMISSION MESURE EN PRESENCE D ERREUR


TCP : impact des erreurs de transmission
Présentation des services de l internet par satellite

Débit utile mesuré


Windows NT 4.0
Q 10-7 10-6 10-5
T (octest) 1460 9126 1460 9126 1460
WDTCP (octets) 65 536 8 192 65 536 8192 65 536
LEO 7,3 7,1 1,3 4,8 4,0 0,21 0,31
Dut (Mbit/s) MEO 2,1 1,9 0,29 1,3 0,99 0,10 0,11
GEO 0,66 0,86 0,12 0,50 0,39 0,04 0,05

UNIX Solaris 2.6


Q 10-7 10-6 10-5
T (octest) 1460 9126 1460 9126 1460
WDTCP (octets) 65 536 8 192 65 536 8192 65 536
LEO 6,5 7,1 1,2 1,7 2,1 0,12 0,12
Dut (Mbit/s) MEO 1,1 1,4 0,27 0,42 0,50 0,06 0,06
GEO 0,41 0,52 0,10 0,15 0,17 0,02 0,03
TCP : impact des erreurs de transmission
Présentation des services de l internet par satellite

Conclusion

Même si le taux de retransmission dépend peu de la taille


de la fenêtre TCP, le débit utile est d autant plus affecté
par les erreurs de transmission que la taille de cette fenêtre
est grande et que la taille des paquets TCP est petite.

En présence d erreur, l augmentation de la taille de la


fenêtre TCP ne suffit pas à garantir un accroissement des
performances de débit de la connexion TCP. Il faut
simultanément garantir un taux d erreur suffisamment
bas.
Solution: Extended TCP (RFC 1323)
Présentation des services de l internet par satellite

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
générer des problèmes de performances
Les LFN peuvent apparaître sur satellite (à cause du retard) mais
aussi sur des réseaux à très haut débit. Ex: ATM ou SDH!
La réponse de l IETF est la RFC 1323 (Extended TCP) qui gère:
- Windows Size
- SACK / SNACK
- Times Stamp
Apport de la RFC 1323
Présentation des services de l internet par satellite

Windows Scaling
- Définit une méthode de prise en charge des fenêtres de congestion en
permettant à TCP de négocier un facteur d échelle de la taille des fenêtres lors de
l établissement de la connexion.

Selective Ack
- Avant SACK, un récepteur pouvait seulement accuser réception du dernier
numéro de séquence de données contigus reçues. Quand la fonction SACK est
activée, le récepteur continue d utiliser le numéro ACK pour accuser la réception,
mais il peut également accuser réception individuellement d autres blocs de
données non contigus.

Times Stamp
- Ils ont été conçus afin d aider le protocole TCP dans la mesure précise du
temps de transmission aller-retour (RTT) pour régler les délais de retransmission.
Mise en oeuvre de la RFC 1323
Présentation des services de l internet par satellite
Solution: TCP Spoofing
Présentation des services de l internet par satellite
Solution: TCP Splitting
Présentation des services de l internet par satellite
Performance Enhancing Proxy
Présentation des services de l internet par satellite

TCP server TCP client


(sender side) PEP agent PEP agent (receiver side)
(uplink gateway) (downlink gateway)
Application Application
TCP TCP PEP TCP PEP TCP TCP TCP
IP IP IP IP IP IP

internet internet

Standard IETF : RFC 3135


Impact du BER sur un PEP Mentat

Présentation des services de l internet par satellite

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.
Impact du BER sur un PEP Mentat

Présentation des services de l internet par satellite


This document was created with Win2PDF available at http://www.win2pdf.com.
The unregistered version of Win2PDF is for evaluation or non-commercial use only.

Вам также может понравиться