通过高延迟链接提高大型文件传输的速度


8

因此,最近我需要从我们在海外的一个办事处通过互联网提取大文件。这两个办公室在两个方向上都有50Mbit的光纤链路,但是往返时间太可怕了,一天的好消息可能是450ms,而废话的时间是750ms。

最初,我尝试通过VPN连接拉文件,但是在几次失败的传输(smb确实使慢速链接糟透了)并以大约128kBps的速度最大化时,一个快速的Google表示我遇到了Windows TCP窗口缩放问题。

从那以后,我就通过商业私有云类型的服务推送了文件,该服务将文件更快地送到了这里,因此以下内容出于好奇而已。

有趣的是,两端的互联网访问都是通过http代理进行的。但是,我在两端的计算机上都具有管理员权限。

您将如何提高速度?

我尝试过的事情:

1)在两个Linux虚拟机之间使用普通的SFTP,使用corkscrew通过http代理进行打孔,并使用第三中介将两端连接在一起。达到的速度:大约600kBps。

2)SFTP,但使用修补了HPN-SSH的OpenSSH。开瓶器和中介配置与1)相同。几乎没有速度改善。

3)按照2,但使用LFTP with pget -c -n 10将传输分成多个块。这是迄今为止最好的,看到3.5MBps ...

欢迎所有改进。


Answers:


4

这些天来,我正在通过使用UDR作为传输,通过在UDP上封装rsync来解决长距离和高延迟链路上的传输问题。UDR使用UDT,其描述为:

UDT是一种可靠的基于UDP的应用程序级数据传输协议,用于广域高速网络上的分布式数据密集型应用程序。UDT使用UDP通过自己的可靠性控制和拥塞控制机制来传输批量数据。新协议可以以比TCP更高的速度传输数据。UDT还是一个高度可配置的框架,可以容纳各种拥塞控制算法。

默认情况下,这会禁用加密功能,这是我在修补HPN-SSH时需要做的主要工作,但是UDP方法已经起到了很大作用。UDR / UDP解决方案的主要优点是命令功能没有太大变化。您最终在rsync命令前加上udr

udr rsync -avP --stats --delete --inplace /data/ mir1:/data/

另请参阅:WAN优化对SSH流量的可能性


3

我在$ lastjob遇到了同样的问题。

单纯依靠我自己的基础架构,我从未找到比LFTP更好的解决方案。

如果可以证明这笔费用合理,则可以购买进行WAN加速的设备。基本上,它们透明地将您的请求转换成更大的块,从而大大减少了这两个站点之间的闲聊。Riverbed可能是那里最有名的选择,但是IIRC上还有一个用于Juniper路由器的模块。我目前不知道任何牙线选项。

实际上,我发现最好的选择是Dropbox等,但这对您来说可能不可接受。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.