Résumé
- Window Scale conserve les seize bits du champ Window, mais attache à chaque direction un exposant négocié pendant l’ouverture de la connexion.
- Avec un décalage de 7, la valeur 65 535 vaut 8 388 480 octets après la poignée de main ; dans un segment SYN, elle reste non mise à l’échelle.
- L’option élargit le crédit que le récepteur peut exprimer. Elle ne crée ni mémoire, ni droit de dépasser la fenêtre de congestion, ni protection PAWS contre les anciens segments.
Le nombre inscrit dans le champ Window n’est pas une mesure de débit. C’est une limite annoncée par le récepteur : la quantité de données supplémentaires qu’il est prêt à accepter. Le format historique ne lui accordait que seize bits, soit une valeur maximale de 65 535. Sur une ligne où le produit bande passante–délai dépasse cette quantité, un récepteur pouvait disposer de mémoire sans pouvoir la déclarer.
RFC 1072 a formulé le problème en 1988 pour les chemins longs et rapides. La solution expérimentale n’a pas modifié la taille de l’en-tête. Elle a ajouté une option de trois octets au SYN : un identifiant, une longueur et un nombre de décalages binaires. Le champ ordinaire resterait petit ; son interprétation pourrait devenir grande.
Le SYN était le bon lieu parce qu’il est retransmis. Une option envoyée dans un ACK ordinaire peut disparaître sans que son absence soit réparée. Si elle pouvait changer l’échelle, les deux extrémités liraient ensuite le même champ avec des unités différentes. La négociation d’ouverture rend donc le sens stable avant le premier usage.
Une connexion, deux exposants
Chaque hôte annonce l’exposant applicable à sa propre fenêtre de réception. Les deux sens ne partagent pas nécessairement la même valeur. Si A offre 7 et B offre 4, B décale les fenêtres annoncées par A de sept bits ; A décode celles de B avec quatre bits. Cette asymétrie correspond à des capacités de mémoire différentes.
L’offre n’est activée que si les deux SYN contiennent l’option. Zéro est une valeur utile : elle signale la prise en charge tout en conservant un facteur un. Si une extrémité ne propose rien, les deux décalages enregistrés restent nuls.
Le champ Window d’un SYN ou d’un SYN-ACK n’est jamais mis à l’échelle. Après l’ouverture, 65 535 << 7 donne 8 388 480 octets. Les bits transportés sont identiques ; seul l’état de connexion permet de savoir ce qu’ils veulent dire.
RFC 1323 a remplacé l’expérience en 1992. RFC 7323 a remplacé RFC 1323 en 2014, a conservé le mécanisme et en a précisé les règles. Il étend la fenêtre conceptuelle à trente bits, limite l’exposant à 14 et autorise ainsi une valeur juste inférieure à un gibioctet. Une valeur reçue au-delà de 14 doit être ramenée à 14 afin de préserver les comparaisons dans l’espace de séquence de 32 bits.
La portée supplémentaire a un prix : la granularité. Avec un décalage de 7, une unité du champ représente 128 octets. La mémoire interne reste exacte, mais le bord annoncé est arrondi quand il passe dans l’en-tête.
Ce que l’échelle ne contrôle pas
Une grande fenêtre de réception n’est pas une fenêtre de congestion. Le premier nombre vient de la capacité et de la politique du destinataire ; le second vient de l’expérience du chemin par l’émetteur. TCP doit respecter la limite la plus basse. L’option ne mesure pas la bande passante et ne garantit pas qu’un tampon annoncé sera rempli.
Elle n’est pas davantage SACK. Elle ne décrit pas les blocs reçus au-delà d’un trou. Elle n’est pas PAWS : elle ne compare aucun horodatage pour rejeter des octets anciens. Ces mécanismes ont partagé une histoire de « haute performance », mais ils produisent des preuves différentes.
RFC 9293 place Window Scale parmi les options courantes recommandées pour les performances, sans la rendre nécessaire à l’interopérabilité TCP minimale. Une connexion peut donc réussir sans elle et rester prisonnière de l’ancien plafond. Le protocole survit ; la capacité utile ne suit pas forcément.
La preuve absente d’une capture tardive
Une capture commencée après la poignée de main ne suffit pas. La valeur 32 768 peut signifier 32 768 octets, quatre mégaoctets ou une autre quantité selon le SYN du sens concerné. L’analyse doit avoir conservé les deux offres.
La même règle s’impose aux pare-feu avec état. RFC 7323 avertit qu’un intermédiaire qui supprime ou modifie l’option du SYN peut désynchroniser les paramètres. S’il n’a pas observé l’échelle, il ne doit pas appliquer de décision fondée sur la fenêtre brute.
L’innovation historique tient dans cette dépendance maîtrisée. TCP a gardé son ancien champ, mais a confié à une ouverture fiable le droit d’en fixer l’unité. L’expansion est réelle, directionnelle et bornée. Elle n’existe que parce que les deux extrémités se souviennent de la même poignée de main.
Références
Briefing des membres
Contexte approfondi du profil
Connectez-vous avec le bon niveau d'adhésion pour débloquer le briefing complet et les notes de source.
Réservé à Strategic Circle
Strategic Circle
Ouvert à tous les lecteurs. Débloquez les briefings de profil après adhésion et connexion.
Rejoindre Strategic CircleRéservé aux membres de Leadership Alliance
Leadership Alliance
Réservé aux propriétaires et dirigeants qualifiés d'actifs IP ; connectez-vous pour débloquer les briefings Alliance.
Rejoindre Leadership Alliance
