O TCP composto pela Microsoft é apenas uma implementação de um protocolo de algoritmo de congestionamento. No Linux isso foi descartado como você já encontrou, e parece que o TCP Illinois foi o sucessor direto, mas não usei muito mais.
Algum trabalho foi feito para implementar Illinois desde 2.6.22: artigo do LWN: TCP versão preliminar de Illinois . Também parece ainda disponível nas versões atuais: net/ipv4/tcp_illinois.c
na árvore estável pelo linux .
TCP New Reno , outra alternativa baseada em RFC3782 parece ser o mais comumente usado no Linux e completamente integrado ao kernel. Veja também a página de manual 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.
Verifique os que estão disponíveis no seu sistema:
cat /proc/sys/net/ipv4/tcp_available_congestion_control
e ativo:
cat /proc/sys/net/ipv4/tcp_congestion_control
Altere o ativo escrevendo para ele (exemplo reno
):
echo reno | sudo tee /proc/sys/net/ipv4/tcp_congestion_control
Resumindo: Você provavelmente já está usando um protocolo de algoritmo de congestionamento TCP muito moderno e muito eficiente usando apenas um kernel recente do Linux.