Fenêtrage couche Transport (Contrôle de flux) expliqué : Fenêtre glissante TCP
Fenêtrage = Contrôle de flux dynamique dans TCP
Dans la couche Transport (OSI Couche 4), le fenêtrage est le mécanisme permettant au récepteur de dire à l'expéditeur « combien de données supplémentaires j'accepte maintenant » — évitant débordement tampon et optimisant débit.
Concepts clés
- Taille fenêtre (rwnd) : Champ 16 bits en-tête TCP (0–65 535 octets). Étendu via option Window Scale (WS) jusqu'à 1 Go (RFC 7323).
- Fenêtre d'envoi : Octets expéditeur peut transmettre sans acquittement = min(cwnd, rwnd).
- Numéros de séquence : Chaque octet numéroté ; ACK = prochain octet attendu.
Fonctionnement fenêtre glissante
- Expéditeur transmet jusqu'à taille fenêtre.
- Récepteur traite, renvoie ACK avec
rwndmis à jour. - Fenêtre « glisse » vers l'avant — nouveaux octets deviennent éligibles.
- Si
rwnd = 0, expéditeur s'arrête (sonde fenêtre zéro persiste).
Améliorations clés
- ACK différé : Récepteur attend jusqu'à 200 ms ou 2 segments → réduit surcharge ACK.
- Acquittement sélectif (SACK) : Signale blocs non contigus reçus → retransmission rapide seulement données manquantes.
- Fenêtre adaptative :
rwnd réduit/augmente selon pression tampon ;cwnd(fenêtre congestion) réagit perte/ECN.
Pourquoi ça compte
- Sans fenêtrage : stop-and-wait → 1 RTT par segment → débit terrible liens haut BDP (satellite, fibre longue distance).
- Avec fenêtrage : utilisation pleine tuyau — expéditeur maintient données « en vol » = Bande passante × RTT.
Analogie
Chaîne seaux : taille seau récepteur = fenêtre. Expéditeur verse jusqu'à seau plein ; récepteur vide (traite) et signale « plus de place ». Pas débordement, pas mains inactives.
Le fenêtrage explique pourquoi liaison 1 Gbps sur 100 ms RTT peut réellement délivrer ~1 Gbps — pas 14,6 kbps (stop-and-wait).
