IoT*_*IoT 4 linux ubuntu tcp linux-kernel
我想在 Linux Ubuntu 中测试 TCP 的不同变体。我有内核版本为 3.14 的 Ubuntu 14.04 LTS。当我使用以下命令检查可用的拥塞控制算法时,sysctl net.ipv4.tcp_available_congestion_control我只得到:cubic 和 reno。但是,我想测试其他变体,例如 Hybla、HighSpeed。如果我运行menuconfig我可以选择我想要的变体并编译内核。但是在我的情况下,我已经编译了内核,所以是否有可能有一些包含 TCP 变体作为可加载内核模块的 Linux 包?
小智 7
看看这里,看看你安装了哪些模块......
ls -la /lib/modules/$(uname -r)/kernel/net/ipv4
Run Code Online (Sandbox Code Playgroud)
你应该得到一个模块列表,我得到了这个。
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
Run Code Online (Sandbox Code Playgroud)
您可以通过greping TCP_CONG 的配置文件来查看您的内核已配置的内容,即
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"
Run Code Online (Sandbox Code Playgroud)
要尝试其中之一,您需要使用modprobe -a tcp_westwood或任何您想要的方式安装它。然后您可以使用它来测试它
echo "westwood" > /proc/sys/net/ipv4/tcp_congestion_control
Run Code Online (Sandbox Code Playgroud)