我有两台 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。