謝生鋒
(河南機(jī)電高等專科學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)系 新鄉(xiāng) 453000)
基于數(shù)據(jù)挖掘的P2P流量檢測(cè)技術(shù)研究
謝生鋒
(河南機(jī)電高等??茖W(xué)校計(jì)算機(jī)科學(xué)與技術(shù)系新鄉(xiāng)453000)
本文介紹了目前主流的幾種P2P流量檢測(cè)技術(shù),并分析了它們的優(yōu)缺點(diǎn),最后通過(guò)對(duì)數(shù)據(jù)挖掘技術(shù)和關(guān)聯(lián)規(guī)則的介紹,提出了一種通用的P2P流量檢測(cè)技術(shù)方法,該方法通過(guò)對(duì)網(wǎng)絡(luò)數(shù)據(jù)流的處理,挖掘頻繁項(xiàng)集,得出關(guān)聯(lián)規(guī)則,根據(jù)得到的關(guān)聯(lián)規(guī)則來(lái)判斷P2P網(wǎng)絡(luò)流。
P2P流量檢測(cè)數(shù)據(jù)挖掘關(guān)聯(lián)規(guī)則
近年來(lái),隨著P2P技術(shù)的快速發(fā)展,出現(xiàn)了各種類型的P2P應(yīng)用軟件,如文件共享系統(tǒng)、即使通訊系統(tǒng)、流媒體系統(tǒng)和視頻點(diǎn)播系統(tǒng)等類型,這些應(yīng)用軟件在極大的方便用戶的同時(shí),但也帶來(lái)了對(duì)整個(gè)互聯(lián)網(wǎng)流量的影響,占用大量的網(wǎng)絡(luò)帶寬,導(dǎo)致網(wǎng)絡(luò)擁塞,因此深入分析研究P2P流量的檢測(cè)技術(shù),監(jiān)控和管理P2P服務(wù),對(duì)保證互聯(lián)網(wǎng)的正常運(yùn)行非常重要。
2.1基于端口的P2P識(shí)別
在第一代P2P應(yīng)用中,大多數(shù)應(yīng)用使用的都是固定端口號(hào)。通過(guò)取出TCP數(shù)據(jù)包或者UDP數(shù)據(jù)包首部的源端口或者目的端口,和常用的固定端口相比較,如果匹配,表明有一個(gè)P2P應(yīng)用程序在運(yùn)行。
基于端口的識(shí)別方法具有簡(jiǎn)單,易于實(shí)施的特點(diǎn),同時(shí)還可以提示未知端口的出現(xiàn)。但是隨著P2P軟件允許手工選擇端口,偽隨機(jī)端口,比如使用傳統(tǒng)Web服務(wù)的HTTP端口(80),這樣就給區(qū)分P2P流量和其它網(wǎng)絡(luò)流量帶來(lái)困難,在這樣的情況下,使用基于端口的P2P識(shí)別方法就不能準(zhǔn)確的識(shí)別出P2P流量。
2.2基于流量特征的P2P識(shí)別[1]
P2P應(yīng)用作為一種充分利用客戶資源的新型應(yīng)用,它在傳輸層表現(xiàn)出來(lái)的流量特征相對(duì)于其它應(yīng)用,如HTTP、FTP、DNS等,有許多不同的地方。在實(shí)際應(yīng)用中,發(fā)現(xiàn)P2P流量具有持續(xù)性和不分時(shí)段性,根據(jù)這些流量特征的特點(diǎn)來(lái)檢測(cè)P2P軟件。其優(yōu)點(diǎn)有:
(1)由于P2P應(yīng)用具有普遍共同的流量特征,新的P2P軟件也符合這一特征,可以來(lái)發(fā)現(xiàn)新的P2P軟件。
(2)雖然有的P2P軟件采用了加密技術(shù),但是根據(jù)流量特征,可以被檢測(cè)到。
其缺點(diǎn)有:
(1)由于傳輸層流量特征一般不能明確指示應(yīng)用層協(xié)議類型,所以這種方法對(duì)P2P軟件分類的能力較弱,精確性不高。
(2)很多流量特征并不是P2P流量唯一具有的,其它軟件也具有P2P軟件具有流量特征,因此需要結(jié)合其它檢測(cè)技術(shù)來(lái)排除非P2P軟件。
2.3基于深層數(shù)據(jù)包檢測(cè)的P2P識(shí)別
深層數(shù)據(jù)包檢測(cè)DPI(Deep Packet Inspection)技術(shù),就是對(duì)數(shù)據(jù)包應(yīng)用層信息中的報(bào)文的協(xié)議指紋、協(xié)議簽名進(jìn)行流量識(shí)別,對(duì)于流經(jīng)的實(shí)時(shí)網(wǎng)絡(luò)流,采用模式匹配算法,判斷是否包含特征庫(kù)中的特征串,如果包含,則證明該網(wǎng)絡(luò)流是P2P數(shù)據(jù),不過(guò)特征庫(kù)是根據(jù)具體的P2P軟件的協(xié)議以及相應(yīng)的特征代碼建立起來(lái)的[5]。
由于DPI技術(shù)采用逐包分析、模式匹配技術(shù),因此,可以對(duì)流量中的具體應(yīng)用類型和協(xié)議做到比較準(zhǔn)確的識(shí)別,并且易于理解、升級(jí)方便、維護(hù)簡(jiǎn)單。不過(guò)該識(shí)別技術(shù)具有滯后性,也就是當(dāng)有新的P2P軟件出現(xiàn)時(shí),必須先升級(jí)特征庫(kù),才能識(shí)別出新的P2P軟件。同時(shí)對(duì)采用加密的數(shù)據(jù)包,該技術(shù)的識(shí)別能力非常有限。
2.4基于深層流檢測(cè)的P2P識(shí)別[2]
DFI(Deep Flow Inspection,深層流監(jiān)測(cè))技術(shù)是由美國(guó)Caspian公司提出,在NetFlow的識(shí)別功能基礎(chǔ)上增加了Class、Bit Rate/Packet Rate、Delay Variation、Byte Count和Flow Duration等Qos信息,以加強(qiáng)對(duì)流量的識(shí)別控制能力,其核心思路是在流識(shí)別的基礎(chǔ)上作出基于流行為的管理和控制。該識(shí)別技術(shù)能夠識(shí)別加密的P2P軟件,因?yàn)榫W(wǎng)絡(luò)流的狀態(tài)行為特征不會(huì)因加密而根本改變,因此不需要升級(jí),但是DFI作為一項(xiàng)由Caspian公司提出的技術(shù),由于其技術(shù)專利的限制,DFI技術(shù)平臺(tái)相對(duì)封閉。
通過(guò)對(duì)上面主要的P2P識(shí)別技術(shù)的介紹,可以看出它們各有優(yōu)缺點(diǎn),都不能適應(yīng)各種各樣的P2P軟件,為此本文通過(guò)運(yùn)用數(shù)據(jù)挖掘技術(shù),設(shè)計(jì)出一種通用的P2P檢測(cè)技術(shù)方法。
3.1數(shù)據(jù)挖掘及其關(guān)聯(lián)規(guī)則
數(shù)據(jù)挖掘是今年來(lái)數(shù)據(jù)庫(kù)應(yīng)用領(lǐng)域中的一種熱門技術(shù),它是指在數(shù)據(jù)庫(kù)中,利用各種分析方法與技術(shù),將過(guò)去所積累的大量繁雜的歷史數(shù)據(jù),進(jìn)行分析、歸納與整合工作,以萃取出有用的信息,找出有意義且用戶有興趣的模式,提供進(jìn)行決策的參考依據(jù)。通過(guò)數(shù)據(jù)挖掘技術(shù)能夠找尋隱藏在數(shù)據(jù)中的信息,如變化趨勢(shì)、特征及相關(guān)性,也就是從數(shù)據(jù)中挖掘信息和知識(shí)[3]。
關(guān)聯(lián)規(guī)則是數(shù)據(jù)挖掘中的重要技術(shù),其目的就是發(fā)現(xiàn)大量數(shù)據(jù)中項(xiàng)集之間有意義的關(guān)聯(lián)或相關(guān)聯(lián)系。它包括項(xiàng)集、支持度以及可信度等重要概念,其中項(xiàng)集是一組項(xiàng),每個(gè)項(xiàng)都是一個(gè)屬性值,支持度是用于度量一個(gè)項(xiàng)集出現(xiàn)的頻率,可信度是用概率來(lái)衡量的,其數(shù)值等于項(xiàng)集A的支持度除項(xiàng)集{A,B}的支持度。關(guān)聯(lián)規(guī)則挖掘的執(zhí)行步驟包括如下:首先是給定最小支持度及最小可信度,其次根據(jù)關(guān)聯(lián)規(guī)則算法—Apriori算法,挖掘頻繁項(xiàng)集,最后根據(jù)頻繁項(xiàng)集生成關(guān)聯(lián)規(guī)則[4]。
3.2關(guān)聯(lián)規(guī)則挖掘和檢測(cè)P2P網(wǎng)絡(luò)流的方法
根據(jù)關(guān)聯(lián)規(guī)則挖掘的執(zhí)行步驟,檢測(cè)P2P網(wǎng)絡(luò)流須執(zhí)行以下以下幾個(gè)部分:
(1)數(shù)據(jù)源的獲取
通過(guò)截獲網(wǎng)絡(luò)數(shù)據(jù)包來(lái)作為數(shù)據(jù)源,在Windows平臺(tái)下, WinPcap是用于網(wǎng)絡(luò)封包抓取的一套工具,它可以作為高級(jí)程序語(yǔ)言訪問(wèn)網(wǎng)絡(luò)底層的API接口,只需把編譯好的庫(kù)文件引用過(guò)來(lái),在程序中調(diào)用庫(kù)中的函數(shù),其功能可以實(shí)現(xiàn)捕獲原始數(shù)據(jù)包,根據(jù)定義的規(guī)則過(guò)濾要發(fā)送的數(shù)據(jù)包,網(wǎng)絡(luò)流量統(tǒng)計(jì)等。在Linux平臺(tái)下,有基于命令行的抓包工具-Tcpdump
(2)數(shù)據(jù)處理,建立項(xiàng)集
要建立項(xiàng)集,需要對(duì)截獲的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行處理,首先要過(guò)濾掉DNS、SNMP、FTP等數(shù)據(jù)包,對(duì)TCP/UDP數(shù)據(jù)包進(jìn)行拆包操作,找出源IP地址、源端口號(hào)、目的IP地址、目的端口號(hào)、協(xié)議類型、連接的ID和截獲時(shí)間等主要網(wǎng)絡(luò)數(shù)據(jù),需要注意的是TCP的連接建立包含3次握手過(guò)程,對(duì)于一些失敗的連接應(yīng)去掉,UDP不存在此問(wèn)題,只需將每個(gè)UDP包視為一次連接即可,同時(shí)還要統(tǒng)計(jì)IP地址在單位時(shí)間內(nèi)的接受和發(fā)送包的數(shù)目,最后將這些主要數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù),做為建立項(xiàng)集的主要的屬性。
(3)挖掘頻繁項(xiàng)集,生成關(guān)聯(lián)規(guī)則,判斷P2P網(wǎng)絡(luò)流
通過(guò)Apriori算法,掃描數(shù)據(jù)庫(kù),來(lái)找出頻繁項(xiàng)集,不過(guò)Apriori算法的效率比較低,因?yàn)锳priori算法是不斷的迭代來(lái)找出頻繁項(xiàng)集,現(xiàn)在已有改進(jìn)的Apriori算法,能減少數(shù)據(jù)庫(kù)的掃描次數(shù),根據(jù)頻繁項(xiàng)集,設(shè)定支持度和可信度,來(lái)生成關(guān)聯(lián)規(guī)則,這時(shí)生成的關(guān)聯(lián)規(guī)則并不是最終的規(guī)則,因?yàn)榫W(wǎng)絡(luò)流是不斷變化的,需要重復(fù)上述過(guò)程,將多次生成的關(guān)聯(lián)規(guī)則合并,挖掘頻繁項(xiàng)集,直到不產(chǎn)生新的關(guān)聯(lián)規(guī)則。當(dāng)檢測(cè)到有網(wǎng)絡(luò)流違反關(guān)聯(lián)規(guī)則的最小概率事件發(fā)生時(shí),該網(wǎng)絡(luò)流的可疑度就增加,當(dāng)違反多個(gè)關(guān)聯(lián)規(guī)則的最小概率事件時(shí),多個(gè)可疑度之和超過(guò)預(yù)設(shè)的閥值,則可以判斷是P2P網(wǎng)絡(luò)流。
本文通過(guò)介紹國(guó)內(nèi)外現(xiàn)有的P2P流量檢測(cè)技術(shù),并比較他們的優(yōu)缺點(diǎn),最后通過(guò)運(yùn)用數(shù)據(jù)挖掘中的關(guān)聯(lián)規(guī)則技術(shù),提出了一種通用的P2P流量檢測(cè)方法,但是該方法還有一些不足,如由挖掘頻繁項(xiàng)集生成的關(guān)聯(lián)規(guī)則,沒(méi)做深入具體的分析,還有沒(méi)有對(duì)方法進(jìn)行具體的測(cè)試,這些都待進(jìn)一步研究。
[1]徐雅斌.一個(gè)基于云計(jì)算的P2P流量識(shí)別系統(tǒng)模型的研究[J].電信科學(xué),2012(12):58-62.
[2]譚靜.基于混合特征的P2P流量識(shí)別方法[J].計(jì)算機(jī)仿真,2014,31(3):316-318.
[3]袁雪美.P2P流量識(shí)別技術(shù)綜述[J].計(jì)算機(jī)應(yīng)用,2009,29(12):11-14.
[4]徐周李,姜志宏,莫松海,樊鵬翼.基于應(yīng)用層簽名的P2P流媒體流量識(shí)別[J].計(jì)算機(jī)應(yīng)用研究,2009,26(6):2214-2216.
[5]李致遠(yuǎn),王汝傳.一種基于機(jī)器學(xué)習(xí)的P2P網(wǎng)絡(luò)流量識(shí)別方法[J].計(jì)算機(jī)研究與發(fā)展,2011,48(12):2253-2259.
若新代價(jià)值優(yōu)于舊代價(jià),則替換,否則,保留舊有路線;利用兩分法進(jìn)行局部?jī)?yōu)化;根據(jù)已知最佳回路,少量更新信息素。經(jīng)過(guò)以上改進(jìn)之后,DTN主動(dòng)路由方案的具體實(shí)現(xiàn)步驟如下:
①采集DTN網(wǎng)絡(luò)基本信息,包括節(jié)點(diǎn)、節(jié)點(diǎn)的度、節(jié)點(diǎn)間的邊,以及邊的長(zhǎng)度等參數(shù);
②采用聚類算法,依據(jù)地理位置和傳輸時(shí)延將全部用戶節(jié)點(diǎn)劃分為若干個(gè)互不相交的小區(qū),并在小區(qū)中選擇一個(gè)匯聚節(jié)點(diǎn);
③在小區(qū)內(nèi)和全網(wǎng)范圍內(nèi),分別設(shè)置無(wú)人機(jī)進(jìn)行節(jié)點(diǎn)巡航,并計(jì)算最佳節(jié)點(diǎn)巡航路線;
④通過(guò)無(wú)人機(jī)巡航完成全網(wǎng)的信息傳輸。
文中針對(duì)平流層的特點(diǎn),研究了DTN主動(dòng)路由的設(shè)計(jì)方法,采用先聚類,后分層,再由無(wú)人機(jī)巡航的方式進(jìn)行主動(dòng)路由。主動(dòng)路由技術(shù)與背景技術(shù)相比,具有如下優(yōu)點(diǎn):①無(wú)人機(jī)航跡規(guī)劃算法中,采用了改進(jìn)型的蟻群算法;②以機(jī)動(dòng)性能良好的無(wú)人機(jī)作為擺渡節(jié)點(diǎn),為用戶節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù);③將無(wú)人機(jī)分為2個(gè)層次:全網(wǎng)無(wú)人機(jī)和小區(qū)無(wú)人機(jī),二者有著明確的功能劃分;④根據(jù)DTN網(wǎng)絡(luò)的特點(diǎn),采用聚類算法進(jìn)行節(jié)點(diǎn)的聚類以及區(qū)域的劃分。在后續(xù)研究中,會(huì)考慮將DTN的主動(dòng)路由技術(shù)的應(yīng)用場(chǎng)景從平流層擴(kuò)展到太空以及深空段,針對(duì)太空及深空環(huán)境的特點(diǎn)設(shè)計(jì)相應(yīng)的DTN主動(dòng)路由技術(shù)。
參考文獻(xiàn)
[1]肖明軍,黃劉生.容遲網(wǎng)絡(luò)路由算法[J].計(jì)算機(jī)研究與發(fā)展, 2009,46(7):1065-1073.
[2]Fall K.A Delay-Tolerant Network Architecture for Challenged Internets[C].Proc.of the ACM SIGCOMM 2003. NewYork:ACM,2003:27-34.
[3]衛(wèi)平青.延遲容忍網(wǎng)絡(luò)中的路由算法研究[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2008.
[4]龍飛.衛(wèi)星網(wǎng)絡(luò)魯棒QoS路由技術(shù)研究[M].北京:國(guó)防工業(yè)出版社,2010.
[5]Daly E,Haahr M.Social Network Analysis for Routing in Disconnected Delay-tolerant MANETs[C].Proc.of the ACM MOBIHOC.New York:ACM,2007:32-40.
[6]Pan H,Chaintreau A,Scott J,et al.Pocket Switched Networks and Human Mobility in Conference Environments[C].Proc.of the 2005 ACM SIGCOMM Workshop on Delay-Tolerant Networking.Philadelphia:ACM,2005:244-251.
[7]Anil K J.Data Clustering:50 Years beyond K-Means[J].Pattern Recognition Letters,2010,31(8):651-666.
[8]胡中華.基于智能優(yōu)化算法的無(wú)人機(jī)航跡規(guī)劃若干關(guān)鍵技術(shù)研究[D].南京:南京航空航天大學(xué),2011.
Research on P2P Traffic Detection Technology Based on Data Mining
XIE Sheng-feng
(DepartmentofComputerScience&Technology,He’nanMechanicalandElectricalEngineeringCollege,XinxiangHe’nan453000,China)
This paper introduces several P2P traffic detection technologies,and analyzes their strengths and weaknesses.Based on data mining and association rules,a general P2P traffic detection method is put forward.This method is used to derive the association rules by processing of network data stream and mining of frequent itemsets,and determine the P2P network flow according to the association rules.
P2P;traffic detection;data mining;association rules
TP206.3
A
1008-1739(2015)13-71-3
定稿日期:2015-06-12