4

我正在寻找一种将非平凡(10G > x >10MB)数据从一台机器传输到另一台机器的好方法,可能通过多个会话。

我已经简要地看了

  • *ftp (sftp, tftp, ftp)
  • http
  • 种子(因为我一般不会有种子网络)
  • rsync(不确定我是否真的可以适应我的需要)

是否有任何其他协议可能更适合该法案?上面的大多数本身都不是非常容错的,而是依靠客户端/服务器应用程序来弥补缺陷。在这个阶段,我更关心协议本身,而不是运行良好的特定客户端/服务器实现。

(是的,我知道我可以通过 udp 自己编写,但我更喜欢其他任何东西!!)

4

5 回答 5

5

我使用 rsync(通过 SSH)传输任何我认为可能需要一分钟以上的时间。

速率限制、暂停/恢复和获取进度报告很容易。您可以使用 SSH 密钥将其自动化。它(通常)已经安装(无论如何,在 *nix 盒子上)。

根据您的需要, rsync 可能会适应。如果您要分发给很多用户,FTP/HTTP 可能更适合防火墙问题;但是 rsync 非常适合一对一或一对多的传输。

于 2008-10-22T19:16:39.233 回答
4

rsync 几乎总是最好的选择。

因为它只传输差异,如果传输被中断,下一次它不会像第一次那样不同(当目标没有文件时)

于 2008-10-22T19:07:11.033 回答
2

BitTorrent 不需要大型种子网络才能有效 - 它可以与一个播种机和一个对等方一起正常工作。设置跟踪器等需要一些开销,但一旦设置好,它就会是一种不错的、快速的、容错的传输方法。

于 2008-10-22T19:06:16.417 回答
1

嗯,HTTP 是一个不错的选择,因为它支持使用字节范围重新启动部分传输。FTP 或 TFTP 很好,因为您可以获得配置极其简单的服务器软件,而不必锁定 HTTP 服务器之类的东西。

于 2008-10-22T19:18:05.270 回答
1

GridFTP是 Argonne 用来可靠地传输大量数据的工具。

于 2008-10-22T19:24:47.660 回答