让我们假设一个简单的设置:
一个具有 2 个接口的 Linux 机箱,每个接口的下载上限为 5 mbps,因此理论上总下载带宽为 10 mbps。
一个带宽无限的远程服务器可保存 1TB 的文件。
如果我错了,请纠正我,但我的印象是,rsync
在这种情况下,通过 ssh 进行的典型作业将绑定到一个接口,因此您会看到高达 5 mbps 的下载速度。
可以探索哪些解决方案来实现 10 mbps?网络配置和软件(可能与 BitTorrent 类似)解决方案都受到欢迎,因为最终目标是实现最佳下载。
答案1
通过研究评论,我找到了两个多路径网络配置选项:
- MPTCP(多路径 TCP)——即将被广泛采用的“最先进”解决方案,包含在当前内核中。更多详细信息:https://multipath-tcp.org,感谢 Anx 向我指出这一点。如上所述这里:
可以通过与 mptcpd 守护进程捆绑在一起的 mptcpize 命令强制旧版应用程序创建和使用 MPTCP 套接字,而不是 TCP 套接字
- 绑定 OpenVPN TAP 设备,如本页所示Youtube 视频。
答案2
从逻辑上讲,你不能通过两个 5mbps 接口获得 10 mbps。
这与网络端口通道非常相似。我配置了 4 个端口,每个端口的速率为 100mbps,以为我会获得 400mbps 的速度,但事实并非如此。速度仍然是 100mbps。显然,类似端口通道或您正在做的事情是为了“链路冗余”。链路冗余是指,如果一个接口被数据包堵塞或突然出现故障,它可以切换到第二个接口来传输数据包,然后您可以修复第一个接口。
这也类似于负载平衡,当一个接口变得堵塞时,它可以通过第二个接口发送数据包,以避免加载更多的数据包堵塞第一个接口。
因此您只能看到 5mbps 的下载速度。