BT種子

BT種子

torrent文件
BT種子是一種由布萊姆·科恩(Bram Cohen)發明的電腦“.torrent”文件,裝有BT(BitTorrent)下載必須的文件信息,作用相當于HTTP下載裡的URL鍊接。一個用戶要利用BitTorrent協議下載文件之前,先要從某個網站下載一個包含該文件相關信息的“.torrent”文件。該種子文件包含一個稱為“追蹤器(tracker)”的服務器節點(因特網上有很多追蹤器)的地址,該追蹤器負責維護參與一個特定文件分發的所有對等方的信息。
    中文名:BT種子 外文名:bit torrent seed 類型:下載内鍊 擴展名:.torrent 大小:10-200KB 發明者:布萊姆·科恩(Bram Cohen)

相關概念

P2P

Peer to Peer點對點網絡,簡稱P2P,是指網絡用戶之間可以直接通信的網絡結構。簡單的說,P2P直接将人們聯系起來,讓人們通過互聯網直接交互。使得網絡上的溝通變得容易、更直接共享和交互,真正地消除中間環節。P2P使用戶可以直接連接到其他用戶的計算機,而不是像過去那樣連接到服務器去浏覽與下載。P2P另一個重要特點是改變互聯網現在的以大網站為中心的狀态,重返“非中心化”,把權力交還給用戶。

Bit Torrent協議

Bit Torrent(簡稱BT,比特洪流)是一個多點下載的的P2P文件共享軟件。它由程序員Bram Cohen使用Python語言編寫,并且還是代碼開源的專利軟件,可以自由地下載和傳播。它采用高效的軟件分發系統和點對點技術共享大體積文件(如一部電影或電視節目),使多個用戶同時下載一個文件的時候,他們之間互相為對方提供自己所擁有的文件部分的下載。這樣就把文件下載的帶寬開銷分攤到每個用戶那裡,理論上BT下載可以支持無限多個用戶來下載同一個文件。因此,BT被人們稱之為“群集、散布、集中”的文件傳輸協議。目前,各種支持BT下載的軟件層出不窮,BT技術已經被廣泛的應用于文件下載中。

一般來說一個BT文件發布系統由以下幾個部分組成:

(1)一個普通的web服務器;

(2)一個靜态元信息文件,即BT種子文件(以.torrent結尾,包含了文件的基本屬性);

(3)一個追蹤器(Tracker);Tracker實際上是一台服務器,它負責幫助peer之間相互建立連接;

(4)BT客戶端(peer,系統的核心部分,用于實現下載策略);

(5)一個被下載文件的擁有者(seed)。

簡介

種子是一個形象的比喻。BT下載的原理從某種意義上說就像春天種下一粒種子,到了秋天就會收獲萬粒稻菽一樣的滾雪球般的越來越大。于是人們就把發出的下載文件叫做種子。而種子文件就是記載下載文件的存放位置、大小、下載服務器的地址、發布者的地址等數據的一個索引文件。這個種子文件并不是你最終要下載的東西(如電影,軟件等等),但是有了種子文件,你就能高速下載到你需要的文件。種子文件的擴展名是:*.torrent。

BT種子可稱為比特流種子,主要是因為很多下載軟件解析種子後下載速度很快。

BT首先在上傳者端把一個文件分成了Z個部分,甲在服務器随機下載了第N個部分,乙在服務器随機下載了第M個部分,這樣甲的BT就會根據情況到乙的電腦上去拿乙已經下載好的M部分,乙的BT就會根據情況去到甲的電腦上去拿甲已經下載好的N部分,這樣就不但減輕了服務器端的負荷,也加快了用戶方(甲乙)的下載速度,效率也提高了,更同樣減少了地域之間的限制。比如說丙要連到服務器去下載的話可能才幾K,但是要是到甲和乙的電腦上去拿就快得多了。所以說用的人越多,下載的人越多,大家也就越快,BT的優越性就在這裡。而且,在你下載的同時,你也在上傳(别人從你的電腦上拿那個文件的某個部分),所以說在享受别人提供的下載的同時,你也在貢獻。

BT把提供完整文件的檔案稱為種子(SEED),正在下載的人稱為客戶(Client),某一個文件有多少種子多少客戶是可以看到的,隻要有一個種子,就可以放心地下載,一定能抓完。當然,種子越多、客戶越多的文件抓起來的速度會越快,下載以後的種子可能會因目标文件不存在而失效。

BT是通過BT種子文件進行下載部署的,BT種子文件放在一個普通的網絡服務器上,它包含了要共享的文件的信息,包括文件名、大小、文件的分塊信息和一個指向追蹤器的超級鍊接Url。被下載文件的擁有者也可以看成這個文件的“原始”下載者。要求文件下載的用戶通過BT客戶端軟件分解.torrent文件,取得文件的信息和指向追蹤器服務器的Url,同Tracker進行通訊。

文件結構

BT種子文件(.torrent)的具體文件結構如下:

全部内容必須都為Bencoding編碼類型。整個文件為一個字典結構,包含如下關鍵字:

announce:tracker服務器的URL(字符串);

announce-list(可選):備用tracker服務器列表(列表);

creation date(可選):種子創建的時間,Unix标準時間格式,從19701月1日00:00:00到創建時間的秒數(整數);

comment(可選):備注(字符串)createdby(可選):創建人或創建程序的信息(字符串);

info:一個字典結構,包含文件的主要信息。分為二種情況,單文件結構或多文件結構。

單文件info結構如下:

length:文件長度,單位字節(整數);

md5sum(可選):長32個字符的文件的MD5校驗和,BT不使用這個值,隻是為了兼容一些程序所保留!(字符串);

name:文件名(字符串);

piece length:每個塊的大小,單位字節(整數),塊長一般來說是2的權值;

pieces:每個塊的20個字節的SHA1Hash的值(二進制格式)。

多文件info結構如下:

files:一個字典結構;

length:文件長度,單位字節(整數);

md5sum(可選):與單文件結構中相同;

path:文件的路徑和名字,是一個列表結構,如testtest。txt列表為l4:test8test。txte;

name:最上層的目錄名字(字符串);

piece length:與單文件結構中相同;

pieces:與單文件結構中相同。

使用方法

下載資源

首先,客戶端用戶訪問BT發布站點,通過站點上的信息找到想要的資源文件。其中Bt發布站點上顯示共享文件的信息和每個文件的共享用戶信息,并為每個文件提供一個種子文件的下載鍊接。

客戶端下載了該種子後,與BT種子文件中的跟蹤服務器(Tracker)通訊。跟蹤服務器首先記錄該客戶端的用戶信息,同時将其它共享用戶的信息提供給該客戶端,該客戶端根據這些信息與其他共享用戶的客戶端軟件發生通訊,從其中找出下載速率最快的40~50個客戶端進行下載;其中每個客戶端都按照種子文件中的規定對文件進行分塊。文件的上傳和下載都是按塊進行的。

當客戶端軟件完成一個文件分塊的下載後,就可以進行該塊的上傳。

随着參與下載的用戶數量的增加,下載速度加速。

完成整個共享文件的下載後客戶端就隻上傳,不下載,成為共享文件的種子;在一些人氣很旺的下載中,原始下載者經常可以在較短的時間内退出上傳,由其它已經下載到整個文件的下載者繼續提供上傳。

部分完成的用戶開始退出,當某個種子的所有用戶均結束下載或上傳後,該種子可用生命期結束。

Tracker即時接收所有peer信息,并且給每個peer一份随機的peers列表。Tracker通過HTTPGET參數獲得信息,然後返回一個Bencoding編碼後的信息。peer每隔一段時間連一次Tracker,告知自己的進度,并和那些已經直接連接上的peer進行數據的上傳下載。這些連接遵循BitTorrentpeer協議,通過TCP協議進行通信。seed和tracker,peers之間通訊連接的步驟。

發布資源

上面講過,同一個資源,下載的人越多,下載的速度也就越快。經常用BT下載的電腦,一般都默認共享了不止一個資源,因此想辦法讓擁有你想要的資源的那些電腦連入網絡,就是很有必要的。具體辦法就是發布一個大家也都需要的資源,這也充分體現了BT下載模式最重要的精神——分享。

要想發布一個資源,要經過2個步驟:制作種子文件、傳播種子文件。當然還要把該種子文件對應的資源所在電腦開機連入網絡一段時間,具體時間不定,主要看該種子下載的情況,最好至少要保證有一部分人下載成功。

用戶發布一個BT種子文件的具體步驟如下:

(1)選擇一個BT發布站點,這個站點運行普通的網絡服務器端程序,如Apache、IIS等。通過網站幫助信息找到Tracer的Url。

(2)用要發布的完整文件和Tracker的URL創建一個種子文件(.torrent文件);

(3)将種子文件上傳到網絡服務器上;

(4)在網絡服務器的網頁上發布種子文件(.torrent文件)鍊接和對這個文件的一些簡單的描述;

(5)發布用戶(seed)提供完整的文件。

基于BitTorrent種子的内容分發算法

分析當前最流行的P2P軟件——BT的工作方式,發現其内容分發算法使得文件片段在網絡節點中分布不均,影響系統效率。提出基于種子控制的内容分發算法,該算法能有效避免稀有片段的産生,使各節點上的片段擁有量基本相等。采用單次分發時間、節點上内容相異性和平均下載時間等幾個方面對新舊系統進行評估比較。仿真試驗結果表明,加入新算法的系統降低了平均下載時間,提高系統的健壯性和整體效率

BitTorrent模型原理分析

BitTorrent是一個技術框架,在P2P的基本架構下定義了一個高效的文件分發模型,該模型不僅規定了文件分發中的不同實體,而且對實體之間的信息交互方式,所遵循的規範進行了嚴格定義,最為關鍵的是該協議規範中提出了分斷共享的概念。在文件傳輸關鍵環節中提出的算法,使得在不穩定網絡中的大文件分發更為高效

BitTorrent種子質量評估與檢索系統設計

BitTorrent(BT)是中心索引式的P2P系統.節點要進行下載必須從中心索引服務器獲取一個擴展名為torrent的索引文件,中心索引服務器成為系統的瓶頸.文章提出一種基于Merkle樹的torrent文件優化策略,使torrent文件大幅減小,減輕中心索引服務器的負擔,改善BT的可擴展性

相關詞條

相關搜索

其它詞條