Linux UbuntuにTCP輻輳制御バリアントを追加する

Linux UbuntuにTCP輻輳制御バリアントを追加する

Linux UbuntuでさまざまなTCPバリアントをテストしたいと思います。カーネルバージョン3.14のUbuntu 14.04 LTSがあります。次のコマンドを使用して利用可能な輻輳制御アルゴリズムを確認すると、sysctl net.ipv4.tcp_available_congestion_controlキュービックとレノのみが表示されます。しかし、Hybla、HighSpeedなどの他のバリエーションもテストしたいと思います。実行すると、menuconfig目的のバリアントを選択してカーネルをコンパイルできます。しかし、私の場合はすでにカーネルをコンパイルしていますが、TCPバリアントを含むいくつかのLinuxパッケージをロード可能なカーネルモジュールとして持つことは可能ですか?

答え1

どのモジュールをインストールしたかを見るには、ここを見てください。

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

設定ファイルで TCP_CONG を greping することで、カーネルが設定した内容を確認できます。

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 

答え2

tcp_hyblaそしてtcp_高速どちらもカーネルツリーにモジュールとして追加されます。したがって、これらのモジュールを個別にコンパイル、インストール、および使用できます。カスタムモジュールをコンパイルする方法をすでに知っていることを願っています。

関連情報