馬素剛
(1. 長安大學 信息工程學院, 陜西 西安 710064;2. 西安郵電大學 計算機學院, 陜西 西安 710121)
?
P2P技術在大文件共享中的應用研究
馬素剛1,2
(1. 長安大學 信息工程學院, 陜西 西安710064;2. 西安郵電大學 計算機學院, 陜西 西安710121)
為解決實驗教學中出現的局域網內大文件快速分發問題,提出了一種基于P2P技術的傳輸方案。分析了P2P的工作原理、網絡分類、網絡特點以及BitTorrent工作過程等,設計了一個典型實驗網絡拓撲,并搭建了真實網絡進行了驗證。利用MYBT軟件搭建了P2P服務器,在種子節點和下載節點數量變化情況下,對約4 GB的文件進行分發,統計了平均下載時間。實驗結果表明,相對于FTP等集中式傳輸而言,基于P2P技術的文件共享系統節省了大量時間,很好地實現了局域網內大文件的快速分發。
P2P; 客戶/服務器模式; 大文件共享; BitTorrent; 種子
在計算機專業的實驗教學中,教師經常需要將一個大文件快速分發給每一個學生,例如在計算機網絡課程中操作系統安裝實驗[1]開始前,教師需要將Linux操作系統的安裝文件(CentOS 7系統安裝文件大小為4 310 695 936 B)發送給每一個學生。FTP(File Transfer Protocol,文件傳輸協議)是常見的文件傳輸方式,它采用客戶機/服務器(C/S)模式[2]。FTP傳輸方式需要一個集中的FTP服務器,文件資源存儲在FTP服務器上,多個客戶端同時下載時,需要分別向服務器發出請求,每個客戶端的文件都是從服務器端獲得。當客戶端數量較多時,FTP服務器將成為傳輸的瓶頸,下載較大文件時需要消耗大量的時間。另外,FTP傳輸過程中要求單個文件大小不能超過2 GB。所以,FTP傳輸方式不能滿足大文件快速分發的要求。本文采用了一種基于P2P(peer-to-peer,對等方式)技術[3]的文件共享方式,不同于客戶機/服務器模式,傳輸過程依賴于網絡中參與者的計算能力和帶寬,而不是全部依賴于服務器。
1.1P2P工作原理
P2P是相對于C/S模式的一種網絡信息交換方式。在C/S模式中,數據的分發采用專門的服務器,所有客戶端都是從服務器獲取數據,如圖1所示。在基于C/S模式的系統中,數據的一致性容易控制,系統也容易管理。但是,如果服務器出現故障,將導致整個系統失效。另外,受服務器CPU的能力、內存大小、網絡帶寬等限制,可同時服務的客戶端非常有限,客戶端的增加意味著數據傳輸會更慢。

圖1 C/S工作模式
P2P技術采用對等網絡結構(如圖2所示),每個節點既可以從其他節點得到服務,也可以為其他節點提供服務。在P2P網絡中,所有用戶的身份都是平等的,不同區域的用戶可以通過P2P技術共享主機上的資源。P2P使得互聯網上信息的范圍、容量及價值得到很大的提高。
1.2P2P網絡分類
按照節點之間通信時對服務器的依賴程度,可以將P2P網絡分為3種類型,即集中式P2P網絡、分布式P2P網絡和混合式P2P網絡[4]。
(1) 集中式P2P網絡。該網絡由一個中心服務器負責保存索引信息,為網絡中各節點提供查詢服務,傳輸內容則無需經過中心服務器。這種網絡的結構比較簡單,中心服務器的負擔大大降低,它是小型網絡管理和控制的一種可選方案。但由于仍存在中心節點,容易形成傳輸瓶頸,擴展性也比較差,不適合大型網絡。
(2) 分布式P2P網絡。該網絡與集中式對等網絡最顯著的區別在于它沒有中心服務器,所有節點通過與相鄰節點間的通信,接入整個網絡。分布式對等網絡采用洪泛(flooding)機制[5],通過TTL(time to live,生存時間)減值來控制搜索消息的無限傳輸。它的組織方式比較松散,節點的加入與離開比較自由。但是,隨著網絡節點的不斷增多,洪泛機制將造成網絡流量急劇增加,從而導致網絡中部分低帶寬節點因網絡資源過載而失效。
(3) 混合式P2P網絡。集中式P2P網絡有利于網絡資源的快速檢索,并且可以通過增強服務器能力提高網絡的可擴展性,但是其中心化的模式容易遭到直接的攻擊;分布式P2P解決了抗攻擊問題,但是又缺乏快速搜索和高可擴展性。混合式P2P結合了集中式P2P網絡和分布式P2P網絡的優點,引入了搜索節點和索引節點,在設計思想和處理能力上都得到了進一步的優化[6]。混合式對等網絡的典型代表為BitTorrent。
1.3P2P網絡特點
與C/S模式網絡相比,P2P網絡具有如下特點[7-8]:
(1) 對等性:P2P網絡中的所有節點都兼有服務器和客戶端兩種功能,不需要集中式服務器的參與,節點間直接交換資源,有效地解決了C/S模式網絡中單點瓶頸問題,也提高了網絡的可擴展性和健壯性;
(2) 可擴展性:與C/S模式網絡不同,P2P網絡中每個節點都是服務的提供者,所以隨著系統中節點數目的增加,系統的服務能力也不斷增強;
(3) 健壯性:P2P網絡中的數據和資源分散在所有網絡節點上,不存在由于單一節點性能引起的系統瓶頸,網絡始終能夠保持高連通性,少數節點失效對整個系統的影響很小;
(4) 高效性:隨著硬件技術不斷發展,節點的計算存儲能力和網絡帶寬在不斷提高,P2P網絡充分利用各節點的閑置資源,以更低的成本消耗換取了更高的計算和存儲能力。
BitTorrent是近年來使用比較廣泛的P2P文件共享系統[9],它主要由種子節點、Web服務器、Tracker服務器和下載節點組成,其工作過程如圖3所示[10]。

圖3 BitTorrent工作過程
(1) 種子節點將種子文件(Torrent文件)上傳到Web服務器(步驟①),同時連接到Tracker服務器進行注冊(步驟③),啟動文件共享、提供上傳服務。種子節點擁有共享文件的所有文件塊,能夠為共享文件創建種子文件。種子文件描述了共享文件的屬性,包含文件名、大小、文件塊總數、每個文件塊的校驗值以及Tracker服務器的地址等。
(2) 下載節點瀏覽Web服務器,下載種子文件(步驟②),根據種子文件提供的信息,連接到相應的Tracker服務器,獲得節點列表(步驟④)。與種子節點建立連接,下載文件(步驟⑤),同時周期性地向Tracker服務器反饋下載進度(步驟④)。
(3) 下載節點之間通過彼此通信并與Tracker服務器交互,獲取其他下載節點當前已經下載的數據塊索引,并請求下載所需要的文件片段,同時向鄰居節點報告已經下載完成的數據塊索引,其他節點也可以從該節點得到所需要的文件片段(步驟⑥),直到所有節點都完成請求文件的下載。
3.1實驗環境
典型的實驗網絡拓撲如圖4所示,用交換機SW1連接 25臺計算機,用交換機SW2連接22臺計算機。交換機SW1、SW2的型號均為H3C S1026T,計算機的配置為:Pentium Dual-Core CPU E5800 3.20 GHz,4 GB內存,500 GB硬盤,Windows XP(SP3)系統。節點集合可以表示如下:
(M1,M2,…,M25)=(T1,S1,S2,S3,S4,n1,n2,…,n20)
(N1,N2,…,N22)=(S1,S2,n1,n2,…,n20)
其中,T1表示P2P服務器,同時具備了Tracker服務器和Web服務器功能,Si(i=1,2,3,4)表示種子節點,nj(j=1,2,…,20)表示下載節點。

圖4 實驗網絡拓撲
3.2實驗過程
以2個種子節點,30個下載節點的情況為例,分別對P2P服務器、種子節點和下載節點進行軟件安裝與配置。
3.2.1P2P服務器
在節點M1(T1)上安裝MYBT服務器(Ver 3.0)軟件[11],啟動主界面,在“目錄設置”選項卡下正確設置“Announce URL”,例如“http://192.168.1.175:6969/announce”,其中IP地址一般為本機的IP地址,服務端口默認為“6969”。單擊“管理服務”選項卡下的“一鍵安裝服務器”按鈕,完成P2P服務器的配置。MYBT服務器同時集成了Tracker服務器和Web服務器功能。
3.2.2種子節點
(1) 制作種子文件。在節點M2(S1)上安裝P2P客戶端軟件(BitComet 1.36),單擊“文件”選單下的“制作Torrent文件”項,填寫相關信息后單擊“制作”按鈕,即可完成種子文件的制作。其中,“源文件”指定待共享的文件(CentOS-7-x86_64-DVD-1503-01.iso),“Tracker服務器”指定P2P服務器地址(http://192.168.1.175:6969/announce),“生成”欄內還可以指定種子文件存放的路徑。
(2) 上傳種子文件。在節點M2(S1)上,啟動瀏覽器,在地址欄內輸入“http://192.168.1.175:6969”,即可登錄Web服務器(M1)上傳種子文件。
重復以上步驟(1)、(2),把M3(S2)配置為種子節點。
3.2.3下載節點
在節點M6(n1)上打開瀏覽器,在地址欄內輸入“http://192.168.1.175:6969”,登錄Web服務器下載種子文件。安裝P2P客戶端軟件(BitComet 1.36),打開種子文件,即可啟動下載。
其他下載節點(M7—M25,N3—N12)的配置方法類似。
3.3實驗結果與分析
根據種子節點數和下載節點數的不同,可對實驗結果進行如下分類分析。
3.3.1種子節點數為1時
隨著下載節點數不斷增加,下載文件所需時間如表1所示。平均下載時間的變化趨勢如圖5所示。

表1 種子節點數為1時的下載時間

圖5 種子節點數為1時平均下載時間變化
從圖5可以看出,下載節點由1增加至5時,平均下載時間迅速下降;繼續增加至20時,平均下載時間仍然呈下降趨勢,但下降速度緩慢;繼續增加至40時,平均下載時間出現緩慢上升趨勢,這是因為雖然下載節點數量增加了,但部分下載節點與種子節點位于不同交換機,增加了傳輸時間。
3.3.2下載節點數量為30時
隨著種子節點數不斷變化,下載文件所需時間如表2所示,平均下載時間變化趨勢如圖6所示。

表2 下載節點數為30時的下載時間
從圖6可以看出,種子節點由1增加至4時,平均下載時間沒有顯著變化。表2也表明,以下兩種情況平均下載時間幾乎相同:4個種子節點平均分布于兩個交換機,或者4個種子節點位于同一交換機。
3.3.3種子節點數為1,下載節點數為40時
位于不同交換機的兩組下載節點平均下載時間分別為:位于SW1的20個下載節點(M6—M25)平均下載時間為11.84 min;位于SW2的20個下載節點(N3—N22)平均下載時間為13.76 min。這兩者差別較大,表明跨交換機傳輸顯著增加了下載時間。
通過對種子節點數和下載節點數變化時平均下載時間的分析,可以得出如下結論:(1)種子節點數不變時,下載節點數量增加,能夠有效減少平均下載時間;(2)下載節點數量不變時,種子節點數增加,對平均下載時間影響不明顯;(3)跨交換機的傳輸,對平均下載時間的影響較大,顯著增加了下載時間。
基于以上結論,針對實驗教學網絡環境(連接約30臺計算機),建議配置一個P2P服務器和一個種子節點,并盡量將所有節點連接于同一個多端口交換機,從而保證大文件的快速分發。研究結果表明,與集中式網絡相比,P2P技術采用的對等結構具有顯著優勢,基于P2P技術的文件共享系統很好地解決了大文件共享問題。
References)
[1] 肖明.計算機網絡實驗教程[M].北京:清華大學出版社,2014.
[2] 謝希仁.計算機網絡 [M].6版.北京:電子工業出版社,2013.
[3] 李林艷.P2P技術在網絡資源共享中的應用研究[D].長沙:湖南大學,2013.
[4] 張文,趙子銘.P2P網絡技術原理與C++開發案例[M].北京:人民郵電出版社,2008.
[5] Tanenbaum A S, Wetherall D J.計算機網絡 [M].5版.嚴偉,潘愛民,譯.北京:清華大學出版社,2012.
[6] 管磊.P2P技術揭秘:P2P網絡技術原理與典型系統開發[M].北京:清華大學出版社,2011.
[7] 葛莉.在P2P網絡中對OrBAC模型的兼容性研究[J].實驗室研究與探索,2014,33(11):136-140.
[8] 史建燾.P2P文件共享系統安全性研究[D].哈爾濱:哈爾濱工業大學,2012.
[9] 張鑫.BitTorrent文件共享技術的研究與改進[D].長春:吉林大學,2011.
[10] 唐紅,胡容,朱輝云.BitTorrent網絡行為研究綜述[J].小型微型計算機系統,2012,33(9):2002-2007.
[11] 蔡康,唐宏,丁圣勇,等.P2P對等網絡原理與應用[M].北京:科學出版社,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);陜西省科技統籌創新工程計劃項目(2015KTCQ01-14)
馬素剛(1982—),男,江蘇淮安,博士研究生,工程師,主要研究方向為計算機網絡體系結構,大數據處理技術.
E-mail:msg@xupt.edu.cn
TP393.02
A
1002-4956(2016)3- 0147- 04