如何在Mac OS X中加载不同的拥塞控制算法



我在Mac OS X上找到了一个替代的开源TCP实现[1],它使用LEDBAT作为拥塞控制,而不是NewReno。

  • 由于我对那个操作系统不太熟悉,你能告诉我如何构建那个源文件并将其加载到系统中吗?

(例如,我想知道是否有一种方法可以在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/瓦伦蒂/pmwiki/pmwiki.php ? n = Main.LEDBAT # howtokernel

谢谢

LEDBAT拥塞控制算法内置在OSX Lion (10.7.X)中,不需要单独编译。我不认为在OSX的早期版本中不做大量的工作就可以使用LEDBAT。LEDBAT提供"后台"传输,可以在套接字上通过设置以下套接字选项setsocketopt(sock, SOL_SOCKET, SO_TRAFFIC_CLASS, SO_TC_BK, sizeof(int))来选择。此外,socket的流量分类也可能受到IP头中DSCP值的影响。

另外,OSX已经有能力使用他们的网络内核扩展(NKE)加载其他网络协议的内核模块一段时间了——例如,已经为SCTP协议开发了一个NKE模块。

最新更新