Je voudrais utiliser Compound TCP dans Ubuntu.
La page Wikipedia dit:
En plus de Windows, CTCP a également été porté sur Linux [...] Depuis la version 2.6.17 du noyau, le module est incompatible et sa compilation échoue en raison de modifications de l'API du noyau.
Existe-t-il une nouvelle implémentation qui fonctionne correctement?
Le composé TCP de Microsoft n'est qu'une implémentation d'un protocole d'algorithme d'encombrement. Sous Linux, cela a été ignoré comme vous l'avez déjà constaté, et il semble que TCP Illinois ait été le successeur direct, mais qu'il ne soit plus tellement utilisé.
Certains travaux ont été effectués pour implémenter Illinois depuis la version 2.6.22: article de LWN: TCP version préliminaire de l’Illinois . Il semble également toujours disponible dans les versions actuelles: net/ipv4/tcp_illinois.c
dans l'arborescence stable de Linux .
TCP New Reno , une autre alternative basée sur RFC3782 semble être la plus couramment utilisée sous Linux et complètement intégrée au noyau. Voir aussi la page de manuel tcp(7)
:
tcp_available_congestion_control (String; read-only; since Linux 2.4.20) Show a list of the congestion-control algorithms that are registered. This list is a limiting set for the list in tcp_allowed_congestion_control. More congestion-control algorithms may be available as modules, but not loaded.
Vérifiez ceux disponibles sur votre système:
cat /proc/sys/net/ipv4/tcp_available_congestion_control
et actif:
cat /proc/sys/net/ipv4/tcp_congestion_control
Changez l'actif en lui écrivant (exemple reno
):
echo reno | Sudo tee /proc/sys/net/ipv4/tcp_congestion_control
Résultat final: Vous utilisez probablement déjà un protocole d'algorithme de congestion TCP très moderne et très efficace, simplement en utilisant un noyau Linux récent.
Autant que je sache, il a été retiré du noyau principal (voir git commit ). Selon une recherche au sein de git, il n'est jamais revenu. Donc, l'entrée dans Wikipedia est juste. Vous n'avez aucune chance de le faire fonctionner (jusqu'à ce que vous réécriviez le code).