王瑋
(陜西藝術(shù)職業(yè)學院 基礎(chǔ)教學部, 陜西 西安710054)
對等(Peer To Peer)網(wǎng)絡P2P打破了傳統(tǒng)客戶端/服務器的模式,是新一代網(wǎng)絡技術(shù),相對于其它網(wǎng)絡,P2P網(wǎng)絡的速度更快,因此成為當前應用范圍最為廣泛的網(wǎng)絡[1]。在P2P網(wǎng)絡的實際應用中存在許多問題,具體為:瘋狂搶占帶寬,擁塞概率大;存在大量的不良信息;網(wǎng)絡入侵和網(wǎng)絡病毒引起的安全問題等。為了保證P2P網(wǎng)絡安全,提高P2P網(wǎng)絡的性能和穩(wěn)定性,需要對P2P網(wǎng)絡的流量進行監(jiān)控,P2P網(wǎng)絡流量識別是網(wǎng)絡管理的基礎(chǔ),高精度的P2P網(wǎng)絡流量識別方法構(gòu)建是當前研究的熱點問題[2-3]。
為了獲得理想的P2P網(wǎng)絡流量識別效果,提出基于神經(jīng)網(wǎng)絡的P2P網(wǎng)絡流量識別方法,并與經(jīng)典P2P網(wǎng)絡流量識別方法在相同平臺進行仿真對比實驗,結(jié)果表明,本文方法可以描述P2P網(wǎng)絡流量的變化特點,P2P網(wǎng)絡流量識別精度更高,具有十分明顯的優(yōu)越性。
近些年來,國內(nèi)外對P2P網(wǎng)絡流量識別進行深入研究,當前P2P網(wǎng)絡流量識別技術(shù)主要劃分為3類:基于端口號的P2P網(wǎng)絡流量識別技術(shù);基于報文檢測的P2P網(wǎng)絡流量識別技術(shù);基于特征的P2P網(wǎng)絡流量識別技術(shù)[4]。最初,由于P2P網(wǎng)絡的端口比較少,而且固定,但是一些應用程序為了防止端口檢測,其端口號采用動態(tài)方式進行分析,這樣基于端口號的P2P網(wǎng)絡流量識別結(jié)果就更為可靠;為了解決動態(tài)端口問題,出現(xiàn)了基于報文檢測的識別技術(shù),具體為基于數(shù)據(jù)包的動態(tài)端口P2P網(wǎng)絡流量識別方法,但是該方法會涉及用戶的隱私問題,無法廣泛使用[5-7];基于特征的P2P網(wǎng)絡流量識別技術(shù)主要通過流量的上下行比例、數(shù)據(jù)包大小分布等進行,然后結(jié)合機器學習算法,如支持向量機、貝葉斯算法或決策樹等[8-10],通過訓練構(gòu)建P2P網(wǎng)絡流量識別模型,但是在實際應用中這些機器學習算法均存在一定的不足,如支持向量機的訓練過程復雜,P2P網(wǎng)絡流量識別時間長;貝葉斯算法、決策樹的P2P網(wǎng)絡流量識別精度低[11-13]。
傳統(tǒng)網(wǎng)絡通常采用客戶端/服務器的工作模式,其中服務器是整個網(wǎng)絡的中心,客戶端將任務發(fā)送給服務器,服務器對任務進行處理,因此服務器完成了大部分運行,其負擔相當重,工作效率難以提升,而P2P網(wǎng)絡弱化了服務器,每一個節(jié)點的地位是相同的,處于一種對等狀態(tài),每個節(jié)點既是參與的使用者,也是任務的提供者,節(jié)點可以自由的加入或離開,不僅可擴展性強,而且具有較強的魯健性。P2P網(wǎng)絡的模式,如圖1所示。
圖1 P2P網(wǎng)絡的模式
選擇最優(yōu)P2P網(wǎng)絡特征向量是建立性能優(yōu)異的P2P網(wǎng)絡流量識別方法的一個重要方面,因為特征太多,那么使得P2P網(wǎng)絡流量識別模型的輸入向量數(shù)量大,P2P網(wǎng)絡流量識別效率低,同時一些特征向量之間有信息重復,使得它們之間相互干擾,對P2P網(wǎng)絡流量識別精度產(chǎn)生不利影響,本文基于特征差異性明顯、能夠識別出P2P網(wǎng)絡流量和非P2P網(wǎng)絡流量原則,選擇的P2P網(wǎng)絡流量識別特征,如表1所示。
表1 P2P網(wǎng)絡流量識別特征
徑向基神經(jīng)網(wǎng)絡是一種最常用的人工神經(jīng)網(wǎng)絡,通常為3層結(jié)構(gòu),具體為:輸入層、隱含層和輸出層,每一層根據(jù)實際的問題具有不同數(shù)量的節(jié)點,設(shè)它們的節(jié)點數(shù)分別為:n、p和m個,那么徑向基神經(jīng)網(wǎng)絡拓撲結(jié)構(gòu),如圖2所示。
圖2 徑向基神經(jīng)網(wǎng)絡的拓撲結(jié)構(gòu)
徑向基神經(jīng)網(wǎng)絡的基本工作步驟如下。
Step1:對于輸入向量Xl=[X1l,X2l,…,Xnl]T,通過徑向基函數(shù)φ(·)變換到隱含層,可以得到隱含層第i個節(jié)點的單元輸出,如式(1)。
(1)
徑向基函數(shù)φ(·)通常采用高斯函數(shù),那么式(1)變化為式(2)。
(2)
式中,σ表示聚類中心的寬度。
Step2:將隱含層的輸出作為輸出層的輸入,通過連接權(quán)值wik得到輸出層的第k個節(jié)點的輸出,如式(3)。
(3)
Step1:分析P2P網(wǎng)絡的結(jié)構(gòu),提取P2P網(wǎng)絡流量識別特征。
Step2:采集P2P網(wǎng)絡流量識別特征值,并對特征進行歸一化處理,如式(4)。
(4)
Step3:采集P2P網(wǎng)絡流量數(shù)據(jù),并對P2P網(wǎng)絡流量和非P2P網(wǎng)絡流量進行標記。
Step4:根據(jù)特征和標記的P2P網(wǎng)絡流量和非P2P網(wǎng)絡流量值建立學習樣本。
Step5:根據(jù)P2P網(wǎng)絡流量的特征向量數(shù)確定徑向基神經(jīng)網(wǎng)絡的輸入層節(jié)點數(shù),并根據(jù)一定的規(guī)則確定隱含層的節(jié)點數(shù),根據(jù)P2P網(wǎng)絡流量的類型確定輸出層的節(jié)點數(shù)。
Step6:初始徑向基神經(jīng)網(wǎng)絡的相關(guān)參數(shù),如連接權(quán)值、聚類中心的數(shù)量等。
Step7:采用徑向基神經(jīng)網(wǎng)絡對P2P網(wǎng)絡流量學習樣本進行學習,建立P2P網(wǎng)絡流量識別模型。
為了分析神經(jīng)網(wǎng)絡的P2P網(wǎng)絡流量識別效果,選擇Andrew Moore提供的公共數(shù)據(jù)集作為實驗對象,其共有11個數(shù)據(jù)集,每一個數(shù)據(jù)集中有P2P網(wǎng)絡流量和非P2P網(wǎng)絡流量,每一個數(shù)據(jù)集選擇一定數(shù)量P2P網(wǎng)絡流量和非P2P網(wǎng)絡流量樣本,如表2所示。
從表2可以看出,相對于非P2P網(wǎng)絡流量,P2P網(wǎng)絡流量樣本數(shù)量相對較少,對于每一個數(shù)據(jù)集,根據(jù)3:1的比例形成訓練樣本集合和測試樣本集合,采用VC++ 編程實現(xiàn)P2P網(wǎng)絡流量識別實驗。
選擇文獻[12]和文獻[13]的P2P網(wǎng)絡流量識別方法進行對比實驗,統(tǒng)計每一個數(shù)據(jù)集。不同方法的P2P網(wǎng)絡流量識別精度,如表3所示。
表2 P2P網(wǎng)絡流量識別的實驗對象
表3 不同方法的P2P網(wǎng)絡流量識別精度比較
對表3的P2P網(wǎng)絡流量識別精度進行對比和分析可以知道,本文方法的P2P網(wǎng)絡流量識別精度最高,每一個數(shù)據(jù)集的識別精度超過95%,相對于文獻[12]和文獻[13],本文方法的P2P網(wǎng)絡流量識別精度分別提高了8.70%和6.31%,獲得了更加理想的P2P網(wǎng)絡流量識別結(jié)果。
對于一個P2P網(wǎng)絡流量識別方法,只有高精度的P2P網(wǎng)絡流量識別結(jié)果還不行,還要分析其P2P網(wǎng)絡流量的虛警率和漏報率。不同方法的P2P網(wǎng)絡流量的虛警率和漏報率如圖3、圖4所示。
圖3 不同方法的P2P網(wǎng)絡流量的虛警率對比
圖4 不同方法的P2P網(wǎng)絡流量的漏報率對比
從圖3、圖4可以看出,無論是P2P網(wǎng)絡流量的虛警率或者漏報率,本文方法更低,對比結(jié)果表明,本文方法的P2P網(wǎng)絡流量識別整體性能更優(yōu)。
由于P2P網(wǎng)絡流量識別的計算性能也是重要的評價指標,因此統(tǒng)計不同方法的P2P網(wǎng)絡流量學習時間(秒,s),每一種方法進行5次學習實驗,如圖5所示。
圖5 不同方法的P2P網(wǎng)絡流量學習對比
從圖5的P2P網(wǎng)絡流量識別的學習時間可以看出,本文方法的P2P網(wǎng)絡流量學習時間要少于文獻[12]和文獻[13],從計算性能的角度分析,本文方法是最佳的P2P網(wǎng)絡流量識別方法,可以對大規(guī)模的P2P網(wǎng)絡流量數(shù)據(jù)進行分析。
隨著P2P網(wǎng)絡應用范圍的不斷拓寬,應用類型日趨復雜多樣,給P2P網(wǎng)絡的管理帶來了一定的挑戰(zhàn),為了更加精細的對P2P網(wǎng)絡進行管理,結(jié)合P2P網(wǎng)絡流量變化特征,提出了神經(jīng)網(wǎng)絡的P2P流量識別方法,并通過具體P2P網(wǎng)絡流量數(shù)據(jù)實例進行了仿真測試,結(jié)果表明,本文方法是一種精度高、速度快的P2P網(wǎng)絡流量識別方法,并且P2P網(wǎng)絡流量識別結(jié)果的穩(wěn)定性要優(yōu)于當前其它P2P網(wǎng)絡流量的識別方法,具有十分廣泛的應用前景。