專利名稱::一種實(shí)時(shí)識(shí)別多種p2p-tv應(yīng)用視頻流的方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于網(wǎng)絡(luò)數(shù)據(jù)通信領(lǐng)域,特別是一種從網(wǎng)絡(luò)流量中實(shí)時(shí)準(zhǔn)確地識(shí)別出PPLive、PPStream、SopCast和UUSee等P2P-TV應(yīng)用系統(tǒng)視頻流的方法,具體地說是一種實(shí)時(shí)識(shí)別多種P2P-TV應(yīng)用視頻流的啟發(fā)式方法。
背景技術(shù):
:當(dāng)前經(jīng)過IP協(xié)議向桌面用戶分發(fā)電視流式內(nèi)容是因特網(wǎng)的一種主流應(yīng)用,并且由于P2P技術(shù)具有的資源聚合的經(jīng)濟(jì)性、較好的擴(kuò)展性和可靠性、自組織的動(dòng)態(tài)性等優(yōu)點(diǎn),使這些系統(tǒng)大都利用P2P覆蓋網(wǎng)絡(luò)對(duì)播(peercast)流式內(nèi)容。對(duì)播是指經(jīng)過P2P網(wǎng)絡(luò)以多播、廣播或單播傳輸數(shù)據(jù)流的方式,常用的是P2P多播和P2P廣播。目前我們見到的最為流行的對(duì)播應(yīng)用包括P2P應(yīng)用無線電、P2P流式音樂和基于P2P的因特網(wǎng)電視(亦稱P2P-TV)。而P2P-TV又可以分為流式直播和點(diǎn)播兩種方式。與P2P文件共享不同,上述應(yīng)用中的對(duì)等方不需要下載整個(gè)文件到本地就能夠收看或收聽流式(streaming)內(nèi)容,這就大大改善了用戶體驗(yàn)。由于電視媒體對(duì)人類文化和生活方式的重要影響力,以及它在網(wǎng)絡(luò)中產(chǎn)生的巨大流量,理解、管理和引導(dǎo)P2P-TV應(yīng)用的行為是當(dāng)前各研究機(jī)構(gòu)、因特網(wǎng)服務(wù)提供商關(guān)注和研究的主題,而這一切的前提首先要能夠識(shí)別P2P-TV流。所謂P2P-TV流是指以P2P方式傳輸?shù)碾娨曅盘?hào)報(bào)文集合,它們符合五元組{源IP地址,源端口號(hào),目的IP地址,目的端口號(hào),運(yùn)輸層協(xié)議類型}流規(guī)范和64秒超時(shí)定義的雙向流[l],可以采用如文獻(xiàn)[4]類似的思路來解決流形成和按流分析等問題。本專利給出的實(shí)時(shí)識(shí)別P2P-TV應(yīng)用視頻流的技術(shù),主要是指識(shí)別當(dāng)前流行的PPLive、PPStream、SopCast和UUSee應(yīng)用系統(tǒng)的視頻流。由于當(dāng)前大多數(shù)P2P應(yīng)用都采用了隨機(jī)端口技術(shù),因而無法利用周知端口號(hào)對(duì)P2P應(yīng)用進(jìn)行識(shí)別。當(dāng)前識(shí)別P2P-TV應(yīng)用視頻流的方法可分為3類:基于應(yīng)用協(xié)議特征字的識(shí)別方法、基于行為特征的識(shí)別方法和基于機(jī)器學(xué)習(xí)的分類方法?;趹?yīng)用協(xié)議特征字的識(shí)別方法通過分析P2P協(xié)議的應(yīng)用層負(fù)~載,提取出能夠唯一標(biāo)識(shí)出協(xié)議類型的特征字符串,以識(shí)別出P2P應(yīng)用。這種識(shí)別方法也稱為深度分組檢測(cè)(DeepPacketInspection,DPI),它具有識(shí)別準(zhǔn)確率高,但缺點(diǎn)是無法識(shí)別加密數(shù)據(jù)?;谛袨樘卣鞯淖R(shí)別方法綜合利用了流的屬性、統(tǒng)計(jì)特性以及流的行為特征,根據(jù)啟發(fā)式規(guī)則對(duì)流進(jìn)行分析,達(dá)到識(shí)別P2P應(yīng)用的目的。這種方法識(shí)別時(shí)間較長,且識(shí)別準(zhǔn)確率不夠高?;跈C(jī)器學(xué)習(xí)的分類方法通過提取各類應(yīng)用的流、分組等信息對(duì)分類器進(jìn)行訓(xùn)練,然后利用訓(xùn)練好的分類器對(duì)數(shù)據(jù)進(jìn)行分類。這種方法識(shí)別時(shí)間長,且準(zhǔn)確性有待提高。文獻(xiàn)[2]根據(jù)不同的P2P-TV系統(tǒng)在起始階段所發(fā)送的分組數(shù)目是不同的,將系統(tǒng)啟動(dòng)后固定大小的時(shí)間段按照等比數(shù)列劃分為若干個(gè)時(shí)間片,并計(jì)算出各個(gè)時(shí)間片內(nèi)所發(fā)送的分組數(shù)占總分組數(shù)的比例,構(gòu)成一個(gè)向量,并利用支持向量機(jī)識(shí)別網(wǎng)絡(luò)中的P2P-TV流量。文獻(xiàn)[3]通過分析PPLive報(bào)文結(jié)構(gòu),通過構(gòu)造節(jié)點(diǎn)列表請(qǐng)求報(bào)文獲取網(wǎng)絡(luò)中的PPLive節(jié)點(diǎn)信息,從而提出了一種主動(dòng)檢測(cè)PPLive流的方法。目前的這些識(shí)別P2P-TV視頻流的方法仍存在著識(shí)別率不夠高、識(shí)別滯后且節(jié)點(diǎn)信息殘存時(shí)間較長的缺陷,需要研制更好的識(shí)別方法。
發(fā)明內(nèi)容本發(fā)明的目的是針對(duì)目前識(shí)別P2P-TV視頻流的方法存在的識(shí)別率不夠高、識(shí)別滯后且節(jié)點(diǎn)信息殘存時(shí)間較長的缺陷,提出一種從網(wǎng)絡(luò)流量中實(shí)時(shí)準(zhǔn)確地識(shí)別出多種P2P-TV應(yīng)用系統(tǒng)視頻流的方法。本發(fā)明的技術(shù)方案是1.一種實(shí)時(shí)識(shí)別多種P2P-TV應(yīng)用視頻流的方法(簡稱基于啟發(fā)式的視頻流識(shí)別(Heuristic-basedIdentifyingVideoFlows,HIVF)方法),其特征在于,包括下列步驟A.初始化步驟由被識(shí)別的P2P-TV系統(tǒng)的服務(wù)器域名信息(參見表l)獲取相應(yīng)服務(wù)器的IP地址并存入服務(wù)器地址集ServIPAddr中;由被識(shí)別的P2P-TV系統(tǒng)UDP報(bào)文應(yīng)用層的前n個(gè)字節(jié)(nG25)作為特征字(參見表2)放入應(yīng)用層特征字表StringBase中;構(gòu)造一個(gè)節(jié)點(diǎn)信息表NodeSet,以存儲(chǔ)當(dāng)前已識(shí)別的正在運(yùn)行P2P-TV的主機(jī)IP地址,每個(gè)地址表項(xiàng)都有一個(gè)時(shí)間TTL與之關(guān)聯(lián),NodeSet初始為空,繼續(xù);B.初步識(shí)別步驟對(duì)每個(gè)到達(dá)的網(wǎng)絡(luò)鏈路的新報(bào)文,若流類型未知,由四元組(源IP地址,目的IP地址,源端口號(hào),目的端口號(hào)}信息經(jīng)散列函數(shù)判斷其是否屬于已有流;若該流記錄類型已知?jiǎng)t返回至步驟B;否則,當(dāng)報(bào)文是TCP分組則轉(zhuǎn)C,當(dāng)報(bào)文是UDP分組轉(zhuǎn)D;.C.識(shí)別與服務(wù)器通信的步驟將報(bào)文目的IP地址和源IP地址與服務(wù)器地址集ServIPAddr中的服務(wù)器IP地址進(jìn)行比對(duì),若服務(wù)器地址集中有一個(gè)IP地址與一個(gè)報(bào)文的目的IP地址匹配,則將該分組的源IP地址及相關(guān)服務(wù)器所屬的P2P-TV類型放入NodeSet中,并設(shè)相應(yīng)TTL為IO,返回至步驟B;否則直接返回至步驟B;D.匹配應(yīng)用層特征字的步驟:將報(bào)文源IP地址和目的IP地址與NodeSet中的報(bào)文源地址進(jìn)行比對(duì),若報(bào)文源IP地址和目的IP地址均不在NodeSet中,返回至步驟B;否則將報(bào)文應(yīng)用層第1~5個(gè)字節(jié)與StringBase中相應(yīng)的P2P-TV應(yīng)用層特征字比對(duì),若不匹配繼續(xù);否則該流標(biāo)識(shí)為對(duì)應(yīng)類型的P2P-TV視頻流,并設(shè)相應(yīng)TTL為IO,返回至步驟B;E.更新NodeSet表步驟每經(jīng)過16秒就檢查NodeSet所有非空表項(xiàng),將其TTL值減1,若為零則刪除該表項(xiàng),返回至步驟B;否則返回至步驟B。表1各種P2P-TV系統(tǒng)主要的服務(wù)器域名P2P-TV系統(tǒng)P2P-TV服務(wù)器域名PPLivepassport.pplive.com,vodchannel.pplive.com,iptable.pplive.com,pp.pplive.com,update.pplive.com,list.pplive.comPPStreamfds.ppstream.com,tvguide.pps.tv,vodguide.pps.tv,msg.ppstream.com,download.ppstream.com,5<table>tableseeoriginaldocumentpage6</column></row><table>注表l中的信息基本穩(wěn)定,但以后也可能會(huì)有變化表2幾種P2P-TV系統(tǒng)應(yīng)用層特征字及其位置信息(Ox表示16進(jìn)制)<table>tableseeoriginaldocumentpage6</column></row><table>注表2信息適用于近期P2P-TV應(yīng)用系統(tǒng)的版本號(hào)PPLive為2.2.26.0002,PPStream為2.3.550.1950,SopCast為3.0.3,UUSee為5.9.710.2。利用每個(gè)節(jié)點(diǎn)都具有不變的UDP監(jiān)聽端口的特點(diǎn),構(gòu)造一個(gè)監(jiān)聽端口表ListenPort,通過統(tǒng)計(jì)得到各個(gè)節(jié)點(diǎn)的監(jiān)聽端口號(hào)并記錄在ListenPort中,這時(shí)可采用效率更高的端口識(shí)別方法來識(shí)別視頻流。本發(fā)明相對(duì)于現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn)1、識(shí)別率高。較之現(xiàn)有的識(shí)別方法,本發(fā)明有較高的識(shí)別率、較低的識(shí)別差錯(cuò)率。這主要得益于HIVF方法采用了兩階段識(shí)別過程與服務(wù)器通信的過程,是根據(jù)P2P-TV節(jié)點(diǎn)必須訪問服務(wù)器地址集的行為;應(yīng)用層特征字匹配過程,流的前幾個(gè)分組包括應(yīng)用層特征字。2、效率較高,實(shí)時(shí)強(qiáng)。通過首先排除已經(jīng)識(shí)別類型的流,使方法處理對(duì)象大為減少;識(shí)別方法有較低的計(jì)算復(fù)雜性,能夠?qū)崟r(shí)在線及時(shí)處理完(不會(huì)積壓)網(wǎng)絡(luò)鏈路上所有分組,要求解決方案。圖1為本發(fā)明實(shí)施例運(yùn)行的環(huán)境。圖2為本發(fā)明實(shí)施例對(duì)應(yīng)HIVF方法流程圖。具體實(shí)施例方式下邊結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步地說明。首先需要給出本發(fā)明提供的識(shí)別方法所需要的環(huán)境,如圖1所示在Intel-Linux架構(gòu)的PC機(jī)上安裝并運(yùn)行具有的本發(fā)明的HIVF識(shí)別方法的軟件,將該P(yáng)C機(jī)的100/1000Mb/s以太網(wǎng)卡連接到接入網(wǎng)絡(luò)主干的局域網(wǎng)交換機(jī)上,并使之能夠接收到鏈路上的所有流量。如果要在高速網(wǎng)絡(luò)環(huán)境下應(yīng)用本發(fā)明的識(shí)別方法,應(yīng)當(dāng)考慮用硬件實(shí)現(xiàn)相關(guān)識(shí)別方法。運(yùn)行本發(fā)明提供的識(shí)別P2P-TV視頻流的系統(tǒng)配置如下在Intel-Linux架構(gòu)的PC機(jī)上安裝并運(yùn)行基于本發(fā)明HIVF的軟件,PC機(jī)的100/1000Mb/s以太網(wǎng)卡與網(wǎng)絡(luò)交換機(jī)相連。這些PC機(jī)硬件的主頻3.0GHz及以上的Pentium雙核CPU的PC機(jī),內(nèi)存^2GB,硬盤80GB,運(yùn)行Fedora10操作系統(tǒng)。圖2給出了本發(fā)明基本HIVF方法的工作流程圖,該流程開始于步驟SiOl,由被識(shí)別的P2P-TV系統(tǒng)的域名信息獲取相應(yīng)服務(wù)器的IP地址并存入服務(wù)器地址集ServIPAddr中;由被識(shí)別的P2P-TV系統(tǒng)UDP報(bào)文應(yīng)用層的前幾個(gè)字節(jié)作為特征字放入應(yīng)用層特征字表StringBase中;構(gòu)造一個(gè)節(jié)點(diǎn)信息表NodeSet,以存儲(chǔ)當(dāng)前已識(shí)別的正在運(yùn)行P2P-TV的主機(jī)IP地址,NodeSet初始為空,每個(gè)地址表項(xiàng)都有一個(gè)時(shí)間TTL與之關(guān)聯(lián),NodeSet初始為空,繼續(xù)轉(zhuǎn)S102。在步驟S102中,對(duì)每個(gè)到達(dá)的新報(bào)文,若流類型未知,由四元組(源IP地址,目的IP地址,源端口號(hào),目的端口號(hào)}信息經(jīng)散列函數(shù)判斷其是否屬于已有流;若該流記錄類型已知轉(zhuǎn)S102;否則,當(dāng)報(bào)文是TCP分組則轉(zhuǎn)S103,當(dāng)報(bào)文是UDP分組轉(zhuǎn)S104。在步驟S103中,將報(bào)文目的IP地址和源IP地址與服務(wù)器地址集ServIPAddr中的服務(wù)器IP地址進(jìn)行比對(duì),若服務(wù)器地址集中有一個(gè)IP地址與一個(gè)報(bào)文的目的IP地址匹配,則轉(zhuǎn)S105將該分組的源IP地址及相關(guān)服務(wù)器所屬的P2P-TV類型放入NodeSet中,并設(shè)相應(yīng)TTL為TO,轉(zhuǎn)1ST02;否則轉(zhuǎn)S102。在步驟S104,若報(bào)文源和目的地址均不在NodeSet中,轉(zhuǎn)S102;否則轉(zhuǎn)~S106。在步驟S106中,將報(bào)文應(yīng)用層第1~5個(gè)字節(jié)與StringBase中相應(yīng)的P2P-TV應(yīng)用層特征字比對(duì),若不匹配轉(zhuǎn)S108;否則轉(zhuǎn)S107,將該流標(biāo)識(shí)為對(duì)應(yīng)類型的P2P-TV視頻流,并設(shè)相應(yīng)TTL為IO,轉(zhuǎn)S102。在步驟S108中,每經(jīng)過16秒就檢査NodeSet所有非空表項(xiàng),將其TTL值減l,若為零則刪除該表項(xiàng),轉(zhuǎn)S102;否則轉(zhuǎn)S102。本方法可以通過中斷方式M出。實(shí)施例本實(shí)施例給出了某ISP在PC上運(yùn)行基于本發(fā)明識(shí)別算法的軟件對(duì)某企業(yè)網(wǎng)接入因特網(wǎng)的P2P-TV視頻流進(jìn)行識(shí)別,以掌握該企業(yè)網(wǎng)中P2P-TV視頻流的應(yīng)用情況并為制定控制管理P2P-TV視頻流方案提供科學(xué)依據(jù)。假定該企業(yè)網(wǎng)經(jīng)100/1000Mb/s速率的以太網(wǎng)鏈路與某因特網(wǎng)服務(wù)提供商的網(wǎng)絡(luò)相連。在PC上運(yùn)行基于本發(fā)明識(shí)別方法的軟件,將該P(yáng)C的100/1000Mb/s以太網(wǎng)卡連接到與因特網(wǎng)服務(wù)提供商網(wǎng)絡(luò)連接的局域網(wǎng)交換機(jī)上,并將該交換機(jī)配置為能夠監(jiān)聽與主干網(wǎng)相連的所有網(wǎng)絡(luò)流量。例如,當(dāng)該企業(yè)網(wǎng)與因特網(wǎng)直接相連,所有機(jī)器都具有唯一的因特網(wǎng)IP地址,這時(shí)網(wǎng)絡(luò)用戶使用PPLive、PPStream、SopCast和UUSee應(yīng)用系統(tǒng)觀看網(wǎng)絡(luò)電視。識(shí)別系統(tǒng)將調(diào)用HIVF方法,識(shí)別出基于UDP的這些應(yīng)用的視頻流。通過收集上述識(shí)別出來的P2P-TV視頻流信息,ISP就能統(tǒng)計(jì)出用戶使用P2P-TV網(wǎng)絡(luò)電視的數(shù)量、時(shí)間長度、用戶分布等情況等。據(jù)此,ISP就能夠制定相應(yīng)的策略管理和控制P2P-TV網(wǎng)絡(luò)電視了。本發(fā)明未涉及部分均與現(xiàn)有技術(shù)相同或可采用現(xiàn)有技術(shù)加以實(shí)現(xiàn)。參考文獻(xiàn)K.claffy.Internettrafficcharacterization.SanDiego:UniversityofCalifornia:1994.S.Valenti,D.Rossi,M.Meo,M.Mellia,P,Bermolen.Accurate,fine-grainedclassificationofP2P-TVapplicationsbysimplycountingpackets.InInternationalInTrafficMeasurementandAnalysis(TMA)WorkshopatIFIPNetworking'09Aachen,Germany,May2009.胡超,陳鳴,許博,李兵.一種基于爬蟲的分布式PPLive流實(shí)時(shí)檢測(cè)系統(tǒng).解放軍理工大學(xué)學(xué)報(bào),2008,9(5):512-516N.Brownlee,C.Mills,andG.Ruth.,TrafficFlowMeasurement:Architecture.RFC2722,1999.權(quán)利要求1.一種實(shí)時(shí)識(shí)別多種P2P-TV應(yīng)用視頻流的方法,其特征在于,包括下列步驟A.初始化步驟由被識(shí)別的P2P-TV系統(tǒng)的服務(wù)器域名信息獲取相應(yīng)服務(wù)器的IP地址并存入服務(wù)器地址集ServIPAddr中;由被識(shí)別的P2P-TV系統(tǒng)UDP報(bào)文應(yīng)用層的前n個(gè)字節(jié)作為特征字放入應(yīng)用層特征字表StringBase中;構(gòu)造一個(gè)節(jié)點(diǎn)信息表NodeSet,以存儲(chǔ)當(dāng)前已識(shí)別的正在運(yùn)行P2P-TV的主機(jī)IP地址,每個(gè)地址表項(xiàng)都有一個(gè)時(shí)間TTL與之關(guān)聯(lián),NodeSet初始為空,繼續(xù);B.初步識(shí)別步驟對(duì)每個(gè)到達(dá)的網(wǎng)絡(luò)鏈路的新報(bào)文,若流類型未知,由四元組{源IP地址,目的IP地址,源端口號(hào),目的端口號(hào)}信息經(jīng)散列函數(shù)判斷其是否屬于已有流;若該流記錄類型已知?jiǎng)t返回至步驟B;否則,當(dāng)報(bào)文是TCP分組則轉(zhuǎn)C,當(dāng)報(bào)文是UDP分組轉(zhuǎn)D;C.識(shí)別與服務(wù)器通信的步驟將報(bào)文目的IP地址和源IP地址與服務(wù)器地址集ServIPAddr中的服務(wù)器IP地址進(jìn)行比對(duì),若服務(wù)器地址集中有一個(gè)IP地址與一個(gè)報(bào)文的目的IP地址匹配,則將該分組的源IP地址及相關(guān)服務(wù)器所屬的P2P-TV類型放入NodeSet中,并設(shè)相應(yīng)TTL為10,返回至步驟B;否則直接返回至步驟B;D.匹配應(yīng)用層特征字的步驟將報(bào)文源IP地址和目的IP地址與NodeSet中的IP地址進(jìn)行比對(duì),若報(bào)文源IP地址和目的IP地址均不在NodeSet中,返回至步驟B;否則將報(bào)文應(yīng)用層第1~5個(gè)字節(jié)與StringBase中相應(yīng)的P2P-TV應(yīng)用層特征字比對(duì),若不匹配繼續(xù);否則該流標(biāo)識(shí)為對(duì)應(yīng)類型的P2P-TV視頻流,并設(shè)相應(yīng)TTL為10,返回至步驟B;E.更新NodeSet表步驟每經(jīng)過16秒就檢查NodeSet所有非空表項(xiàng),將其TTL值減1,若為零則刪除該表項(xiàng),返回至步驟B;否則直接返回至步驟B。2、根據(jù)權(quán)利要求1的實(shí)時(shí)識(shí)別多種P2P-TV應(yīng)用視頻流的方法,其特征是在步驟A中,利用每個(gè)節(jié)點(diǎn)都具有不變的UDP監(jiān)聽端口的特點(diǎn),構(gòu)造一個(gè)監(jiān)聽端口表ListenPort,通過統(tǒng)計(jì)得到各個(gè)節(jié)點(diǎn)的監(jiān)聽端口號(hào)并記錄在ListenPort中,這時(shí)可采用效率更高的端口識(shí)別方法來識(shí)別視頻流。全文摘要本發(fā)明提出了一種實(shí)時(shí)識(shí)別多種P2P-TV應(yīng)用視頻流的方法,從網(wǎng)絡(luò)流量中實(shí)時(shí)準(zhǔn)確地識(shí)別出PPLive、PPStream、SopCast和UUSee等P2P-TV應(yīng)用系統(tǒng)視頻流。該方法的基本思想是先針對(duì)P2P-TV節(jié)點(diǎn)必須訪問服務(wù)器地址集的行為,得到那些與服務(wù)器地址集內(nèi)服務(wù)器通信的IP地址,并剔除非P2P-TV應(yīng)用流分組;再對(duì)余下的流比對(duì)是否具有應(yīng)用層特征字的特征,如果相匹配則將該流識(shí)別為特定的P2P-TV視頻流。本發(fā)明具有識(shí)別率高、識(shí)別差錯(cuò)率低和實(shí)時(shí)性強(qiáng)的優(yōu)點(diǎn)。文檔編號(hào)H04L29/08GK101668035SQ200910035459公開日2010年3月10日申請(qǐng)日期2009年9月28日優(yōu)先權(quán)日2009年9月28日發(fā)明者兵李,超胡,鳴陳申請(qǐng)人:中國人民解放軍理工大學(xué)指揮自動(dòng)化學(xué)院