複製鏈接
請複製以下鏈接發送給好友

torrent

鎖定
BitTorrent協議的種子文件(英語:Torrent file)可以保存一組文件的元數據。這種格式的文件被BitTorrent協議所定義。擴展名一般為“.torrent”。
中文名
種子文件
外文名
Torrent file
類    型
元數據
擴展名
.torrent
本    質
文本文件
組成部分
Tracker信息和文件信息

torrentBitTorrent原理

BitTorrent(BT),最大的特點和優勢是採用了“多源文件傳輸機制(MFTP,Multi-source File Transmission Protocol)”。該詞的實際出處為eDonkey的協議説明文檔,但在BT上被應用得更早、更成熟完善。BT與eDonkey的原理完全相同,都是把一個文件切割成若干文件片(Piece),為每一片標上特殊標識。一般文件片的大小為256K字節或512K字節。下載時,用户不是從一個同定節點(例如傳統網絡的中心服務器或最初搜索到的存儲文件的節點)上下載完整的文件,而是同時從多個擁有部分或全部文件的節點處下載不同的文件片,最後獲得完整的文件。由於文件分片,因此可以支持斷點續傳。同時每個節點在獲得一個文件片後,即可向其他節點提供上傳。這樣就減輕了服務器或者最初擁有該文件的節點的壓力,上傳服務被分攤到所有參與下載的節點上。 [1] 
BT的網絡架構中存在一箇中心服務器Tracker,用來保存BT網絡巾各節點的IP地址和端口等信息。下載節點剛加入網絡時從Trakcer上獲得其他節點的地址信息。另外,BT與常見的P2P網絡不同,其功能主要限於文件的傳輸過程,而共享文件的發佈和查詢都是通過Web服務器來實現的。BT節點下載時,首先要到Web服務器上通過簡單的HTTP協議下載一個擴展名是.torrent的文件。而後節點通過.torrent文件中包含的信息使用HTTP協議與Tracker服務器相連。Tracker服務器記錄下節點請求下載的文件信息以及節點的IP地址和端口號,回覆節點一個隨機生成的下載該文件的節點列表。下載節點與列表上的節點建立連接,實現了多源下載。當下載者擁有完整的文件後,就稱其為“種子( Seed)”。BT的網絡架構如圖《網絡架構》所示。 [1] 
網絡架構 網絡架構

torrent結構

.torrent種子文件本質上是文本文件,包含Tracker信息和文件信息兩部分。Tracker信息主要是BT下載中需要用到的Tracker服務器的地址和針對Tracker服務器的設置,文件信息是根據對目標文件的計算生成的,計算結果根據BitTorrent協議內的Bencode規則進行編碼。它的主要原理是需要把提供下載的文件虛擬分成大小相等的塊,塊大小必須為2k的整數次方(由於是虛擬分塊,硬盤上並不產生各個塊文件),並把每個塊的索引信息和Hash驗證碼寫入種子文件中;所以,種子文件就是被下載文件的“索引”。
種子文件包含以下數據:
  • announce-trackerURL
  • info- 該條映射到一個字典,該字典的鍵將取決於共享的一個或多個文件
    • path- 一個對應子目錄名的字符串列表,最後一項是實際的文件名稱
    • length- 文件的大小(以字節為單位)
    • name- 建議保存到的文件和目錄名稱
    • piece length- 每個文件塊的字節數。通常為{\displaystyle 2^{8}}= 256KiB = 262144B
    • pieces- 每個文件塊的SHA-1的集成Hash。因為SHA-1會返回160-bit的Hash,所以pieces將會得到1個160-bit的整數倍的字符串。和一個length(相當於只有一個文件正在共享)或files(相當於當多個文件被共享)
    • length- 文件的大小(以字節為單位)
    • files- 一個字典的列表(每個字典對應一個文件)與以下的鍵

torrent作用

根據BitTorrent協議,文件發佈者會根據要發佈的文件生成提供一個種子文件。下載者要下載文件內容,需要先得到相應的種子文件,然後使用BT客户端軟件進行下載 [2] 
下載時,BT客户端首先解析種子文件得到Tracker地址,然後連接Tracker服務器。
下載者每得到一個塊,需要算出下載塊的Hash驗證碼與種子文件中的對比,如果一樣則説明塊正確,不一樣則需要重新下載這個塊。這種規定是為了解決下載內容準確性的問題。
為了解決某些用户“下完就跑”的現象,在非官方BitTorrent協議中還存在一種超級種子算法

torrent文件怎麼打開

.torrent這類BT下載的種子文件通常可以直接使用常用下載工具直接打開,打開種子文件後,程序會提示選擇要下載的文件,根據自己的需要選擇下載即可。
參考資料
  • 1.    聶榮著.BitTorrent類型對等網絡的位置知曉性研究:中國科學技術出版社,2014.03:第39頁
  • 2.    蘇馬婧, 葉麟, 史建燾. 面向BitTorrent種子文件獲取的網絡爬蟲技術研究[J]. 智能計算機與應用, 2013, 3(3):7-13.