![是否可以使用两个互联网连接并合并它们用于 bittorrent 上传?](https://linux22.com/image/1208972/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E4%B8%A4%E4%B8%AA%E4%BA%92%E8%81%94%E7%BD%91%E8%BF%9E%E6%8E%A5%E5%B9%B6%E5%90%88%E5%B9%B6%E5%AE%83%E4%BB%AC%E7%94%A8%E4%BA%8E%20bittorrent%20%E4%B8%8A%E4%BC%A0%EF%BC%9F.png)
由于每个互联网连接都有自己的 IP,我认为这是个问题。或者您可以使用一个连接作为主连接,然后使用另一个连接来欺骗来自主连接的数据包?
答案1
使用这两行上传的最简单方法是像路由一样在两条线路上发送数据包一半数据包发往 WAN1,另一半发往 WAN2。
但但实际上,它通常效果并不好,因为您需要考虑以下几点:
- 你的ISP 可能会认为你尝试欺骗从另一个接口路由时的 IP 源地址以及降低他们。
- 所谓的“欺骗”数据包将在真实接口上得到答案,因此只有一行将用于下游
- 数据包之间的延迟可能有很大差异(即:更多抖动),因此数据包将无序接收。对于基于 TCP 的数据流来说,这应该不是什么大问题,但对于更面向 RT 的数据流来说,抖动非常敏感(例如 TCP 交互式:禁用 nagle 算法或 VoIP),它可能会引入由于缓冲导致的严重延迟。
@Garth:我不认为他想使用 2 个 IP 地址,而只是 2 个连接,因此我认为 BT 不存在问题(它只与 2 级相关),但是适用通常的 2 级警告。
答案2
可能不是。这完全取决于负载平衡技术。总结一下:
如果您的负载均衡器在没有 ISP 合作的情况下工作:不行。
如果您的负载均衡器需要 ISP 支持,或者至少需要容忍:是的。
我认为大多数消费者级负载平衡解决方案的设计都无需 ISP 合作。但事实并非如此。
无需 ISP 支持;不适合 BitTorrent:
BitTorrent 无法与暴露您外部 IP 地址的负载平衡解决方案很好地配合使用。这些解决方案通过当前使用最少的链接路由新的出站 TCP 会话。这对于浏览网站来说很好,但对于需要处理单个 IP 地址的任何事物都会导致问题。请参阅pfSense 关于粘性连接的文档, 例如。
(理论上,您的客户端可以假装是两个客户端,每个客户端都不会从另一个客户端下载。实际上,我认为没有任何 BitTorrent 客户端会这样做。)
通过分配出站 TCP 会话进行负载平衡是保证所有 ISP 的下载速度提高的唯一方法。因此,我预计大多数消费者级负载平衡解决方案都以这种方式工作。这对于多连接 HTTP 和 FTP(即大多数下载管理器)来说很棒,但对于 BitTorrent 来说却不是。
可能需要 ISP 支持;可能有利于 BitTorrent 上传:
作为Steve Schnepp 指出,BitTorrent 应该可以很好地与负载平衡器配合使用,负载平衡器会分配传输的数据包,但会用您的(明显的)单个 IP 地址标记所有数据包。问题是,这种解决方案只有在您的 ISP 不阻止欺骗数据包的情况下才会起作用。
尝试向朋友发送欺骗数据包,然后让他们将数据包发送回给您。假设两个 ISP 都不会切断您的连接,您可以尝试使用两个 ISP 的自制 Linux 路由解决方案。
答案3
如果您只上传/播种,您可以轻松地在每个公共 IP 地址上设置一个跟踪器来播种文件。不幸的是,由于 bittorrent 的连接方式,每个跟踪器只能使用一条线路。您可以有效地最大化您的上传量,但不会上传到同一组客户端。
答案4
如果您有两台物理计算机相互连接,然后直接连接到其中一个 ISP 连接(不同的默认路由),然后在两个客户端上启用本地对等发现,您可能会获得更快的速度。
它们都独立地从其专用的互联网链接下载/上传,然后通过快速以太网共享其下载的块(像任何其他对等体一样,只是这个对等体可以在本地以非常快的速度传输),它们最终可能会下载相同的块,但由于块的选择方式,这种情况不太可能发生。
您最终会在两台电脑上获得两份数据副本,但遗憾的是您对此无能为力。