传统方式不同的变态下载(BT)
BT下載是互聯(lián)網(wǎng)下載方式之一。BT是一種互聯(lián)網(wǎng)的P2P傳輸協(xié)議,全名"BitTorrent",中文名"比特流" ,已發(fā)展成一個(gè)有廣大開(kāi)發(fā)者群體的開(kāi)放式傳輸協(xié)議。BT下載是通過(guò)一個(gè)P2P下載軟件來(lái)實(shí)現(xiàn)的,具有下載的人越多下載速度越快的特點(diǎn)。
傳統(tǒng)方式
在傳統(tǒng)下載方式中,一般是把文件由服務(wù)器端傳送到客戶端,例如FTP,HTTP,PUB等等。由于是從一臺(tái)服務(wù)器下載,服務(wù)器所提供的帶寬是一定的,因而下載人越多速度越慢。但是這樣就出現(xiàn)了一個(gè)問(wèn)題,隨著用戶的增多,對(duì)帶寬的要求也隨之增多,用戶過(guò)多就會(huì)造成瓶頸,而且搞不好還會(huì)把服務(wù)器垮掉,所以很多的服務(wù)器會(huì)都有用戶人數(shù)的限制,下載速度的限制,這樣就給用戶造成了諸多的不便。
BT方式
與傳統(tǒng)下載不同,用BT下載反而是用戶越多,下載越快,這是因?yàn)锽T用的是一種傳銷(xiāo)的方式來(lái)達(dá)到共享的。BT首先在上傳端把一個(gè)文件分成了Z個(gè)部分,甲在服務(wù)器隨機(jī)下載了第N個(gè)部分,乙在服務(wù)器隨機(jī)下載了第M個(gè)部分,這樣甲的BT就會(huì)根據(jù)情況到乙的電腦上去下載乙已經(jīng)下載好的M部分,乙的BT就會(huì)根據(jù)情況到甲的電腦上去下載甲已經(jīng)下載好的N部分,這樣就不但減輕了服務(wù)器端的負(fù)荷,也加快了用戶方(甲乙)的下載速度,效率也提高了,更同樣減少了地域之間的限制。比如說(shuō)丙要連到服務(wù)器去下載的話可能才幾K,但是要是到甲和乙的電腦連上去下載就快得多了。所以說(shuō)用的人越多,下載的人越多,大家也就越快,BT的優(yōu)越性就在這里。而且,在下載的同時(shí)也在上傳。
普通下載原理是普通的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ā)布者發(fā)布的文件生成提供一個(gè).torrent文件,即種子文件,簡(jiǎn)稱(chēng)為“種子”。
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ù)次方(由于是虛擬分塊,硬盤(pán)上并不產(chǎn)生各個(gè)塊文件),并把每個(gè)塊的索引信息和Hash驗(yàn)證碼寫(xiě)入.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)有的塊,然后交換彼此的數(shù)據(jù)。此時(shí)不需要其他服務(wù)器參與,分散了單個(gè)線路上的數(shù)據(jù)流量,因此減輕了服務(wù)器負(fù)擔(dān)。
下載者每得到一個(gè)塊,需要算出下載塊的Hash驗(yàn)證碼與.torrent文件中的對(duì)比,如果一樣則說(shuō)明塊正確,不一樣則需要重新下載這個(gè)塊。這種規(guī)定是為了解決下載內(nèi)容準(zhǔn)確性的問(wèn)題。
而有些人下載完成后關(guān)掉下載任務(wù),提供較少量數(shù)據(jù)給其他用戶,為盡量避免這種行為,在非官方BitTorrent協(xié)議中存在超級(jí)種子的算法。這種算法允許文件發(fā)布者分幾步發(fā)布文件,發(fā)布者不需要一次提供文件所有內(nèi)容,而是慢慢開(kāi)放的下載內(nèi)容的比例,延長(zhǎng)下載時(shí)間。此時(shí),速度快的人由于未下載完必須提供給他人數(shù)據(jù),速度慢的人有更多機(jī)會(huì)得到數(shù)據(jù)。由此往往造成用戶卡在任務(wù)的99%,下載1G的任務(wù)要上傳3G之多。
BT下載的優(yōu)點(diǎn):下載速度快、資源分布廣、對(duì)服務(wù)器造成的負(fù)擔(dān)bai較小、用戶可自行發(fā)布BT資源、完全不用擔(dān)心盜鏈問(wèn)題……下載速度最高可達(dá)1000K/秒(10M帶寬)
總的來(lái)說(shuō),BT的缺點(diǎn)主要有四個(gè):
1.搜索功能薄弱。
和ED,EM比較起來(lái),BT根本就是沒(méi)有任何搜索功能,你要找什么東西,只能到BT的發(fā)布頁(yè)面上去找。
但是換個(gè)角度,其實(shí)這也可以說(shuō)是BT方便的地方吧!
平常我們要找什么網(wǎng)站或者資料,都會(huì)到GOOGLE或者百度之類(lèi)的搜索引擎上找吧!BT的發(fā)布頁(yè)面其實(shí)就是把所發(fā)布的BT共享文件集中進(jìn)行歸類(lèi)下載的地方,可以看成是一種BT的搜索引擎了。而且一些做得不錯(cuò)的發(fā)布頁(yè)面上,軟件,動(dòng)畫(huà),漫畫(huà),電視劇,電影,音樂(lè),軟件都是歸類(lèi)得整整齊齊的,找起來(lái)非常的方便。
第二
強(qiáng)制上傳的結(jié)果導(dǎo)致上傳通道占用過(guò)大,間接導(dǎo)致下載速度變慢。這個(gè)可以說(shuō)是一把雙刃劍了。
本來(lái)強(qiáng)制上傳的目的是為了讓全體下載者能夠有一個(gè)飛快的下載速度,但是對(duì)于ADSL類(lèi)寬帶來(lái)說(shuō),因?yàn)樯蟼魍ǖ绹?yán)重占用,結(jié)果導(dǎo)致了下載速度變慢也是常見(jiàn)的情況。這是由TCP協(xié)議的數(shù)據(jù)傳輸特性和ADSL的不對(duì)稱(chēng)特性導(dǎo)致的,不是BT本身的問(wèn)題----換句話說(shuō)在其他軟件里面也是會(huì)有這種情況發(fā)生的,只是其他軟件有些是可以限制上傳速度的,所以問(wèn)題就不是很突出而已。而且對(duì)于樓層或者小區(qū)寬帶之類(lèi)的局域網(wǎng)寬帶來(lái)說(shuō),這種情況幾乎是不可能發(fā)生的,這是--ADSL不對(duì)稱(chēng)特性和TCP協(xié)議數(shù)據(jù)傳輸特性共同作用的結(jié)果。
但是,BT軟件本身沒(méi)有限制上傳的功能,不等于其他軟件就沒(méi)有。BT有一個(gè)叫做bittorrent-EXPERIMENTA的修改版,是可以讓你根據(jù)情況自由調(diào)節(jié)自己的上傳速度的,和ED,EM一樣。所以這樣一來(lái),就沒(méi)有所謂上傳通道占用太多的問(wèn)題了。
第三
內(nèi)存和CPU資源占用太多。這個(gè)確實(shí)是BT的缺點(diǎn)。
因?yàn)锽T是優(yōu)先把內(nèi)存來(lái)作為數(shù)據(jù)交換的緩存的,這樣的目的一是減少硬盤(pán)的負(fù)擔(dān),二是數(shù)據(jù)放在內(nèi)存中總是比放在硬盤(pán)上速度快的----特別是對(duì)于BT這樣上傳和下載速度都飛快的軟件來(lái)說(shuō),這樣做是必要的。
只是這樣一來(lái),CPU就不得不把優(yōu)先權(quán)放在與內(nèi)存有關(guān)的進(jìn)程上,所以看起來(lái)就顯得CPU占用過(guò)多了。
要解決這個(gè)問(wèn)題很簡(jiǎn)單,如果你是使用NT,2000,XP之類(lèi)的操作系統(tǒng),就可以在任務(wù)管理器里面把BT的進(jìn)程優(yōu)先級(jí)調(diào)低,這樣就可以一邊開(kāi)著B(niǎo)T一邊玩游戲或者搞其他東西了。我在毒龍850和256M內(nèi)存下,可以一邊玩魔獸一邊開(kāi)兩個(gè)BT窗口進(jìn)行下載,沒(méi)有什么不流暢的感覺(jué)。
如果是使用98或者M(jìn)E之類(lèi)的系統(tǒng),那就沒(méi)有辦法了。不過(guò)在這樣的系統(tǒng)下,你用ED,EM恐怕也不爽吧??ED對(duì)內(nèi)存的消耗和BT其實(shí)是半斤八兩的。
第四
時(shí)效性。
使用BT共享發(fā)布一個(gè)文件,在開(kāi)始幾天速度是非常快的,因?yàn)橛泻芏嗳嗽谙螺d,SEED也非常多。但是過(guò)幾天后,下載的人少了,速度也就慢下來(lái)了,到了最后連SEED也沒(méi)有了,最壞的情況---不能完成下載可能就要成為你的噩夢(mèng)了
總結(jié)
以上是生活随笔為你收集整理的传统方式不同的变态下载(BT)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 30万手表推荐_一年收入20万—30万的
- 下一篇: 我所遭遇过的中间件--VTK