3

NewRenoの代わりにLEDBATを輻輳制御として使用するMacOSX [1]用の代替のオープンソースTCP実装を見つけました。

  • 私はそのOSにあまり詳しくないので、そのソースファイルをビルドしてシステムにロードする方法を教えてください。

(たとえば、Linuxのように、簡単に構築してカーネルにモジュールとしてプラグインし、ランタイムをロードできる実装[2]があるかどうか、疑問に思っていました。

make; make install
modprobe tcp_ledbat
sysctl -w net.ipv4.tcp_congestion_control=ledbat

)。

[1] http://opensource.apple.com/source/xnu/xnu-1699.22.81/bsd/netinet/tcp_ledbat.c

[2] http://perso.telecom-paristech.fr/~valenti/pmwiki/pmwiki.php?n=Main.LEDBAT#howtokernel

ありがとうございました

4

1 に答える 1

3

LEDBAT 輻輳制御アルゴリズムは OSX Lion (10.7.X) に組み込まれており、個別にコンパイルする必要はありません。多くの作業をせずに、以前のバージョンの OSX で LEDBAT を使用することはできないと思います。LEDBAT は「バックグラウンド」転送を提供し、次のソケット オプションを設定することでソケットで選択できますsetsocketopt(sock, SOL_SOCKET, SO_TRAFFIC_CLASS, SO_TC_BK, sizeof(int))。また、ソケットのトラフィック クラスは、IP ヘッダーの DSCP 値の影響を受ける可能性があるようです。

さらに、OSX にはNetwork Kernel Extensions (NKE)を使用してしばらくの間、他のネットワーク プロトコル用のカーネル モジュールをロードする機能がありました。たとえば、SCTP プロトコル用に開発されたNKE モジュールがあります。

于 2012-04-05T10:08:20.737 に答える