BitTorrents如何相互连接?

时间:2010-06-10 21:21:44

标签: router bittorrent nat zeroconf

我刚刚使用uTorrent下载了一个新的Linux发行版,并开始想知道uTorrent(和其他bittorrents)如何通过NAT路由器向彼此发送文件?他们显然使用跟踪器来介绍,但他们如何将信息传递到彼此? 这是否有白皮书?我找不到一个:/
感谢

2 个答案:

答案 0 :(得分:2)

大多数时候,他们没有。我有一个受限制的网络,每次运行我的torrent程序时都会警告我,我无法使用所需的某些端口/功能。

如果一方拥有受限网络而另一方拥有开放网络,则受限客户端将始终连接到开放客户端。如果您有两个受限制的客户端,他们将无法相互连接。它的工作原理是,洪流网络中大多数(足够)的人确实有某种端口转发或UPNP(通用即插即用)来促进这一点。

答案 1 :(得分:0)

Torrent客户端基于所谓的分布式哈希表工作。它们从一组已知的根开始,并分支出寻找其他连接的节点(即邻居)。建立与它们的连接,并保持这种连接,达到设定的限制。由于客户端正在启动连接,所以远程所需要做的就是将数据反馈回来,然后通过NAT就可以了。这就是网络流量的工作原理。