史建燾, 李秀坤
(哈爾濱工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 哈爾濱 150001)
·專(zhuān)題研討——虛擬仿真實(shí)驗(yàn)(44)·
大型P2P網(wǎng)絡(luò)的虛擬仿真實(shí)驗(yàn)床構(gòu)建
史建燾, 李秀坤
(哈爾濱工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 哈爾濱 150001)
針對(duì)大規(guī)模P2P網(wǎng)絡(luò)的虛擬仿真實(shí)驗(yàn)床,采用了虛實(shí)結(jié)合的系統(tǒng)架構(gòu)、基于事件驅(qū)動(dòng)的高并發(fā)IO框架、基于插件架構(gòu)的業(yè)務(wù)邏輯處理以及應(yīng)用了相關(guān)數(shù)學(xué)模型。以虛擬仿真實(shí)驗(yàn)床為支撐設(shè)計(jì)的P2P污染實(shí)驗(yàn)案例表明,實(shí)驗(yàn)床既可支持8 000個(gè)節(jié)點(diǎn)以上的大規(guī)模虛擬仿真實(shí)驗(yàn),也可將系統(tǒng)接入Internet,在不影響實(shí)際網(wǎng)絡(luò)環(huán)境運(yùn)行狀況的同時(shí)進(jìn)行真實(shí)網(wǎng)絡(luò)實(shí)驗(yàn)。通過(guò)這種以虛補(bǔ)實(shí)、以實(shí)補(bǔ)虛的方式,能夠加深學(xué)生對(duì)P2P等大規(guī)模網(wǎng)絡(luò)系統(tǒng)運(yùn)行原理的理解,進(jìn)而培養(yǎng)學(xué)生的綜合創(chuàng)新能力。
對(duì)等網(wǎng)絡(luò); 網(wǎng)絡(luò)仿真; 大規(guī)模網(wǎng)絡(luò); 內(nèi)容污染; 實(shí)驗(yàn)教學(xué)
隨著信息技術(shù)的迅猛發(fā)展,P2P(Peer-to-Peer,對(duì)等網(wǎng)絡(luò))技術(shù)已經(jīng)成為業(yè)界研究和關(guān)注的一個(gè)熱點(diǎn),其特有的自組織、分布性的特點(diǎn),使其迅速發(fā)展,已經(jīng)成為互聯(lián)網(wǎng)不可分割的一部分。許多基于P2P技術(shù)的應(yīng)用都應(yīng)運(yùn)而生,包括文件共享[1-2],流媒體[3-4],即時(shí)通信[5]以及分布式計(jì)算[6]等。在研究領(lǐng)域,P2P的結(jié)構(gòu)優(yōu)化與設(shè)計(jì)[7],激勵(lì)機(jī)制[8]和安全性研究[9]都備受關(guān)注,同時(shí)有關(guān)P2P網(wǎng)絡(luò)的內(nèi)容也被加入到了大多數(shù)高校的教學(xué)計(jì)劃中。但是,由于P2P技術(shù)摒棄了服務(wù)器和客戶(hù)端之分,大大顛覆了我們對(duì)傳統(tǒng)網(wǎng)絡(luò)模式的認(rèn)知,同時(shí)P2P類(lèi)網(wǎng)絡(luò)應(yīng)用往往會(huì)涉及大量節(jié)點(diǎn),其相關(guān)實(shí)驗(yàn)多為大規(guī)模網(wǎng)絡(luò)實(shí)驗(yàn),P2P攻擊類(lèi)實(shí)驗(yàn)還會(huì)對(duì)互聯(lián)網(wǎng)產(chǎn)生不可逆的災(zāi)難性后果,故傳統(tǒng)的實(shí)驗(yàn)環(huán)境已經(jīng)無(wú)法滿(mǎn)足研究和實(shí)驗(yàn)教學(xué)的需求。因此,在資源和客觀條件有限的情況下,使用虛擬仿真手段成為一個(gè)很好的選擇。目前,已經(jīng)有一些針對(duì)P2P網(wǎng)絡(luò)的仿真器,使用較多的有NS2[10-11]、Peersim[12]、Oversim[13]以及P2Psim[14]。但是,這些仿真器或多或少都存在著模擬規(guī)模有限,系統(tǒng)擴(kuò)展性不強(qiáng),不能與真實(shí)節(jié)點(diǎn)交互的缺點(diǎn)。因此,本文給出了一個(gè)針對(duì)大型P2P網(wǎng)絡(luò)的虛擬仿真實(shí)驗(yàn)床。本著以虛補(bǔ)實(shí)、以實(shí)補(bǔ)虛的宗旨,不但在網(wǎng)絡(luò)拓?fù)渖暇哂徐`活的擴(kuò)展性,適合不同的網(wǎng)絡(luò)規(guī)模。同時(shí)虛實(shí)結(jié)合的系統(tǒng)設(shè)計(jì)、基于事件驅(qū)動(dòng)的高并發(fā)IO框架、基于插件架構(gòu)的業(yè)務(wù)邏輯處理以及相關(guān)P2P數(shù)學(xué)模型的應(yīng)用,使得實(shí)驗(yàn)過(guò)程和結(jié)果都更加可信。
1.1 實(shí)驗(yàn)床的系統(tǒng)架構(gòu)及網(wǎng)絡(luò)拓?fù)?/p>
實(shí)驗(yàn)床的系統(tǒng)架構(gòu)以及網(wǎng)絡(luò)拓?fù)淙鐖D1所示。一套虛擬仿真實(shí)驗(yàn)床系統(tǒng)由若干仿真服務(wù)器和一臺(tái)域間調(diào)度服務(wù)器構(gòu)成,仿真服務(wù)器數(shù)量可以根據(jù)需求擴(kuò)展,理論上可以同時(shí)部署多套虛擬仿真實(shí)驗(yàn)床。仿真服務(wù)器負(fù)責(zé)實(shí)現(xiàn)具體的虛擬節(jié)點(diǎn)并模擬業(yè)務(wù)流程;域間服務(wù)器負(fù)責(zé)調(diào)度所有仿真節(jié)點(diǎn)的行為,并控制仿真服務(wù)器之間的流量。
圖1 實(shí)驗(yàn)床系統(tǒng)架構(gòu)及網(wǎng)絡(luò)拓?fù)鋱D
仿真實(shí)驗(yàn)床內(nèi)的虛擬節(jié)點(diǎn)可以和局域網(wǎng)內(nèi)的真實(shí)P2P主機(jī)和索引服務(wù)器相連,并通過(guò)防火墻接入到Internet。仿真服務(wù)器通過(guò)實(shí)際物理網(wǎng)卡在域間互聯(lián)并對(duì)外通信,使得虛擬P2P節(jié)點(diǎn)可以像真實(shí)節(jié)點(diǎn)一樣與其他節(jié)點(diǎn)或索引服務(wù)器通信。由于實(shí)際P2P網(wǎng)絡(luò)能夠正常運(yùn)轉(zhuǎn)的前提,是需要P2P節(jié)點(diǎn)將接入信息發(fā)布到一個(gè)索引服務(wù)器上,并通過(guò)索引服務(wù)器發(fā)現(xiàn)其他節(jié)點(diǎn)。而我們的虛擬節(jié)點(diǎn)都是發(fā)布在防火墻內(nèi)部自己搭建的索引服務(wù)器上的,通過(guò)防火墻的過(guò)濾,保證了實(shí)驗(yàn)床上的虛擬仿真實(shí)驗(yàn)不會(huì)對(duì)Internet造成影響。此外,為了滿(mǎn)足大規(guī)模實(shí)驗(yàn)的要求,提高單臺(tái)服務(wù)器主機(jī)的節(jié)點(diǎn)承載能力,實(shí)驗(yàn)床采用了高性能IO模塊、插件和配置管理模塊,接下來(lái)會(huì)詳細(xì)介紹相關(guān)的技術(shù)路線(xiàn)。
1.2 基于事件驅(qū)動(dòng)的高并發(fā)IO框架
為了提高單臺(tái)仿真服務(wù)器的模擬規(guī)模,承載實(shí)驗(yàn)產(chǎn)生的網(wǎng)絡(luò)流量,得到更為真實(shí)的網(wǎng)絡(luò)數(shù)據(jù),需要搭建一個(gè)高性能的數(shù)據(jù)處理平臺(tái)。由于大規(guī)模P2P實(shí)驗(yàn)會(huì)在虛擬節(jié)點(diǎn)間產(chǎn)生大量TCP連接,需要仿真實(shí)驗(yàn)平臺(tái)能夠承受巨大的連接壓力,對(duì)系統(tǒng)的IO處理能力有著較高的要求,對(duì)此本文搭建了一個(gè)具有高并發(fā)性的IO框架。主要有以下特點(diǎn):
(1) 使用了非阻塞I/O和事件驅(qū)動(dòng)模型。由主線(xiàn)程負(fù)責(zé)處理所有 TCP 連接上的數(shù)據(jù)讀取和發(fā)送,因此TCP的連接數(shù)不受線(xiàn)程數(shù)的限制。
(2) IO的接入處理和業(yè)務(wù)邏輯處理相分離。主線(xiàn)程讀取到的數(shù)據(jù)放入隊(duì)列,由業(yè)務(wù)線(xiàn)程池處理實(shí)際的P2P邏輯業(yè)務(wù)。 IO框架的整體設(shè)計(jì)如圖2所示。
圖2 高并發(fā)IO框架整體設(shè)計(jì)結(jié)構(gòu)圖
圖2只是一個(gè)后端仿真主機(jī)與前端IO交互的情景,實(shí)際上可以有很多個(gè)后端仿真系統(tǒng)同時(shí)與前段IO交互。這里設(shè)計(jì)將數(shù)據(jù)途經(jīng)IO處理層而轉(zhuǎn)流入會(huì)話(huà)層是為了將所有關(guān)于描述符的IO事件處理全部集中于一處,方便更改和維護(hù)。當(dāng)前IO的線(xiàn)程數(shù)與主機(jī)的CPU數(shù)相關(guān),當(dāng)只有1個(gè)CPU時(shí),只有1個(gè)主線(xiàn)程,輔助線(xiàn)程有一個(gè)任務(wù)刪除線(xiàn)程和一個(gè)統(tǒng)計(jì)線(xiàn)程;當(dāng)主機(jī)為處理器時(shí),每個(gè)處理器綁定一個(gè)業(yè)務(wù)處理線(xiàn)程。IO框架采取proactor設(shè)計(jì)模式。實(shí)現(xiàn)了以下功能:
(1) 連接接入管理。包括TCP連接的接收和關(guān)閉,連接數(shù)據(jù)的接收和發(fā)送,連接超時(shí)的相關(guān)處理。
(2) P2P協(xié)議數(shù)據(jù)流的加解密。當(dāng)仿真節(jié)點(diǎn)與外部真實(shí)節(jié)點(diǎn)互相通信時(shí),需要對(duì)真實(shí)節(jié)點(diǎn)加密的控制報(bào)文進(jìn)行解密。
(3) 會(huì)話(huà)數(shù)據(jù)管理。由于整個(gè)IO接入模塊是事件驅(qū)動(dòng)的,故系統(tǒng)需要保存每個(gè)連接會(huì)話(huà)的相關(guān)數(shù)據(jù),當(dāng)有可讀或可寫(xiě)事件到來(lái)后需根據(jù)會(huì)話(huà)ID向會(huì)話(huà)管理子模塊查詢(xún)相關(guān)會(huì)話(huà)數(shù)據(jù)。
(4) 連接狀態(tài)的監(jiān)測(cè)。對(duì)當(dāng)前TCP連接數(shù)、歷史接收和發(fā)送的數(shù)據(jù)量以及即時(shí)傳輸速率等信息進(jìn)行監(jiān)測(cè),并對(duì)外提供查詢(xún)接口。
(5) 消息的接收與分發(fā)。IO接入層和仿真節(jié)點(diǎn)邏輯層采用了相同的消息格式進(jìn)行通信。IO層將P2P協(xié)議報(bào)文和控制報(bào)文等封裝成消息放入共享內(nèi)存中,然后以FIFO的方式來(lái)通知仿真業(yè)務(wù)模塊讀取消息并處理。這種采用消息的方式將連接處理和業(yè)務(wù)處理異步化,一定程度上提高了IO的吞吐性能。
1.3 基于插件架構(gòu)的P2P邏輯業(yè)務(wù)處理
進(jìn)行大規(guī)模P2P網(wǎng)絡(luò)仿真時(shí),為了保證實(shí)驗(yàn)的真實(shí)性,需要模擬不同的節(jié)點(diǎn)業(yè)務(wù)處理流程,在同一仿真服務(wù)器上造成線(xiàn)程間運(yùn)行的異步性。因此在實(shí)驗(yàn)床設(shè)計(jì)時(shí),采用了基于插件架構(gòu)的P2P邏輯業(yè)務(wù)處理技術(shù)。在仿真服務(wù)器運(yùn)行時(shí),會(huì)有一個(gè)或多個(gè)線(xiàn)程負(fù)責(zé)后端P2P邏輯業(yè)務(wù)的處理。IO接入層和P2P邏輯層之間通過(guò)消息隊(duì)列來(lái)進(jìn)行通信。P2P邏輯層的主要操作封裝在MessageHandler類(lèi)中,實(shí)現(xiàn)了以下功能:
(1) 協(xié)議的解析。主要是P2P報(bào)文的解析,根據(jù)協(xié)議格式將收到的報(bào)文解析成不同的消息,提供給上層應(yīng)用處理。
(2) 協(xié)議的處理。由于仿真場(chǎng)景的不同,業(yè)務(wù)模塊的處理策略可能會(huì)變動(dòng)頻繁,為增強(qiáng)平臺(tái)的靈活性即可擴(kuò)展性,這里采用了插件機(jī)制來(lái)實(shí)現(xiàn)。
P2P邏輯業(yè)務(wù)處理框架的整體設(shè)計(jì)如圖3所示。邏輯業(yè)務(wù)層中的插件架構(gòu)是最為重要的部分,它使得節(jié)點(diǎn)行為策略獨(dú)立于整個(gè)IO框架系統(tǒng)。每種節(jié)點(diǎn)行為策略都以動(dòng)態(tài)鏈接庫(kù)模塊的形式存在,策略模塊的編寫(xiě)只需要專(zhuān)注于P2P消息的處理,而不需要考慮IO連接的情況。同時(shí)系統(tǒng)只需要通過(guò)配置文件就可以實(shí)現(xiàn)節(jié)點(diǎn)行為策略的選擇。
圖3 P2P邏輯業(yè)務(wù)處理框架整體設(shè)計(jì)結(jié)構(gòu)圖
在系統(tǒng)啟動(dòng)時(shí),插件管理模塊會(huì)根據(jù)配置文件為不同仿真節(jié)點(diǎn)加載指定的業(yè)務(wù)插件。當(dāng)有P2P連接到來(lái)時(shí),在應(yīng)用層連接握手階段將根據(jù)對(duì)方的節(jié)點(diǎn)標(biāo)識(shí)在配置文件中查找相應(yīng)的插件模塊名稱(chēng),然后根據(jù)名稱(chēng)向插件管理模塊查詢(xún)模塊句柄,當(dāng)有應(yīng)用層消息到達(dá)時(shí)即可調(diào)用該句柄的處理函數(shù)進(jìn)行處理。插件的所有處理函數(shù)接口定義都封裝在統(tǒng)一的消息處理接口模塊中。
1.4 相關(guān)數(shù)學(xué)模型的應(yīng)用
實(shí)際的P2P系統(tǒng)具有較高的抖動(dòng)性,如何真實(shí)的模擬大量節(jié)點(diǎn)的頻繁加入和離開(kāi),直接影響到仿真實(shí)驗(yàn)的可信度。因此,本文在實(shí)驗(yàn)床設(shè)計(jì)中引入了節(jié)點(diǎn)到達(dá)和離開(kāi)數(shù)學(xué)模型,模型根據(jù)實(shí)際網(wǎng)絡(luò)中的測(cè)量數(shù)據(jù)進(jìn)行擬合作為依據(jù),更為貼近現(xiàn)實(shí)場(chǎng)景。
通過(guò)對(duì)大量P2P網(wǎng)絡(luò)進(jìn)行研究發(fā)現(xiàn),影響節(jié)點(diǎn)請(qǐng)求波動(dòng)規(guī)律的因素主要有三方面:用戶(hù)興趣H(t),日周期性P(t),以及隨機(jī)噪聲N(t)。不同種子或者同一種子的不同時(shí)刻,這些因子所起的作用不同,將節(jié)點(diǎn)到達(dá)模型表示為:
λ(t)=k1·H(t)+k2·P(t)+k3·N(t)
(1)
將節(jié)點(diǎn)離開(kāi)模型表示為:
γ(t)=l1·H(t)+l2·P(t)+l3·N(t)
(2)
式中:λ(t)為t時(shí)刻新到達(dá)的節(jié)點(diǎn)數(shù)量,稱(chēng)為節(jié)點(diǎn)到達(dá)率;γ(t)為t時(shí)刻離開(kāi)節(jié)點(diǎn)的數(shù)量;k1、k2、k3和l1、l2、l3分別為H(t)、P(t)、N(t)的權(quán)重。實(shí)際仿真系統(tǒng)中設(shè)定H(t)服從類(lèi)高斯分布,P(t)服從類(lèi)正弦的周期性分布,隨機(jī)噪聲根據(jù)不同實(shí)驗(yàn)場(chǎng)景進(jìn)行選擇。在實(shí)驗(yàn)開(kāi)始前,會(huì)根據(jù)實(shí)驗(yàn)場(chǎng)景和網(wǎng)絡(luò)規(guī)模配置不同的參數(shù),并由域間調(diào)度服務(wù)器進(jìn)行配置。
2.1 仿真實(shí)驗(yàn)場(chǎng)景
本節(jié)通過(guò)一個(gè)實(shí)驗(yàn)案例闡述如何應(yīng)用實(shí)驗(yàn)床進(jìn)行P2P仿真實(shí)驗(yàn)。實(shí)驗(yàn)場(chǎng)景選取BitTorrent(簡(jiǎn)稱(chēng)BT)網(wǎng)絡(luò)下的數(shù)據(jù)污染實(shí)驗(yàn),實(shí)驗(yàn)的目的是為了使學(xué)生了解BT分塊分片機(jī)制的脆弱性。
先了解下相關(guān)實(shí)驗(yàn)背景:BT是當(dāng)前最為流行的P2P應(yīng)用系統(tǒng)之一,其用戶(hù)規(guī)模已經(jīng)達(dá)到了百萬(wàn)級(jí),流量一度占據(jù)了P2P網(wǎng)絡(luò)總體流量的53%[15]。BT下的數(shù)據(jù)污染攻擊是在數(shù)據(jù)交換過(guò)程中針對(duì)其分塊分片機(jī)制的一種攻擊方式,目的是減緩節(jié)點(diǎn)的下載速度[16]。攻擊者偽造大量節(jié)點(diǎn)加入到要攻擊的共享網(wǎng)絡(luò),向其他節(jié)點(diǎn)發(fā)送偽造的分塊數(shù)據(jù),造成受害節(jié)點(diǎn)數(shù)據(jù)校驗(yàn)失敗,丟棄整個(gè)分片并重新下載,這樣就減緩了用戶(hù)下載速度,甚至造成節(jié)點(diǎn)無(wú)法下載到整個(gè)文件。
實(shí)驗(yàn)采用虛實(shí)結(jié)合,以實(shí)驗(yàn)虛的方式,分別模擬2 000個(gè)良性節(jié)點(diǎn)和8 000個(gè)攻擊節(jié)點(diǎn),并在Internet上選擇實(shí)際共享規(guī)模分別為500和2 000的兩個(gè)種子文件,對(duì)應(yīng)的數(shù)據(jù)文件大小均為200 MB。隨機(jī)選擇P2P仿真節(jié)點(diǎn)對(duì)應(yīng)的業(yè)務(wù)插件,包括攻擊行為插件和不同類(lèi)型和版本的客戶(hù)端行為插件。在局域網(wǎng)內(nèi)搭建一個(gè)索引服務(wù)器,運(yùn)行3個(gè)不同類(lèi)型的客戶(hù)端節(jié)點(diǎn),包括比特彗星、比特精靈和uTorrent。
學(xué)生需要進(jìn)行3個(gè)實(shí)驗(yàn)步驟:① 不運(yùn)行仿真節(jié)點(diǎn),讓真實(shí)客戶(hù)端載入2個(gè)種子文件并完成下載,記錄下載用時(shí)。該步驟反映了真實(shí)的下載情況。② 運(yùn)行實(shí)驗(yàn)床上模擬的攻擊節(jié)點(diǎn),配置不同的攻擊節(jié)點(diǎn)數(shù),讓真實(shí)客戶(hù)端載入2個(gè)種子文件,并完成下載,記錄下載用時(shí)。該步驟反映了攻擊對(duì)單一節(jié)點(diǎn)的影響。③ 運(yùn)行實(shí)驗(yàn)床上的模擬節(jié)點(diǎn),并斷開(kāi)與Internet的連接。分別配置不同的攻擊節(jié)點(diǎn)數(shù)和初始良性節(jié)點(diǎn)數(shù),配置節(jié)點(diǎn)到達(dá)模型和節(jié)點(diǎn)離開(kāi)模型參數(shù),分別反映大小不同的兩個(gè)共享網(wǎng)絡(luò)規(guī)模,記錄單位時(shí)間完成下載的良性節(jié)點(diǎn)數(shù)。該步驟反映了攻擊對(duì)整個(gè)共享網(wǎng)絡(luò)的影響。
2.2 實(shí)驗(yàn)測(cè)試結(jié)果
以下是在實(shí)驗(yàn)床上運(yùn)行得到的實(shí)驗(yàn)結(jié)果。表1記錄了3種客戶(hù)端在真實(shí)環(huán)境正常下載2個(gè)文件的用時(shí),文件1基本在1 h左右下載完成,文件2基本在0.5 h左右下載完成。
表1 各種客戶(hù)端在Internet實(shí)際網(wǎng)絡(luò)中的正常下載用時(shí)
表2分別記錄了數(shù)據(jù)污染攻擊對(duì)3種不同客戶(hù)端的影響,客戶(hù)端從Internet上的真實(shí)節(jié)點(diǎn)下載正常數(shù)據(jù),從虛擬仿真節(jié)點(diǎn)下載污染數(shù)據(jù)。攻擊大大減緩了客戶(hù)端的下載速度,完整的文件下載耗時(shí)很長(zhǎng),因此實(shí)驗(yàn)只記錄3 h內(nèi)的完成情況。只有uTorrent在2 000個(gè)攻擊節(jié)點(diǎn)的情況下能完成文件2的下載,但用時(shí)也超過(guò)2 h。
表2 攻擊對(duì)單個(gè)節(jié)點(diǎn)下載速度的影響
表3是實(shí)驗(yàn)步驟3的結(jié)果,實(shí)驗(yàn)在完全虛擬化的環(huán)境下進(jìn)行3 h,分別記錄了完成下載的各種客戶(hù)端的數(shù)量。其中良性節(jié)點(diǎn)數(shù)只表示在線(xiàn)良性節(jié)點(diǎn),實(shí)驗(yàn)過(guò)程中隨時(shí)都有節(jié)點(diǎn)加入和離開(kāi)共享網(wǎng)絡(luò)。
表3 攻擊對(duì)整個(gè)共享網(wǎng)絡(luò)的影響
實(shí)驗(yàn)結(jié)束后通過(guò)對(duì)完成下載的節(jié)點(diǎn)類(lèi)型進(jìn)行統(tǒng)計(jì),發(fā)現(xiàn)絕大多數(shù)為uTorrent節(jié)點(diǎn),有少量的比特彗星節(jié)點(diǎn),沒(méi)有比特精靈節(jié)點(diǎn)。通過(guò)對(duì)比實(shí)驗(yàn)步驟2與3的結(jié)果,發(fā)現(xiàn)完全虛擬化環(huán)境中的實(shí)驗(yàn)結(jié)果與實(shí)際網(wǎng)絡(luò)中的結(jié)果基本一致。
本文介紹的P2P網(wǎng)絡(luò)虛擬仿真實(shí)驗(yàn)床,一方面可以同時(shí)模擬大量虛擬P2P節(jié)點(diǎn),另一方面也可以接入Internet連接真實(shí)節(jié)點(diǎn)。通過(guò)這種虛實(shí)結(jié)合的設(shè)計(jì),既能進(jìn)行虛擬仿真實(shí)驗(yàn),獲取真實(shí)環(huán)境下無(wú)法獲得的實(shí)驗(yàn)結(jié)果;同時(shí)在不影響實(shí)際網(wǎng)絡(luò)運(yùn)行狀況的前提下,也可以完成實(shí)際網(wǎng)絡(luò)中的實(shí)驗(yàn),通過(guò)真實(shí)環(huán)境下的實(shí)驗(yàn)結(jié)果來(lái)驗(yàn)證虛擬仿真實(shí)驗(yàn)。
以第2節(jié)中的實(shí)驗(yàn)為例,由于真實(shí)環(huán)境下很難評(píng)估數(shù)據(jù)污染攻擊對(duì)P2P網(wǎng)絡(luò)整體的攻擊效果,學(xué)生可通過(guò)實(shí)驗(yàn)床進(jìn)行完全虛擬化的仿真實(shí)驗(yàn)。與此同時(shí),通過(guò)部署真實(shí)客戶(hù)端和半開(kāi)放的實(shí)驗(yàn)環(huán)境來(lái)評(píng)價(jià)攻擊對(duì)單個(gè)節(jié)點(diǎn)的影響。將實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比,可得到相同的結(jié)論:① 污染攻擊對(duì)小規(guī)模共享網(wǎng)絡(luò)影響更大;② 攻擊節(jié)點(diǎn)越多攻擊效果越好;③ 污染攻擊對(duì)比特精靈客戶(hù)端效果最好,對(duì)uTorrent客戶(hù)端效果最差。
這樣通過(guò)運(yùn)用該仿真實(shí)驗(yàn)床可以使學(xué)生更加深入了解P2P網(wǎng)絡(luò)的各種特性,對(duì)比不同客戶(hù)端的優(yōu)缺點(diǎn)。甚至可以對(duì)P2P網(wǎng)絡(luò)及其客戶(hù)端的實(shí)現(xiàn)進(jìn)行改進(jìn),并通過(guò)虛擬仿真實(shí)驗(yàn)進(jìn)行驗(yàn)證。因此,借助實(shí)驗(yàn)床可以更好傳授學(xué)生理解、分析和研究問(wèn)題的方法,培養(yǎng)學(xué)生的綜合創(chuàng)新能力。
[1] 陳 鋒,羅逢吉,文俊浩.基于JXTA的P2P文件共享系統(tǒng)的實(shí)現(xiàn)研究[J].計(jì)算機(jī)科學(xué),2007,34(12):126-128.
[2] 馬素剛.P2P技術(shù)在大文件共享中的應(yīng)用研究[J].實(shí)驗(yàn)技術(shù)與管理,2016,33(3):147-150.
[3] 張明軍,彭 婭,俞文靜.P2P流媒體服務(wù)方案及其關(guān)鍵技術(shù)研究[J].計(jì)算機(jī)工程,2013,39(1):125-130.
[4] 張志明,周 晉,陳 震,等.基于網(wǎng)絡(luò)編碼的對(duì)等網(wǎng)流媒體傳輸模型和算法[J].軟件學(xué)報(bào),2012,23(3):648-661.
[5] 王振華,王 攀,張順頤.基于綜合統(tǒng)計(jì)特征的Skype流量分析與識(shí)別[J].南京郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,26(1):1-7.
[6] 茂高偉,韓 華,代亞非.一種P2P環(huán)境下分布式文件存儲(chǔ)系統(tǒng)的緩存策略[J].計(jì)算機(jī)工程與應(yīng)用,2004,40(30):45-48.
[7] 李 偉,趙慶展,曹傳東. 基于GIS與P2P的區(qū)域教育資源共建模式[J].實(shí)驗(yàn)室研究與探索,2013,32(5):201-204.
[8] 王 焱,周天宏.基于多粒度和激勵(lì)機(jī)制的移動(dòng)P2P網(wǎng)絡(luò)動(dòng)態(tài)信任模型[J].實(shí)驗(yàn)室研究與探索,2013,32(11):246-250.
[9] 聶捷楠,張 洋. 基于安全路由算法的P2P網(wǎng)絡(luò)安全性能優(yōu)化研究[J].科技通報(bào),2013(9):149-151.
[10] 周德榮,夏 齡,舒 濤,等. NS2網(wǎng)絡(luò)協(xié)議虛擬仿真實(shí)驗(yàn)平臺(tái)研究[J].實(shí)驗(yàn)技術(shù)與管理,2014,31(3):87-90.
[11] 吉祖勤,黃津津. 基于NS2的隊(duì)列管理算法DropTail和RED仿真與研究[J].實(shí)驗(yàn)室研究與探索,2014,33(1):5-8.
[12] 郭 俊,楊 忠. PeerSim模擬技術(shù)研究[J].現(xiàn)代計(jì)算機(jī)(專(zhuān)業(yè)版),2010(4):130-131.
[13] 崔建群,賴(lài)敏財(cái),蔣文斌,等. OverSim:可擴(kuò)展的應(yīng)用層組播網(wǎng)絡(luò)仿真框架[J].計(jì)算機(jī)工程與科學(xué),2012,34(10):1-5.
[14] 任 超,李戰(zhàn)懷,張 英. 異構(gòu)P2P網(wǎng)絡(luò)的分布式查詢(xún)協(xié)議[J].電子科技大學(xué)學(xué)報(bào),2009,38(1):108-112.
[15] 蘇馬婧. P2P文件共享系統(tǒng)測(cè)量及其安全性研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2013.
[16] 史建燾,張宏莉,方濱興. BitTorrent假塊污染攻擊的對(duì)抗方法研究[J].計(jì)算機(jī)學(xué)報(bào),2011,34(1):15-24.
A Virtual Simulation Experiment Bed towards Large Scale P2P Networks
SHIJiantao,LIXiukun
(School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China)
The characteristics of self-organization,distributing and large scale,make P2P network different from the traditional network. It is often difficult to realize P2P related experiments in the traditional experiment environment. The virtual simulation experiment bed towards large scale P2P networks uses system architecture combined by virtuality and reality, high concurrent IO framework driven events, plug-in unit based business logic processing and application of relevant mathematical models. Experiment cases show that the experiment bed can do both large scale virtual simulation experiment and real network experiment in the Internet. The real network experiment will not affect the actual operation of the P2P network. The methods of "reality supplying virtuality" and "reality verifying virtuality" can deepen students' understanding of the P2P network and cultivate students' comprehensive innovation ability.
P2P network; network simulation; large-scale network; content pollution; experimental teaching
2016-08-15
國(guó)家自然科學(xué)基金(61402137)資助
史建燾(1980-),男,黑龍江哈爾濱人,博士,工程師,研究方向:計(jì)算機(jī)網(wǎng)絡(luò),云計(jì)算,信息安全。
Tel:0451-86413844,13826462016; E-mail:shijiantao@hit.edu.cn
TP 393.0
A
1006-7167(2017)04-0079-04