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