为什么 SSH 在 UMTS 上速度如此之慢,而 SCP 的速度却可以接受

为什么 SSH 在 UMTS 上速度如此之慢,而 SCP 的速度却可以接受

我正在使用 ssh 访问一台笔记本电脑(通过 UMTS 连接到互联网)。输入任何命令都非常慢。但是,当我使用 SCP 将文件从同一台笔记本电脑复制到本地机器时,它显示的速度约为 1.25 Mbps(160 KBps),这似乎是合理的。

为什么我似乎有足够的上传/下载速度(假设下载速度大于上传速度)却要花这么多时间在远程终端中输入命令?
当我使用时结果没有变化ssh -C,因此压缩并没有显着帮助。

答案1

您的宽带连接可能具有良好的吞吐量,但延迟较差或变化很大。

我敢打赌,如果你ping使用像 Google 这样的工具,你会看到 ping 在 250 毫秒或更高的范围内,而且你可能会看到它变化很大,甚至可能丢失一两个 ping。

交互式应用程序(应用程序之间会交换短消息,并依赖它们尽快到达)在这样的环境中会受到影响。在线游戏通常设计为处理延迟的网络回复,因此如果您通过此连接玩游戏,您的延迟或 ping 值可能很高,但您可能没有注意到问题。

在 SSH 中,当您按下一个键时,它会向服务器发送一个数据包,然后等到收到答复后再回显(就像串行终端一样),因此您会在 SSH 中经常注意到这一点。

非交互式批量传输(如文件下载)不会受到影响。此类传输的启动时间比正常情况要长,但一旦“启动”,它就会达到吞吐量的最大速度。

尝试莫什

答案2

在 scp 交换中,每个数据包包含的数据(约 256 个字符)比 SSH 交互数据包包含的数据(1 个字符)要多。因此,传输相同量的数据所需的数据包数量会有很大差异。

请记住每个数据包也必须被确认,因此使用 SSH 的流量比使用 SCP 的流量要多得多。

最后,请记住,每次交易所需的时间是 ping 时间所指示的时间的 2 倍。因此,您会发现时间差异也相当大。而且,随着您在地理位置上越来越远,这个时间量变得非常明显。

相关内容