傳統(tǒng)的文件下載服務(wù)基于客戶端/服務(wù)器模型,將下載的文件放置在服務(wù)器上,而用戶登錄到服務(wù)器以在本地下載文件。在文件下載過程中,傳輸文件的源與目的地不同,并且服務(wù)器僅在一個方向上將文件傳輸?shù)娇蛻舳恕?/P>
這種傳統(tǒng)軟件下載模型的缺點(diǎn)很明顯,整個系統(tǒng)的瓶頸位于服務(wù)器上。由于服務(wù)器的處理能力,互聯(lián)網(wǎng)訪問鏈接帶寬和其他環(huán)境限制,當(dāng)下載量很大時,服務(wù)器通常不堪重負(fù)。用戶完成下載后,就無法與服務(wù)器聯(lián)系,其他用戶也無法從該用戶下載的先前版本獲得任何幫助。
隨著Internet技術(shù)的不斷發(fā)展,點(diǎn)對點(diǎn)(P2P)技術(shù)已逐漸成為一種成熟的文件交換和下載技術(shù)。 P2P技術(shù)發(fā)揚(yáng)了互聯(lián)網(wǎng)的“自由,平等,互助和共享”精神。
最早的P2P技術(shù)是音樂交換軟件Napster,最受歡迎的P2P文件交換技術(shù)是BT(BitTorrent)。越來越多的人使用BT共享和下載軟件,Internet提供了一個“種子”網(wǎng)站,并且BT客戶端軟件隨處可見,但是Internet上大多數(shù)關(guān)于為Windows平臺安裝BT服務(wù)器的信息,并且通常不涉及BT。原則上,這使得希望使用Unix / Linux平臺架設(shè)BT服務(wù)器,并提供“種子”下載的管理員不知道如何啟動。本文從用戶的角度討論了BT的原理,并詳細(xì)說明了如何在Unix / Linux平臺下設(shè)置BT服務(wù)器并提供“種子”下載服務(wù)。
BT原理
BT是BitTorrent(BitTorrent)的縮寫。 BitTorrent的特點(diǎn)是用戶可以同時下載,還可以為其他用戶提供上傳,因此它不會像FTP服務(wù)器那樣隨著用戶數(shù)量的增加而導(dǎo)致下載速度的提高。相反,對于BT下載,下載的人越多,速度就越快。
傳統(tǒng)的文件共享服務(wù)(例如FTP,HTTP等)的工作如圖1所示。這種方式隨著用戶數(shù)量的增加,對帶寬的需求也增加了,太多的用戶會產(chǎn)生瓶頸,因此下載量很大網(wǎng)站具有并發(fā)用戶限制和下載速度限制。
BT首先在第一個共享端下載(或稱為Downloader),將文件分為N個部分,A用戶可以從Downloader中隨機(jī)下載M部分,B用戶可以從Downloader服務(wù)器中隨機(jī)下載K部分。用戶A的BT客戶端下載程序?qū)⒏鶕?jù)情況從用戶B下載KTH部分。類似地,用戶B也可以從用戶A下載M部分。這樣,可以減輕服務(wù)器端的負(fù)擔(dān),并可以加快用戶的下載速度。
從構(gòu)建BT服務(wù)器的角度來看,整個BT系統(tǒng)包括四個部分。
1、BT客戶
BT客戶端是安裝在用戶PC機(jī)上的客戶端軟件,目前有很多BT客戶端可用,這里推薦BitComet()。它是BT下載客戶端軟件的類似FlashGet界面,易于使用。BitComet負(fù)責(zé)在下載的同時與其他用戶共享下載的內(nèi)容,該過程完全不需要用戶參與。如果您不知道如何使用BitComet客戶端下載,請安裝BitComet來訪問BT China網(wǎng)站,嘗試了解如何使用。
2、 BT“種子”文件
bittorrent“種子”文件是a.torrent文件,它是第一個文件共享用戶基于源文件制作的源文件的指紋。 “種子”文件很小,范圍從數(shù)十KB到數(shù)百KB,并且包含文件所在的BT端的地址信息和目標(biāo)文件的校驗和。當(dāng)BT用戶獲取“種子”后,直接在BT客戶端軟件中運(yùn)行“種子”文件,BT軟件將根據(jù)“種子”文件中包含的信息自動找到該文件的所有可用下載源,然后進(jìn)行下載。
3、追蹤器
您無需指定服務(wù)器即可使用BT服務(wù),盡管BT服務(wù)中仍然存在服務(wù)器的概念,但使用BT服務(wù)的人無需關(guān)心服務(wù)器的位置。跟蹤器是一種在服務(wù)器上運(yùn)行的程序,可跟蹤同時下載文件的人數(shù)。當(dāng)BT客戶端連接到Tracker時,它將獲得下載人員列表,根據(jù)該列表,BT客戶端將自動連接到網(wǎng)絡(luò)中的其他節(jié)點(diǎn)進(jìn)行下載。
4、種子
BT服務(wù)將提供完整文件的用戶節(jié)點(diǎn)稱為“種子”,將要下載該文件的用戶稱為“客戶端”,F(xiàn)在可以查看特定文件中有多少個“種子”和多少個“客戶端”。只要有一個“種子”就可以安全地下載。當(dāng)然,種子越多,文件下載的客戶就越多。
如果發(fā)現(xiàn)“種子”數(shù)字為0,則無需嘗試。用戶完成下載后,如果其他人未選擇關(guān)閉,他們可以繼續(xù)從該用戶下載。因此,當(dāng)更多的人下載時,通常“種子”的數(shù)量也會增加,下載速度會更快。
|