Le protocole de contrôle de transmission (TCP) a été conçu historiquement en supposant que toute perte de paquets résulte d'un débordement de mémoire tampon au niveau d'un routeur intermédiaire saturé. Lorsque les algorithmes classiques de contrôle de congestion, tels que Reno, NewReno ou les premières versions de CUBIC, détectent des paquets abandonnés au moyen d'acquittements dupliqués triples ou d'expirations de délais de retransmission (RTO), ils réduisent drastiquement leur fenêtre de congestion de 30 % à 50 %. Bien que ce principe de diminution multiplicative protège la stabilité des cœurs de réseau filaires contre l'effondrement des files d'attente, il se révèle inadapté face aux liaisons radio modernes, qu'il s'agisse de réseaux Wi-Fi, cellulaires ou satellitaires.
Lorsque des terminaux mobiles échangent des flux au travers de tunnels de réseau privé virtuel (VPN) chiffrés sur des liaisons radio instables, des pertes non liées à la congestion surviennent fréquemment. Le bruit radiofréquence, l'évanouissement multi-trajet, les interférences entre canaux Wi-Fi et les transferts intercellulaires (handovers) provoquent l'abandon aléatoire de trames alors même que les routeurs intermédiaires disposent d'une capacité excédentaire. En interprétant ces micro-coupures comme des congestions matérielles, la pile réseau standard effondre le débit effectif. L'algorithme TCP Westwood et son évolution TCP Westwood+ corrigent cette défaillance architecturale en substituant à la division aveugle de fenêtre une estimation continue de la bande passante disponible de bout en bout.
L'illusion des pertes de paquets sans fil : pourquoi la congestion classique paralyse les VPN
Dans les modèles de transport traditionnels, l'infrastructure considère chaque datagramme IP perdu comme la conséquence d'un goulot d'étranglement saturé. Dès que l'émetteur transmet à une cadence supérieure à la capacité de traitement du lien le plus lent, les mémoires tampons (buffers) des routeurs se remplissent jusqu'à ce que les paquets en excès soient rejetés.
Réaction classique basée sur les pertes (Reno / CUBIC standard) :
[Perte de paquet détectée] -------------> Réduction aveugle : ssthresh = cwnd / 2
(Causes : Saturation buffer OU fading radio) Débit divisé par 2 même si le lien 100 Mbps est libre
Récupération intelligente Westwood+ (BDP-Aware) :
[Perte de paquet détectée] -------------> Ajustement précis : ssthresh = (BWE * RTTmin) / MSS
(Calculé sur le taux d'arrivée des ACK) Maintien du débit réel sans étranglement artificiel
Confusion entre interférences radio, évanouissement du signal et saturation de mémoire tampon
Les environnements sans fil imposent des contraintes électromagnétiques totalement absentes des liaisons en fibre optique :
- Évanouissement multi-trajet et interférences de phase : La réflexion des ondes sur les structures urbaines ou les obstacles physiques provoque des annulations destructives de signal, entraînant la perte de trames dès la couche physique.
- Atténuation atmosphérique sur les liaisons satellitaires : Les constellations en orbite basse (LEO) subissent l'absorption par la pluie et la dispersion atmosphérique, provoquant de brèves rafales de paquets manquants.
- Micro-coupures lors des transferts cellulaires : Lors de la transition d'un smartphone d'une station 4G LTE ou 5G à une autre, la réallocation des ressources radio induit une suspension temporaire du transit de 20 ms à 100 ms.
Dans chacune de ces situations, les files d'attente des routeurs intermédiaires restent vides. La capacité physique du canal radio demeure disponible, mais la pile réseau TCP réagit en divisant par deux sa fenêtre de congestion (cwnd). La connexion s'effondre en phase de démarrage lent (slow start), remonte péniblement, puis subit une nouvelle pénalité au prochain parasite radiofréquence.
La pénalité de la diminution multiplicative dans les tunnels mobiles chiffrés
Dans un tunnel VPN chiffré exploitant WireGuard ou IPsec, l'encapsulation réseau ajoute des en-têtes et restreint la taille maximale de segment (MTU), comme détaillé dans notre analyse sur /news/tcp-gso-gro-offloading-linux-vpn-tun-performance.
Lorsqu'une liaison mobile présente un taux modeste de 2 % de perte aléatoire sans fil :
- Une session TCP standard fonctionnant sous CUBIC interprète ces événements comme une congestion permanente et stagne à une fraction minime de la bande passante réelle.
- Le tunnel VPN, chargé de transporter des flux multiplexés, subit des variations brutales de latence et des blocages de flux applicatifs.
- Les mécanismes de contrôle de congestion traditionnels confondent l'aléa du milieu hertzien avec une insuffisance d'infrastructure réseau.
Fondations architecturales : estimation continue de la bande passante (BWE)
Pour remédier à cette asymétrie entre liaisons filaires et sans fil, des chercheurs de l'UCLA ont introduit TCP Westwood. L'algorithme repose sur un postulat fondamental : l'émetteur ne doit pas deviner la bande passante par tâtonnement aveugle, mais l'évaluer en observant en continu le débit auquel le récepteur renvoie les acquittements (ACK).
Émetteur TCP Récepteur distant
| |
|---- Segment 1 (taille L_1) --------------------->|
|---- Segment 2 (taille L_2) --------------------->|
| |
|<--- ACK 1 (accuse réception de L_1) -------------|
|<--- ACK 2 (accuse réception de L_2) -------------|
| |
Mesure de l'intervalle temporel Delta_k
Calcul de l'échantillon de débit : b_k = d_k / Delta_k
Filtrage et actualisation du BWE (Bandwidth Estimate)
Surveillance du débit d'arrivée des acquittements ACK et de la cadence de distribution
À chaque réception d'un acquittement valide par l'émetteur, TCP Westwood mesure la quantité de données nouvellement transmises et validées par le récepteur ($d_k$), ainsi que l'intervalle de temps écoulé depuis le dernier acquittement ($\Delta_k$).
L'échantillon instantané de bande passante s'exprime ainsi : $$b_k = \frac{d_k}{\Delta_k}$$
Puisque les arrivées d'acquittements présentent des variations d'horloge et des micro-pics, Westwood applique un filtre passe-bas à réponse impulsionnelle discrète pour lisser ces observations : $$\hat{b}k = \alpha \cdot \hat{b}{k-1} + (1 - \alpha) \cdot \frac{b_k + b_{k-1}}{2}$$
La valeur de $\alpha$ (généralement fixée à 0,9) pondère l'historique récent afin d'amortir les micro-variations tout en réagissant rapidement aux changements durables de capacité du lien.
Définition de Ssthresh via le produit bande passante-délai : fin des divisions arbitraires
Lorsqu'une perte de segment survient (signalée par 3 ACK dupliqués), plutôt que de diviser aveuglément le seuil de démarrage lent (ssthresh) par deux, Westwood calibre ce seuil directement sur le produit bande passante-délai (BDP) mesuré :
$$\text{ssthresh} = \frac{\text{BWE} \times \text{RTT}_{\min}}{\text{MSS}}$$
Si la perte est d'origine purement hertzienne (bruit ou évanouissement temporaire), le récepteur continuait de recevoir les paquets précédents à plein régime. La valeur de BWE reste donc élevée, et ssthresh est ajusté à la capacité réelle du lien. Au lieu de chuter à zéro ou de diviser son débit par deux, TCP reprend sa progression à partir du débit maximal que le réseau sans fil est effectivement capable d'écouler.
Élimination du repliement spectral : l'évolution de Westwood vers Westwood+
Bien que TCP Westwood ait démontré d'excellents résultats en environnement de laboratoire, son déploiement sur l'Internet réel a mis en évidence une vulnérabilité théorique : le phénomène de compression des acquittements (ACK compression).
La pathologie de compression des acquittements ACK dans les files de trafic croisé fluctuant
Dans les réseaux IP publics, les acquittements retournés par le client traversent des routeurs intermédiaires partagés avec d'autres trafics en rafale. Lorsqu'une file d'attente temporaire retarde plusieurs ACK successifs puis les libère simultanément, ces paquets parviennent à l'émetteur regroupés dans un intervalle de temps extrêmement court ($\Delta_k \to 0$).
Dans la version originale de Westwood, ce regroupement artificiel produit une surestimation dramatique de la bande passante : $$\lim_{\Delta_k \to 0} \frac{d_k}{\Delta_k} = \infty$$
Bien que le filtre passe-bas atténue l'anomalie, des salves régulières d'ACK compressés conduisaient l'émetteur à surévaluer la capacité du lien, provoquant une surcharge des mémoires tampons et des retransmissions massives.
Filtrage discret à l'échelle du RTT : préservation de l'exactitude des mesures
Pour éradiquer définitivement ce biais d'échantillonnage, des chercheurs italiens (Capone, Casetti, Gerla, Mascolo) ont conçu TCP Westwood+. L'innovation clé repose sur un changement d'échelle temporelle pour l'échantillonnage de la bande passante.
Au lieu de calculer un échantillon à chaque arrivée d'ACK individuel, Westwood+ regroupe les données acquittées sur une fenêtre temporelle égale à un temps d'aller-retour complet ($R_k$ ou RTT minimum) :
$$b_k = \frac{D_k}{R_k}$$
où $D_k$ représente le volume total d'octets acquittés pendant la durée de l'aller-retour $R_k$.
Grâce à cette intégration sur la durée complète du trajet, les fluctuations causées par la compression locale des ACK dans les files d'attente s'annulent naturellement. Le signal de bande passante converge rigoureusement vers la capacité physique de goulot d'étranglement sans subir de distorsion de mesure ni d'instabilité mathématique.
Dynamique de transport dans les réseaux superposés : performances de WireGuard et IPsec
L'intégration de Westwood+ s'avère particulièrement stratégique lorsque le trafic applicatif transite par des protocoles VPN modernes basés sur UDP, tels que WireGuard.
Résistance aux pertes lors des transferts cellulaires 5G et à la gigue des liaisons satellites
Sur les liaisons satellitaires géostationnaires ou LEO (comme Starlink) et les réseaux mobiles 5G, la latence aller-retour fluctue constamment sous l'effet de l'ordonnancement radio (MAC scheduling).
| Scénario réseau | Algorithme CUBIC standard | TCP Westwood+ |
|---|---|---|
| Perte aléatoire Wi-Fi 2 % | Chute de débit de 65 % | Débit maintenu à plus de 90 % |
| Transfert d'antenne 5G | Blocage temporaire et relance lente | Récupération immédiate au niveau BDP |
| Gigue satellitaire LEO | Oscillation permanente de la fenêtre | Estimation stable du débit effectif |
| Réseau filaire congestionné | Rétractation normale de fenêtre | Rétractation proportionnelle à l'engorgement |
Atténuation du blocage en tête de ligne dans les flux multipoints encapsulés en UDP
Lorsqu'un client VPN fait transiter plusieurs flux TCP internes dans un tunnel UDP unique, une perte aléatoire sur la liaison physique provoque un désalignement temporaire des numéros de séquence. Si le contrôle de congestion interne réagit par une réduction punitive de fenêtre, l'ensemble des flux multiplexés subit une chute de réactivité.
Westwood+ garantit que la couche transport sous-jacente continue d'alimenter les buffers d'émission à hauteur de la bande passante réelle disponible, évitant la vidange inutile des files d'attente et réduisant la latence perçue par les applications interactives.
Optimisation au niveau de l'infrastructure : moteur RiceGuard tolérant aux pertes
Pour offrir des performances réseau optimales sur les réseaux mobiles et les connexions Wi-Fi instables, l'architecture d'acheminement de VPNRice intègre un moteur de transport adaptatif dénommé RiceGuard.
Cette pile réseau tire parti des avancées de l'estimation de bande passante de type Westwood+ pour isoler les tunnels chiffrés contre les aléas radio :
- Détection des pertes non congestives : Analyse conjointe des variations de délai aller-retour et du taux d'arrivée des paquets pour différencier une saturation de lien d'une fluctuation de propagation hertzienne.
- Régulation dynamique de la fenêtre d'émission : Dimensionnement continu des buffers d'envoi et de réception en fonction du produit bande passante-délai mesuré en temps réel.
- Accélération des transferts de données : Maintien d'une cadence d'émission élevée même lors de passages sous couverture cellulaire dégradée ou de saturation transitoire de bornes Wi-Fi publiques.
Cette conception permet aux utilisateurs de préserver la clarté de leurs appels vidéo, la stabilité de leurs sessions de télétravail et la rapidité de leurs transferts de données dans les environnements de connectivité les plus exigeants.
Audit opérationnel sous Linux : configuration et évaluation de Westwood+
Les administrateurs de systèmes et d'infrastructures réseau peuvent facilement vérifier, activer et évaluer TCP Westwood+ sur leurs serveurs et passerelles Linux grâce aux paramètres du noyau et aux utilitaires de diagnostic réseau.
Activation du module tcp_westwood dans le chemin de données du noyau Linux
Vérifiez la disponibilité des algorithmes dans le noyau et activez Westwood+ à l'échelle du système :
# Vérifier les algorithmes de congestion disponibles
sysctl net.ipv4.tcp_available_congestion_control
# Si le module westwood n'est pas chargé, insérez-le
sudo modprobe tcp_westwood
# Définir westwood comme algorithme de contrôle par défaut
sudo sysctl -w "net.ipv4.tcp_congestion_control = westwood"
# Enregistrer la configuration pour les futurs redémarrages
echo "net.ipv4.tcp_congestion_control = westwood" | sudo tee -a /etc/sysctl.d/99-tcp-westwood.conf
Inspection de la télémétrie et métriques de socket avec l'utilitaire ss
L'outil moderne ss permet d'inspecter en direct l'état des connexions TCP actives et de visualiser les métriques internes calculées par Westwood+ :
# Inspecter les sockets TCP actives utilisant westwood
ss -tin '( dport = :443 or sport = :443 )'
# Exemple de lecture des paramètres internes :
# cubic / westwood wscale:7,7 rto:240 rtt:32.4/4.1 ato:40
# ssthresh:142 cwnd:160 bwe:78.4Mbps minrtt:28.1
En observant attentivement les champs bwe (débit estimé), minrtt (délai aller-retour minimal) et cwnd (fenêtre courante), les ingénieurs peuvent confirmer que les pertes radio ponctuelles n'effondrent plus arbitrairement la fenêtre d'émission, assurant une résilience remarquable sur l'ensemble des réseaux sans fil.



