在我的项目中,我们有远程 Linux 节点,它们通过极低速 CDMA 蜂窝调制解调器在互联网上进行通信。这些调制解调器上的带宽约为 2kbyte/秒,返回服务器的 RTT 约为 800ms。
基于这些限制,尝试调整 Linux TCP 堆栈以匹配此性能是否有任何好处?例如,我最近发现了可插入拥塞控制算法,并且想知道是否有一种与默认算法不同的算法可以更好地工作。有时我发现这些调制解调器上的下载速度爬升至 800 字节/秒。我运行了一些 UDP 测试,丢包率约为 25%。
Linux 是 2.6.35.3,在 ARMHF 上带有 Debian Wheezy。
答案1
“我已经看到这些调制解调器上的下载速度爬升至 800 字节/秒。”
您没有给出损耗测量值,因此无法判断您是否看到拥塞或仅仅是小于规格的信道容量。
值得注意的是,TCP 是在硬件上设计的,速度比您的设备慢得多,并且错误率可能更高。对于较慢的连接,TCP 可以很好地利用可用容量。
您可以尝试不同的拥塞控制机制,但如果您获得的吞吐量比现在更好,我会感到惊讶。测量实际网络上的实际信道容量比看起来要复杂得多。