Adicionar variante de controle de congestionamento TCP ao Linux Ubuntu

2

Eu quero testar diferentes variantes do TCP no Linux Ubuntu. Eu tenho o Ubuntu 14.04 LTS com o Kernel versão 3.14. Quando eu verificar o algoritmo de controle de congestionamento disponível usando o seguinte comando sysctl net.ipv4.tcp_available_congestion_control recebo apenas: cubic e reno. No entanto, quero testar outras variantes como Hybla, HighSpeed. Se eu executar o menuconfig , posso selecionar as variantes que eu quero e compilar o Kernel. Mas no meu caso, eu já tenho o kernel compilado, então é possível ter algum pacote Linux que contenha variantes TCP como módulos de kernel carregáveis?

    
por IoT 14.04.2016 / 01:09

2 respostas

4

Dê uma olhada aqui para ver quais módulos você instalou ...

ls -la /lib/modules/$(uname -r)/kernel/net/ipv4

Você deve obter uma lista de módulos, eu tenho isso.

tcp_bic.ko
tcp_diag.ko
tcp_highspeed.ko
tcp_htcp.ko
tcp_hybla.ko
tcp_illinois.ko
tcp_lp.ko
tcp_scalable.ko
tcp_vegas.ko
tcp_veno.ko
tcp_westwood.ko

Você pode ver o que o seu kernel configurou fazendo um greping no seu arquivo de configuração para TCP_CONG ie

grep TCP_CONG /boot/config-$(uname -r)
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_DEFAULT_TCP_CONG="cubic"

Para experimentar um desses, você precisa instalá-lo usando modprobe -a tcp_westwood ou o que você quiser. Você pode então testá-lo usando este

echo "westwood" > /proc/sys/net/ipv4/tcp_congestion_control 
    
por 14.04.2016 / 07:55
0

tcp_hybla e tcp_highspeed ambos são adicionados à árvore do kernel como módulo. Assim, você pode compilar separadamente, instalar esses módulos e usá-los. Espero que você já esteja ciente de como compilar um módulo personalizado.

    
por 14.04.2016 / 04:25