Linux TCP/IP 针对低吞吐量网络进行调整?

Linux TCP/IP 针对低吞吐量网络进行调整?

我有两台 Linux 机器,通过无线调制解调器连接。带宽约为 2kbps,ping 时间约为 400ms(5% 的数据包丢失)。

目前,ssh 会话的延迟约为 5 秒,尽管情况会有所不同。原始 telnet 的情况类似,打开 tcp 连接似乎要花很长时间。

有人知道在这种情况下如何最好地调整 IP 参数吗?

答案1

如果可能的话,请确保你运行的 MTU 足够低。单个 1500 字节的数据包需要大约 6 秒才能在你的链路上传输(假设你的意思是 2 千克每秒,而不是字节数)。而且您丢失了相当多的数据包(如果这是使用 而ping remote-end不是 的数据包丢失,则可能超过 5% ping -s «MAX-SIZE» remote-end),需要重新发送整个数据包。

严格来说,IPv4 的 MTU 可以降至 68(这无论如何都太小了),但 Linux 的 PMTU 发现限制为不小于 552,并且堆栈的其他部分可能在低于 128 字节左右时失败。

请注意,您的操作远远低于第十TCP 设计者的带宽早在 1973 年

答案2

丢失将降低 TCP 吞吐量。并且这种延迟是人眼可感知的。

请考虑重新考虑您使用的协议和应用程序的延迟和断线容忍度。例如:

  • 莫什 它自称是一个“移动外壳”,能够在连接变化的情况下继续存在,并可在本地预测回声,从而获得更快的体验。
  • Citrix 具有一定的智能功能,可以在连接较差的情况下显示 (Windows) GUI 应用程序。不过我怀疑在 2 kbps 的速度下能否获得足够的 GUI。

相关内容