在Windows中,我使用sftp和scp(安全复制协议)传输了一个数据文件(8GB),并得到以下结果: 通过计算吞吐量=数据大小/时间(秒) 作为一名网络新手,我不知道是什么导致了这些协议的吞吐量不同? 我认为这与交互式和非交互式无关,因为在调试文件中,我看到传输文件期间的命令行是相同的。 有人能向我解释一下吗?
这两个协议都基于SSH。而SSH本身有一些额外的开销:它本身就有一些开销:SCP是一个非常幼稚的协议,用于传输一些小文件的非常幼稚的算法。它有很多同步(RTT - Round Trip Time)和小缓冲区(基本上2048 B- 源)。另一方面,SFTP更先进,更适合传输文件。它具有更大的缓冲区,减少了同步的需求,增加了速度。我想使用rsync可能会达到类似的结果,它可能是传输数据的最合适工具。缓冲区默认为32 768 B = 32 kB,但可以使用命令行配置-B开关。