磁力/洪流客户端在哪里寻找哈希/洪流/文件?


9

简而言之:

Wikipedia提到了查找对等项(和实际文件)所需的“可用性搜索”:

请注意,尽管指示了一个特定文件,但是仍必须由客户端应用程序对其进行可用性搜索。

客户在哪里看?磁链是否需要跟踪器URI还是到客户端网络?

更多信息:

来自tpb的某个磁铁URI / URN看起来像这样:

magnet:?xt=urn:btih:e9b785fc2d70811a72df5a76bb34bd2eaf9df956&dn=Dances+with+Wolves+1990+20th+Anniversary+Extended+Cut+720p+BRRip&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80

它包含4个tr查询参数,这些查询参数具有(我认为)跟踪器位置,这些跟踪器位置包含某种哈希索引。但是,维基百科没有提及该tr参数,因此我认为它不是强制性的。

如果不包含跟踪器URI,客户端将从哪里开始寻找文件?如果有的话?我可以想象一个洪流客户端(例如uTorrent)本身具有巨大的文件哈希索引。


2
恭喜您提出了这么好的问题,不过只是做了一点修正:Wikipedia确实提到了该tr参数(至少在我查看本文时)
Saxtus

我的错。我只在“技术说明”下看到params部分。那里没有提到。它说“不需要DHT支持”。即使证明了跟踪器,客户也不会只使用DHT和/或PeX吗?(如果没有,为什么不呢?)
Rudie

Answers:


7

如果未提供跟踪器,则客户端将使用DHTPeer Exchange查找客户端。


如果我删除了tr参数,上面的磁铁URI是否可以正常工作?我的uTorrent客户会通过DHT和PeX查找吗?它会使用(甚至找到)其他同伴的跟踪器吗(因为其他人确实获得了包括跟踪器在内的完整URI)?
Rudie

@Rudie:应该可以。如何以及发挥作用,取决于客户端,网络,文件如何常见的是在群内,...
明镜Hochstapler

如果不提供初始跟踪器,它会寻找跟踪器还是跳过整个跟踪器方法?(一个对等方是否会与另一个对等方共享跟踪器URL?)很抱歉让您感到烦恼和多余,但我只需要知道=)
Rudie

同样(抱歉!),维基百科说“标识文件”,但是种子可以包含许多文件。是整个软件包提到的文件,还是每个实际文件都有自己的磁石哈希?
Rudie

@Rudie:据我了解,客户不交易追踪器。他们只交易其他客户。我刚刚进行的快速测试似乎证实了这一点。我假设Wikipedia上提到的“文件”与描述种子内容的数据容器相关。
Der Hochstapler

3

如果列出了跟踪器,则客户端将首先对其进行查询。如果未列出任何副本,则使用DHT向其他客户端查询该文件的副本,然后在找到第一个副本之后,PEX会启动以查找更多副本。即使找到了跟踪器,客户端仍可以利用DHT查找其他对等方。

如果您熟悉Gnutella(2)网络的运行,则无跟踪器的方法类似于。


DHT和PeX可以很好地协同工作,不是吗?为什么要先进行DHT,然后再进行PeX?(DHT结果是否包含PeX跟踪器或其他??)原理是相同的,不是吗?向客户网络中的同龄人询问?
Rudie

抱歉从死里复活。即使您没有给定洪流的种子,DHT也会找到种子/同伴。PEX与现有的同行进行交流以查找更多信息。
BowlesCR 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.