摘 要:通過對P2P流量識別技術(shù)現(xiàn)狀的研究,提出了基于應(yīng)用層簽名的P2P流媒體流量識別方法。分析和提取了五種主流P2P流媒體平臺的應(yīng)用層簽名特征,并通過實(shí)驗(yàn)驗(yàn)證了基于應(yīng)用層簽名的P2P流媒體流量識別方法的有效性。
關(guān)鍵詞:P2P流媒體;應(yīng)用層簽名;流量識別
中圖分類號:TP393文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2009)06-2214-03
doi:10.3969/j.issn.1001-3695.2009.06.065
Identification of P2P streaming traffic using application signatures
XU Zhou-li,JIANG Zhi-hong,MO Song-hai,F(xiàn)AN Peng-yi
(Dept. of System Engineering, College of Information System Management, National University of Defense Technology, Changsha 410073, China)Abstract:This paper surveyed the current P2P traffic identification technology and proposed a novel method using application signature to identify P2P streaming traffic.Analyzed and extracted features of application signatures for five representative P2P streaming platforms.The identification result shows the effectiveness of the proposed method.
Key words:P2P streaming;application signature;traffic identification
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)絡(luò)媒體逐漸成為新聞輿論戰(zhàn)的重要載體和骨干力量,軍事專家預(yù)言:網(wǎng)絡(luò)輿論戰(zhàn)將成為未來信息化戰(zhàn)爭中新聞輿論戰(zhàn)的主要作戰(zhàn)樣式。在網(wǎng)絡(luò)輿論戰(zhàn)中,通過網(wǎng)絡(luò)電視傳播戰(zhàn)場實(shí)時(shí)畫面、電視采訪和評論節(jié)目以及電視發(fā)言人直播畫面是獲得網(wǎng)絡(luò)輿論主導(dǎo)權(quán)的最有效手段之一。目前,非結(jié)構(gòu)化P2P流媒體技術(shù)已成為互聯(lián)網(wǎng)上實(shí)現(xiàn)網(wǎng)絡(luò)電視的主流技術(shù)。但隨著P2P流媒體服務(wù)在我國的飛速發(fā)展,到目前為止,由于缺乏一套完整有效的P2P流媒體服務(wù)監(jiān)管技術(shù)體系,存在著嚴(yán)重的安全隱患。一旦我國介入戰(zhàn)爭,敵對勢力很容易利用該項(xiàng)技術(shù)以達(dá)到奪取網(wǎng)絡(luò)輿論戰(zhàn)主導(dǎo)權(quán)的戰(zhàn)略目的。主要表現(xiàn)在以下幾個(gè)方面:
a)戰(zhàn)爭期間,境內(nèi)外敵對勢力可以很小的代價(jià)隨意開設(shè)很多臨時(shí)的網(wǎng)絡(luò)電視臺或電臺,對我國的廣大用戶群傳播反動的節(jié)目內(nèi)容。
b)敵對勢力無須通過攻擊衛(wèi)星信道、有線電視線路上插播等較為專業(yè)的攻擊手段,利用境外加入節(jié)點(diǎn)即可插播反動內(nèi)容,攻擊手段隱蔽性更強(qiáng),成本更低。
c)敵對勢力將采用非標(biāo)準(zhǔn)化P2P網(wǎng)絡(luò)協(xié)議、匿名通信和內(nèi)容加密等技術(shù)加強(qiáng)其P2P流媒體傳輸機(jī)制的抗毀性和自適應(yīng)性,使得對敵對P2P流媒體節(jié)目實(shí)行有效的監(jiān)管、攻擊和防御變得十分困難。
目前,在P2P流媒體安全監(jiān)管技術(shù)方面,絕大多數(shù)采用的技術(shù)解決方案是在內(nèi)部園區(qū)網(wǎng)出入口采用“堵殺”策略,即將P2P流媒體流視為P2P流進(jìn)行識別和整體過濾,缺乏精確而有效的專門針對P2P流媒體的實(shí)時(shí)識別和過濾方法。
1 P2P流量識別技術(shù)
在網(wǎng)絡(luò)流量識別中,通常將網(wǎng)絡(luò)流量分為傳統(tǒng)Internet業(yè)務(wù)流量和P2P業(yè)務(wù)流量兩種。主流的P2P業(yè)務(wù)流量識別方法可以分為以下三類:
a)基于應(yīng)用層簽名的識別方法,也叫做深層數(shù)據(jù)包識別方法(DPI)。文獻(xiàn)[1]通過分析可用的文檔和實(shí)際報(bào)文TRACE獲得應(yīng)用層簽名特征,然后利用簽名特征匹配識別流量。它們對Gnutella、eDonkey、DirectConnect、BitTorrent以及Kazaa的簽名特征進(jìn)行了分析,并利用這些簽名特征匹配識別了這五種流量,證明該方法可以達(dá)到95%的精確率。基于應(yīng)用層簽名的識別方法主要優(yōu)點(diǎn)是簡單、準(zhǔn)確性高,可對流量進(jìn)行應(yīng)用分類。
b)基于流量特征的識別方法。該方法包括TCP/UDP法、(IP,PORT)法、端口識別技術(shù)、節(jié)點(diǎn)角色分析技術(shù)和網(wǎng)絡(luò)直徑分析技術(shù)等。文獻(xiàn)[2]提出基于傳輸層的識別方法,主要利用兩個(gè)啟發(fā)式來識別P2P流量,即TCP/UDP法和(IP,PORT)法。文獻(xiàn)[3]首次提出P2P流量識別問題,并利用端口識別技術(shù),對Fast-Track、Gnutella和DirectConnect三種具有代表性的P2P系統(tǒng)的流量特征進(jìn)行了分析。文獻(xiàn)[4]采用節(jié)點(diǎn)角色分析技術(shù),利用P2P系統(tǒng)中每個(gè)節(jié)點(diǎn)既是服務(wù)器又是客戶端的特點(diǎn)識別了Winny流量。文獻(xiàn)[5]綜合利用節(jié)點(diǎn)角色分析技術(shù)和網(wǎng)絡(luò)直徑分析技術(shù)去識別P2P流。基于流量特征的識別方法最大優(yōu)點(diǎn)是能夠識別加密和未知的P2P流量。
c)跨層方法。文獻(xiàn)[6]提出一種基于活躍網(wǎng)絡(luò)(active networking) 的跨層流量識別和優(yōu)化方法。首先設(shè)計(jì)了一個(gè)P2P測量、識別和優(yōu)化的跨層識別方法,該方法可以處理已知和未知P2P 流量的動態(tài)性和不可預(yù)測性;然后將該方法建立在活躍網(wǎng)絡(luò)平臺上,使得該方法獲得了活躍網(wǎng)絡(luò)所具有的靈活性,可以應(yīng)付新P2P協(xié)議和已知P2P協(xié)議的快速變化。文獻(xiàn)[7]綜合利用基于應(yīng)用層簽名方法分類能力強(qiáng)和基于流量特征方法能識別加密和未知流量的特點(diǎn),設(shè)計(jì)實(shí)現(xiàn)了基于雙重特征的P2P流量識別方法,提高了識別精度和效率。
在P2P業(yè)務(wù)流量中,文件共享應(yīng)用流量和P2P流媒體應(yīng)用流量是兩個(gè)主要組成部分。現(xiàn)有相關(guān)識別技術(shù)的研究主要是針對文件共享的P2P流量識別,即如何將基于P2P的文件共享應(yīng)用的數(shù)據(jù)流與其他傳統(tǒng)Internet業(yè)務(wù)數(shù)據(jù)流區(qū)分開來,而對于P2P流媒體應(yīng)用流量的識別研究相對還比較少。本文分析了基于應(yīng)用層簽名的流量識別方法,將其應(yīng)用于P2P流媒體流量的識別和分類,并利用該方法對主流的P2P流媒體應(yīng)用流量進(jìn)行識別,即將主流P2P流媒體流從背景流量(包括P2P文件共享流量和Internet傳統(tǒng)業(yè)務(wù)流量)識別和標(biāo)志出來。基于應(yīng)用層簽名的P2P流媒體流量識別的研究,是實(shí)現(xiàn)P2P流媒體監(jiān)管,掌握網(wǎng)絡(luò)輿論戰(zhàn)的信息傳播控制與主導(dǎo)權(quán)的技術(shù)基礎(chǔ)。
2 P2P流媒體的應(yīng)用層簽名特征
P2P流媒體系統(tǒng)與P2P文件共享系統(tǒng)最大的不同在于對等節(jié)點(diǎn)間數(shù)據(jù)共享的模式:傳統(tǒng)文件共享系統(tǒng)是下載后運(yùn)行(play-after-downloading)模式,而流媒體系統(tǒng)采用邊下載邊運(yùn)行(play-while-downloading)。因此,與傳統(tǒng)的P2P 文件共享系統(tǒng)相比,P2P實(shí)時(shí)流媒體系統(tǒng)需要為流媒體數(shù)據(jù)的實(shí)時(shí)傳輸提供要求更為嚴(yán)格的資源管理和控制功能。
流媒體應(yīng)用通常將視頻文件或?qū)崟r(shí)視頻流首先分成若干個(gè)media chunk,以便于節(jié)點(diǎn)間進(jìn)行信息交換。典型的基于mesh-pull方式的P2P流媒體系統(tǒng)包括以下幾個(gè)階段(圖1):
a)新節(jié)點(diǎn)(用戶)加入流媒體網(wǎng)絡(luò),向channel server送出詢問消息,獲得channel list;
b)當(dāng)用戶選擇頻道后,它向tracker server送出詢問消息,獲得這個(gè)頻道的online peer list;
c)新節(jié)點(diǎn)從online peer list中選擇相應(yīng)節(jié)點(diǎn)生成本地鄰居節(jié)點(diǎn)列表,并分別建立連接,以獲得media chunk數(shù)據(jù)。
此外,在協(xié)議設(shè)計(jì)上,已經(jīng)加入網(wǎng)絡(luò)的節(jié)點(diǎn)也會有選擇地交換它們的鄰居節(jié)點(diǎn)列表,以提高系統(tǒng)可用性。顯然,第三階段的流量是整個(gè)應(yīng)用流量的主要部分。
本文研究采用基于應(yīng)用層簽名的識別方法,分析和識別PPstream、PPlive、QQlive、UUsee和SopCast五個(gè)主流的P2P流媒體應(yīng)用平臺中第三階段media chunk數(shù)據(jù)傳輸部分的流量。基于應(yīng)用層簽名識別方法的關(guān)鍵是簽名特征的提取。選擇簽名特征的原則是:在數(shù)據(jù)傳輸過程中必定會出現(xiàn)且具有穩(wěn)定形態(tài),優(yōu)先選擇會重復(fù)出現(xiàn)的特征字符串,同時(shí)考慮對識別精度和識別效率的影響,要求特征字符串長度應(yīng)適中。目前獲得應(yīng)用層簽名特征的方法主要有基于相關(guān)的開發(fā)文檔和基于報(bào)文TRACE的數(shù)據(jù)分析這兩種方法。目前主流P2P流媒體平臺的通信協(xié)議均為私有協(xié)議,并不能獲取相關(guān)的開發(fā)文檔,無法采用基于開發(fā)文檔的方法來獲取簽名特征。因此本文采用基于報(bào)文TRACE的數(shù)據(jù)分析方法來獲得主流P2P流媒體平臺的應(yīng)用層簽名特征。
在具體實(shí)現(xiàn)過程中,本文利用網(wǎng)絡(luò)包分析工具軟件Wireshark,監(jiān)控和記錄每個(gè)P2P流媒體應(yīng)用平臺單獨(dú)運(yùn)行時(shí)的網(wǎng)絡(luò)報(bào)文TRACE 數(shù)據(jù),然后對這些報(bào)文TRACE數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,從而獲得上文提到的五種主流平臺的應(yīng)用層簽名特征。
下面以對PPlive應(yīng)用層簽名特征的分析為例進(jìn)行詳細(xì)說明。在本地機(jī)器上單獨(dú)運(yùn)行PPlive軟件,選擇某一頻道,用Wireshark軟件收集報(bào)文并保存,然后用Wireshark軟件跟蹤分析報(bào)文TRACE。通過跟蹤分析第三階段的TCP 連接,發(fā)現(xiàn)多數(shù)的TCP建立連接后第一個(gè)報(bào)文只有4 Byte的數(shù)據(jù),內(nèi)容為**、0x00、0x00和0x00。其中**表示非0。而通過跟蹤分析第三階段的UDP連接的每個(gè)報(bào)文,發(fā)現(xiàn)其大量報(bào)文首部字節(jié)為0xe9、0x03、**、**、0x98和0xab。其中**表示任意字節(jié)。因此提取PPlive的簽名特征如下:
(a)TCP數(shù)據(jù)傳輸?shù)暮灻卣鳌CP建立連接后第一個(gè)報(bào)文為4 Byte,內(nèi)容為**、0x00、0x00和0x00。其中**表示非0。
(b)UDP數(shù)據(jù)傳輸?shù)暮灻卣鳌?bào)文前6 Byte為0xe9、0x03、**、**、0x98和0xab。其中**表示任意字節(jié)。
對其他平臺的應(yīng)用層簽名特征的分析與PPlive平臺類似,最終本文分析得到了五個(gè)平臺的應(yīng)用層簽名特征,如表1所示。其中,PPstream主要利用TCP傳輸數(shù)據(jù),因此只需提取TCP的簽名特征;QQlive和SopCast主要利用UDP傳輸數(shù)據(jù),所以只需提取UDP的簽名特征;而PPlive和UUsee既利用TCP也利用UDP傳輸數(shù)據(jù),需要提取兩種類型的簽名特征。
3 P2P流媒體流量識別算法
基于應(yīng)用層簽名的流量識別,即是對流經(jīng)的實(shí)時(shí)網(wǎng)絡(luò)流,采用模式匹配算法,判斷其中是否包含某一應(yīng)用的簽名特征串,如果匹配成功,則判斷該網(wǎng)絡(luò)流為對應(yīng)類型的應(yīng)用流量。
在應(yīng)用簽名識別之前,首先對數(shù)據(jù)包按照流(flow)進(jìn)行分類。流是指在一定時(shí)期內(nèi)(一般認(rèn)為是64 s)產(chǎn)生的具有相同的五元組(源IP地址、源端口、目的IP地址、目的端口、協(xié)議類型)的所有數(shù)據(jù)包的集合[8]。對于TCP流,只需對TCP建立連接后的第一個(gè)包進(jìn)行簽名特征匹配,如果匹配成功,則這個(gè)流的所有包為該應(yīng)用流量;對于UDP流,僅需對UDP流的前五個(gè)包進(jìn)行簽名特征匹配,如果五個(gè)包均匹配成功,則這個(gè)流的所有包為該類型的應(yīng)用流量[9]。識別算法如圖2所示。
4 實(shí)驗(yàn)與分析
4.1 實(shí)驗(yàn)數(shù)據(jù)和過程
筆者在一臺接入互聯(lián)網(wǎng)的電腦上安裝BT和主流的五種P2P流媒體應(yīng)用軟件,然后在啟動不同軟件的情況下,利用Wireshark軟件分別采集Internet傳統(tǒng)業(yè)務(wù)流量(包括Web流量、e-mail流量和ftp流量)、P2P文件共享應(yīng)用(BT)和PPstream等五種P2P流媒體平臺各20 min數(shù)據(jù)。其中BT和五種流媒體平臺的數(shù)據(jù)都是在無其他流量的情況下采集的凈流量數(shù)據(jù),形成初始的實(shí)驗(yàn)數(shù)據(jù)集。
為了研究算法的識別精度,本文采用正確識別率(precision)和錯(cuò)誤識別率(1 positive)兩個(gè)評價(jià)指標(biāo)。假設(shè)m是簽名識別出來的應(yīng)用流量,n是實(shí)際的應(yīng)用流量,s是實(shí)際的非此應(yīng)用流量總量,t是被誤認(rèn)為應(yīng)用流量的非此應(yīng)用的流量,則正確識別率為m/n,錯(cuò)誤識別率為t/s。為進(jìn)一步對實(shí)驗(yàn)結(jié)果進(jìn)行分析,本文將識別率分為基于字節(jié)量的識別率和基于報(bào)文個(gè)數(shù)的識別率,即數(shù)據(jù)識別率和包識別率。對每個(gè)P2P流媒體平臺的凈流量數(shù)據(jù)進(jìn)行識別,以驗(yàn)證正確識別率;然后將除此平臺的其他四個(gè)平臺的凈流量數(shù)據(jù)以及BT與Internet傳統(tǒng)業(yè)務(wù)流量的數(shù)據(jù)隨機(jī)合成,以模擬真實(shí)網(wǎng)絡(luò)環(huán)境下的其他流量數(shù)據(jù)來驗(yàn)證錯(cuò)誤識別率。為了減少數(shù)據(jù)取樣造成隨機(jī)誤差,分別在不同時(shí)間段進(jìn)行了五次數(shù)據(jù)采集,并對五次采集的數(shù)據(jù)集分別進(jìn)行實(shí)驗(yàn)和測試,分析結(jié)果取五次實(shí)驗(yàn)的平均值。
4.2 實(shí)驗(yàn)結(jié)果和分析
圖3給出了五種P2P流媒體平臺的包正確識別率和數(shù)據(jù)正確識別率的實(shí)驗(yàn)結(jié)果。
從圖3可知,PPstream的包識別率只有88.18%,而數(shù)據(jù)識別率卻高達(dá)98.35%,這是因?yàn)镻Pstream主要利用TCP傳輸視頻數(shù)據(jù),利用一部分UDP傳輸控制數(shù)據(jù),實(shí)驗(yàn)中只識別了PPstream的TCP包,包識別率相對較低,但是控制數(shù)據(jù)相對視頻數(shù)據(jù)來說很小,數(shù)據(jù)識別率相對較高。UUsee和SopCast的正確識別率稍低,一個(gè)原因是UUsee和SopCast播放延遲比較長,第一、二階段的數(shù)據(jù)稍大,使得實(shí)驗(yàn)數(shù)據(jù)受影響;另一個(gè)原因就是它們的UDP簽名特征并不是出現(xiàn)在每一個(gè)UDP包中,使UDP的識別受影響。
另外本文在實(shí)驗(yàn)中發(fā)現(xiàn),五種流媒體的包錯(cuò)誤識別率和數(shù)據(jù)錯(cuò)誤識別率均為0。整個(gè)流量中僅有幾個(gè)包誤識別為PPlive、QQlive和SopCast,通過對這些包的分析,發(fā)現(xiàn)其具有這三個(gè)平臺的特征字符串,可能是其他協(xié)議發(fā)送的數(shù)據(jù)包中偶然具有與這三個(gè)平臺的特征字符串相符的字串。五個(gè)流媒體平臺的數(shù)據(jù)錯(cuò)誤識別率均為0,一方面可能是數(shù)據(jù)集不夠真實(shí);另一方面也說明基于應(yīng)用層簽名識別方法能夠有效地防止誤識別。總的來說,五種流媒體平臺的數(shù)據(jù)正確識別率均能達(dá)到89%以上,且數(shù)據(jù)錯(cuò)誤識別率均為0,說明基于應(yīng)用層簽名識別方法能夠?qū)2P流媒體進(jìn)行有效識別。
5 結(jié)束語
本文通過基于報(bào)文TRACE的數(shù)據(jù)分析方法獲得了五種主流的P2P流媒體的應(yīng)用層簽名特征,提出了一個(gè)基于應(yīng)用層簽名的識別算法,并通過實(shí)際實(shí)驗(yàn)對所提識別算法的有效性進(jìn)行了驗(yàn)證。本文研究成果可直接應(yīng)用于P2P流媒體網(wǎng)絡(luò)流量識別與管理。考慮到純粹基于應(yīng)用層簽名的識別方法存在某些缺陷,如無法識別加密的P2P流媒體流量,因此未來的工作重點(diǎn)在于進(jìn)一步研究與其他識別方法相結(jié)合的算法,以提高研究成果的實(shí)用性和適用范圍。
參考文獻(xiàn):
[1]SEN S, SPATSCHECK O, WANG Dong-mei.Accurate,scalable in-network identification of P2P traffic using application signatures[C]//Proc of the 13th International Conference on WWW.New York:ACM Press,2004:512-521.
[2]SEN S,WANG Jia.Analyzing peer-to-peer traffic across large networks[C]//Proc of ACM SIGCOMM Internet Measurement Workshop.Piscataway,NJ:IEEE Press,2002:219-232.
[3]KARAGIANNIS T, BROIDO A, FALOUTSOS M. Transport layer identification of P2P traffic[C]//Proc of the 4th ACM SIGCOMM Conference on Internet Measurement.New York:ACM Press,2004:121-134.
[4]OHZAHATA1 S, HAGIWARA1 Y, TERADA1 M,et al.A traffic identification method and evaluations for a pure P2P application[C]//Proc of Passive and Active Measurement.Berlin:Springer-Verlag, 2005:55-68.
[5]CONSTANTINOU F,MAVROMMATIS P. Identifying known and unknown peer-to-peer traffic[C]//Proc of the 5th IEEE International Symposium on Network Computing and Applications.Los Alamitos, CA:IEEE Computer Society,2006:93-102.
[6]DEDINSKI I,MEER H, HAN L,et al.Cross-layer peer-to-peer traffic identification and optimization based on active networking[C]//Proc of the 7th Annual International Working Conference on Active and Programmable Networks.2005:13-27.
[7]楊岳湘,王銳,唐川,等.基于雙重特征的P2P流量檢測方法[J].通信學(xué)報(bào),2006,27(z1):134-139.
[8]KARAGIANNIS T, BROIDO A, BROWNLEE N,et al.Is P2P dying or just hiding[C]//Proc of GlOBECOM 2004.Dallas,TX:IEEE Press,2004:1532-1538.
[9]WON Y J,PARK B C,JU H T,et al.A hybrid approach for accurate application traffic identification[C]//Proc of E2EMON’06.2006:1-8.