BT下载原理介绍
BT下載功能實(shí)現(xiàn)的示意圖BT概述 BT技術(shù)原理傳統(tǒng)下載方式 BT下載方式 BT優(yōu)特點(diǎn) BT應(yīng)用提示 常用BT下載軟件BitComet BT Deadman Walking BitTorrent Plus 比特精靈Bit Spirit 貪婪ABC BitTorrent Shareaza PTC Azureus BitAnarch BitBuddy BTVampire(BT吸血鬼) BtJoy樂翻天 BitTornado 超級(jí)BT下載 TurboBT MyBT 綜藝BT下載王 BTogether 擴(kuò)展閱讀:
BT是一種互聯(lián)網(wǎng)上新興的的P2P傳輸協(xié)議,全名叫"BitTorrent",中文全稱:"比特流" ,最初的創(chuàng)造者是Bram Cohen,現(xiàn)在則獨(dú)立發(fā)展成一個(gè)有廣大開發(fā)者群體的開放式傳輸協(xié)議。
目錄
?
BT概述
?
BT全名為BitTorrent[1],其創(chuàng)始人為布拉姆·科恩,BT下載是目前互聯(lián)網(wǎng)最熱門的應(yīng)用之一。BT下載通過一個(gè)P2P下載軟件(點(diǎn)對(duì)點(diǎn)下載軟件)來實(shí)現(xiàn),克服了傳統(tǒng)下載方式的局限性,具有下載的人越多,文件下載速度就越快的特點(diǎn)。因此,吸引著眾多的網(wǎng)民使用,其好處是不需要資源發(fā)布者擁有高性能服務(wù)器就能迅速有效地把發(fā)布的資源傳向其他的BT客戶軟件使用者,而且大多數(shù)的BT軟件都是免費(fèi)的。BT技術(shù)原理
傳統(tǒng)下載方式
?普通下載原理[2]
在傳統(tǒng)下載方式中,一般是把文件由服務(wù)器端傳送到客戶端,例如FTP,HTTP,PUB等等。由于是從一臺(tái)服務(wù)器下載,服務(wù)器所提供的帶寬是一定的,因而下載人越多速度越慢。但是這樣就出現(xiàn)了一個(gè)問題,隨著用戶的增多,對(duì)帶寬的要求也隨之增多,用戶過多就會(huì)造成瓶頸,而且搞不好還會(huì)把服務(wù)器掛掉,所以很多的服務(wù)器會(huì)都有用戶人數(shù)的限制,下載速度的限制,這樣就給用戶造成了諸多的不便。BT下載方式
與傳統(tǒng)下載不同,用BT下載反而是用戶越多,下載越快,這是因?yàn)锽T用的是一種傳銷的方式來達(dá)到共享的。BT首先在上傳端把一個(gè)文件分成了Z個(gè)部分,甲在服務(wù)器隨機(jī)下載了第N各部分,乙在服務(wù)器隨機(jī)下載了第M個(gè)部分,這樣甲的BT就會(huì)根據(jù)情況到乙的電腦上去下載乙已經(jīng)下載好的M部分,乙的BT就會(huì)根據(jù)情況到甲的電腦上去下載甲已經(jīng)下載好的N部分,這樣就不但減輕了服務(wù)器端的負(fù)荷,也加快了用戶方(甲乙)的下載速度,效率也提高了,更同樣減少了地域之間的限制。比如說丙要連到服務(wù)器去下載的話可能才幾K,但是要是到甲和乙的電腦上去下載就快得多了。所以說用的人越多,下載的人越多,大家也就越快,BT的優(yōu)越性就在這里。而且,在你下載的同時(shí),你也在上傳(別人從你的電腦上下載那個(gè)文件的某個(gè)部分),所以說在享受別人提供的下載的同時(shí),你也在貢獻(xiàn)。與BT下載相比,普通下載原理圖普通的HTTP/FTP下載使用TCP/IP協(xié)議,BitTorrent協(xié)議是架構(gòu)于TCP/IP協(xié)議之上的一個(gè)P2P文件傳輸協(xié)議,處于TCP/IP結(jié)構(gòu)的應(yīng)用層。BitTorrent協(xié)議本身也包含了很多具體的內(nèi)容協(xié)議和擴(kuò)展協(xié)議,并在不斷擴(kuò)充中。根據(jù)BitTorrent協(xié)議,文件發(fā)布者會(huì)根據(jù)要發(fā)布的文件生成提供一個(gè).torrent文件,即種子文件,也簡(jiǎn)稱為“種子”。torrent文件本質(zhì)上是文本文件,包含Tracker信息和文件信息兩部分。Tracker信息主要是BT下載中需要用到的Tracker服務(wù)器的地址和針對(duì)Tracker服務(wù)器的設(shè)置,文件信息是根據(jù)對(duì)目標(biāo)文件的計(jì)算生成的,計(jì)算結(jié)果根據(jù)BitTorrent協(xié)議內(nèi)的B編碼規(guī)則進(jìn)行編碼。它的主要原理是需要把提供下載的文件虛擬分成大小相等的塊,塊大小必須為2k的整數(shù)次方(由于是虛擬分塊,硬盤上并不產(chǎn)生各個(gè)塊文件),并把每個(gè)塊的索引信息和Hash驗(yàn)證碼寫入.torrent文件中;所以,.torrent文件就是被下載文件的“索引”。下載者要下載文件內(nèi)容,需要先得到相應(yīng)的.torrent文件,然后使用BT客戶端軟件進(jìn)行下載。下載時(shí),BT客戶端首先解析.torrent文件得到Tracker地址,然后連接Tracker服務(wù)器。Tracker服務(wù)器回應(yīng)下載者的請(qǐng)求,提供下載者其他下載者(包括發(fā)布者)的IP。下載者再連接其他下載者,根據(jù).torrent文件,兩者分別對(duì)方告知自己已經(jīng)有的塊,然后交換對(duì)方?jīng)]有的數(shù)據(jù)。此時(shí)不需要其他服務(wù)器參與,分散了單個(gè)線路上的數(shù)據(jù)流量,因此減輕了服務(wù)器負(fù)擔(dān)。 下載者每得到一個(gè)塊,需要算出下載塊的Hash驗(yàn)證碼與.torrent文件中的對(duì)比,如果一樣則說明塊正確,不一樣則需要重新下載這個(gè)塊。這種規(guī)定是為了解決下載內(nèi)容準(zhǔn)確性的問題。一般的HTTP/FTP下載,發(fā)布文件僅在某個(gè)或某幾個(gè)服務(wù)器,下載的人太多,服務(wù)器的帶寬很易不勝負(fù)荷,變得很慢。而BitTorrent協(xié)議下載的特點(diǎn)是,下載的人越多,提供的帶寬也越多,種子也會(huì)越來越多,下載速度就越快。而有些人下載完成后關(guān)掉下載任務(wù),提供較少量數(shù)據(jù)給其他用戶,為盡量避免這種行為,在非官方BitTorrent協(xié)議中存在超級(jí)種子的算法。這種算法允許文件發(fā)布者分幾步發(fā)布文件,發(fā)布者不需要一次提供文件所有內(nèi)容,而是慢慢開放的下載內(nèi)容的比例,延長下載時(shí)間。此時(shí),速度快的人由于未下載完必須提供給他人數(shù)據(jù),速度慢的人有更多機(jī)會(huì)得到數(shù)據(jù)。由此往往造成用戶卡在任務(wù)的99%,下載1G的任務(wù)要上傳3G之多。BT優(yōu)特點(diǎn)
由于BT軟件之間的數(shù)據(jù)傳輸是雙向的,這有效降低了對(duì)發(fā)布者寬帶的依賴。和另一款常見的P2P軟件電驢不同,BT協(xié)議中并沒有采用對(duì)使用者按上傳下載比和登陸順序及是否能收到入站請(qǐng)求來綜合排序進(jìn)行上傳。BT軟件在大部分時(shí)間會(huì)不斷比較其他BT客戶端向己方傳輸數(shù)據(jù)的速度,并優(yōu)先上傳給向己方傳輸數(shù)據(jù)較快的客戶端(發(fā)布者和下載完成者(通常被叫做seed或種子)的情況會(huì)有所不同,因?yàn)樗麄儾幌螺d數(shù)據(jù),排序按對(duì)方的下載速度進(jìn)行)。雖然Bram Cohen稱BT協(xié)議就有效使用互聯(lián)網(wǎng)帶寬而言是Peano有效的,很多電信服務(wù)商抱怨BT傳輸占用了過多帶寬,已經(jīng)極大影響了網(wǎng)絡(luò)上的其他應(yīng)用(如對(duì)網(wǎng)絡(luò)性能要求很高的網(wǎng)上語音,網(wǎng)上點(diǎn)播),來自全球各大電信服務(wù)商的統(tǒng)計(jì)都顯示,BT傳輸已經(jīng)占到網(wǎng)上所有數(shù)據(jù)傳輸?shù)?0%以上,不少電信服務(wù)商已經(jīng)采取了單方面的行動(dòng)來對(duì)BT傳輸進(jìn)行限制,從較溫和的數(shù)據(jù)傳輸優(yōu)先度調(diào)整到對(duì)偵測(cè)到BT傳輸直接進(jìn)行屏蔽,電信服務(wù)商稱這是為了保護(hù)其他用戶的權(quán)益,大多BT使用者認(rèn)為電信服務(wù)商的這種做法違反了他們和服務(wù)商簽訂的服務(wù)協(xié)議,認(rèn)為既然帶寬不夠用,電信服務(wù)商就有義務(wù)對(duì)設(shè)備進(jìn)行改良。為了應(yīng)對(duì)電信服務(wù)商對(duì)BT傳輸?shù)南拗?#xff0c;主流BT軟件已經(jīng)做出了不少改進(jìn),以繞開電信服務(wù)商的限制,普遍使用的方法包括,通過以torrent文件為基礎(chǔ)的客戶端身份認(rèn)證和對(duì)數(shù)據(jù)進(jìn)行Diffie-Hellman密鑰加密來防止被電信服務(wù)商偵測(cè),使用DHT分布式網(wǎng)絡(luò)作為Tracker服務(wù)器的補(bǔ)充,隨機(jī)選擇傳輸端口。由于BT在發(fā)布和傳播上的優(yōu)點(diǎn),有很多侵權(quán)內(nèi)容也通過BT發(fā)布,被告涉嫌鼓勵(lì)侵權(quán)內(nèi)容的發(fā)布和下載,全球最大的BT發(fā)布和資源索引站點(diǎn)NOVA已經(jīng)被迫關(guān)閉,包括MPAA和RIAA在內(nèi)的版權(quán)保護(hù)團(tuán)體正在對(duì)更多的BT站點(diǎn)采取行動(dòng),大多數(shù)BT使用者和開發(fā)者則認(rèn)為控告BT站點(diǎn)是不明智的,就好比賣菜刀的不應(yīng)該為有人用菜刀行兇的行為負(fù)責(zé)一樣,BT站點(diǎn)本身不應(yīng)該為侵權(quán)行為負(fù)責(zé)。BT應(yīng)用提示
推薦使用的BT軟件有utorrent,Bitcomet,Azureus,這些軟件時(shí)常更新來提供更好的BT協(xié)議支持和擴(kuò)展功能。盡量不要限制BT軟件的上傳速度,這會(huì)影響你的下載。避免使用BT默認(rèn)的監(jiān)聽端口,這些端口可能已經(jīng)被服務(wù)商屏蔽了。使用防火墻的用戶有可能需要在防火墻上打開BT監(jiān)聽端口使用路由器的用戶一般需要通過端口映射,或者DMZ功能,或者UPNP功能,來使入站請(qǐng)求能到達(dá)使用BT軟件的計(jì)算機(jī)上。即使完成了下載,也請(qǐng)你盡可能不要立即關(guān)閉BT軟件或者讓BT軟件停止上傳,您的上傳是對(duì)整個(gè)BT網(wǎng)絡(luò)的重要貢獻(xiàn),BT網(wǎng)絡(luò)持一定的上傳者人數(shù)以使BT健康運(yùn)行即使沒有看到發(fā)布者和下載完成者出現(xiàn)也請(qǐng)耐心等待,原因可能是,使用人數(shù)較多你所被分配到的連接者群體不包含發(fā)布者和下載完成者,對(duì)方使用了super-seed模式隱藏自己,發(fā)布者和下載完成者可能暫時(shí)下線。常用BT下載軟件
BitComet
BitComet是基于BitTorrent協(xié)議的p2p免費(fèi)軟件;高效的網(wǎng)絡(luò)內(nèi)核,多任務(wù)同時(shí)下載依然保持很少的CPU內(nèi)存占用;支持對(duì)一個(gè)Torrent中的文件有選擇的下載;磁盤緩存技術(shù),有效減小高速隨機(jī)讀寫對(duì)硬盤的損傷;只需一個(gè)監(jiān)聽端口即可滿足所有下載需要;自動(dòng)保存下載狀態(tài),續(xù)傳無需再次掃描文件,作種子也無需掃描文件;支持多Tracker協(xié)議;對(duì)內(nèi)網(wǎng)用戶同樣適用;綠色軟件,不需安裝,僅運(yùn)行時(shí)關(guān)聯(lián).torrent文件;多語言界面。BT Deadman Walking
BitTorrent Deadman Walking是TLF論壇的專門定制優(yōu)化過的版本,推薦使用。BitTorrent Plus
BitTorrent Shadow's Experimental的加強(qiáng)版,擁有全中文的界面。相對(duì)于原版更加易用,翻譯通俗易懂,功能強(qiáng)大,是當(dāng)今BT客戶端中功能最為強(qiáng)大的客戶端程序之一。比特精靈Bit Spirit
一個(gè)功能強(qiáng)大,使用方便的BitTorrent客戶端。它不僅全面兼容BitTorrent協(xié)議,更提供了很多個(gè)性化的功能,界面酷似Flashget。貪婪ABC
一個(gè)增強(qiáng)、應(yīng)該說是超強(qiáng)的Bittorrent客戶端,單窗口多任務(wù)!消耗少到嚇人。相信很多人已經(jīng)找了好久,但是一直沒有滿意的吧?貪婪BT將會(huì)給你一個(gè)滿意的解決方案。BitTorrent
最早期最原始的BT客戶端工具,一個(gè)多點(diǎn)下載且源碼公開的P2P軟件,使用非常方便,就像一個(gè)瀏覽器插件。Shareaza
一款在國外評(píng)價(jià)極高并且相當(dāng)流行的P2P軟件,集合了eDonkey和BT等幾種流行P2P網(wǎng)絡(luò)類型,許多P2P的下載站點(diǎn)已將其指定為BT的官方下載工具。PTC
PTC比BitTorrent多了個(gè)軟件界面,可以直接雙擊運(yùn)行,然后打開下載到硬盤上的torrent文件;能同時(shí)多任務(wù)下載,節(jié)省資源;能完全自定義上傳速度,防止網(wǎng)絡(luò)帶寬占用過大等等。Azureus
一個(gè)基于JAVA的多torrent下載程序,可以手動(dòng)設(shè)置某個(gè)torrent的優(yōu)先權(quán),加入了irc聊天室,增加了一些基本的irc命令,可以看見在線人數(shù)和ID,支持多trackerurl,對(duì)于多tracker發(fā)布的torrent可自動(dòng)切換,并可以手動(dòng)更改tracker url。BitAnarch
一個(gè)號(hào)稱可以和BitTorrent Plus版媲美的BT軟件,具有下載日志功能,可以顯示種子和下載者的詳細(xì)信息,具有搜索新聞組Torrent文件的功能,更多的選項(xiàng)設(shè)置功能,軟件界面支持簡(jiǎn)體中文、繁體中文、英文語言選擇。BitBuddy
BitBuddy超小快速,單窗口多任務(wù),支持BitTorrent及其擴(kuò)展協(xié)議的BT下載客戶端,操作類似flashget和netants,方便實(shí)用。支持多任務(wù)下載,設(shè)置下載優(yōu)先級(jí),速度限制等多項(xiàng)實(shí)用功能。BTVampire(BT吸血鬼)
BT Vampire又叫稱BT吸血鬼,是一款增強(qiáng)型的完全免費(fèi)的Bittorrent客戶端,主要是為了改進(jìn)BT下載效率,試驗(yàn)新算法而編寫的。BtJoy樂翻天
一個(gè)多點(diǎn)對(duì)多點(diǎn)下載的P2P軟件,使用非常方便,其特點(diǎn)簡(jiǎn)單的說就是:下載的人越多,速度越快;他發(fā)揮了eDoneky和BitTorrent的優(yōu)勢(shì),去除了edoneky需要排隊(duì)的不足,又簡(jiǎn)化了BitTorrent共享發(fā)布比較復(fù)雜的流程。BitTornado
一個(gè)多點(diǎn)下載且源碼公開的P2P軟件,使用非常方便,就像一個(gè)瀏覽器插件。與以往http、FTP、pub等下載人越多,速度越慢的方式迥然不同,BT下載的特點(diǎn)簡(jiǎn)單的說就是:下載的人越多,速度越快。時(shí)下BT已經(jīng)成為網(wǎng)上交流資源最新、最酷的方式。是由著名的BT客戶端Shadow'sExperimental更名而來。超級(jí)BT下載
一款非常優(yōu)秀的BT下載軟件,速度是同類軟件的3倍以上!采用了先進(jìn)的技術(shù),更進(jìn)一步的優(yōu)化了對(duì)等連接!使下載者之間沒有任何障礙了!并且有非常好的皮膚功能!這也是此軟件的一個(gè)亮點(diǎn)!推薦大家下載!絕對(duì)超值!而且完全免費(fèi)!TurboBT
采用最新的C++/PYTHON界面框架技術(shù)編寫的BT(BitTorrent)客戶端下載工具。界面代碼全部重寫,你可以高速的下載各類的資源且非常容易使用。MyBT
一個(gè)改良的BT客戶端,是用于在BT站點(diǎn)下載或上傳文件的實(shí)用工具。綜合了最新的流行BT客戶端開發(fā),界面友好,中文環(huán)境,支持多任務(wù),斷點(diǎn)續(xù)傳,超級(jí)種子,自動(dòng)發(fā)布種子等功能,運(yùn)行穩(wěn)定,速度快。綜藝BT下載王
一款非常實(shí)用的功能齊全的BT客戶端軟件,可以同時(shí)下載多個(gè)BT。它運(yùn)行穩(wěn)定,占內(nèi)存非常小,速度快!而且還有BT種子制作功能。BTogether
BTogether 為新型P2P下載軟件,支持最新 BitTorrent(BT) 下載協(xié)議。把 BTogether?拷貝到某目錄,直接運(yùn)行即可。本軟件為純中文綠色免費(fèi)軟件,不修改注冊(cè)表,無需其他運(yùn)行庫。THUNDER?迅雷一款國產(chǎn)的下載軟件,迅雷也支持BT下載,可用右鍵單擊IE中的下載鏈接,并選取“用迅雷下載”即可。 參考資料1.?超級(jí)BT下載最新版本下載.軟件下載[引用日期2013-01-22]?.
2.?BT下載概述.四川大學(xué)信息管理中心.2005-5-25?[引用日期2012-09-6]?.
- 1
www.utorrent.com
- 2
www.bitcomet.com
- 3
www.Azureus.com
- 4
www.rsasecurity.com
- 5
http://www.btbtz.cn
總結(jié)
- 上一篇: (二)spring MVC配置
- 下一篇: java base64转bitmap,如