題 磁鐵/洪流客戶端在哪裡尋找哈希/ torrent /文件?


簡而言之:

維基百科提到 查找對等項(和實際文件)所需的“可用性搜索”:

請注意,儘管指示了特定文件,但仍必須由客戶端應用程序執行對其的可用性搜索。

客戶在哪裡看?磁力鏈接是否需要跟踪器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 param,所以我認為它不是強制性的。

客戶在哪裡? 開始尋找 對於該文件,如果沒有包含跟踪器URI?如果有的話?我可以想像一個torrent客戶端(比如uTorrent)本身有一個巨大的文件哈希索引。


9
2018-02-21 18:57


起源


感謝你這麼好,但只是一個小小的修正:維基百科 提到 該 tr 參數(至少在我查看它的文章時) - Saxtus
我的錯。我只在“技術說明”下看到了參數。那裡沒有提到。它說“不需要DHT支持”。即使證明了跟踪器,客戶也不會總是使用DHT和/或PeX嗎? (如果沒有,為什麼不呢?) - Rudie


答案:


客戶端將使用 DHT 和 同行交流 如果沒有提供跟踪器,則尋找客戶。


7
2018-02-21 19:07



如果我刪除了上面的磁鐵URI tr PARAMS?我的uTorrent客戶端會通過DHT和PeX查看嗎?它會使用(甚至找到)來自其他同行的跟踪器(因為其他人確實獲得了完整的磁體URI,包括跟踪器)? - Rudie
@Rudie:它 應該 工作。怎麼樣 好 它 將 工作取決於客戶端,您的網絡,文件在群內的常見程度,... - Der Hochstapler
如果初始跟踪器不是提供者,它會尋找跟踪器還是跳過整個跟踪器方法? (對等體是否會與另一個對等體共享跟踪器URL?)我很抱歉煩惱和多餘,但我只需要知道=) - Rudie
另外(對不起!),維基百科說“識別文件”,但洪流可以包含許多文件。整個包是提到的文件,還是每個實際文件都有自己的磁體哈希? - Rudie
@Rudie:據我了解,客戶不交易 跟踪器。他們只交易其他 客戶。我剛剛進行的快速測試似乎證實了這一點。我假設維基百科上提到的“文件”與描述torrent內容的數據容器有關。 - Der Hochstapler


如果列出了跟踪器,則客戶端將首先查詢它們。如果沒有列出,則使用DHT向其他客戶端查詢該文件的副本,然後PEX在找到第一個副本後啟動以查找更多副本。即使找到了跟踪器,客戶端仍然可以利用DHT來查找其他對等方。

如果您熟悉其操作,無跟踪方法類似於Gnutella(2)網絡。


3
2018-02-21 19:17



DHT和PeX可以很好地協同工作,不是嗎?為什麼先DHT然後是PeX? (DHT結果是否包含PeX跟踪器或其他東西??)原理是一樣的,不是嗎?從客戶網絡中的同行詢問? - Rudie
很抱歉從死裡復活。 DHT找到種子/同伴,即使你沒有給定的種子。 PEX與之溝通 現有 同行找到更多。 - BowlesCR