Linux

將 TCP 擁塞控制變體添加到 Linux Ubuntu

  • March 30, 2019

我想在 Linux Ubuntu 中測試 TCP 的不同變體。我有核心版本 3.14 的 Ubuntu 14.04 LTS。當我使用以下命令檢查可用的擁塞控制算法時,sysctl net.ipv4.tcp_available_congestion_control我只得到:cubic 和 reno。但是,我想測試 Hybla、HighSpeed 等其他變體。如果我執行,menuconfig我可以選擇我想要的變體並編譯核心。但就我而言,我已經編譯了核心,所以是否可以有一些包含 TCP 變體作為可載入核心模組的 Linux 包?

看看這裡,看看你安裝了哪些模組……

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

你應該得到一個模組列表,我得到了這個。

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

您可以通過 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"

要嘗試其中之一,您需要使用modprobe -a tcp_westwood或任何您想要的方式安裝它。然後,您可以使用它來測試它

echo "westwood" > /proc/sys/net/ipv4/tcp_congestion_control 

引用自:https://unix.stackexchange.com/questions/278215