BT下載原理介紹

BT下載功能實現的示意圖

BT是一種互聯網上新興的的P2P傳輸協議,全名叫"BitTorrent",中文全稱:"比特流" ,最初的創造者是Bram Cohen,現在則獨立發展成一個有廣大開發者羣體的開放式傳輸協議。

BT概述

BT全名爲BitTorrent[1],其創始人爲布拉姆·科恩BT下載是目前互聯網最熱門的應用之一。BT下載通過一個P2P下載軟件(點對點下載軟件)來實現,克服了傳統下載方式的侷限性,具有下載的人越多,文件下載速度就越快的特點。因此,吸引着衆多的網民使用,其好處是不需要資源發佈者擁有高性能服務器就能迅速有效地把發佈的資源傳向其他的BT客戶軟件使用者,而且大多數的BT軟件都是免費的。

BT技術原理

傳統下載方式

 普通下載原理[2]

在傳統下載方式中,一般是把文件由服務器端傳送到客戶端,例如FTPHTTP,PUB等等。由於是從一臺服務器下載,服務器所提供的帶寬是一定的,因而下載人越多速度越慢。但是這樣就出現了一個問題,隨着用戶的增多,對帶寬的要求也隨之增多,用戶過多就會造成瓶頸,而且搞不好還會把服務器掛掉,所以很多的服務器會都有用戶人數的限制,下載速度的限制,這樣就給用戶造成了諸多的不便。

BT下載方式

與傳統下載不同,用BT下載反而是用戶越多,下載越快,這是因爲BT用的是一種傳銷的方式來達到共享的。BT首先在上傳端把一個文件分成了Z個部分,甲在服務器隨機下載了第N各部分,乙在服務器隨機下載了第M個部分,這樣甲的BT就會根據情況到乙的電腦上去下載乙已經下載好的M部分,乙的BT就會根據情況到甲的電腦上去下載甲已經下載好的N部分,這樣就不但減輕了服務器端的負荷,也加快了用戶方(甲乙)的下載速度,效率也提高了,更同樣減少了地域之間的限制。比如說丙要連到服務器去下載的話可能才幾K,但是要是到甲和乙的電腦上去下載就快得多了。所以說用的人越多,下載的人越多,大家也就越快,BT的優越性就在這裏。而且,在你下載的同時,你也在上傳(別人從你的電腦上下載那個文件的某個部分),所以說在享受別人提供的下載的同時,你也在貢獻。
與BT下載相比,普通下載原理圖普通的HTTP/FTP下載使用TCP/IP協議BitTorrent協議是架構於TCP/IP協議之上的一個P2P文件傳輸協議,處於TCP/IP結構的應用層。BitTorrent協議本身也包含了很多具體的內容協議和擴展協議,並在不斷擴充中。根據BitTorrent協議,文件發佈者會根據要發佈的文件生成提供一個.torrent文件,即種子文件,也簡稱爲“種子”。
torrent文件本質上是文本文件,包含Tracker信息和文件信息兩部分。Tracker信息主要是BT下載中需要用到的Tracker服務器的地址和針對Tracker服務器的設置,文件信息是根據對目標文件的計算生成的,計算結果根據BitTorrent協議內的B編碼規則進行編碼。它的主要原理是需要把提供下載的文件虛擬分成大小相等的塊,塊大小必須爲2k的整數次方(由於是虛擬分塊,硬盤上並不產生各個塊文件),並把每個塊的索引信息和Hash驗證碼寫入.torrent文件中;所以,.torrent文件就是被下載文件的“索引”。
下載者要下載文件內容,需要先得到相應的.torrent文件,然後使用BT客戶端軟件進行下載。
下載時,BT客戶端首先解析.torrent文件得到Tracker地址,然後連接Tracker服務器。Tracker服務器迴應下載者的請求,提供下載者其他下載者(包括髮布者)的IP。下載者再連接其他下載者,根據.torrent文件,兩者分別對方告知自己已經有的塊,然後交換對方沒有的數據。此時不需要其他服務器參與,分散了單個線路上的數據流量,因此減輕了服務器負擔。 
下載者每得到一個塊,需要算出下載塊的Hash驗證碼與.torrent文件中的對比,如果一樣則說明塊正確,不一樣則需要重新下載這個塊。這種規定是爲了解決下載內容準確性的問題。
一般的HTTP/FTP下載,發佈文件僅在某個或某幾個服務器,下載的人太多,服務器的帶寬很易不勝負荷,變得很慢。而BitTorrent協議下載的特點是,下載的人越多,提供的帶寬也越多,種子也會越來越多,下載速度就越快。
而有些人下載完成後關掉下載任務,提供較少量數據給其他用戶,爲儘量避免這種行爲,在非官方BitTorrent協議中存在超級種子的算法。這種算法允許文件發佈者分幾步發佈文件,發佈者不需要一次提供文件所有內容,而是慢慢開放的下載內容的比例,延長下載時間。此時,速度快的人由於未下載完必須提供給他人數據,速度慢的人有更多機會得到數據。由此往往造成用戶卡在任務的99%,下載1G的任務要上傳3G之多。

BT優特點

由於BT軟件之間的數據傳輸是雙向的,這有效降低了對發佈者寬帶的依賴。和另一款常見的P2P軟件電驢不同,BT協議中並沒有採用對使用者按上傳下載比和登陸順序及是否能收到入站請求來綜合排序進行上傳。BT軟件在大部分時間會不斷比較其他BT客戶端向己方傳輸數據的速度,並優先上傳給向己方傳輸數據較快的客戶端(發佈者和下載完成者(通常被叫做seed或種子)的情況會有所不同,因爲他們不下載數據,排序按對方的下載速度進行)。
雖然Bram Cohen稱BT協議就有效使用互聯網帶寬而言是Peano有效的,很多電信服務商抱怨BT傳輸佔用了過多帶寬,已經極大影響了網絡上的其他應用(如對網絡性能要求很高的網上語音,網上點播),來自全球各大電信服務商的統計都顯示,BT傳輸已經佔到網上所有數據傳輸的70%以上,不少電信服務商已經採取了單方面的行動來對BT傳輸進行限制,從較溫和的數據傳輸優先度調整到對偵測到BT傳輸直接進行屏蔽,電信服務商稱這是爲了保護其他用戶的權益,大多BT使用者認爲電信服務商的這種做法違反了他們和服務商簽訂的服務協議,認爲既然帶寬不夠用,電信服務商就有義務對設備進行改良。
爲了應對電信服務商對BT傳輸的限制,主流BT軟件已經做出了不少改進,以繞開電信服務商的限制,普遍使用的方法包括,通過以torrent文件爲基礎的客戶端身份認證和對數據進行Diffie-Hellman密鑰加密來防止被電信服務商偵測,使用DHT分佈式網絡作爲Tracker服務器的補充,隨機選擇傳輸端口。
由於BT在發佈和傳播上的優點,有很多侵權內容也通過BT發佈,被告涉嫌鼓勵侵權內容的發佈和下載,全球最大的BT發佈和資源索引站點NOVA已經被迫關閉,包括MPAARIAA在內的版權保護團體正在對更多的BT站點採取行動,大多數BT使用者和開發者則認爲控告BT站點是不明智的,就好比賣菜刀的不應該爲有人用菜刀行兇的行爲負責一樣,BT站點本身不應該爲侵權行爲負責。

BT應用提示

推薦使用的BT軟件utorrent,Bitcomet,Azureus,這些軟件時常更新來提供更好的BT協議支持和擴展功能。
儘量不要限制BT軟件的上傳速度,這會影響你的下載。
避免使用BT默認的監聽端口,這些端口可能已經被服務商屏蔽了。
使用防火牆的用戶有可能需要在防火牆上打開BT監聽端口
使用路由器的用戶一般需要通過端口映射,或者DMZ功能,或者UPNP功能,來使入站請求能到達使用BT軟件的計算機上。
即使完成了下載,也請你儘可能不要立即關閉BT軟件或者讓BT軟件停止上傳,您的上傳是對整個BT網絡的重要貢獻,BT網絡持一定的上傳者人數以使BT健康運行
即使沒有看到發佈者和下載完成者出現也請耐心等待,原因可能是,使用人數較多你所被分配到的連接者羣體不包含發佈者和下載完成者,對方使用了super-seed模式隱藏自己,發佈者和下載完成者可能暫時下線。

常用BT下載軟件

BitComet

BitComet是基於BitTorrent協議的p2p免費軟件;高效的網絡內核,多任務同時下載依然保持很少的CPU內存佔用;支持對一個Torrent中的文件有選擇的下載;磁盤緩存技術,有效減小高速隨機讀寫對硬盤的損傷;只需一個監聽端口即可滿足所有下載需要;自動保存下載狀態,續傳無需再次掃描文件,作種子也無需掃描文件;支持多Tracker協議;對內網用戶同樣適用;綠色軟件,不需安裝,僅運行時關聯.torrent文件;多語言界面。 

BT Deadman Walking

BitTorrent Deadman Walking是TLF論壇的專門定製優化過的版本,推薦使用。 

BitTorrent Plus

BitTorrent Shadow's Experimental的加強版,擁有全中文的界面。相對於原版更加易用,翻譯通俗易懂,功能強大,是當今BT客戶端中功能最爲強大的客戶端程序之一。

比特精靈Bit Spirit

一個功能強大,使用方便的BitTorrent客戶端。它不僅全面兼容BitTorrent協議,更提供了很多個性化的功能,界面酷似Flashget。

貪婪ABC

一個增強、應該說是超強的Bittorrent客戶端,單窗口多任務!消耗少到嚇人。相信很多人已經找了好久,但是一直沒有滿意的吧?貪婪BT將會給你一個滿意的解決方案。 

BitTorrent

最早期最原始的BT客戶端工具,一個多點下載且源碼公開的P2P軟件,使用非常方便,就像一個瀏覽器插件

Shareaza

一款在國外評價極高並且相當流行的P2P軟件,集合了eDonkey和BT等幾種流行P2P網絡類型,許多P2P的下載站點已將其指定爲BT的官方下載工具。 

PTC

PTC比BitTorrent多了個軟件界面,可以直接雙擊運行,然後打開下載到硬盤上的torrent文件;能同時多任務下載,節省資源;能完全自定義上傳速度,防止網絡帶寬佔用過大等等。 

Azureus

一個基於JAVA的多torrent下載程序,可以手動設置某個torrent的優先權,加入了irc聊天室,增加了一些基本的irc命令,可以看見在線人數和ID,支持多trackerurl,對於多tracker發佈的torrent可自動切換,並可以手動更改tracker url。 

BitAnarch

一個號稱可以和BitTorrent Plus版媲美的BT軟件,具有下載日誌功能,可以顯示種子和下載者的詳細信息,具有搜索新聞組Torrent文件的功能,更多的選項設置功能,軟件界面支持簡體中文、繁體中文、英文語言選擇。 

BitBuddy

BitBuddy超小快速,單窗口多任務,支持BitTorrent及其擴展協議的BT下載客戶端,操作類似flashget和netants,方便實用。支持多任務下載,設置下載優先級,速度限制等多項實用功能。 

BTVampire(BT吸血鬼)

BT Vampire又叫稱BT吸血鬼,是一款增強型的完全免費的Bittorrent客戶端,主要是爲了改進BT下載效率,試驗新算法而編寫的。 

BtJoy樂翻天

一個多點對多點下載的P2P軟件,使用非常方便,其特點簡單的說就是:下載的人越多,速度越快;他發揮了eDoneky和BitTorrent的優勢,去除了edoneky需要排隊的不足,又簡化了BitTorrent共享發佈比較複雜的流程。 

BitTornado

一個多點下載且源碼公開的P2P軟件,使用非常方便,就像一個瀏覽器插件。與以往http、FTP、pub等下載人越多,速度越慢的方式迥然不同,BT下載的特點簡單的說就是:下載的人越多,速度越快。時下BT已經成爲網上交流資源最新、最酷的方式。是由著名的BT客戶端Shadow'sExperimental更名而來。 

超級BT下載

一款非常優秀的BT下載軟件,速度是同類軟件的3倍以上!採用了先進的技術,更進一步的優化了對等連接!使下載者之間沒有任何障礙了!並且有非常好的皮膚功能!這也是此軟件的一個亮點!推薦大家下載!絕對超值!而且完全免費! 

TurboBT

採用最新的C++/PYTHON界面框架技術編寫的BT(BitTorrent)客戶端下載工具。界面代碼全部重寫,你可以高速的下載各類的資源且非常容易使用。 

MyBT

一個改良的BT客戶端,是用於在BT站點下載或上傳文件的實用工具。綜合了最新的流行BT客戶端開發,界面友好,中文環境,支持多任務,斷點續傳超級種子,自動發佈種子等功能,運行穩定,速度快。 

綜藝BT下載王

一款非常實用的功能齊全的BT客戶端軟件,可以同時下載多個BT。它運行穩定,佔內存非常小,速度快!而且還有BT種子製作功能。 

BTogether

BTogether 爲新型P2P下載軟件,支持最新 BitTorrent(BT) 下載協議。把 BTogether 拷貝到某目錄,直接運行即可。本軟件爲純中文綠色免費軟件,不修改註冊表,無需其他運行庫
THUNDER 迅雷
一款國產的下載軟件,迅雷也支持BT下載,可用右鍵單擊IE中的下載鏈接,並選取“用迅雷下載”即可。
參考資料
擴展閱讀:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章