文件传输协议选项



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

我简要地看了

  • *ftp(sftp、tftp、ftp)
  • http
  • 种子(因为我一般不会有种子网络而退出)
  • rsync(不确定我是否真的能适应我的需要)

有没有其他协议可能更符合要求?上述大多数应用程序本身并不是很容错,而是依靠客户端/服务器应用程序来弥补不足。在这个阶段,我更关心协议本身,而不是一个运行良好的特定客户端/服务器实现。

(是的,我知道我可以在udp上写自己的,但我更喜欢几乎任何其他东西!!)

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

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

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

rsync几乎总是最好的选择。

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

BitTorrent不需要一个大的种子网络就能发挥作用——它只需要一个种子机和一个对等机就可以正常工作。设置跟踪器等会有一点开销,但一旦设置好,这将是一种很好的、灵活的、容错的传输方法。

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

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

最新更新