摘 要:對(duì)BitTorrent進(jìn)行了系統(tǒng)的研究,詳細(xì)闡述了一種用于測(cè)量BitTorrent網(wǎng)絡(luò)拓?fù)涞呐老x設(shè)計(jì)與實(shí)現(xiàn),并通過主動(dòng)測(cè)量所獲取的信息分析研究了BitTorrent的網(wǎng)絡(luò)節(jié)點(diǎn)分布情況、在線節(jié)點(diǎn)周期特性、擴(kuò)散跟蹤、做種節(jié)點(diǎn)變化趨勢(shì),研究結(jié)果為BitTorrent網(wǎng)絡(luò)的監(jiān)管提供了良好的依據(jù)。
關(guān)鍵詞:對(duì)等網(wǎng)絡(luò)技術(shù); BitTorrent; 節(jié)點(diǎn); 爬蟲
中圖分類號(hào):TP393文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2010)06-2232-04
doi:10.3969/j.issn.1001-3695.2010.06.067
Active measurement on BitTorrent network and characteristics analysis
YANG Minglianga, CHEN Xingshua, WANG Wenxiana,b, WU Qia, DONG Zhengfenga
(a.Network Trusted Computing Institute, Computer College, b.Institute of Information Security, Sichuan University, Chengdu 610064, China)
Abstract:This paper conducted systematic research to BitTorrent, and made detailed description about the design and implementation of a crawler for BitTorrent network topology. It analysed and researched BitTorrent network peer distribution characteristics, online peer cycle property, diffusion tracking and the trend of seed numbers by the information that collected through active measurement. The result provides a good basis for the supervision of the BitTorrent network.
Key words:peertopeer(P2P) technology; BitTorrent; peer; crawler
0 引言
隨著P2P技術(shù)的飛速發(fā)展,各種基于P2P技術(shù)的應(yīng)用應(yīng)運(yùn)而生。P2P應(yīng)用作為一類大規(guī)模、自組織、高度動(dòng)態(tài)的復(fù)雜網(wǎng)絡(luò)系統(tǒng),使得傳統(tǒng)的網(wǎng)絡(luò)監(jiān)管技術(shù)不能對(duì)其進(jìn)行有效的監(jiān)測(cè)與控制。因此,通過主動(dòng)測(cè)量技術(shù),對(duì)P2P網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)與節(jié)點(diǎn)特性進(jìn)行研究,將有助于分析各種P2P應(yīng)用的特征,進(jìn)而完善其結(jié)構(gòu)模型;另外,更有助于實(shí)現(xiàn)對(duì)P2P網(wǎng)絡(luò)的安全監(jiān)管,保障Internet的良性發(fā)展。
在眾多的P2P內(nèi)容分發(fā)系統(tǒng)中,BitTorrent[1]已成為被廣大用戶所接受的系統(tǒng)之一[2],成為Internet上最重要的應(yīng)用之一。BitTorrent流量已占據(jù)整個(gè)Internet流量的35%,并超過其他對(duì)等網(wǎng)絡(luò)及其流量的總和[3]。
基于BitTorrent協(xié)議的應(yīng)用給人們的生活帶來極大方便的同時(shí),也使得一些反動(dòng)、色情、暴力等不良信息在網(wǎng)絡(luò)上得到了極大的傳播,危害了整個(gè)社會(huì)的良好文化環(huán)境。由于P2P本身技術(shù)特點(diǎn)的特殊性,也給網(wǎng)絡(luò)監(jiān)管帶來了極大的挑戰(zhàn)。
隨著主動(dòng)測(cè)量技術(shù)的不斷發(fā)展成熟,該技術(shù)則更適用于目前BitTorrent網(wǎng)絡(luò)監(jiān)管的需求。主動(dòng)測(cè)量技術(shù)通過使用網(wǎng)絡(luò)爬蟲技術(shù)主動(dòng)加入到P2P網(wǎng)絡(luò),與P2P網(wǎng)絡(luò)中相關(guān)的節(jié)點(diǎn)進(jìn)行主動(dòng)交互,獲取相應(yīng)的信息。該技術(shù)一般是通過修改普通的P2P客戶端使其按照特定需求進(jìn)行工作。網(wǎng)絡(luò)爬蟲其實(shí)就像普通的節(jié)點(diǎn)一樣加入P2P系統(tǒng),然后獲取特定信息,其中這些信息主要包含了IP地址、端口、連接時(shí)長(zhǎng)等信息,并通過統(tǒng)計(jì)計(jì)算分析一些特定的動(dòng)態(tài)變化,最終做到P2P網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)現(xiàn)、共享文件擴(kuò)散情況、節(jié)點(diǎn)行為分析、連接延遲等情況的直觀分析。2002年Saroiu[4]等人就使用主動(dòng)測(cè)量技術(shù)對(duì)當(dāng)時(shí)十分流行的Gnutella和Napster進(jìn)行了拓?fù)錅y(cè)量研究。由于Gnutella等是開源系統(tǒng),修改客戶端進(jìn)行主動(dòng)測(cè)量相對(duì)容易,而KaZaA等私有協(xié)議較為困難。2005年Liang等人[5]針對(duì)KaZaA系統(tǒng)的網(wǎng)絡(luò)行為進(jìn)行了深入的探索與分析,設(shè)計(jì)出了專門的Crawler并首次對(duì)KaZaA系統(tǒng)中的文件污染狀況進(jìn)行了測(cè)量與分析。2006年Hei等人[6]對(duì)當(dāng)前最為流行的IPTV系統(tǒng)PPLive進(jìn)行了主動(dòng)測(cè)量,分析了該系統(tǒng)的用戶網(wǎng)絡(luò)行為、流量峰值和冗余,以及基于P2P技術(shù)的IPTV系統(tǒng)的視頻質(zhì)量和設(shè)計(jì)原則。2008年余彥峰等人[7]也設(shè)計(jì)出了基于主動(dòng)探測(cè)技術(shù)的P2P網(wǎng)絡(luò)監(jiān)控,并針對(duì)BitTorrent和eMule進(jìn)行了系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),主要用于資源的發(fā)現(xiàn)與定位。2008年閆清泉等人[8]對(duì)BitTorrent瞬間擁擠階段日周期特性進(jìn)行了建模與分析,其主要是針對(duì)在線用戶節(jié)點(diǎn)的日周期特性進(jìn)行了詳細(xì)研究。
本文通過研究相關(guān)主動(dòng)測(cè)量技術(shù),設(shè)計(jì)了基于主動(dòng)測(cè)量方式的高效BitTorrent網(wǎng)絡(luò)爬蟲,可以直觀了解該應(yīng)用內(nèi)部的結(jié)構(gòu)特征、交互過程,并深入了解BitTorrent網(wǎng)絡(luò)行為特征。通過對(duì)特定資源的網(wǎng)絡(luò)用戶節(jié)點(diǎn)進(jìn)行測(cè)量,對(duì)獲取的信息進(jìn)行了全面的、系統(tǒng)的分析,得到了該應(yīng)用的相關(guān)特性。對(duì)現(xiàn)實(shí)網(wǎng)絡(luò)中用戶節(jié)點(diǎn)的發(fā)現(xiàn)與定位、用戶行為特性等得到了較好的反映。這種高效、準(zhǔn)確、低成本的主動(dòng)測(cè)量技術(shù)與用戶動(dòng)態(tài)行為分析,為BitTorrent網(wǎng)絡(luò)的監(jiān)管奠定了良好的基礎(chǔ)。
1 BitTorrent簡(jiǎn)介
BitTorrent實(shí)際上是一種混合式的P2P文件共享系統(tǒng),它需要Web服務(wù)器以及tracker服務(wù)器來輔助整個(gè)系統(tǒng)的運(yùn)行。整個(gè)文件共享系統(tǒng)主要由以下三個(gè)部分組成(圖1):
a)用戶A在Web服務(wù)器進(jìn)行檢索,獲取種子(torrent)文件并下載到本地,其中torrent文件并不包含用戶真正要下載的數(shù)據(jù)。
b)用戶A解析torrent文件,并根據(jù)所獲取的信息向相應(yīng)的tracker服務(wù)器發(fā)起請(qǐng)求,tracker服務(wù)器返回節(jié)點(diǎn)列表,其中tracker服務(wù)器只是一個(gè)索引服務(wù)器,幫助用戶A搜尋正在下載同一文件的其他節(jié)點(diǎn)信息。
c)用戶A與其他節(jié)點(diǎn)建立連接,獲取節(jié)點(diǎn)當(dāng)前已經(jīng)下載的數(shù)據(jù)塊索引,并發(fā)出請(qǐng)求,從其他節(jié)點(diǎn)下載所需要的文件片斷。同時(shí),用戶A向鄰居節(jié)點(diǎn)報(bào)告已經(jīng)下載的數(shù)據(jù)塊索引,其他節(jié)點(diǎn)可以從用戶A下載所需要的文件片段。例如,用戶B和用戶C可以在A處下載所需要的數(shù)據(jù)塊。
隨著P2P應(yīng)用技術(shù)的逐步成熟,傳統(tǒng)的BitTorrent 得到了不斷的完善和擴(kuò)展,DHT網(wǎng)絡(luò)的引入是其最為重要的擴(kuò)展之一,其作用就是輔助節(jié)點(diǎn)得到節(jié)點(diǎn)列表,減輕了tracker服務(wù)器的負(fù)擔(dān),并防止了服務(wù)器單點(diǎn)失效問題。目前,主流的BitTorrent客戶端都引入了DHT網(wǎng)絡(luò)。
2 主動(dòng)測(cè)量設(shè)計(jì)
筆者在BitTorrent開源項(xiàng)目的基礎(chǔ)上進(jìn)行二次開發(fā),按照指定需求完成了對(duì)BitTorrent偽客戶端的開發(fā),以下簡(jiǎn)稱BT爬蟲。
2.1 總體設(shè)計(jì)
測(cè)量系統(tǒng)是由以下三部分組成:
a)前端爬蟲模塊,包含用戶從互聯(lián)網(wǎng)獲取種子文件的種子下載爬蟲以及用于解析種子文件和獲取節(jié)點(diǎn)信息的BT爬蟲。
b)數(shù)據(jù)存儲(chǔ)模塊,用于存儲(chǔ)所獲取的種子文件、用戶節(jié)點(diǎn)的IP、端口以及請(qǐng)求tracker服務(wù)器返回的相關(guān)信息。
c)后臺(tái)數(shù)據(jù)分析模塊,針對(duì)獲得的原始數(shù)據(jù)信息進(jìn)行統(tǒng)計(jì)分析,統(tǒng)計(jì)節(jié)點(diǎn)的數(shù)量,轉(zhuǎn)換節(jié)點(diǎn)IP地址為地理位置、經(jīng)緯度等。
2.2 BitTorrent主動(dòng)測(cè)量
BT爬蟲是根據(jù)BitTorrent客戶端的工作原理進(jìn)行設(shè)計(jì),其主動(dòng)測(cè)量分為以下幾個(gè)過程:
a)BT爬蟲注冊(cè)到BitTorrent網(wǎng)絡(luò),成為網(wǎng)絡(luò)節(jié)點(diǎn)。
b)解析種子文件,獲取BitTorrent tracker服務(wù)器地址。
c)向BitTorrent tracker服務(wù)器發(fā)送GET請(qǐng)求獲得部分節(jié)點(diǎn)列表,解析返回節(jié)點(diǎn)列表中節(jié)點(diǎn)的IP、端口等信息。針對(duì)每一個(gè)種子文件發(fā)送scrape請(qǐng)求獲得下載完成節(jié)點(diǎn)數(shù)目、正在做種節(jié)點(diǎn)數(shù)目、正在下載節(jié)點(diǎn)數(shù)目(部分服務(wù)器支持此操作)。
d)重復(fù)過程c),即爬蟲在一段時(shí)間內(nèi)以一定的頻率向tracker服務(wù)器發(fā)送請(qǐng)求,每次獲得一定數(shù)量的節(jié)點(diǎn)信息。
e)將爬行獲得的節(jié)點(diǎn)信息存入數(shù)據(jù)庫(kù),調(diào)用數(shù)據(jù)分析模塊進(jìn)行相應(yīng)的統(tǒng)計(jì)分析。
其中步驟d)中的爬行參數(shù)配置是決定爬蟲高效爬行的關(guān)鍵因素。為了便于分析,定義:
(a)對(duì)于任意一個(gè)節(jié)點(diǎn)Vij,用IP地址、使用的端口以及種子文件HASH值作為惟一標(biāo)志,即
Vij={IPij,PORTij,HASHij}
則有集合Vi={Vi1,Vi2,…,Vin}表示i時(shí)刻BT網(wǎng)絡(luò)中正在下載或上傳特定文件的實(shí)際用戶節(jié)點(diǎn)。
(b)T表示i時(shí)刻獲取節(jié)點(diǎn)集Vi所耗費(fèi)的時(shí)間,Δt為發(fā)送節(jié)點(diǎn)請(qǐng)求的時(shí)間間隔(該參數(shù)對(duì)爬行效率影響很大),則節(jié)點(diǎn)設(shè)在T時(shí)間內(nèi)爬行次數(shù)N=T/Δt,得出平均爬行時(shí)間:
T=1N∑Ni=1step(V,Wi)(忽略網(wǎng)絡(luò)延遲帶來的影響)(1)
對(duì)于Δt的設(shè)置是根據(jù)現(xiàn)有BitTorrent工作機(jī)制及通過實(shí)驗(yàn)測(cè)量來估測(cè)的,為此將分別設(shè)置成2 s、3 s、5 s、8 s,10 s的五個(gè)爬蟲對(duì)一個(gè)熱度較高的特定種子進(jìn)行爬行測(cè)試,同時(shí)在請(qǐng)求的過程中根據(jù)種子文件的熱度建立起請(qǐng)求節(jié)點(diǎn)數(shù)量的自動(dòng)調(diào)整策略,來達(dá)到最佳的爬行效果,測(cè)量結(jié)果如圖2(未考慮DHT和源交換,測(cè)量值略小于實(shí)際值)所示。
從圖2可以看出:a)如果將Δt設(shè)置為2 s、3 s,則爬蟲爬完所需時(shí)間較長(zhǎng),時(shí)效性較差,同時(shí)由于高頻率請(qǐng)求造成部分請(qǐng)求無返回節(jié)點(diǎn)(服務(wù)器保護(hù)機(jī)制);b)設(shè)置成5 s時(shí)爬蟲能在最短時(shí)間內(nèi)達(dá)到近似值,數(shù)值完整性較高,且其收斂速度較其他都快;c)設(shè)置成8 s、10 s則雖然可以完成爬行,數(shù)值完整性也較其他高,但其時(shí)效性較差。顯然,根據(jù)實(shí)際需要爬蟲Δt設(shè)置成5 s可實(shí)現(xiàn)高效準(zhǔn)確的爬行。
另外,此處應(yīng)該避免對(duì)同一服務(wù)器進(jìn)行長(zhǎng)時(shí)間的高頻率爬行,以防服務(wù)器將其列入黑名單并拒絕其連接請(qǐng)求。
3 BitTorrent用戶行為特性
文中所有數(shù)據(jù)均由BT爬蟲在2009年7~8月期間采集獲得。爬蟲加入BitTorrent網(wǎng)絡(luò)后,向tracker服務(wù)器請(qǐng)求節(jié)點(diǎn)列表,但此處沒有處理源交換和DHT網(wǎng)絡(luò),因此爬蟲所獲得的節(jié)點(diǎn)數(shù)量略低于實(shí)際值。
3.1 地理分布
為了解BitTorrent網(wǎng)絡(luò)用戶的地理分布情況,對(duì)批量種子文件進(jìn)行了實(shí)時(shí)的用戶節(jié)點(diǎn)爬行。種子來源于http://scubt.wjl.cn等教育網(wǎng)站點(diǎn)以及bt.tjgame.enorth.com.cn等幾個(gè)較大的BitTorrent資源發(fā)布站點(diǎn)。儲(chǔ)存種子和節(jié)點(diǎn)信息的服務(wù)器為CPU Xeon 2.8 GHz×2,內(nèi)存4 GB的IBM服務(wù)器,數(shù)據(jù)庫(kù)版本為oracle 10g。為了保證測(cè)量的實(shí)時(shí)性,客戶端爬蟲采用分布式方式部署在兩臺(tái)搜索機(jī)上,每臺(tái)搜索機(jī)的配置為CPU Xeon 2.8 GHz×2,內(nèi)存4 GB,硬盤150 GB。每個(gè)爬蟲每120 s并發(fā)爬行15個(gè)種子,通過一周的爬行,總共獲取近15萬(wàn)個(gè)用戶節(jié)點(diǎn)IP,并把這些IP地址轉(zhuǎn)換為地理位置。采用純真IP數(shù)據(jù)庫(kù)[9]和MaxMind GeoIP City免費(fèi)數(shù)據(jù)庫(kù)[10]實(shí)現(xiàn)了IP地址向地理位置的映射。測(cè)量結(jié)果如表1所示。
表1 節(jié)點(diǎn)地理分布
地理位置用戶比例/%地理位置用戶比例/%
北京市15.05河南省2.77
江蘇省7.88山西省0.80
天津市2.22上海市6.83
黑龍江省1.38湖北省3.27
山東省3.77江西省1.43
浙江省6.92廣東省10.82
遼寧省2.47河北省1.43
四川省6.83重慶市1.47
吉林省3.52福建省4.57
湖南省5.16其他9.69
安徽省1.72
由表1可以看出,節(jié)點(diǎn)的分布具有明顯的經(jīng)濟(jì)性和地理性,其中有30%左右的用戶節(jié)點(diǎn)分布在長(zhǎng)江三角洲和珠江三角洲等經(jīng)濟(jì)較為發(fā)達(dá)的地區(qū),地理分布上東部省份分布明顯要密集于中西部省份。另外,由于約19%的種子文件中來源于教育網(wǎng)上的BitTorrent資源站點(diǎn),故北京、上海、湖北等高校密集的省份節(jié)點(diǎn)分布都較為密集。
從綜合排名上看,用戶節(jié)點(diǎn)一般密集分布在信息化程度與互聯(lián)網(wǎng)普及程度較高的省會(huì)城市,這也從一個(gè)側(cè)面反映了P2P技術(shù)的發(fā)展有賴于整個(gè)互聯(lián)網(wǎng)基礎(chǔ)設(shè)施和技術(shù)的發(fā)展。
3.2 周期特性
對(duì)于特定種子文件進(jìn)行全天候的實(shí)時(shí)跟蹤,發(fā)現(xiàn)BitTorrent的在線節(jié)點(diǎn)具有明顯的周期特性,在線節(jié)點(diǎn)的峰值總是出現(xiàn)在一天的固定時(shí)段。這種情況與用戶的作息時(shí)間相關(guān),節(jié)點(diǎn)的規(guī)律性加入和退出必將對(duì)BitTorrent系統(tǒng)的服務(wù)能力造成一定影響,特別是瞬間的加入與退出[11]。如圖3所示跟蹤一個(gè)普通的種子文件的在線節(jié)點(diǎn)數(shù)量在24 h內(nèi)的變化情況。
從圖3可以看出,每天的20:00~22:00時(shí)段通常是Bit Torrent下載的最高峰,幾乎每一個(gè)種子都在該時(shí)段達(dá)到了自己下載人數(shù)的高峰值,中午12:00~14:00也是一個(gè)較小的高峰期,這種現(xiàn)象的產(chǎn)生與用戶的作息時(shí)間有極大的相關(guān)性。大概每天的19:00則會(huì)出現(xiàn)一個(gè)瞬間的節(jié)點(diǎn)加入階段,而23:00之后則會(huì)出現(xiàn)一個(gè)瞬間的節(jié)點(diǎn)退出階段,這樣就產(chǎn)生了節(jié)點(diǎn)的擁擠現(xiàn)象,對(duì)系統(tǒng)的服務(wù)能力將會(huì)產(chǎn)生一定影響[11]。
3.3 擴(kuò)散度分析
定期對(duì)熱點(diǎn)種子進(jìn)行爬行,統(tǒng)計(jì)每次爬行獲取到的節(jié)點(diǎn)數(shù)量,繪制出節(jié)點(diǎn)數(shù)量變化的趨勢(shì)圖,從而掌握熱點(diǎn)種子的擴(kuò)散情況。爬蟲探測(cè)時(shí)間間隔分為兩種粒度[14]:a)細(xì)粒度即對(duì)于熱點(diǎn)種子在每天的下載高峰期(晚上19:00~24:00點(diǎn))每半小時(shí)作一次爬行,統(tǒng)計(jì)獲取到的對(duì)等節(jié)點(diǎn)數(shù)量;b)粗粒度即在測(cè)試期間每天的固定時(shí)間(每晚20:00點(diǎn))進(jìn)行一次爬行,獲得在該時(shí)間段正在下載該文件的對(duì)等節(jié)點(diǎn)數(shù)量,從而統(tǒng)計(jì)出在這幾天內(nèi)該種子文件在互聯(lián)網(wǎng)中的擴(kuò)散程度,如圖4所示。
采用定期跟蹤的方式是為了避免長(zhǎng)時(shí)間、高頻率請(qǐng)求tracker服務(wù)器而遭到拒絕連接請(qǐng)求。按照時(shí)間的粒度對(duì)網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)量進(jìn)行統(tǒng)計(jì)是為了跟蹤熱門文件在網(wǎng)絡(luò)中的擴(kuò)散速度和分布趨勢(shì)。另外,可以通過分析獲取的數(shù)據(jù),進(jìn)而了解BitTorrent網(wǎng)絡(luò)中的用戶行為習(xí)慣和整個(gè)網(wǎng)絡(luò)的性能(因?yàn)檎嬲脩袅?xí)慣分析涉及到對(duì)海量數(shù)據(jù)的OLAP和數(shù)據(jù)挖掘,目前還不具備這樣的條件,本文在此只作實(shí)驗(yàn)性的分析)。
如圖5所示統(tǒng)計(jì)的是2009年8月3號(hào)的熱度排名top10的種子在8月3號(hào)~9號(hào)這七天之內(nèi)的擴(kuò)散度情況。從圖中可以看出,除了個(gè)別受關(guān)注度特別高的種子文件之外,大部分種子的下載人數(shù)在這一周的時(shí)間內(nèi)都呈下降趨勢(shì),BitTorrent網(wǎng)絡(luò)用戶的這種行為模式與eMule等其他P2P文件共享協(xié)議有很大的區(qū)別。在BitTorrent網(wǎng)絡(luò)中,種子和資源更新較快,用戶的興趣也轉(zhuǎn)移得很快,即使是非常熱門的種子,熱度期的持續(xù)時(shí)間也較短。
另外,BitTorrent網(wǎng)絡(luò)中的對(duì)等節(jié)點(diǎn)隨著時(shí)間的變化具有較強(qiáng)的動(dòng)態(tài)性,節(jié)點(diǎn)的隨機(jī)加入與離開網(wǎng)絡(luò)可以使用參數(shù)為λ的泊松分布[12] (Possion distribution) 模型描述。節(jié)點(diǎn)在線時(shí)間的統(tǒng)計(jì)行為可以表示為獨(dú)立的、服從參數(shù)為μ的指數(shù)分布[13] (exponential distribution) 的隨機(jī)模型。如果使用這兩種模型對(duì)BitTorrent網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行建模將更加有助于對(duì)BitTorrent網(wǎng)絡(luò)進(jìn)行監(jiān)測(cè)和節(jié)點(diǎn)特性分析。
3.4 做種節(jié)點(diǎn)變化趨勢(shì)
在BitTorrent網(wǎng)絡(luò)中,種子節(jié)點(diǎn)(seeder)定義為愿意與其他節(jié)點(diǎn)無私分享的節(jié)點(diǎn),同時(shí)該類型節(jié)點(diǎn)擁有完整的資源文件,在文件的分享和下載過程中只提供上傳而不下載[14]。但是BitTorrent的節(jié)點(diǎn)做種激勵(lì)機(jī)制還很不完善,因此經(jīng)常出現(xiàn)種子節(jié)點(diǎn)退出而導(dǎo)致共享失敗的情況。沒有共享文件完整拷貝,需要從種子節(jié)點(diǎn)下載的節(jié)點(diǎn)稱為消費(fèi)節(jié)點(diǎn)(leecher)。Leecher除了從seeder處下載外,還可以與其他leecher相互上傳和下載。分析文件擴(kuò)散期間seeder的變化趨勢(shì),可以了解BitTorrent用戶的行為模式和行為特征,進(jìn)而優(yōu)化和設(shè)計(jì)更加完善的BitTorrent網(wǎng)絡(luò)服務(wù)模型。
通過對(duì)特定熱點(diǎn)種子進(jìn)行為期一周的持續(xù)跟蹤,統(tǒng)計(jì)出其leecher和seeder數(shù)量,得到seeder變化趨勢(shì)統(tǒng)計(jì),如圖6所示。
1)總節(jié)點(diǎn)數(shù) 參與到下載過程中的所有節(jié)點(diǎn),包括做種節(jié)點(diǎn)和消費(fèi)節(jié)點(diǎn)。
2)做種節(jié)點(diǎn)數(shù) 主動(dòng)測(cè)量所獲取到的所有節(jié)點(diǎn)中其下載進(jìn)度為百分之百的節(jié)點(diǎn)。這類節(jié)點(diǎn)只提供上傳而不下載。
3)消費(fèi)節(jié)點(diǎn)數(shù) 正在下載資源文件的節(jié)點(diǎn)。設(shè)總節(jié)點(diǎn)數(shù)為SUMpeers,做種節(jié)點(diǎn)數(shù)為SUMseed,則消費(fèi)節(jié)點(diǎn)數(shù)為SUMleecher=SUMpeers-SUMseed。
4)做種節(jié)點(diǎn)轉(zhuǎn)換率 消費(fèi)節(jié)點(diǎn)在下載完成后向做種節(jié)點(diǎn)的轉(zhuǎn)換率P(t),計(jì)算方法為ΔSUMseed/ΔSUMleecher。
根據(jù)實(shí)測(cè)數(shù)據(jù)及相關(guān)分類,得出在時(shí)間[t,t+7]即一周的平均節(jié)點(diǎn)轉(zhuǎn)換率大致為25.9%。另外,實(shí)測(cè)數(shù)據(jù)表明P(t)與下載文件的大小具有極大的相關(guān)性。
4 結(jié)束語(yǔ)
本文設(shè)計(jì)并實(shí)現(xiàn)了BitTorrent網(wǎng)絡(luò)爬蟲,利用該爬蟲完成了對(duì)BitTorrent網(wǎng)絡(luò)的主動(dòng)測(cè)量,深入了解BitTorrent用戶及其相關(guān)特性,對(duì)BitTorrent網(wǎng)絡(luò)性能優(yōu)化、網(wǎng)絡(luò)安全評(píng)估、監(jiān)控與預(yù)警都提供了良好的數(shù)據(jù);特別在BitTorrent網(wǎng)絡(luò)監(jiān)管方面,可以通過分析特定種子的信息,定位參與共享的用戶信息,通過分析大量種子的信息,為網(wǎng)絡(luò)輿情分析奠定基礎(chǔ)。
由于此處爬行獲取的數(shù)據(jù)還有一定的局限性。下一步將主要集中研究BitTorrent網(wǎng)絡(luò)中對(duì)等節(jié)點(diǎn)源交換和DHT網(wǎng)絡(luò)部分,使采集的BitTorrent網(wǎng)絡(luò)數(shù)據(jù)更加全面、準(zhǔn)確,進(jìn)而作出更加精確的分析。
參考文獻(xiàn):
[1]COHEN B. BitTorrent protocol[EB/OL]. (2001-07)[2007-06]. http://www.bittorrent.com.
[2]POUWELSE J A, GARBACKI P, EPEMA D H J, et al. The BitTorrent P2P filesharing system: measurements and analysis[C]//Proc of the 4th International Workshop on PeertoPeer Systems. Berlin:Springer, 2005: 205-216.
[3]STEPHANOS A T, DIOMIDIS S. A survey of peertopeer content distribution technologies[J]. ACM Computing Surveys,2004,36(4):335-371.
[4]SAROIU S, GUMMADI P K, GRIBBLE S D. A measurement study of peertopeer file sharing systems[C]//Proc ofthe Multimedia Computing and Networking. San Jose:[s.n],2002: 156-170.
[5]LIANG J, KUMAR R, XI Y, et al. Pollutionin file sharing systems[C]//Proc of the IEEE INFOCOM. 2005:1174-1185.
[6]HEI X, LIANG C, LIANG J, et al. A measurement study of a largescale P2P IPTV system IPTV workshop[C]//Proc of International World Wide Web Conference. 2006:1672-1687.
[7]余彥峰,秦海權(quán),郭志博. 基于主動(dòng)探測(cè)技術(shù)的P2P網(wǎng)絡(luò)監(jiān)控[J]. 信息網(wǎng)絡(luò)安全,2008(11):76-79.
[8]閆清泉,吳剛,王嵩. BitTorrent瞬間擁擠階段日周期特性建模與分析[J].系統(tǒng)仿真學(xué)報(bào),2008,20(22):6256-6260.
[9]純真IP數(shù)據(jù)庫(kù)[EB/OL].[2008-04-12]. http://www.cz88.net/fox/.
[10]MaxMind GeoIP city database[EB/OL].[2008-04-12]. http://www.maxmind.com/app/city.
[11]BAILEY N T. The mathematical theory of infection diseases and its application[M]. New York: Hafner Press, 1975.
[12]QIU Dongyu , SRIKANT R. Modeling and performance analysis of BitTorrentlike peertopeer networks[C]//Proc of ACM SIGCOMM Special Interest Group on Data Communications. New York: ACM Press,2004:367-378.
[13]CHU J, LABONTE K, LEVINE B N. Availability and locality measurements of peertopeer file systems[C]//Proc of the ITCom: Scalability and Traffic Control in IP Networks. Bellingham, WA: SPIE,2002:156-170.
[14]劉凡.基于BitTorrent的P2P網(wǎng)絡(luò)拓?fù)錅y(cè)量的研究[D].成都:四川大學(xué),2009.