TCP Westwood 实施可用吗?

TCP Westwood 实施可用吗?

有没有办法为 FreeBSD 安装 TCP Westwood 拥塞控制算法模块?如果没有,也许有一个可用的源代码可以编译成可加载的内核模块?

答案1

这似乎是一个路过的问题,因为缺少“为什么?”

简洁版本:“不——使用 CHD”

UCLA 与 TCP Westwood 的一些工作是在 FreeBSD 4.4 上完成的 http://web.cs.ucla.edu/~nrl/rr2002/poster/mvalla-0.pdf

您可以在以下位置找到 Westwood+ 来源: http://c3lab.poliba.it/index.php/Westwood

TCP Westwood 是 TCP New Reno 的修改版。当您有反向交通时,它效果不佳。这导致了 TCP Westwood+,它在 2006 年左右在 Linux 内核中实现。我怀疑这可能是这个问题的起源:Linux 有这种性能:为什么 FreeBSD 没有它?但请注意,CUBIC 在 Linux 2.6.19 到 3.1 上是默认的。在 FreeBSD 13.2 之前,默认值为 NewReno。从14.0以后的默认值也是 CUBIC。

请参阅犯罪其中指出:

对于小型交易交换(例如 <15kB 的 Web 对象),这不会产生实质性影响。然而,对于长时间的数据传输,与 NewReno CC 竞争时,CUBIC 会分配稍高部分的可用带宽。

自由BSD从 9.0 开始就有一个很好的模块化拥塞控制框架。默认情况下,它附带 5 种不同的拥塞控制实现:

  • 新里诺,立方体HTCP基于丢失的 TCP CC 算法。
  • 维加斯,高清冠心病基于延迟的 TCP CC 算法。

您可以通过以下方式查看系统上可用的内容:

sysctl net.inet.tcp.cc

看:

man mod_cc

公告:

http://www.freebsdfoundation.org/announcements#Swinburne

原项目地点:

http://caia.swin.edu.au/freebsd/5cc/

您可以在这里阅读他们相当密集的项目报告:

http://caia.swin.edu.au/reports/110228A/CAIA-TR-110228A.pdf

从我读到的内容来看,当你有 CUBIC 可用时,我不会(在大多数情况下)使用 TCP Westwood+:

http://www.academia.edu/1231530/Experimental_analysis_of_the_TCP_Westwood_and_TCP_CUBIC_congestion_control_algorithms

您没有说明为什么需要 TCP Westwood。如果您正在尝试优化您的网络,我肯定会从您包装盒中的内容开始。 TCP 是关键代码,除非进行认真的研究,否则我不会冒险脱离操作系统。如果你正在做(认真的!)研究 - 那么我会和 5cc 的人谈谈。

如果您对 TCP Westwood 的偏好是因为有损链路(例如无线) - 我宁愿采用更现代的“CHD”路线。如果您正在使用现代高速网络,您应该关注 CUBIC 和 HTCP。在现实世界中,“Vegas”几乎从来没有任何乐趣:它不能在网络上与基于“Reno”的堆栈很好地共存(这是最常见的情况!)。

相关内容