Параметры протокола передачи файлов? - PullRequest
4 голосов
/ 22 октября 2008

Я ищу хороший способ передачи нетривиальных (10G> x> 10MB) объемов данных с одного компьютера на другой, возможно, за несколько сеансов.

Я кратко посмотрел на

  • * ftp (sftp, tftp, ftp)
  • HTTP
  • торренты (из-за того, что у меня вообще не будет семенной сети)
  • rsync (не уверен, смогу ли я действительно адаптировать это к тому, что мне нужно)

Существуют ли какие-либо другие протоколы, которые могли бы соответствовать требованиям немного лучше? Большинство из вышеперечисленного сами по себе не очень устойчивы к сбоям, а скорее полагаются на клиент-серверные приложения, чтобы преодолеть слабость. На этом этапе меня больше интересует сам протокол, а не конкретная клиент-серверная реализация, которая хорошо работает.

(И да, я знаю, что могу написать свой собственный вместо udp, но я бы предпочел почти что-либо еще !!)

Ответы [ 5 ]

5 голосов
/ 22 октября 2008

Я использую rsync (через SSH) для передачи всего, что, на мой взгляд, может занять больше минуты.

Легко оценить, приостановить / возобновить и получать отчеты о прогрессе. Вы можете автоматизировать его с помощью ключей SSH. Он (обычно) уже установлен (во всяком случае, на * nix).

В зависимости от того, что вам нужно, rsync может адаптироваться. Если вы распространяете среди большого количества пользователей, FTP / HTTP может быть лучше для проблем с брандмауэром; но rsync отлично подходит для передач один-на-один или один-на-несколько.

4 голосов
/ 22 октября 2008

rsync - почти всегда лучшая ставка.

так как он передает только различия, если передача прервана, в следующий раз он не будет таким же отличным, как первый (когда в месте назначения не было файла)

2 голосов
/ 22 октября 2008

Для эффективной работы BitTorrent не требуется большая начальная сеть - он будет отлично работать с одной сеялкой и одним партнером. При установке трекера и т. Д. Требуется немного усилий, но после настройки это будет хороший, быстрый, отказоустойчивый способ передачи.

1 голос
/ 22 октября 2008

GridFTP - это то, что Argonne использует для надежной транспортировки огромных объемов данных.

1 голос
/ 22 октября 2008

Хорошо, HTTP - хороший вариант, поскольку он поддерживает перезапуск частичных передач с использованием диапазонов байтов . FTP или TFTP хороши тем, что вы можете получить серверное программное обеспечение, которое чрезвычайно просто настроить, вместо того, чтобы блокировать что-то вроде HTTP-сервера.

...