專(zhuān)利名稱(chēng):一種比特流文件共享網(wǎng)絡(luò)中的主動(dòng)傳播控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種比特流(BitTorrent)文件共享網(wǎng)絡(luò)中的主動(dòng)傳播控制方法,尤 其涉及一種在比特流(BitTorrent)文件共享網(wǎng)絡(luò)中基于資源占用的主動(dòng)傳播控制方法, 屬于通信網(wǎng)絡(luò)管理監(jiān)控技術(shù)領(lǐng)域。
背景技術(shù):
隨著互聯(lián)網(wǎng)的迅速發(fā)展,對(duì)等網(wǎng)絡(luò)(Peer-to-Peer,簡(jiǎn)稱(chēng)P2P)逐漸成為互聯(lián)網(wǎng)中 最為廣泛的應(yīng)用之一。P2P從根本上改變了位于網(wǎng)絡(luò)邊緣的用戶(hù)主機(jī)的角色和地位,進(jìn)一步 發(fā)掘了其空閑資源,使其服務(wù)于大眾。特別地,BitTorrent文件共享網(wǎng)絡(luò)以其高效性和易 用性,深受眾多用戶(hù)的擁戴。而B(niǎo)itTorrent文件共享網(wǎng)絡(luò)在為文件傳播提供優(yōu)質(zhì)服務(wù)的同 時(shí),也為非法內(nèi)容的傳播提供了可乘之機(jī),對(duì)知識(shí)產(chǎn)權(quán)、互聯(lián)網(wǎng)管理、信息安全等領(lǐng)域帶來(lái) 了巨大的沖擊。有效的文件共享傳播控制手段能為知識(shí)產(chǎn)權(quán)、信息安全以及國(guó)家安全提供 強(qiáng)有力的保障。
BitTorrent文件共享網(wǎng)絡(luò)是一個(gè)頗為復(fù)雜的網(wǎng)絡(luò),一般由種子站點(diǎn)、Tracker服 務(wù)器、分布式哈希表網(wǎng)絡(luò)(Distributed Hash Tables,簡(jiǎn)稱(chēng)DHT)和共享節(jié)點(diǎn)共同組成。而 其中種子站點(diǎn)、Tracker服務(wù)器又屬于傳統(tǒng)網(wǎng)絡(luò)服務(wù)部分,其數(shù)量眾多、分布廣泛,簡(jiǎn)單直接 的控制管理方法無(wú)法有效實(shí)施,管理成本高昂。而DHT網(wǎng)絡(luò)則更為動(dòng)態(tài)和靈活,節(jié)點(diǎn)上下線(xiàn) 頻繁,控管方法不成熟并且效果也難以保證。因此,要想使得共享文件難以有效傳播,就要 對(duì)其共享節(jié)點(diǎn)的傳播過(guò)程進(jìn)行控制,使得共享節(jié)點(diǎn)的傳播能力最小化。因此,需要利用共享 節(jié)點(diǎn)其處于網(wǎng)絡(luò)邊緣的特點(diǎn),僅擁有有限的連接或帶寬資源,根據(jù)BitTorrent文件共享網(wǎng) 絡(luò)的協(xié)議,對(duì)其連接或帶寬資源進(jìn)行侵占,限制共享節(jié)點(diǎn)的傳播能力,從而達(dá)到傳播控制的 目的。
國(guó)內(nèi)的研究工作數(shù)量極為有限,主要集中在協(xié)議下載性能的改進(jìn)、BitTorrrent協(xié) 議流量識(shí)別、以及主動(dòng)測(cè)量研究等方面。電子科技大學(xué)碩士論文.《BitTorrent安全性研 究》(2006 :16-63.文龍著)對(duì)Bi tTorrent的官方客戶(hù)端Python源代碼進(jìn)行了分析,并提 出了其實(shí)現(xiàn)上的一些漏洞以及相應(yīng)的控制管理方法,而如今BitTorrent的流行客戶(hù)端達(dá) 數(shù)十種之多,而且官方版本也已經(jīng)更新。
國(guó)外也存在一些反盜版組織對(duì)違反版權(quán)的共享文件實(shí)施控制管理的技術(shù),例如, J. Liang, R. Kumar,Y. Xi,and K. W. Ross在 IEEE INF0C0M, Miami,F(xiàn)L,USA,2005. IEEE,2005 1174-1185上發(fā)表的《Pollution in P2P File Sharing Systems》,并已有研究者對(duì)如何控 制BitTorrent文件共享網(wǎng)絡(luò)進(jìn)行了廣泛的研究。Prithula Dhungel等人闡述了各種控制 方法的原理,并提出了在文件共享的初始階段對(duì)種子節(jié)點(diǎn)進(jìn)行攻擊的方法,參見(jiàn)I^rithula Dhungel, Xiaojun Hei, Di Wu and Keith W. Ross.在 Polytechnic Institute of NYU Papers,2007 ±胃@ 白勺《The Seed Attack :Can BitTorrent be Nipped in the Bud 》 禾口 Prithula Dhungel, Di Wu, Xiaojun Hei, Brad Schonhorst and Keithff. Ross.在 ISIS meeting, Sep. 11 2007 上發(fā)表的《Is BitTorrent Unstoppable ?》。
現(xiàn)有的BitTorrent文件共享網(wǎng)絡(luò)的控制管理方法中,并沒(méi)有針對(duì)各種控管方法 提供綜合的控制管理策略,并且在已有研究中也沒(méi)有針對(duì)國(guó)內(nèi)流行客戶(hù)端做針對(duì)性的分析 以及控制管理方法。發(fā)明內(nèi)容
為了解決現(xiàn)有BitTorrent文件共享網(wǎng)絡(luò)中存在的不能夠有效控制文件傳播的問(wèn) 題,本發(fā)明提出一種在比特流(BitTorrent)文件共享網(wǎng)絡(luò)中基于資源占用的主動(dòng)傳播控 制方法,包括如下步驟將控管節(jié)點(diǎn)偽裝成合法共享節(jié)點(diǎn)與其他共享節(jié)點(diǎn)進(jìn)行交互;通過(guò) 所述控管節(jié)點(diǎn)識(shí)別其他共享節(jié)點(diǎn)的比特流客戶(hù)端的版本;選擇相應(yīng)于所識(shí)別版本的客戶(hù)端 的控制策略以主動(dòng)侵占其他共享節(jié)點(diǎn)的資源。
進(jìn)一步,根據(jù)本發(fā)明的主動(dòng)傳播控制方法,其特征在于所述其他共享節(jié)點(diǎn)的資源 是其他共享節(jié)點(diǎn)的連接資源,并且所選擇的控制策略為所述控管節(jié)點(diǎn)在同其他共享節(jié) 點(diǎn)在進(jìn)行Handshake握手以及Bitfield消息交換之后,控管節(jié)點(diǎn)發(fā)送給其他共享節(jié)點(diǎn)的 Bitfield消息是滿(mǎn)負(fù)載的,即表示所述控管節(jié)點(diǎn)擁有完整的共享文件,對(duì)于任何由其他共 享節(jié)點(diǎn)返回的消息所述控管節(jié)點(diǎn)都響應(yīng)Choke阻塞消息來(lái)阻止正??蛻?hù)端的下載,而同時(shí) 每隔一定時(shí)間就給正??蛻?hù)端發(fā)送Keepalive消息來(lái)保持連接。
進(jìn)一步,根據(jù)本發(fā)明的主動(dòng)傳播控制方法,其特征在于所述其他共享節(jié)點(diǎn)的資源 是其他共享節(jié)點(diǎn)的帶寬資源,并且所選擇的控制策略為控管節(jié)點(diǎn)發(fā)送Unchoke報(bào)文促使 其他共享節(jié)點(diǎn)向控管節(jié)點(diǎn)發(fā)送塊請(qǐng)求消息,而后控管節(jié)點(diǎn)發(fā)送一個(gè)隨機(jī)生成的偽造數(shù)據(jù)塊 給其他共享節(jié)點(diǎn),進(jìn)而導(dǎo)致最終擁有該塊的分片在下載完成校驗(yàn)的時(shí)候校驗(yàn)失敗,并丟棄 重新下載。
進(jìn)一步,根據(jù)本發(fā)明的主動(dòng)傳播控制方法,其特征在于當(dāng)所識(shí)別的客戶(hù)端版本為 類(lèi)似比特彗星的客戶(hù)端時(shí),所選擇的控管策略為控管節(jié)點(diǎn)同類(lèi)比特彗星客戶(hù)端進(jìn)行握手 交互,并發(fā)送擁有全部片的Bitfield消息給其他共享節(jié)點(diǎn),促使類(lèi)比特彗星客戶(hù)端發(fā)送 Interested消息,并在接到hterested消息之后返回Unchoke消息使得其他共享節(jié)點(diǎn)發(fā)送 塊請(qǐng)求,對(duì)于任何的塊請(qǐng)求都給予響應(yīng),均返回虛假數(shù)據(jù)塊,同時(shí)每隔一定時(shí)間就發(fā)送一個(gè) Ke印alive保持連接。
進(jìn)一步,根據(jù)本發(fā)明的主動(dòng)傳播控制方法,其特征在于當(dāng)所識(shí)別的客戶(hù)端版本為 類(lèi)似比特精靈的客戶(hù)端時(shí),所選擇的控管策略為控管節(jié)點(diǎn)同類(lèi)比特精靈客戶(hù)端進(jìn)行握 手交互,并發(fā)送擁有全部片的Bitfield消息給其他共享節(jié)點(diǎn),促使比特精靈客戶(hù)端發(fā)送 hterested消息,并在接到hterested消息后返回Unchoke消息使得比特精靈客戶(hù)端發(fā)送 塊請(qǐng)求,若該塊請(qǐng)求所請(qǐng)求的塊沒(méi)有被其請(qǐng)求過(guò),則給其發(fā)送相應(yīng)的虛假數(shù)據(jù)塊,否則發(fā)送 Choke消息阻塞其下載。
本發(fā)明的方法能夠在BitTorrent文件共享傳播過(guò)程中,偽裝成合法的共享節(jié)點(diǎn) 與其他共享節(jié)點(diǎn)進(jìn)行交互,對(duì)正在下載的共享用戶(hù)客戶(hù)端的版本進(jìn)行識(shí)別,并選取相應(yīng)主 動(dòng)控制策略侵占共享用戶(hù)的連接或帶寬資源,限制了共享用戶(hù)的下載或上傳能力,使得參 與整個(gè)共享文件下載過(guò)程的所有節(jié)點(diǎn)下載變得極為緩慢,甚至無(wú)法下載。采用本發(fā)明所述 的面向BitTorrent網(wǎng)絡(luò)的文件共享傳播控制技術(shù),從控制管理的角度達(dá)到了這樣的技術(shù) 效果,即,共享文件的傳播過(guò)程或下載時(shí)間盡可能延長(zhǎng)、控制管理所付出的資源或代價(jià)盡可能少。
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā) 明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中
圖1是本發(fā)明基于資源占用的主動(dòng)傳播控制系統(tǒng)總體結(jié)構(gòu)示意圖2是本發(fā)明基于連接占用的主動(dòng)傳播控制方法的交互流程圖3是本發(fā)明基于完全塊污染的交互流程圖4是本發(fā)明基于Choke&Unchoke法的交互流程圖5是本發(fā)明基于資源占用的主動(dòng)傳播控制方法的主程序流程圖。
具體實(shí)施方式
下面參考圖1-5來(lái)描述本發(fā)明的優(yōu)選實(shí)施方式。圖1是本發(fā)明基于資源占用的主 動(dòng)傳播控制系統(tǒng)總體結(jié)構(gòu)示意圖,本系統(tǒng)總體分為三個(gè)部分,用戶(hù)界面、配置下發(fā)系統(tǒng)和主 動(dòng)控管系統(tǒng)。用戶(hù)界面系統(tǒng)負(fù)責(zé)用戶(hù)配置的輸入,主要包括種子文件及其控管任務(wù)的相關(guān) 參數(shù)信息。配置下發(fā)系統(tǒng)則分為兩級(jí),位于中央的配置下發(fā)機(jī)和位于控管前端的配置轉(zhuǎn)發(fā) 機(jī),配置下發(fā)機(jī)負(fù)責(zé)將用戶(hù)提交的控管任務(wù)配置下發(fā)到各地的配置轉(zhuǎn)發(fā)機(jī),而配置轉(zhuǎn)發(fā)機(jī) 則將每個(gè)控管任務(wù)發(fā)送到每一臺(tái)主動(dòng)控管機(jī)。主動(dòng)控管系統(tǒng)則位于系統(tǒng)的最前端,一般由 若干主動(dòng)控管機(jī)組成,負(fù)責(zé)主動(dòng)向共享網(wǎng)絡(luò)中的主機(jī)發(fā)送污染數(shù)據(jù)報(bào)文或被動(dòng)接受其他主 機(jī)的訪問(wèn)并發(fā)送污染數(shù)據(jù)報(bào)文,其整個(gè)系統(tǒng)工作流程如下用戶(hù)通過(guò)界面上傳種子文件,并 添加控管任務(wù)相關(guān)信息。界面系統(tǒng)在接收到用戶(hù)的數(shù)據(jù)后,將提交到后臺(tái)數(shù)據(jù)庫(kù)。另一方 面,配置下發(fā)機(jī)通過(guò)數(shù)據(jù)庫(kù)輪詢(xún)的方式探測(cè)是否存在新添加的控管任務(wù),當(dāng)有待發(fā)送的控 管任務(wù)時(shí)將從數(shù)據(jù)庫(kù)取出相應(yīng)配置發(fā)送到各地的配置轉(zhuǎn)發(fā)機(jī)。配置轉(zhuǎn)發(fā)機(jī)監(jiān)聽(tīng)來(lái)自中央配 置下發(fā)機(jī)的任務(wù)發(fā)送請(qǐng)求,當(dāng)接收到新任務(wù)時(shí)將該控管任務(wù)轉(zhuǎn)發(fā)到各個(gè)主動(dòng)控管機(jī)。主動(dòng) 控管機(jī)接收任務(wù)后,將解析種子文件,按照任務(wù)的配置進(jìn)行主動(dòng)控管。本發(fā)明基于資源占用 的主動(dòng)傳播控制方法主要包括基于連接占用的主動(dòng)傳播控制方法和基于帶寬占用的主動(dòng) 傳播控制方法,下面分別予以闡述。
基于連接占用的主動(dòng)傳播控制方法盡量保持同正常共享客戶(hù)端的傳輸連接,從而 侵占下載客戶(hù)端的連接資源,使共享客戶(hù)端擁有的同其他正常下載節(jié)點(diǎn)的連接數(shù)目減少, 從而達(dá)到延緩正常共享客戶(hù)端下載的目的。
圖2是本發(fā)明基于連接占用的主動(dòng)傳播控制方法的交互流程圖。基于連接占用 的主動(dòng)傳播控制方法中,虛假的控制客戶(hù)端(控管節(jié)點(diǎn))與正常共享客戶(hù)端(其他共享節(jié) 點(diǎn))的交互流程是這樣的虛假客戶(hù)端(控管節(jié)點(diǎn))在同正常客戶(hù)端(其他共享節(jié)點(diǎn))在 進(jìn)行Handshake握手以及Bitfield消息交換之后,其中虛假客戶(hù)端發(fā)送給正常客戶(hù)端的 Bitfield消息是滿(mǎn)負(fù)載的,即表示該虛假客戶(hù)端擁有完整的文件,對(duì)于任何由正??蛻?hù)端 返回的消息都響應(yīng)Choke阻塞消息來(lái)阻止客戶(hù)端的下載,而同時(shí)每間隔30秒就給其發(fā)送 Keepalive消息來(lái)盡量保持連接。
通常,在BitTorrent協(xié)議中,客戶(hù)端每下載完一片(通常大小為256KB)即會(huì)對(duì)該 片用SHAl計(jì)算哈希值并同種子文件中對(duì)應(yīng)片的哈希值進(jìn)行比對(duì),如果兩個(gè)值不相同的話(huà),客戶(hù)端則丟棄該256KB數(shù)據(jù),并重新下載該片。而一般的客戶(hù)端在請(qǐng)求下載分片的時(shí)候通 常是某一個(gè)片中的16KB數(shù)據(jù),若一片中有任何一個(gè)16KB的分塊是錯(cuò)誤的,整片校驗(yàn)會(huì)失 敗。
根據(jù)以上特點(diǎn),基于帶寬占用的主動(dòng)傳播控制方法在連接占用控制方法的基礎(chǔ) 上,不發(fā)送Choke消息阻塞正??蛻?hù)端,而是發(fā)送Unchoke報(bào)文促使正??蛻?hù)端向虛假客戶(hù) 端發(fā)送塊請(qǐng)求消息,而后虛假客戶(hù)端發(fā)送一個(gè)隨機(jī)生成的16KB偽造數(shù)據(jù)發(fā)送給正常共享 客戶(hù)端,最終擁有該分塊的片在下載完成校驗(yàn)的時(shí)候必會(huì)校驗(yàn)失敗,并丟棄重新下載,這樣 達(dá)到侵占共享客戶(hù)端帶寬的目的,從而減緩了用戶(hù)下載的速度。在理想的情況下,若用戶(hù) 下載完成的每一片中都有至少包含一個(gè)虛假分塊,則正常用戶(hù)將永遠(yuǎn)無(wú)法下載完所需的文 件。
由于目前不同客戶(hù)端對(duì)基于資源占用的主動(dòng)傳播控制方法進(jìn)行了一些優(yōu)化,因此 本發(fā)明中的基于資源占用的主動(dòng)傳播控制方法也對(duì)主流的客戶(hù)端提出了有針對(duì)性的優(yōu)化 控制方法,其中包含了完全塊污染控制方法和Choke&Unchoke污染方法控制方法。
圖3是本發(fā)明基于完全塊污染的交互流程圖,本發(fā)明以比特彗星(BitComet)的 BitTorrent客戶(hù)端為例進(jìn)行說(shuō)明,然而本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解,這種方法可以應(yīng) 用到類(lèi)似比特彗星客戶(hù)端的其他客戶(hù)端中。通常,比特彗星客戶(hù)端的共享傳播過(guò)程有以 下特點(diǎn)比特彗星一般發(fā)送大量請(qǐng)求同一個(gè)片內(nèi)容的塊請(qǐng)求,并且為了防止惡意節(jié)點(diǎn)的攻 擊,盡量從同一節(jié)點(diǎn)下載一個(gè)完整256KB片。這樣就使得理想情況下載的每片中都包含一 塊虛假的數(shù)據(jù)很難實(shí)現(xiàn)。因此,根據(jù)類(lèi)比特彗星的特點(diǎn),本發(fā)明提出了完全塊污染控制方 法其交互過(guò)程如圖3所示虛假客戶(hù)端同比特彗星客戶(hù)端進(jìn)行握手交互,并發(fā)送擁有全部 片的Bitfield消息給正常客戶(hù)端,促使比特彗星客戶(hù)端發(fā)送hterested消息,并在接到 Interested消息之后返回Unchoke消息使得正??蛻?hù)端發(fā)送塊請(qǐng)求,對(duì)于任何的塊請(qǐng)求都 給予響應(yīng),均返回虛假數(shù)據(jù)塊,同時(shí)每30秒發(fā)送一個(gè)Keepalive盡量保持連接,從而可以達(dá) 到對(duì)完全污染所有的數(shù)據(jù)片,進(jìn)而限制了共享用戶(hù)的下載或上傳能力,使得參與整個(gè)共享 文件下載過(guò)程的所有節(jié)點(diǎn)下載變得極為緩慢,甚至無(wú)法下載。
而在類(lèi)比特精靈(BitSpirit)的BitTorrent客戶(hù)端中,如果一個(gè)共享客戶(hù)端向 比特精靈提供了某個(gè)數(shù)據(jù)塊的完整數(shù)據(jù)或者大多數(shù)的數(shù)據(jù)并且校驗(yàn)失敗,則比特精靈就給 該客戶(hù)端校驗(yàn)失敗次數(shù)加1,直到校驗(yàn)失敗次數(shù)達(dá)到4次,比特精靈就將該客戶(hù)端加入黑名 單中,并不再同這個(gè)節(jié)點(diǎn)進(jìn)行交互。針對(duì)類(lèi)似比特精靈這樣的客戶(hù)端,本發(fā)明提出了一個(gè) Choke&Unchoke塊污染控制方法。其交互過(guò)程如圖4所示虛假客戶(hù)端(控管節(jié)點(diǎn))同比特 精靈客戶(hù)端進(jìn)行握手交互,并發(fā)送擁有全部片的Bitfield消息給正??蛻?hù)端,促使比特精 靈客戶(hù)端發(fā)送hterested消息,并在接到hterested消息后返回Unchoke消息使得比特 精靈客戶(hù)端發(fā)送塊請(qǐng)求,若該塊請(qǐng)求所請(qǐng)求的塊沒(méi)有被其請(qǐng)求過(guò),則給其發(fā)送相應(yīng)的虛假 數(shù)據(jù)塊,否則發(fā)送Choke消息阻塞其下載。因?yàn)橐粋€(gè)鄰接的滿(mǎn)負(fù)載節(jié)點(diǎn)從Choke到Unchoke 狀態(tài)的轉(zhuǎn)變必然會(huì)引起任何種類(lèi)客戶(hù)端的塊請(qǐng)求,所以每隔30秒定時(shí)發(fā)送Unchoke消息來(lái) 觸發(fā)正??蛻?hù)端的請(qǐng)求動(dòng)作,使其重新發(fā)送塊請(qǐng)求消息,新的塊請(qǐng)求消息可能仍然請(qǐng)求先 前數(shù)據(jù)塊,那么虛假客戶(hù)端仍發(fā)送Choke消息阻塞比特精靈客戶(hù)端,也有可能請(qǐng)求新的數(shù) 據(jù)塊,那么虛假客戶(hù)端發(fā)送相應(yīng)的虛假數(shù)據(jù)塊,從而使得正??蛻?hù)端始終處于不斷發(fā)送塊 請(qǐng)求的狀態(tài)或僅能下載虛假數(shù)據(jù)的狀態(tài),進(jìn)而限制了共享用戶(hù)的下載或上傳能力,使得參與整個(gè)共享文件下載過(guò)程的所有節(jié)點(diǎn)下載變得極為緩慢,甚至無(wú)法下載。
圖5是本發(fā)明基于資源占用的主動(dòng)傳播控制方法的主程序流程圖。主動(dòng)控管系 統(tǒng)啟動(dòng)后,在約定端口監(jiān)聽(tīng)來(lái)自于配置轉(zhuǎn)發(fā)機(jī)的控管配置。在接收到控管配置(包括種子 文件及其相關(guān)參數(shù)信息)后,首先分析種子文件是否合法有效,在其有效的前提下,將種子 文件及其相關(guān)參數(shù)信息加入到本地的控管列表中。而主動(dòng)控管系統(tǒng)則將種子文件本身進(jìn) 行解析,獲取其中的Tracker服務(wù)器信息,并按照比特流網(wǎng)絡(luò)協(xié)議構(gòu)造大量的偽造節(jié)點(diǎn)向 Tracker服務(wù)器注冊(cè)。同時(shí),每個(gè)虛造節(jié)點(diǎn)在本機(jī)啟動(dòng)監(jiān)聽(tīng)一個(gè)端口用于接收正??蛻?hù)端的 連接。當(dāng)正常的共享客戶(hù)端發(fā)送連接請(qǐng)求被主動(dòng)控管主機(jī)接收后,將通過(guò)比特流協(xié)議中的 握手消息識(shí)別正??蛻?hù)端的類(lèi)型,分為BitComet型、BitSpirit型和其他,然后根據(jù)不同類(lèi) 型的客戶(hù)端采用相應(yīng)的主動(dòng)控管方法,方法分別對(duì)應(yīng)為完全塊污染法、Choke&Unchoke法和 資源占用方法。
為了說(shuō)明傳播控制方法的有效性,本發(fā)明選取了一部在互聯(lián)網(wǎng)傳播的電影《富蘭 克林》作為目標(biāo)控制資源進(jìn)行測(cè)試,并分別比較了傳播控制實(shí)施之前和之后,一個(gè)正??蛻?hù) 端下載所能完成的下載量和下載時(shí)長(zhǎng),其結(jié)果如下表1所示
資源名稱(chēng)富蘭克林資源大小475. 5MB正常節(jié)點(diǎn)數(shù)300左右控管節(jié)點(diǎn)數(shù)850正常下載完成量15%正常下載用時(shí)3:51:11控管后下載完成量10%控管后下載用時(shí)37:30:00客戶(hù)端種類(lèi)比特精靈測(cè)試機(jī)位置及運(yùn)營(yíng)商北京聯(lián)通
表 1
電影《富蘭克林》資源大小為475. 5MB,客戶(hù)端所處的互聯(lián)網(wǎng)接入為北京聯(lián)通,客戶(hù) 端選用比特精靈。為了較為清晰地把握共享網(wǎng)絡(luò)的規(guī)模,通過(guò)測(cè)量得到,目標(biāo)控制資源的共 享網(wǎng)絡(luò)中包含了 300個(gè)左右的正常節(jié)點(diǎn)。在傳播控制實(shí)施之前,一個(gè)正??蛻?hù)端下載15% 大小的資源需要耗時(shí)3小時(shí)51分11秒。而傳播控制實(shí)施之后,控管節(jié)點(diǎn)數(shù)目達(dá)850個(gè),使 得當(dāng)前共享網(wǎng)絡(luò)的節(jié)點(diǎn)達(dá)到1150個(gè)左右(300+850)。此時(shí),一個(gè)正??蛻?hù)端下載10%大小 的資源需要耗時(shí)37小時(shí)30分。
為了說(shuō)明傳播控制方法和運(yùn)營(yíng)商以及地理位置的相關(guān)性,本發(fā)明選取了一個(gè)在互 聯(lián)網(wǎng)傳播的娛樂(lè)節(jié)目《國(guó)光幫幫忙》作為目標(biāo)控制資源進(jìn)行測(cè)試,以四個(gè)不同的互聯(lián)網(wǎng)接入 點(diǎn),分別比較了傳播控制實(shí)施之前和之后,一個(gè)正??蛻?hù)端下載所能完成的下載量和下載
權(quán)利要求
1.一種在比特流(Bi tTorrent)文件共享網(wǎng)絡(luò)中基于資源占用的主動(dòng)傳播控制方法, 包括如下步驟將控管節(jié)點(diǎn)偽裝成合法共享節(jié)點(diǎn)與其他共享節(jié)點(diǎn)進(jìn)行交互;通過(guò)所述控管節(jié)點(diǎn)識(shí)別其他共享節(jié)點(diǎn)的比特流客戶(hù)端的版本;選擇相應(yīng)于所識(shí)別版本的客戶(hù)端的控制策略以主動(dòng)侵占其他共享節(jié)點(diǎn)的資源。
2.根據(jù)權(quán)利要求1所述的主動(dòng)傳播控制方法,其特征在于所述其他共享節(jié)點(diǎn)的資源 是其他共享節(jié)點(diǎn)的連接資源,并且所選擇的控制策略為所述控管節(jié)點(diǎn)在同其他共享節(jié) 點(diǎn)在進(jìn)行Handshake握手以及Bitfield消息交換之后,控管節(jié)點(diǎn)發(fā)送給其他共享節(jié)點(diǎn)的 Bitfield消息是滿(mǎn)負(fù)載的,即表示所述控管節(jié)點(diǎn)擁有完整的共享文件,對(duì)于任何由其他共 享節(jié)點(diǎn)返回的消息所述控管節(jié)點(diǎn)都響應(yīng)Choke阻塞消息來(lái)阻止正??蛻?hù)端的下載,而同時(shí) 每隔一定時(shí)間就給正常客戶(hù)端發(fā)送Keepalive消息來(lái)保持連接。
3.根據(jù)權(quán)利要求1所述的主動(dòng)傳播控制方法,其特征在于所述其他共享節(jié)點(diǎn)的資源是 其他共享節(jié)點(diǎn)的帶寬資源,并且所選擇的控制策略為控管節(jié)點(diǎn)發(fā)送Unchoke報(bào)文促使其 他共享節(jié)點(diǎn)向控管節(jié)點(diǎn)發(fā)送塊請(qǐng)求消息,而后控管節(jié)點(diǎn)發(fā)送一個(gè)隨機(jī)生成的偽造數(shù)據(jù)塊給 其他共享節(jié)點(diǎn),進(jìn)而導(dǎo)致最終擁有該塊的分片在下載完成校驗(yàn)的時(shí)候校驗(yàn)失敗,并丟棄重 新下載。
4.根據(jù)權(quán)利要求1所述的主動(dòng)傳播控制方法,其特征在于當(dāng)所識(shí)別的客戶(hù)端版本為 類(lèi)似比特彗星的客戶(hù)端時(shí),所選擇的控管策略為控管節(jié)點(diǎn)同類(lèi)比特彗星客戶(hù)端進(jìn)行握手 交互,并發(fā)送擁有全部片的Bitfield消息給其他共享節(jié)點(diǎn),促使類(lèi)比特彗星客戶(hù)端發(fā)送 hterested消息,并在接到hterested消息之后返回Unchoke消息使得其他共享節(jié)點(diǎn)發(fā)送 塊請(qǐng)求,對(duì)于任何的塊請(qǐng)求都給予響應(yīng),均返回虛假數(shù)據(jù)塊,同時(shí)每隔一定時(shí)間就發(fā)送一個(gè) Ke印alive保持連接。
5.根據(jù)權(quán)利要求1所述的主動(dòng)傳播控制方法,其特征在于當(dāng)所識(shí)別的客戶(hù)端版本為 類(lèi)似比特精靈的客戶(hù)端時(shí),所選擇的控管策略為控管節(jié)點(diǎn)同類(lèi)比特精靈客戶(hù)端進(jìn)行握 手交互,并發(fā)送擁有全部片的Bitfield消息給其他共享節(jié)點(diǎn),促使比特精靈客戶(hù)端發(fā)送 hterested消息,并在接到化切!^計(jì)⑶消息后返回Unchoke消息使得比特精靈客戶(hù)端發(fā)送 塊請(qǐng)求,若該塊請(qǐng)求所請(qǐng)求的塊沒(méi)有被其請(qǐng)求過(guò),則給其發(fā)送相應(yīng)的虛假數(shù)據(jù)塊,否則發(fā)送 Choke消息阻塞其下載。
全文摘要
一種在比特流(BitTorrent)文件共享網(wǎng)絡(luò)中基于資源占用的主動(dòng)傳播控制方法,在該方法中,將控制管理節(jié)點(diǎn)偽裝成合法的共享節(jié)點(diǎn)與其他共享節(jié)點(diǎn)進(jìn)行交互,通過(guò)該控制管理節(jié)點(diǎn)對(duì)其他共享節(jié)點(diǎn)的比特流客戶(hù)端的版本進(jìn)行識(shí)別,選擇相應(yīng)于所識(shí)別版本的客戶(hù)端的控制策略,該控制策略用于主動(dòng)侵占其他共享節(jié)點(diǎn)的連接或者帶寬資源。本發(fā)明的方法能夠在BitTorrent文件共享傳播過(guò)程中,限制共享用戶(hù)的下載或上傳能力,使得參與整個(gè)共享文件下載過(guò)程的所有節(jié)點(diǎn)下載變得極為緩慢,甚至無(wú)法下載。采用本發(fā)明所述的面向BitTorrent網(wǎng)絡(luò)的文件共享傳播控制技術(shù),從控制管理的角度達(dá)到了共享文件的傳播過(guò)程或下載時(shí)間盡可能延長(zhǎng)、控制管理所付出的資源或代價(jià)盡可能少的技術(shù)效果。
文檔編號(hào)H04L29/08GK102035677SQ20101058179
公開(kāi)日2011年4月27日 申請(qǐng)日期2010年12月10日 優(yōu)先權(quán)日2010年12月10日
發(fā)明者葉麟, 張宏莉, 張慧, 狄少嘉, 王麗宏, 王勇, 袁慶升, 陳訓(xùn)遜, 黃澄清 申請(qǐng)人:哈爾濱工業(yè)大學(xué)