Передача файлов

Мне любопытно, есть ли реализации, где можно отправить файл по широковещательному адресу, как в адресах IPv4, на несколько конечных хостов?

Например, может scp выполнить трансляцию файла на несколько хостов

scp myFile.txt host@192.168.50.255:/home/hostname

Очевидный способ сделать мгновенный scp более двух или более хостов с помощью && оператор, но что происходит, когда номера хостов больше 20+

2 ответа

Решение

Да, это может быть сделано. Jakuje прав, что это не может быть сделано в TCP, однако его ответ не охватывает UDP, который вместо этого используется именно для этого.

Некоторое время я использовал эту программу на Java, но потом обнаружил, что Clonezilla может это сделать,

Multicast поддерживается в Clonezilla SE, которая подходит для массивных клонов

и это дало мне мотивацию посмотреть, как они это сделали: сами авторы Clonezilla заявляют, что для этого используют UDPCast, и это все: состояния веб-страницы UDPCast

UDPcast - это инструмент для передачи файлов, который может отправлять данные одновременно во многие пункты назначения в локальной сети. Это может быть использовано, например, для установки целых классных комнат ПК одновременно. Преимущество UDPcast по сравнению с использованием других методов (nfs, ftp и т. Д.) Заключается в том, что UDPcast использует возможности многоадресной рассылки UDP: установка 15 компьютеров займет больше времени, чем установка только 2.

Он находится в репозиториях для дистрибутивов, которые я использую (Debian, Kubuntu, Arch Linux), поэтому я предполагаю, что он будет почти во всех репозиториях.

Нет, это не работает так. scp работает над ssh протокол, который основан на соединении (TCP) и поэтому не может делать трансляцию. Он отправляет данные и получает подтверждение того, что данные были правильно получены другой стороной.

Вы могли бы сделать это со значительной модификацией клиента, которая открыла бы подключение к большему количеству серверов и отправила бы данные всем им, но это не настоящая трансляция.

Другие вопросы по тегам