当我在两台不同的电脑上使用 BitTorrent 下载相同的 torrent 文件并使用相同的互联网连接时会发生啥?

Posted

技术标签:

【中文标题】当我在两台不同的电脑上使用 BitTorrent 下载相同的 torrent 文件并使用相同的互联网连接时会发生啥?【英文标题】:What happens when I download the same torrent file using BitTorrent in two different pcs and using the same internet connection?当我在两台不同的电脑上使用 BitTorrent 下载相同的 torrent 文件并使用相同的互联网连接时会发生什么? 【发布时间】:2017-07-11 09:36:13 【问题描述】:

如果我有两台笔记本电脑并将它们连接到同一个互联网连接,然后使用 BitTorrent 软件下载同一个 torrent 文件,跟踪器会看到什么?洪流软件的行为如何?

假设我在笔记本电脑 A 上开始下载 torrent 文件,然后在 30 分钟后,我在笔记本电脑 B 上下载相同的 torrent 文件。

两台笔记本电脑会成为对等点并互相发送数据吗?笔记本电脑 B 会从笔记本电脑 A 获取数据吗?

torrent 文件中的跟踪器是否会认为只有一台笔记本电脑/一个对等方试图下载该文件?

或者跟踪器是否只能看到一个公共 IP 地址,因为它们使用的是相同的互联网连接?

【问题讨论】:

【参考方案1】:

两台笔记本电脑会成为对等体并相互发送数据吗?笔记本电脑 B 会从笔记本电脑 A 获取数据吗?

假设两个 BitTorrent 客户端在同一个 NAT 后面:

如果种子是公开的(未设置私有标志)并且两个客户端都支持 Local Peer Discovery,他们可以这样找到彼此。

如果 NAT 支持 Hairpinning 并为至少一个客户端保留相同的外部和内部端口,那么它们很有可能也可以通过这种方式相互连接。

torrent 文件中的跟踪器是否会认为只有一台笔记本电脑/一个对等方试图下载该文件? 或者跟踪器是否只会看到一个公共 IP 地址,因为它们使用的是相同的互联网连接?

它们将共享相同的 IP。如果跟踪器可以借助它们连接的端口和它们使用的不同 peer_id 来区分它们,则取决于跟踪器使用的具体实现。

【讨论】:

感谢您的回答!如果支持Local Peer Discovery,即使种子文件有数千个种子,他们也能找到彼此吗?如果没有,它的可能性较小,但仍有机会?因此,本地对等点发现是笔记本电脑 B 是否可以从笔记本电脑 A 获取数据的决定因素,对吗?此外,笔记本电脑 B 应该能够更快地下载文件,因为它将从笔记本电脑 A 获取文件? 客户端优先考虑来自 LPD 的对等点似乎是合理的,但这取决于实现。如果客户端没有设置任何额外的限制,它们之间的速度应该只受本地 LAN 速度的限制。例如:uTorrent 有一个高级设置:net.limit_excludeslocal,如果设置了全局速度限制,则必须将其设置为 true 以实现全速。

以上是关于当我在两台不同的电脑上使用 BitTorrent 下载相同的 torrent 文件并使用相同的互联网连接时会发生啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 git 作为云存储在两台不同的机器上工作?

如何实现Robot框架在两台不同机器上并行测试执行?

【DELPHI】如何在两台电脑间传送文件?

使用TCP在同一台电脑上可以建立连接,在两台电脑上却连接失败的原因分析

怎么使用scp 命令在两台电脑上传输文件

onenote如何在两台电脑之间同步