丁 斌, 焦素云, 閆曉亮
(長春工業大學 計算機科學與工程學院,吉林 長春 130012)
近年來,互聯網的浪潮席卷全球,網絡應用也順應這次浪潮急速增長,每個應用都可以定制自己的網絡應用,也給辦公學習帶來了很多方便;但由于網絡資源有限,大量的數據包充斥在網絡環境里,很容易出現網絡故障。如何合理地調度和使用網絡資源已成為當下比較熱門的話題,而網絡應用是網絡中主要的傳輸對象和制造擁塞的對象。因此,對網絡應用的確認識別以及有效的合理控制已迫在眉睫。但是網絡應用不僅體現為基數很大,而且還有其獨特的復雜性。如私有協議的使用、加密數據的傳輸、動態端口技術的使用等;P2P流量在網絡應用中有占有率小、網絡流量占有率大的特點;而且P2P流量有其比較獨特的特征;區分出P2P流量與非P2P流量,然后進行特征識別,可以提高分析效率及準確率。
對等網絡(P2P)又稱工作組,每個在P2P網絡中的機器既可以做客戶端也可以做服務器端,完全打破了傳統的C/S模式,網絡結構如圖1所示。
1.2.1 從流量數分析
P2P提高傳輸速率的方法是同時開啟多個TCP連接,而且采用雙向傳輸,從而要比單TCP連接效率高,但是網絡資源占用也比較大,而網絡資源是有限的,因此,P2P應用要占用更多的網絡資源。
1.2.2 從服務器負載分析
P2P網絡中沒有固定的服務器端,每臺設備既可以作為客戶端,也可以作為服務器端。P2P使得數據存儲模式由“內容位于中心”轉變為“內容位于邊緣”。
1.2.3 從網絡瓶頸點分析
傳統的網絡架構模式是客戶端與服務器模式,因為網絡架構的模式導致網絡瓶頸點主要集中在一些固定的地方,而網絡吞吐量主要受限于網絡瓶頸點,因此以前的模式很容易導致網絡擁塞;但是P2P的架構模式很好地平衡了網絡資源,網絡瓶頸點比較少,很少能導致網絡擁塞,有利于提高網絡利用率。
1.2.4 從RTT分析
根據TCP/IP協議,不同的RTT流會采用不同的流控措施,RTT小的數據流能夠得到優先傳輸,在出現網絡擁塞的時候,RTT會增大,但是由于P2P的架構原因,P2P應用的RTT值較小,從而獲得更好的數據通信能力。
P2P流量的總體特點是:并發啟用多個TCP連接、單位時間內吞吐量高、RTT相對較小、目的地址相對較多。

圖1 網絡結構
基于流量特征的P2P流量識別技術不需要解析和還原協議,能夠識別未知和加密的數據流,但是無法識別出具體的應用類型。陳云菁[1]等利用了基于決策樹模型的P2P流量分類方法,應用C4.5算法以及P2P流量的特征屬性構建決策樹模型來對P2P流量進行識別;許博[2]等利用了基于隱馬爾科夫模型的P2P流量識別技術,通過使用分組大小、到達時間的時間間隔以及到達順序等特征來構建模型。崔燕[3]等利用了基于行為特征加權的P2P流識別方法,通過分析每個節點在P2P架構中的作用,將節點分為不同的級別,級別不一樣,賦予不一樣的權值,最后根據權值和特征信息來識別P2P。
應用流量分析模型區分出P2P流量和非P2P流量,然后對非P2P流量中的具體應用進行識別。文中采用Apriori算法[4-8]對非P2P流量進行自動化提取。提取流量的特征主要是數據載荷信息和數據包長特征。
特征字符串就是在載荷信息里面固定不變的字段。可以是協議層的信息,如應用版本號信息、協議的名稱;也可以是協議控制信息的內容,如命令行信息具體標識等。經研究,此兩類的特征信息分布在前幾個包的概率更大。
通過大量研究表明,數據流中的特征數據主要分布在數據包載荷信息中前20個字節里,其中數據包的包長,每條數據流的總字節數在訓練集總字節數中的比例,也可以作為數據流的特征屬性;現我們將偏移為j的數據包的前N個字節記為JLEN,數據包包長記為PLEN,數據流所占訓練集的比重記為BRA,因此,需要統計的一個事務T包含JLEN/PLEN/BRA這3項。由于JLEN的內容和位置有關系,因此,需要對JLEN中的數據進行有效編碼,這里用5位數據來表示,例如,將載荷信息的第1個字節03編碼為I0103,其中I標識符,第2位和第3位表示該字節在數據包中的位置,第4位和第5位表示內容。
設I={I1,I2,…,Im}是項的集合,其中Ii稱為項,對于任意X滿足X?I,稱X為K項集。記D={T1,T2,…,Tn}為I上的數據集或事務數據庫,其中Ti={JLENi,PLENi,BRAi,PRAi}包含4個字段,稱Ti為一個事務,其中JLENi是一個數據包前N個字節經過編碼后的表示,且JLENi?I。
Apriori算法是一種數據挖掘中關聯規則的頻繁項集算法,主要是通過候選集的生成以及情節的向下封閉檢測來挖掘頻繁項集。
得到的頻繁項集可能會有包含關系存在,可能產生高的誤識別率;網絡應用的特征信息主要分布在載荷數據前面的字節部分。在此介紹一種支持度修正和頻繁項過濾方法:

式中:supnew(X)——頻繁項集X經過修正后的支持度;
sup(X)——修正前的支持度;
posi——頻繁項集中第i項的位置;
K——頻繁項集中項的個數,項的位置從零開始編號,K是一個常數;
f1(x)——關于x(x>0)的連續單調減函數。
經過修正,使得高度滿足特征字符串位置分布的頻繁項集的頻度得到適當升高,該方法能夠兼顧高識別率和低誤報率。另外,可以挖掘包長特征,然后結合特征字符串進一步準確地確定網絡應用。

表1 手動分析網絡應用的特征信息

表2 Apriori算法得到的特征信息
由表1和表2對比可知,經過自動分析的特征信息與手動分析的特征信息相似度很高,說明此時自動分析的方法在提取特征信息方面比較好。
在區分P2P流量和非P2P流量的基礎上分析非P2P流量的特征字符,這樣極大地減少了噪聲信息,能夠更精確地區分出網絡應用的特征信息。但準確率高的前提是必須保證P2P流量和非P2P流量的區分程度,二者越獨立,分析出的非P2P流量的特征字段越準確;不過現階段很多應用使用加密流量,此方法還是不能很好地識別出加密流的特征字符,可以作為下一步的研究方向。
[1] 陳云菁,張赟,陳經濤.基于決策樹模型的P2P流量分類方法[J].計算機應用研究,2009,26(12):4690-4693.
[2] 許博,陳鳴,魏祥麟.基于隱馬爾科夫模型的P2P流識別技術[J].通信學報,2012,33(6):55-63.
[3] 崔燕,汪斌強,陳庶樵,等.基于行為加權的P2P流識別方法研究[J].計算機工程與設計,2009,30(20):33-41.
[4] 張杰.基于網格的分布式Apriori和經典Apriori算法的知識挖掘[J].軟件導刊,2012(1):21-30.
[5] 張海英,浦磊,潘永湘.一種自適應快速關聯規則挖掘算法[J].計算機工程與應用,2005,28:30-41.
[6] Yang A M,Jiang S Y,Deng H.A P2Pnetwork traffic classification method using SVM[C]//Proc.of the9th Int'l Conf.for Young Computer Scientists.[S.l.]:IEEE Computer Society,2008:398-403.
[7] Este A,Gringoli F,Salgarelli L.On the stability of the information carried by traffic flow features at the packet level[J].ACM SIGCOMM Computer Communication Review,2009,39(3):13-18.
[8] 吳小花,何曉報,趙東卓.基于頻繁IP地址的DDOS檢測[J].長春工業大學學報:自然科學版,2012,33(6):625-628.