Table des matières

, ,

Généralités

Dans les RFC l'unité de données transmise par le protocole TCP est nommée segment TCP.

TCP est un protocole connecté encapsulant IP (Internet Protocole). Il permet de s'assurer que les informations sont échangées de façon fiable:

TCP considère les données comme un flux continu avec signal de début et de fin.

  1. Le client transmet un paquet avec le bit SYN pour signaler le début d'un nouveau flux.
  2. Le serveur répond SYN/AKC s'il accepte ou SYN/RST pour refus.
  3. Si le client a reçu un SYN/ACK il valide avec ACK, les données sont alors transmises. C'est pendant l’établissement de connexion (handshake) que les options de transmissions sont négociées.
  4. Un paquet FIN clôture la transmission. Le serveur accuse réception avec FIN/ACK.

Lors de la transmission des données le client numérote chaque paquet de la séquence. Le serveur accuse réception (ACK) pour chaque paquet.

CWND et RWND

CWND1) et RWND2) sont des variables d'état utilisées conjointement par le protocole TCP pour contrôler le flux de données entre la source (serveur) et la destination (client) afin de limiter les congestions et d'améliorer les performances.

La congestion se produit lorsque le flux émis par le serveur dépasse la quantité admissible coté client. Lorsque les tampons sont pleins coté client, les paquets sont temporairement stockés dans des tampons auxiliaires à la fois coté serveur et coté client en attendant de pouvoir être transmis dans les couches adjacentes. Cela peut conduire à la perte de paquets, leur retransmission, la dégradation des performances ou l'effondrement du réseau dans les cas extrêmes.

Le client communique la valeur de RWND dans l’entête TCP. Cela permet au serveur d'initialiser la valeur de CWND en s'adaptant progressivement aux capacités du client.

La valeur CWND évolue jusqu’à atteindre une valeur limite pouvant correspondre à RWND ou aux limites du réseau.

Le débit d'émission des données est lié à la taille de CWND et même si la valeur de RWND est grande, CWND peut rester faible notamment si la capacité de transmission du réseau est inférieure à la valeur maximale de RWND.

La congestion est détectée soit par la réception d'un ACK dupliqué soit par un signal de temps dépassé. Le serveur baisse alors la valeur de CWND et son débit d'émission.

Le protocole TCP ajuste la valeur de CWND pour atteindre un débit d'émission optimal avec un minimum de perte de paquets ou d'effet de congestion.

Références

1)
Congestion WiNDow
2)
Receiver WiNDow