我刚刚使用 uTorrent 下载了一个新的 linux 发行版,并开始想知道 uTorrent(和其他 bittorrent)如何通过 NAT 路由器相互发送文件?他们显然使用跟踪器进行介绍,但他们如何将信息传递给彼此?有这方面的白皮书吗?我找不到一个:/
谢谢
问问题
1149 次
2 回答
2
大多数时候,他们没有。我有一个受限网络,每次运行我的 torrent 程序时,它都会警告我某些所需的端口/功能对我不可用。
如果一方拥有受限网络而另一方拥有开放网络,则受限客户端将始终连接到开放客户端。如果您有两个受限客户端,它们将无法相互连接。它起作用的原因是洪流网络上的大多数(足够)人确实有某种端口转发或 UPNP(通用即插即用)来促进这一点。
于 2010-07-06T05:43:57.580 回答
0
Torrent 客户端基于所谓的分布式哈希表工作。它们从一组已知的根开始,然后分支寻找其他连接的节点(即邻居)。与他们建立联系,并保持联系,直至达到设定的限制。由于客户端正在启动连接,远程所要做的就是反馈数据,然后您就可以通过 NAT 获取数据。这就是网络流量的工作方式。
于 2010-06-10T21:39:37.643 回答