Compound TCP
Compound TCP (CTCP) est un algorithme crĂ©Ă© par Microsoft qui a Ă©tĂ© introduit dans la pile TCP des systĂšmes Windows Vista et Windows Server 2008. Il est conçu pour ajuster de maniĂšre agressive la fenĂȘtre de congestion de l'expĂ©diteur afin d'optimiser TCP pour les connexions ayant des latences importantes, tout en essayant de prĂ©server l'Ă©quitĂ© (contrairement Ă HSTCP). Il est aussi disponible pour Linux, ainsi que pour Windows XP et Windows Server 2003 via un correctif.
Principes de fonctionnement
Comme FAST TCP et TCP Vegas, Compound TCP utilise des estimations de délais d'attente comme mesures de congestion. Si le délai est faible, on suppose qu'aucun lien sur son chemin n'est congestionné et on augmente rapidement sa vitesse. Cependant, contrairement à FAST et Vegas, il ne cherche pas à maintenir un nombre constant de paquets en file d'attente.
Compound TCP maintient deux fenĂȘtres de congestion : une fenĂȘtre AIMD et une fenĂȘtre basĂ©e sur la latence. La taille de la fenĂȘtre glissante rĂ©ellement utilisĂ©e est la somme de ces deux fenĂȘtres. La fenĂȘtre AIMD augmente de la mĂȘme maniĂšre qu'avec le protocole TCP Reno. Si le dĂ©lai est faible, la fenĂȘtre basĂ©e sur la latence augmente rapidement pour optimiser l'utilisation du rĂ©seau. Une fois que la latence est connue, la fenĂȘtre associĂ©e diminue progressivement pour compenser l'augmentation de la fenĂȘtre AIMD. Le but est de garder leur somme Ă peu prĂšs constante, Ă une valeur que l'algorithme estime ĂȘtre le produit bande passante * latence. En particulier, lorsqu'un ralentissement est dĂ©tectĂ©, la fenĂȘtre basĂ©e sur la latence est rĂ©duite par l'estimation de la taille de file d'attente afin d'Ă©viter le phĂ©nomĂšne de la congestion persistante, rencontrĂ© avec FAST et Vegas. Ainsi, contrairement Ă TCP-Illinois et son prĂ©curseur TCP Africa, Compound TCP peut rĂ©duire sa fenĂȘtre en rĂ©action Ă un ralentissement. Cela augmente son Ă©quitĂ© par rapport Ă Reno.
Plateformes supportées
Windows 2003 et XP x64
Un correctif incluant CTCP est disponible pour Windows XP 64 bits et Windows Server 2003[1].
La clĂ© de registre suivante peut ĂȘtre positionnĂ©e sur 1 pour l'activer ou 0 pour le dĂ©sactiver :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TCPCongestionControl
Windows Vista/2008/7
CTCP est activĂ© par dĂ©faut sur les versions bĂȘta de Windows Server 2008 et dĂ©sactivĂ© par dĂ©faut sur Windows Vista et 7.
CTCP peut ĂȘtre activĂ© avec la commande :
netsh interface tcp set global congestionprovider=ctcp
ou désactivé avec la commande :
netsh interface tcp set global congestionprovider=none
Pour afficher le paramétrage de CTCP :
netsh interface tcp show global
Le paramÚtre "Add-On Congestion Control Provider" a pour valeur "none" si CTCP est désactivé ou "ctcp" s'il est activé.
Windows 8 et supérieur
Depuis Windows 8, Windows utilise une commande PowerShell pour modifier l'algorithme de contrĂŽle de congestion.
Linux
En plus de Windows, CTCP a Ă©galement Ă©tĂ© portĂ© sous Linux par Angelo P. Castellani. Un patch dĂ©rivĂ© a Ă©tĂ© dĂ©veloppĂ© Ă Caltech, il comprenait le rĂ©glage CTCP TUning By Emulation (TUBE). Le patch Ă©tait uniquement disponible pour les chercheurs Ă cause de brevets logiciels. Depuis la version 2.6.17 du noyau, le module est incompatible et ne peut plus ĂȘtre compilĂ© en raison de changements de l'API du noyau[2].
Voir aussi
Références
- (en) Cet article est partiellement ou en totalitĂ© issu de lâarticle de WikipĂ©dia en anglais intitulĂ© « Compound TCP » (voir la liste des auteurs).
Liens externes
- Compound TCP Internet-Draft
- "A Compound TCP Approach for High-speed and Long Distance Networks", juillet 2005
- Performance Enhancements in the Next Generation TCP/IP Stack, The Cable Guy
- The Compound TCP for High-speed and Long Distance Networks, publication Microsoft Research
- Vista's TCP/IP Promises and Perils, article de Network Performance Daily
- Caltech's Compound TCP patch for Linux
- Activation de CTCP sur 2003/XP x64: ,
- Report on experimental evaluation of Compound TCP Hamilton Institute et Caltech, mars 2008.
- A simulation-based study of Compound TCP, 14 juillet 2008