torrent 用戶端會向追蹤器詢問與某些雜湊值相符的片段,或包含在某些 torrent 檔案中的片段?

torrent 用戶端會向追蹤器詢問與某些雜湊值相符的片段,或包含在某些 torrent 檔案中的片段?

想像一下我們有兩個 torrent 檔案。它們包含相似但不完全相同的文件。

例如,一個 torrent 與另一個相同,但其末尾有一些文字檔案。

知道這兩個 torrent 可能會共用大部分片段,BitTorrent 用戶端是否能夠與其他 torrent 交換這些片段?

我認為只有當對等方請求追蹤器上具有正確哈希值的任何片段,而不是請求當前下載檔案的特定部分時,這才可能實現。

範例圖:
範例圖

編輯- 需要明確的是:

1.我並不是指在一台機器上執行多個客戶端實例來下載出現在兩個 torrent 中的檔案。
2.我並不是指用兩個不同的種子下載同一個檔案。
3.我要問的是,如果兩個不同的種子偶然包含相同的“片段”,而不是文件,這些片段可以從一個追蹤器互換到另一個追蹤器嗎?
4.簡而言之,我問單一客戶端是否可以下載單一 torrent 文件,從另一個 torrent 檢索片段,假設這些片段是相同的。
(兩個種子都偶然包含具有相同哈希值的片段。)

例如,如果我只下載 torrent A,我將需要藍色和綠色的部分。由於Torrent B 包含綠色和黃色碎片(不是檔案),是否可以從Torrent B 檢索一些綠色碎片?
如果我是正確的,每個片段都應該有自己的雜湊值,因此,如果 Torrent A 和 Torrent B 都包含相同的片段,那麼它們應該能夠使用相同的片段。對等方可以透過追蹤器上的哈希值來請求相同的片段,如果是這樣,理論上可以在種子之間共享具有相同哈希值的相同片段。
兩個 torrent 具有相同片段的可能性是無關緊要的,我要求您接受我們遇到的這種情況,並告訴我如果滿足這種情況,Torrent 協議會做什麼。

答案1

您不能合併兩個種子。每個種子的哈希值都會不同,並且無法將兩者結合。您可以下載這兩個資料夾並查看這兩個資料夾中的最終資料夾結構。您也許可以取得其中一個中不可用的文件並在第二個中使用它。通常情況下,額外的東西無需擔心...

即使一切順利(即,同時寫入嘗試沒有錯誤),它仍然無法工作,因為 BitTorrent 用戶端的兩個實例不知道對方在做什麼——每個客戶端仍然會假設預先下載的某些部分- 分配的文件未收到,並繼續要求它們。

如果您嘗試將相同檔案的 2 個不同的 torrent 下載到相同位置,它們將相互覆蓋並幹擾下載。

如果兩個 torrent 除了公佈 URL 之外完全相同,則添加第二個 torrent 將提示添加其他 URL。

現在,這個技巧可能*適用於包含多個相同文件的種子;您只需在一個客戶端中標記一些請勿下載,而在另一個客戶端中標記其餘的請勿下載。 (*客戶可能仍會對保存為 PART 檔案的每個相關文件跨越片段感到困惑。)

相關內容