![]() |
||
|
Master Member
![]() ![]() ![]() ![]() 加入日期: Oct 2001
文章: 2,010
|
bt 檢查檔案完整性的機制可靠嗎?
一直以來有個疑問,為何靠一個小小的torrent檔就可以check
好幾G大檔案的資料,有可能每一個byte都比較到嗎?還是說像 海關抽檢一樣,取幾個樣本沒問題就算正確了 |
|||||||
|
|
|
Golden Member
![]() ![]() ![]() ![]() 加入日期: Aug 2002
文章: 2,806
|
http://zh.wikipedia.org/w/index.php...t&variant=zh-tw
torrent檔案本質上是純文字檔案,包含Tracker資訊和檔案資訊兩部分。Tracker資訊主要是BT下載中需要用到的Tracker伺服器的地址和針對Tracker伺服器的設置,檔案資訊是根據對目標檔案的計算生成的,計算結果根據BitTorrent協議內的B編碼規則進行編碼。它的主要原理是需要把提供下載的檔案虛擬分成大小相等的區段,區段大小必須為2k的整數次方(由於是虛擬分段,硬碟上並不產生各個區段檔案),並把每個區段的索引資訊和Hash驗證碼寫入.torrent檔案中;所以,.torrent檔案就是被下載檔案的「索引」。 下載者要下載檔案內容,需要先得到相應的.torrent檔案,然後使用BT客戶端軟體進行下載。 下載時,BT客戶端首先解析.torrent檔案得到Tracker地址,然後連接Tracker伺服器。Tracker伺服器回應下載者的請求,提供下載者其他下載者(包括發佈者)的IP。下載者再連接其他下載者,根據.torrent檔案,兩者分別對方告知自己已經有的區段,然後交換對方沒有的資料。此時不需要其他伺服器參與,分散了單個線路上的資料流量,因此減輕了伺服器負擔。 下載者每得到一個區段,需要算出下載區段的Hash驗證碼與.torrent檔案中的對比,如果一樣則說明區段正確,不一樣則需要重新下載這個區段。這種規定是為了解決下載內容準確性的問題。 |
||
|
|