Ubuntuで Compound TCP を使用したいと思います。
ウィキペディアのページにはこう書かれています:
Windowsに加えて、CTCPもLinuxに移植されました[...]カーネルバージョン2.6.17以降、モジュールは互換性がなく、カーネルAPIの変更によりコンパイルに失敗します。
正しく機能する新しい実装はありますか?
MicrosoftのCompound TCPは、輻輳アルゴリズムプロトコルの実装の1つにすぎません。 Linuxでは、これは既に見つけたとおりに破棄されており、 TCP Illinois が直接の後継であったようですが、それ以上使用されていません。
2.6.22以降、イリノイを実装するためにいくつかの作業が行われました。 LWNの記事:TCP Illinois予備バージョン 。現在のバージョンでもまだ利用可能だと思われます: net/ipv4/tcp_illinois.c
in linux-stable tree 。
TCP New Reno 、 RFC3782 に基づく別の代替は、Linuxで最も一般的に使用され、カーネルに完全に統合されているようです。マンページ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.
システムで使用可能なものを確認します。
cat /proc/sys/net/ipv4/tcp_available_congestion_control
およびアクティブ:
cat /proc/sys/net/ipv4/tcp_congestion_control
アクティブなものに変更して書き込みます(例reno
):
echo reno | Sudo tee /proc/sys/net/ipv4/tcp_congestion_control
一番下の行:最近のLinuxカーネルを使用するだけで、おそらく非常に最新かつ非常に効率的なTCP輻輳アルゴリズムプロトコルを既に使用しているでしょう。
見る限り、メインラインカーネルから削除されました( git commit を参照)。 git内の検索によると、それは二度と戻ってきませんでした。したがって、ウィキペディアのエントリは正しいです。 (コードを書き直すまで)動作させる機会はありません。