馬素剛
(1. 長安大學(xué) 信息工程學(xué)院, 陜西 西安 710064;2. 西安郵電大學(xué) 計算機學(xué)院, 陜西 西安 710121)
?
P2P技術(shù)在大文件共享中的應(yīng)用研究
馬素剛1,2
(1. 長安大學(xué) 信息工程學(xué)院, 陜西 西安710064;2. 西安郵電大學(xué) 計算機學(xué)院, 陜西 西安710121)
為解決實驗教學(xué)中出現(xiàn)的局域網(wǎng)內(nèi)大文件快速分發(fā)問題,提出了一種基于P2P技術(shù)的傳輸方案。分析了P2P的工作原理、網(wǎng)絡(luò)分類、網(wǎng)絡(luò)特點以及BitTorrent工作過程等,設(shè)計了一個典型實驗網(wǎng)絡(luò)拓撲,并搭建了真實網(wǎng)絡(luò)進行了驗證。利用MYBT軟件搭建了P2P服務(wù)器,在種子節(jié)點和下載節(jié)點數(shù)量變化情況下,對約4 GB的文件進行分發(fā),統(tǒng)計了平均下載時間。實驗結(jié)果表明,相對于FTP等集中式傳輸而言,基于P2P技術(shù)的文件共享系統(tǒng)節(jié)省了大量時間,很好地實現(xiàn)了局域網(wǎng)內(nèi)大文件的快速分發(fā)。
P2P; 客戶/服務(wù)器模式; 大文件共享; BitTorrent; 種子
在計算機專業(yè)的實驗教學(xué)中,教師經(jīng)常需要將一個大文件快速分發(fā)給每一個學(xué)生,例如在計算機網(wǎng)絡(luò)課程中操作系統(tǒng)安裝實驗[1]開始前,教師需要將Linux操作系統(tǒng)的安裝文件(CentOS 7系統(tǒng)安裝文件大小為4 310 695 936 B)發(fā)送給每一個學(xué)生。FTP(File Transfer Protocol,文件傳輸協(xié)議)是常見的文件傳輸方式,它采用客戶機/服務(wù)器(C/S)模式[2]。FTP傳輸方式需要一個集中的FTP服務(wù)器,文件資源存儲在FTP服務(wù)器上,多個客戶端同時下載時,需要分別向服務(wù)器發(fā)出請求,每個客戶端的文件都是從服務(wù)器端獲得。當客戶端數(shù)量較多時,FTP服務(wù)器將成為傳輸?shù)钠款i,下載較大文件時需要消耗大量的時間。另外,FTP傳輸過程中要求單個文件大小不能超過2 GB。所以,F(xiàn)TP傳輸方式不能滿足大文件快速分發(fā)的要求。本文采用了一種基于P2P(peer-to-peer,對等方式)技術(shù)[3]的文件共享方式,不同于客戶機/服務(wù)器模式,傳輸過程依賴于網(wǎng)絡(luò)中參與者的計算能力和帶寬,而不是全部依賴于服務(wù)器。
1.1P2P工作原理
P2P是相對于C/S模式的一種網(wǎng)絡(luò)信息交換方式。在C/S模式中,數(shù)據(jù)的分發(fā)采用專門的服務(wù)器,所有客戶端都是從服務(wù)器獲取數(shù)據(jù),如圖1所示。在基于C/S模式的系統(tǒng)中,數(shù)據(jù)的一致性容易控制,系統(tǒng)也容易管理。但是,如果服務(wù)器出現(xiàn)故障,將導(dǎo)致整個系統(tǒng)失效。另外,受服務(wù)器CPU的能力、內(nèi)存大小、網(wǎng)絡(luò)帶寬等限制,可同時服務(wù)的客戶端非常有限,客戶端的增加意味著數(shù)據(jù)傳輸會更慢。
圖1 C/S工作模式
P2P技術(shù)采用對等網(wǎng)絡(luò)結(jié)構(gòu)(如圖2所示),每個節(jié)點既可以從其他節(jié)點得到服務(wù),也可以為其他節(jié)點提供服務(wù)。在P2P網(wǎng)絡(luò)中,所有用戶的身份都是平等的,不同區(qū)域的用戶可以通過P2P技術(shù)共享主機上的資源。P2P使得互聯(lián)網(wǎng)上信息的范圍、容量及價值得到很大的提高。
1.2P2P網(wǎng)絡(luò)分類
按照節(jié)點之間通信時對服務(wù)器的依賴程度,可以將P2P網(wǎng)絡(luò)分為3種類型,即集中式P2P網(wǎng)絡(luò)、分布式P2P網(wǎng)絡(luò)和混合式P2P網(wǎng)絡(luò)[4]。
(1) 集中式P2P網(wǎng)絡(luò)。該網(wǎng)絡(luò)由一個中心服務(wù)器負責保存索引信息,為網(wǎng)絡(luò)中各節(jié)點提供查詢服務(wù),傳輸內(nèi)容則無需經(jīng)過中心服務(wù)器。這種網(wǎng)絡(luò)的結(jié)構(gòu)比較簡單,中心服務(wù)器的負擔大大降低,它是小型網(wǎng)絡(luò)管理和控制的一種可選方案。但由于仍存在中心節(jié)點,容易形成傳輸瓶頸,擴展性也比較差,不適合大型網(wǎng)絡(luò)。
(2) 分布式P2P網(wǎng)絡(luò)。該網(wǎng)絡(luò)與集中式對等網(wǎng)絡(luò)最顯著的區(qū)別在于它沒有中心服務(wù)器,所有節(jié)點通過與相鄰節(jié)點間的通信,接入整個網(wǎng)絡(luò)。分布式對等網(wǎng)絡(luò)采用洪泛(flooding)機制[5],通過TTL(time to live,生存時間)減值來控制搜索消息的無限傳輸。它的組織方式比較松散,節(jié)點的加入與離開比較自由。但是,隨著網(wǎng)絡(luò)節(jié)點的不斷增多,洪泛機制將造成網(wǎng)絡(luò)流量急劇增加,從而導(dǎo)致網(wǎng)絡(luò)中部分低帶寬節(jié)點因網(wǎng)絡(luò)資源過載而失效。
(3) 混合式P2P網(wǎng)絡(luò)。集中式P2P網(wǎng)絡(luò)有利于網(wǎng)絡(luò)資源的快速檢索,并且可以通過增強服務(wù)器能力提高網(wǎng)絡(luò)的可擴展性,但是其中心化的模式容易遭到直接的攻擊;分布式P2P解決了抗攻擊問題,但是又缺乏快速搜索和高可擴展性。混合式P2P結(jié)合了集中式P2P網(wǎng)絡(luò)和分布式P2P網(wǎng)絡(luò)的優(yōu)點,引入了搜索節(jié)點和索引節(jié)點,在設(shè)計思想和處理能力上都得到了進一步的優(yōu)化[6]。混合式對等網(wǎng)絡(luò)的典型代表為BitTorrent。
1.3P2P網(wǎng)絡(luò)特點
與C/S模式網(wǎng)絡(luò)相比,P2P網(wǎng)絡(luò)具有如下特點[7-8]:
(1) 對等性:P2P網(wǎng)絡(luò)中的所有節(jié)點都兼有服務(wù)器和客戶端兩種功能,不需要集中式服務(wù)器的參與,節(jié)點間直接交換資源,有效地解決了C/S模式網(wǎng)絡(luò)中單點瓶頸問題,也提高了網(wǎng)絡(luò)的可擴展性和健壯性;
(2) 可擴展性:與C/S模式網(wǎng)絡(luò)不同,P2P網(wǎng)絡(luò)中每個節(jié)點都是服務(wù)的提供者,所以隨著系統(tǒng)中節(jié)點數(shù)目的增加,系統(tǒng)的服務(wù)能力也不斷增強;
(3) 健壯性:P2P網(wǎng)絡(luò)中的數(shù)據(jù)和資源分散在所有網(wǎng)絡(luò)節(jié)點上,不存在由于單一節(jié)點性能引起的系統(tǒng)瓶頸,網(wǎng)絡(luò)始終能夠保持高連通性,少數(shù)節(jié)點失效對整個系統(tǒng)的影響很??;
(4) 高效性:隨著硬件技術(shù)不斷發(fā)展,節(jié)點的計算存儲能力和網(wǎng)絡(luò)帶寬在不斷提高,P2P網(wǎng)絡(luò)充分利用各節(jié)點的閑置資源,以更低的成本消耗換取了更高的計算和存儲能力。
BitTorrent是近年來使用比較廣泛的P2P文件共享系統(tǒng)[9],它主要由種子節(jié)點、Web服務(wù)器、Tracker服務(wù)器和下載節(jié)點組成,其工作過程如圖3所示[10]。
圖3 BitTorrent工作過程
(1) 種子節(jié)點將種子文件(Torrent文件)上傳到Web服務(wù)器(步驟①),同時連接到Tracker服務(wù)器進行注冊(步驟③),啟動文件共享、提供上傳服務(wù)。種子節(jié)點擁有共享文件的所有文件塊,能夠為共享文件創(chuàng)建種子文件。種子文件描述了共享文件的屬性,包含文件名、大小、文件塊總數(shù)、每個文件塊的校驗值以及Tracker服務(wù)器的地址等。
(2) 下載節(jié)點瀏覽Web服務(wù)器,下載種子文件(步驟②),根據(jù)種子文件提供的信息,連接到相應(yīng)的Tracker服務(wù)器,獲得節(jié)點列表(步驟④)。與種子節(jié)點建立連接,下載文件(步驟⑤),同時周期性地向Tracker服務(wù)器反饋下載進度(步驟④)。
(3) 下載節(jié)點之間通過彼此通信并與Tracker服務(wù)器交互,獲取其他下載節(jié)點當前已經(jīng)下載的數(shù)據(jù)塊索引,并請求下載所需要的文件片段,同時向鄰居節(jié)點報告已經(jīng)下載完成的數(shù)據(jù)塊索引,其他節(jié)點也可以從該節(jié)點得到所需要的文件片段(步驟⑥),直到所有節(jié)點都完成請求文件的下載。
3.1實驗環(huán)境
典型的實驗網(wǎng)絡(luò)拓撲如圖4所示,用交換機SW1連接 25臺計算機,用交換機SW2連接22臺計算機。交換機SW1、SW2的型號均為H3C S1026T,計算機的配置為:Pentium Dual-Core CPU E5800 3.20 GHz,4 GB內(nèi)存,500 GB硬盤,Windows XP(SP3)系統(tǒng)。節(jié)點集合可以表示如下:
(M1,M2,…,M25)=(T1,S1,S2,S3,S4,n1,n2,…,n20)
(N1,N2,…,N22)=(S1,S2,n1,n2,…,n20)
其中,T1表示P2P服務(wù)器,同時具備了Tracker服務(wù)器和Web服務(wù)器功能,Si(i=1,2,3,4)表示種子節(jié)點,nj(j=1,2,…,20)表示下載節(jié)點。
圖4 實驗網(wǎng)絡(luò)拓撲
3.2實驗過程
以2個種子節(jié)點,30個下載節(jié)點的情況為例,分別對P2P服務(wù)器、種子節(jié)點和下載節(jié)點進行軟件安裝與配置。
3.2.1P2P服務(wù)器
在節(jié)點M1(T1)上安裝MYBT服務(wù)器(Ver 3.0)軟件[11],啟動主界面,在“目錄設(shè)置”選項卡下正確設(shè)置“Announce URL”,例如“http://192.168.1.175:6969/announce”,其中IP地址一般為本機的IP地址,服務(wù)端口默認為“6969”。單擊“管理服務(wù)”選項卡下的“一鍵安裝服務(wù)器”按鈕,完成P2P服務(wù)器的配置。MYBT服務(wù)器同時集成了Tracker服務(wù)器和Web服務(wù)器功能。
3.2.2種子節(jié)點
(1) 制作種子文件。在節(jié)點M2(S1)上安裝P2P客戶端軟件(BitComet 1.36),單擊“文件”選單下的“制作Torrent文件”項,填寫相關(guān)信息后單擊“制作”按鈕,即可完成種子文件的制作。其中,“源文件”指定待共享的文件(CentOS-7-x86_64-DVD-1503-01.iso),“Tracker服務(wù)器”指定P2P服務(wù)器地址(http://192.168.1.175:6969/announce),“生成”欄內(nèi)還可以指定種子文件存放的路徑。
(2) 上傳種子文件。在節(jié)點M2(S1)上,啟動瀏覽器,在地址欄內(nèi)輸入“http://192.168.1.175:6969”,即可登錄Web服務(wù)器(M1)上傳種子文件。
重復(fù)以上步驟(1)、(2),把M3(S2)配置為種子節(jié)點。
3.2.3下載節(jié)點
在節(jié)點M6(n1)上打開瀏覽器,在地址欄內(nèi)輸入“http://192.168.1.175:6969”,登錄Web服務(wù)器下載種子文件。安裝P2P客戶端軟件(BitComet 1.36),打開種子文件,即可啟動下載。
其他下載節(jié)點(M7—M25,N3—N12)的配置方法類似。
3.3實驗結(jié)果與分析
根據(jù)種子節(jié)點數(shù)和下載節(jié)點數(shù)的不同,可對實驗結(jié)果進行如下分類分析。
3.3.1種子節(jié)點數(shù)為1時
隨著下載節(jié)點數(shù)不斷增加,下載文件所需時間如表1所示。平均下載時間的變化趨勢如圖5所示。
表1 種子節(jié)點數(shù)為1時的下載時間
圖5 種子節(jié)點數(shù)為1時平均下載時間變化
從圖5可以看出,下載節(jié)點由1增加至5時,平均下載時間迅速下降;繼續(xù)增加至20時,平均下載時間仍然呈下降趨勢,但下降速度緩慢;繼續(xù)增加至40時,平均下載時間出現(xiàn)緩慢上升趨勢,這是因為雖然下載節(jié)點數(shù)量增加了,但部分下載節(jié)點與種子節(jié)點位于不同交換機,增加了傳輸時間。
3.3.2下載節(jié)點數(shù)量為30時
隨著種子節(jié)點數(shù)不斷變化,下載文件所需時間如表2所示,平均下載時間變化趨勢如圖6所示。
表2 下載節(jié)點數(shù)為30時的下載時間
從圖6可以看出,種子節(jié)點由1增加至4時,平均下載時間沒有顯著變化。表2也表明,以下兩種情況平均下載時間幾乎相同:4個種子節(jié)點平均分布于兩個交換機,或者4個種子節(jié)點位于同一交換機。
3.3.3種子節(jié)點數(shù)為1,下載節(jié)點數(shù)為40時
位于不同交換機的兩組下載節(jié)點平均下載時間分別為:位于SW1的20個下載節(jié)點(M6—M25)平均下載時間為11.84 min;位于SW2的20個下載節(jié)點(N3—N22)平均下載時間為13.76 min。這兩者差別較大,表明跨交換機傳輸顯著增加了下載時間。
通過對種子節(jié)點數(shù)和下載節(jié)點數(shù)變化時平均下載時間的分析,可以得出如下結(jié)論:(1)種子節(jié)點數(shù)不變時,下載節(jié)點數(shù)量增加,能夠有效減少平均下載時間;(2)下載節(jié)點數(shù)量不變時,種子節(jié)點數(shù)增加,對平均下載時間影響不明顯;(3)跨交換機的傳輸,對平均下載時間的影響較大,顯著增加了下載時間。
基于以上結(jié)論,針對實驗教學(xué)網(wǎng)絡(luò)環(huán)境(連接約30臺計算機),建議配置一個P2P服務(wù)器和一個種子節(jié)點,并盡量將所有節(jié)點連接于同一個多端口交換機,從而保證大文件的快速分發(fā)。研究結(jié)果表明,與集中式網(wǎng)絡(luò)相比,P2P技術(shù)采用的對等結(jié)構(gòu)具有顯著優(yōu)勢,基于P2P技術(shù)的文件共享系統(tǒng)很好地解決了大文件共享問題。
References)
[1] 肖明.計算機網(wǎng)絡(luò)實驗教程[M].北京:清華大學(xué)出版社,2014.
[2] 謝希仁.計算機網(wǎng)絡(luò) [M].6版.北京:電子工業(yè)出版社,2013.
[3] 李林艷.P2P技術(shù)在網(wǎng)絡(luò)資源共享中的應(yīng)用研究[D].長沙:湖南大學(xué),2013.
[4] 張文,趙子銘.P2P網(wǎng)絡(luò)技術(shù)原理與C++開發(fā)案例[M].北京:人民郵電出版社,2008.
[5] Tanenbaum A S, Wetherall D J.計算機網(wǎng)絡(luò) [M].5版.嚴偉,潘愛民,譯.北京:清華大學(xué)出版社,2012.
[6] 管磊.P2P技術(shù)揭秘:P2P網(wǎng)絡(luò)技術(shù)原理與典型系統(tǒng)開發(fā)[M].北京:清華大學(xué)出版社,2011.
[7] 葛莉.在P2P網(wǎng)絡(luò)中對OrBAC模型的兼容性研究[J].實驗室研究與探索,2014,33(11):136-140.
[8] 史建燾.P2P文件共享系統(tǒng)安全性研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2012.
[9] 張鑫.BitTorrent文件共享技術(shù)的研究與改進[D].長春:吉林大學(xué),2011.
[10] 唐紅,胡容,朱輝云.BitTorrent網(wǎng)絡(luò)行為研究綜述[J].小型微型計算機系統(tǒng),2012,33(9):2002-2007.
[11] 蔡康,唐宏,丁圣勇,等.P2P對等網(wǎng)絡(luò)原理與應(yīng)用[M].北京:科學(xué)出版社,2011.
Research on application of P2P technology in large file sharing
Ma Sugang1,2
(1. School of Information Engineering, Chang’an University, Xi’an 710064 China;2. Computer School, Xi’an University of Posts and Telecommunications, Xi’an 710121, China)
A transmission solution based on peer-to-peer (P2P) technology is proposed to use the large file fast distribution via LAN in experimental teaching. This article studies the principles, network classification and network characteristics of P2P technology and working process of BitTorrent. A typical experimental network was designed and verified in a real network environment. A P2P server was built by MYBT software in the experiment. The average download time was counted for a 4GB file with difference of seed nodes and download nodes. The experimental results show that, compared with the centralized transmission mode such as FTP, the file sharing system based on P2P technology can save a lot of time and ensure the large file fast distribution via LAN.
peer-to-peer(P2P); C/S mode; large file sharing; BitTorrent; seed
10.16791/j.cnki.sjg.2016.03.037
2015- 08- 10
陜西省教育廳科研計劃項目(14JK1662);陜西省科技統(tǒng)籌創(chuàng)新工程計劃項目(2015KTCQ01-14)
馬素剛(1982—),男,江蘇淮安,博士研究生,工程師,主要研究方向為計算機網(wǎng)絡(luò)體系結(jié)構(gòu),大數(shù)據(jù)處理技術(shù).
E-mail:msg@xupt.edu.cn
TP393.02
A
1002-4956(2016)3- 0147- 04