文件传输广播

文件传输广播

我很好奇,是否有办法通过广播地址(例如 IPv4 地址)将文件发送到多个终端主机?

例如可以scp执行文件广播到多个主机

scp myFile.txt [email protected]:/home/hostname

在两个或更多主机上进行即时操作的一个明显方法scp是使用&&运算符,但是当主机数量超过 20 时会发生什么?

答案1

是的,可以。Jakuje 说得对,在 TCP 中无法做到这一点,但他的回复并未涵盖 UDP,而 UDP 正是用于此目的。

我曾经用过一段时间这个 Java 程序这样做,但后来我发现克隆兹拉可以做到,

Clonezilla SE 支持多播,适合大规模克隆

这给了我动力去研究他们是如何做到的:Clonezilla 的作者们声明他们使用 UDPCast为此,这就是全部:UDPCast 的网页状态

UDPcast 是一种文件传输工具,可以同时向 LAN 上的多个目标发送数据。例如,它可用于一次性安装整个教室的 PC。与其他方法(nfs、ftp 等)相比,UDPcast 的优势在于它利用了 UDP 的多播功能:安装 15 台机器所花的时间不会比安装 2 台机器所花的时间长。

它位于我使用的发行版(Debian、Kubuntu、Arch Linux)的存储库中,因此我推测它几乎存在于所有存储库中。

答案2

不,它不是这样工作的。它scp通过基于连接的协议 (TCP) 工作ssh,因此它不能进行广播。它发送数据并接收确认,确认数据已被对方正确接收。

你可以通过对客户端进行重大修改来实现这一点,这将打开与更多服务器的连接并将数据发送到所有服务器,但这不是真实的播送。

相关内容