專利名稱:基于傳輸層特征的流量分類方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)應(yīng)用技術(shù)領(lǐng)域,尤其涉及互聯(lián)網(wǎng)應(yīng)用中基于傳輸層特征對流量進(jìn)行分類的方法及裝置。
背景技術(shù):
近年來,信息技術(shù)取得了突飛猛進(jìn)式的發(fā)展,網(wǎng)絡(luò)帶寬迅速提高,網(wǎng)絡(luò)容量急劇擴(kuò)大,各種各樣的互聯(lián)網(wǎng)應(yīng)用也如雨后春筍般地出現(xiàn),網(wǎng)絡(luò)結(jié)構(gòu)從傳統(tǒng)的客戶/服務(wù)器(C/ S)、瀏覽器/服務(wù)器(B/S)模式,逐漸轉(zhuǎn)向P2P結(jié)構(gòu)的應(yīng)用模式。傳統(tǒng)的WWW、FTP、MAIL業(yè)務(wù)雖仍然是不可或缺的互聯(lián)網(wǎng)應(yīng)用,但已不再占據(jù)互聯(lián)網(wǎng)的統(tǒng)治地位;語音、視頻、網(wǎng)絡(luò)電視等應(yīng)用迅速流行,并逐漸成為占用網(wǎng)絡(luò)帶寬的主流應(yīng)用。這些主流應(yīng)用不僅占用大量帶寬資源,容易引起網(wǎng)絡(luò)擁塞,增加了運(yùn)營商的運(yùn)維成本,而且容易傳播計(jì)算機(jī)病毒,對網(wǎng)絡(luò)安全構(gòu)成了嚴(yán)重威脅;又由于網(wǎng)絡(luò)結(jié)構(gòu)日益復(fù)雜,傳統(tǒng)的網(wǎng)絡(luò)管理工具已經(jīng)無法完成網(wǎng)絡(luò)分析與管理的工作,網(wǎng)絡(luò)的安全性、可管理性受到嚴(yán)重挑戰(zhàn)。盡管網(wǎng)絡(luò)管理人員及研究人員等提出了容量規(guī)劃、流量控制等一系列策略來提高網(wǎng)絡(luò)的運(yùn)營效率。然而,無論是根據(jù)用戶需求對網(wǎng)絡(luò)資源進(jìn)行QoS調(diào)度,還是根據(jù)網(wǎng)絡(luò)應(yīng)用的發(fā)展趨勢對現(xiàn)有網(wǎng)絡(luò)進(jìn)行擴(kuò)容改造, 都必須對網(wǎng)絡(luò)流量中各種應(yīng)用進(jìn)行準(zhǔn)確的分類與識別。因此流分類技術(shù)是許多其他網(wǎng)絡(luò)管理技術(shù)的基礎(chǔ)。例如網(wǎng)絡(luò)管理員需要對各種應(yīng)用類型進(jìn)行實(shí)時(shí)的監(jiān)控和管理,以分析用戶上網(wǎng)行為、流量計(jì)費(fèi)或優(yōu)化網(wǎng)絡(luò)等。另外,準(zhǔn)確的流分類在網(wǎng)絡(luò)安全、應(yīng)用趨勢分析等研究領(lǐng)域,也具有極其重要的意義。流分類技術(shù)的目的就是根據(jù)一定的策略和規(guī)則,識別數(shù)據(jù)流屬于何種應(yīng)用類型, 從而可以確切的掌握網(wǎng)絡(luò)中實(shí)際運(yùn)行著何種應(yīng)用程序,從而為管理、完全、研究等網(wǎng)絡(luò)相關(guān)業(yè)務(wù)提供前提條件。所謂流即數(shù)據(jù)流,相同的是指即具有相同源IP、源端口、目的IP、目的端口、傳輸層協(xié)議的所有數(shù)據(jù)包。如何快速、準(zhǔn)確地實(shí)現(xiàn)流分類,并不是一個(gè)簡單的任務(wù)。傳統(tǒng)的流分類方法主要有以下兩種(1)基于端口號的流分類技術(shù)早期的互聯(lián)網(wǎng)應(yīng)用較少,且大多都使用固定端口號(特別是一些常用服務(wù),它們甚至使用靜態(tài)端口 )進(jìn)行數(shù)據(jù)傳輸。例如FTP使用端口號 21實(shí)現(xiàn)文件傳輸,Telnet使用端口號23實(shí)現(xiàn)遠(yuǎn)程登錄,HTTP使用端口號80實(shí)現(xiàn)超文本傳輸?shù)鹊?。通過截獲這些應(yīng)用產(chǎn)生的數(shù)據(jù)包,將其中的端口號與應(yīng)用類型一一對應(yīng)起來即可識別出其應(yīng)用類型,準(zhǔn)確性、實(shí)時(shí)性都較高。但目前一方面由于許多互聯(lián)網(wǎng)應(yīng)用類型已經(jīng)不再使用固定的、或可預(yù)知的端口號作為其通信端口,所以以前常用的基于端口號的分類方法不再適用,另一方面網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT,Network Addresses ^Transformation)技術(shù)以及代理技術(shù)的運(yùn)用使端口號無法再作為識別流的有效標(biāo)識。(2)基于特征字段的流分類技術(shù)本技術(shù)主要應(yīng)用于識別P2P流。近年來,P2P流占網(wǎng)絡(luò)總流的比重逐年增加,有很多網(wǎng)絡(luò)中甚至超過了 50%,所以,一旦能準(zhǔn)確識別出P2P 流,流分類工作就已完成了一大半。主要的實(shí)現(xiàn)方案是針對數(shù)據(jù)流中的TCP流進(jìn)行了詳細(xì)分析,在這些數(shù)據(jù)流的有效載荷中找到了具有代表性的、唯一的特征字段及其位置,然后進(jìn)一步利用這些特征字段及其位置來判斷各數(shù)據(jù)包是否是P2P流。已經(jīng)有研究人員總結(jié)了當(dāng)時(shí)幾種流行P2P協(xié)議的特征字段。遺憾的是該實(shí)現(xiàn)方案也只能識別特征字段已知的P2P流, 不能識別所有流,完整性低。近年來,人們又提出了基于傳輸層的新型流分類技術(shù),目前已經(jīng)有一定研究成果的方案有以下兩種(I)BLINC(Blind classification)流分類方案該方案所提首先提出利用主機(jī)在傳輸層表現(xiàn)出的行為模式來實(shí)現(xiàn)流分類,該方法又叫BLINC流分類方法,其工作原理如下 首先觀察^ternet上單個(gè)主機(jī)的行為特點(diǎn),例如是否同時(shí)與多臺主機(jī)通信,或者同時(shí)掃描另一臺主機(jī)的多個(gè)端口 ;然后從三個(gè)層次對主機(jī)行為進(jìn)行分析,即反映主機(jī)連通度的社會層(Social)、反映服務(wù)提供者或消費(fèi)者行為的功能層(Functional)以及表示傳輸層拓?fù)溥B接的應(yīng)用層(Application);并將觀察到的主機(jī)群行為模式與已知的應(yīng)用特征進(jìn)行匹配,即根據(jù)事先構(gòu)造好的圖表進(jìn)行匹配。最后,利用由統(tǒng)計(jì)數(shù)據(jù)或憑經(jīng)驗(yàn)得到的啟發(fā)式進(jìn)一步完善算法性能。一方面由于該方案利用了網(wǎng)絡(luò)應(yīng)用的行為屬性,不僅容易隨著網(wǎng)絡(luò)應(yīng)用自身的改進(jìn)而失效,也會因?yàn)榫W(wǎng)絡(luò)環(huán)境的不同而導(dǎo)致分類性能出現(xiàn)顯著的變化。又由于其分類模型較為復(fù)雜,計(jì)算量大,較難直接用作流量分類。(2)基于統(tǒng)計(jì)特征的流分類方法該方案通過將貝葉斯分類理論引入流分類領(lǐng)域,統(tǒng)計(jì)流的各種特征,利用機(jī)器學(xué)習(xí),對網(wǎng)絡(luò)上的流進(jìn)行分類。利用工具根據(jù)源IP、目的 IP、源Port、目的Port以及傳輸層協(xié)議(TCP或UDP)將數(shù)據(jù)包劃分為不同的流,并分別提取流的各項(xiàng)參數(shù),例如平均包長、平均包間隔時(shí)間、流持續(xù)時(shí)間等流特征。之后,將流的統(tǒng)計(jì)數(shù)據(jù)以及初始的流屬性模型用于自分類的機(jī)器學(xué)習(xí)算法,即無人監(jiān)督的貝葉斯分類方法。機(jī)器學(xué)習(xí)的時(shí)間越長,則分類的準(zhǔn)確性越高,一旦達(dá)到某個(gè)標(biāo)準(zhǔn),就可以對后續(xù)的輸入數(shù)據(jù)流自動分類。但是該方案同樣存在計(jì)算量大和處理速度慢的問題。綜上所述,有必要圍繞不同應(yīng)用類型的傳輸層行為特征進(jìn)行分析,提出一完整性好、計(jì)算簡單的基于傳輸層特征的新型流分類技術(shù)。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有流分類方法的缺陷和通信網(wǎng)絡(luò)的特點(diǎn),圍繞不同應(yīng)用類型的傳輸層行為特征進(jìn)行分析,提出了一種有監(jiān)督的、基于傳輸層特征的流量分類方法。鑒于以上目的,本發(fā)明提供了一種基于傳輸層特征的流量分類方法,包括如下步驟A、采集作為訓(xùn)練數(shù)據(jù)的數(shù)據(jù)包,利用從數(shù)據(jù)包中提取的數(shù)據(jù)流的傳輸層特征構(gòu)建一個(gè)分類器;B、利用構(gòu)建的分類器,實(shí)現(xiàn)對后續(xù)采集到的數(shù)據(jù)包中提取的數(shù)據(jù)流的分類。具體的,所述步驟A中,利用從數(shù)據(jù)包中提取的數(shù)據(jù)流的傳輸層特征構(gòu)建一個(gè)分類器的詳細(xì)步驟如下Al.首先采集一段時(shí)間內(nèi)的所有數(shù)據(jù)包,并從數(shù)據(jù)包中提取作為訓(xùn)練數(shù)據(jù)的數(shù)據(jù)流;A2.對數(shù)據(jù)流進(jìn)行預(yù)處理后,提取數(shù)據(jù)流的傳輸層特征參數(shù);A3.根據(jù)傳輸層特征參數(shù),對數(shù)據(jù)流進(jìn)行手工分類,標(biāo)記該數(shù)據(jù)流所屬的應(yīng)用類型;A4.對經(jīng)過手工分類的數(shù)據(jù)流的傳輸層特征參數(shù)進(jìn)行機(jī)器學(xué)習(xí),不斷得到作為分類器的決策樹;A5.繼續(xù)學(xué)習(xí)后續(xù)產(chǎn)生的數(shù)據(jù)流,直到?jīng)Q策樹達(dá)到穩(wěn)定的狀態(tài),即得到了一個(gè)有效的分類器。更進(jìn)一步的,所述步驟B中,利用構(gòu)建的分類器,實(shí)現(xiàn)對后續(xù)采集到的數(shù)據(jù)包中提取的數(shù)據(jù)流的分類,詳細(xì)步驟如下Bi、從后續(xù)采集到的數(shù)據(jù)包中提取數(shù)據(jù)流并進(jìn)行預(yù)處理;B2、提取所述經(jīng)過預(yù)處理的數(shù)據(jù)流的傳輸層特征;B3、將所述數(shù)據(jù)流的傳輸層特征作為參數(shù),傳遞給分類器,分類器即可通過這些參數(shù)確定該數(shù)據(jù)流的所屬應(yīng)用類型。優(yōu)選的,所述傳輸層的特征參數(shù)包括數(shù)據(jù)流的平均數(shù)據(jù)包大小、各數(shù)據(jù)包之間的到達(dá)時(shí)間間隔、IP層的數(shù)據(jù)部分大小的統(tǒng)計(jì)特征、數(shù)據(jù)包的控制字段大小、源端向目的端發(fā)送的數(shù)據(jù)包的數(shù)量和目的端向源端發(fā)送的數(shù)據(jù)包的數(shù)量。本發(fā)明的另一個(gè)目的,提供一種基于傳輸層特征的流量分類裝置,包括數(shù)據(jù)采集模塊,用于采集作為訓(xùn)練數(shù)據(jù)的網(wǎng)絡(luò)數(shù)據(jù)包以及需要進(jìn)行流量分量網(wǎng)絡(luò)數(shù)據(jù)包;分類器構(gòu)建模塊,用于利用數(shù)據(jù)采集模塊采集的作為訓(xùn)練數(shù)據(jù)的數(shù)據(jù)包,利用從數(shù)據(jù)包中提取的數(shù)據(jù)流的傳輸層特征構(gòu)建一個(gè)分類器;分類模塊,用于利用生成的分類器對數(shù)據(jù)采集模塊采集到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行分類。具體的,所述分類器構(gòu)建模塊包括數(shù)據(jù)流提取單元,用于從訓(xùn)練數(shù)據(jù)中提取數(shù)據(jù)流;預(yù)處理單元,用于對數(shù)據(jù)流進(jìn)行預(yù)處理后,提取數(shù)據(jù)流的傳輸層特征;所述預(yù)處理是指去掉不完整的數(shù)據(jù)流;分類標(biāo)記單元,用于根據(jù)傳輸層特征,通過從訓(xùn)練數(shù)據(jù)中提取的數(shù)據(jù)流進(jìn)行手工分類,然后根據(jù)手工分類結(jié)果標(biāo)記該數(shù)據(jù)流所屬的應(yīng)用類型;算法實(shí)現(xiàn)單元,用于采用C4. 5決策樹算法構(gòu)建分類器對于經(jīng)過手工分類的流的傳輸層特征進(jìn)行機(jī)器學(xué)習(xí),生成一個(gè)分類器。9.更進(jìn)一步的,所述分類模塊包括數(shù)據(jù)流提取單元,用于從數(shù)據(jù)采集模塊不斷獲取需要進(jìn)行數(shù)據(jù)流分類的數(shù)據(jù)包, 并從所述數(shù)據(jù)包中提取數(shù)據(jù)流;預(yù)處理單元,用于對數(shù)據(jù)流提取單元提取的數(shù)據(jù)流進(jìn)行預(yù)處理后,提取數(shù)據(jù)流的傳輸層特征;所述預(yù)處理是指去掉不完整的數(shù)據(jù)流;分類實(shí)現(xiàn)單元;利用生成的分類器對經(jīng)過預(yù)處理的數(shù)據(jù)流進(jìn)行分類。從以上技術(shù)方案可以看出,本發(fā)明提出了一種有監(jiān)督的、基于傳輸層特征的流分類技術(shù),它將流分類問題視作數(shù)據(jù)挖掘中的分類發(fā)現(xiàn)問題,并采用C4. 5決策樹歸納算法構(gòu)建分類器,進(jìn)一步利用該分類器識別流的類型,從而實(shí)現(xiàn)流分類,具有以下優(yōu)點(diǎn)(1)不需要了解數(shù)據(jù)包的端口號、特征字段等負(fù)載內(nèi)容,只需要提取出流的傳輸層特征,就可識別該流的應(yīng)用類型。不涉及用戶的隱私,且使本技術(shù)能夠識別基于動態(tài)端口號的、或已加密的流。(2)準(zhǔn)確率高、完整性好,可以識別新型應(yīng)用,還能提醒用戶檢查那些疑似的病毒攻擊流。本發(fā)明通過分析各應(yīng)用類型的傳輸層特征實(shí)現(xiàn)流分類,對于同一應(yīng)用類型,其傳輸層特征基本上是相似的,因而只要新型應(yīng)用的傳輸層特征與訓(xùn)練數(shù)據(jù)中的應(yīng)用類型的傳輸層特征相同,就可識別出該新型應(yīng)用類型,完整性高。
圖1是本發(fā)明提供的一種基于傳輸層特征的流量分類方法的流程圖;圖2是本發(fā)明實(shí)施例提供的一種構(gòu)建分類器的方法流程圖;圖3是本發(fā)明實(shí)施例提供的進(jìn)行數(shù)據(jù)采集的網(wǎng)絡(luò)環(huán)境示意圖;圖4是本發(fā)明實(shí)施例提供的分類器實(shí)現(xiàn)流分類具體的流程圖;圖5是本發(fā)明提出的一種基于傳輸層特征的流量分類裝置的結(jié)構(gòu)框圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對本發(fā)明作進(jìn)一步說明。對于一個(gè)網(wǎng)絡(luò),在某一段時(shí)間內(nèi),各種應(yīng)用流的傳輸層特征也是相對穩(wěn)定的;同一應(yīng)用類型的流的傳輸層特征也極其相似;不同應(yīng)用類型流的傳輸層特征表現(xiàn)為一定的差異。不同應(yīng)用產(chǎn)生的數(shù)據(jù)流在數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層都具有其區(qū)別于其他應(yīng)用流的特征;有人總結(jié)了可用于流分類的249個(gè)流特征。因此,在一個(gè)相對穩(wěn)定的網(wǎng)絡(luò)環(huán)境下,可以通過提取流的傳輸層特征并學(xué)習(xí),了解不同類型的流之間的差異,構(gòu)建分類器,以實(shí)現(xiàn)流分類。本發(fā)明圍繞流不同應(yīng)用類型的傳輸層行為特征進(jìn)行分析,提出了一種有監(jiān)督的、 基于傳輸層特征的流分類方法,通過提取并處理流的傳輸層特征參數(shù),實(shí)現(xiàn)網(wǎng)絡(luò)流的分類與識別,為網(wǎng)絡(luò)管理提供有效的流分類工具。本發(fā)明借助數(shù)據(jù)挖掘技術(shù),將流分類問題視為數(shù)據(jù)挖掘中的分類發(fā)現(xiàn)問題,采用C4. 5決策樹歸納分類算法,學(xué)習(xí)流的傳輸層特征訓(xùn)練數(shù)據(jù),并構(gòu)建分類器,以識別流的應(yīng)用類型,實(shí)現(xiàn)流分類。如圖1所示,為本發(fā)明提出的基于傳輸層特征的流量分類方法的流程圖,其解決方案主要分兩個(gè)步驟進(jìn)行步驟101是構(gòu)建分類器,即采集一段時(shí)間內(nèi)的所有數(shù)據(jù)包,并從數(shù)據(jù)包中提取數(shù)據(jù)流的傳輸層特征作為訓(xùn)練數(shù)據(jù),即通過學(xué)習(xí)訓(xùn)練數(shù)據(jù),得到有效的分類器。首先本發(fā)明提取該網(wǎng)絡(luò)在某一時(shí)間段內(nèi)的所有數(shù)據(jù)包作為訓(xùn)練數(shù)據(jù),按照五元組源IP、目的IP、源端口、目的端口和協(xié)議的方式提取出流,并把這些流進(jìn)行預(yù)處理,劃分成不同的完整流;然后提取這些流的傳輸層特征參數(shù),如數(shù)據(jù)流的平均數(shù)據(jù)包大小、各數(shù)據(jù)包之間的到達(dá)時(shí)間間隔、IP層的數(shù)據(jù)部分大小的統(tǒng)計(jì)特征、數(shù)據(jù)包的控制字段大小、源端向目的端發(fā)送的數(shù)據(jù)包的數(shù)量和目的端向源端發(fā)送的數(shù)據(jù)包的數(shù)量等;然后對這些流進(jìn)行手工分類,標(biāo)記出這些流的應(yīng)用類型,這就得到了訓(xùn)練數(shù)據(jù);采用C4. 5算法學(xué)習(xí)這些訓(xùn)練數(shù)據(jù), 構(gòu)建得到一個(gè)穩(wěn)定、有效的分類器。步驟102是利用構(gòu)建的分類器實(shí)現(xiàn)分類即利用構(gòu)建的分類器,實(shí)現(xiàn)對后續(xù)采集到的數(shù)據(jù)包中提取的數(shù)據(jù)流的分類。構(gòu)建分類器時(shí),本發(fā)明采用由C4. 5決策樹分類算法構(gòu)建一棵決策樹作為分類器,利用該分類器對該網(wǎng)絡(luò)中后續(xù)的流進(jìn)行分類。由于目前各種應(yīng)用主要利用TCP、UDP協(xié)議實(shí)現(xiàn)數(shù)據(jù)包的傳輸,因此在本發(fā)明中,只針對TCP流和UDP流實(shí)現(xiàn)了流分類。如圖2所示,是本發(fā)明實(shí)施例的構(gòu)建分類器的詳細(xì)步驟,包括步驟201,首先采集一段時(shí)間內(nèi)的所有數(shù)據(jù)包,并從數(shù)據(jù)包中提取數(shù)據(jù)流作為訓(xùn)練數(shù)據(jù)。在獲得網(wǎng)絡(luò)數(shù)據(jù)時(shí),需要獲得豐富的流量相關(guān)信息。利用操作系統(tǒng)底層抓包庫實(shí)現(xiàn)數(shù)據(jù)采集,能夠獲得詳細(xì)的數(shù)據(jù)包信息,從而能從中獲得豐富的流相關(guān)信息,是研究流分類的比較理想的流采集方式。常用的抓包庫有l(wèi)ibpCap,WinpCap,bpf等。一種可行的采集數(shù)據(jù)的網(wǎng)絡(luò)環(huán)境如圖3所示。使用網(wǎng)管型交換機(jī)連接內(nèi)網(wǎng)交換機(jī)和缺省網(wǎng)關(guān)(路由器)。在網(wǎng)管型交換機(jī)上做端口鏡像,鏡像端口上接數(shù)據(jù)采集終端。通過端口鏡像,使得所有進(jìn)出內(nèi)網(wǎng)的數(shù)據(jù)被拷貝到鏡像端口,進(jìn)而被數(shù)據(jù)采集終端全部采集。步驟202,對步驟201中提取的數(shù)據(jù)流進(jìn)行預(yù)處理后,不斷得到完整的數(shù)據(jù)流,并提取出該數(shù)據(jù)流的傳輸層特征。預(yù)處理的目的是提取出完整的數(shù)據(jù)流,丟棄不完整的數(shù)據(jù)流,提取出完整數(shù)據(jù)流的傳輸層特征,并處理噪聲數(shù)據(jù)和殘缺數(shù)據(jù)。利用TCP協(xié)議實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)倪^程有三個(gè)步驟,即建立連接、傳輸數(shù)據(jù)、拆除連接。完整的TCP數(shù)據(jù)流是指一次具有三個(gè)完整的步驟的數(shù)據(jù)傳輸過程中產(chǎn)生的所有數(shù)據(jù)包。按照五元組(源IP、目的IP、源端口、目的端口、傳輸層協(xié)議)提取TCP數(shù)據(jù)流時(shí),由于TCP數(shù)據(jù)傳輸過程有建立連接和拆除連接的過程,其產(chǎn)生的數(shù)據(jù)包也具有明顯的開始和結(jié)束標(biāo)志,所以可以方便地確定出TCP 數(shù)據(jù)流是否完整。由于無法確定UDP數(shù)據(jù)流的起始和結(jié)束,故本發(fā)明將具有相同五元組的 UDP數(shù)據(jù)包歸為同一個(gè)UDP數(shù)據(jù)流,并認(rèn)為它是完整的流。由于網(wǎng)絡(luò)不穩(wěn)定等各種原因,可能造成數(shù)據(jù)包在傳輸過程中被丟棄,并導(dǎo)致TCP 連接異常中斷,從而形成不完整的TCP數(shù)據(jù)流。由于不完整的數(shù)據(jù)流不足以代表該應(yīng)用類型,此外,不完整數(shù)據(jù)流的傳輸層特征變化幅度大,不利于構(gòu)建穩(wěn)定的分類器,故本發(fā)明只通過完整流的傳輸層特征來實(shí)現(xiàn)流分類,識別出各流的應(yīng)用類型;對于不完整流采取直接丟棄的處理方式。提取出來的數(shù)據(jù)流只是一連串的數(shù)據(jù)包,為了構(gòu)建基于傳輸層特征的分類器,還需要提取出這些數(shù)據(jù)包的傳輸層特征參數(shù)。典型的特征參數(shù)有數(shù)據(jù)流的平均數(shù)據(jù)包大小、 各數(shù)據(jù)包之間的到達(dá)時(shí)間間隔、IP層的數(shù)據(jù)部分大小的統(tǒng)計(jì)特征、數(shù)據(jù)包的控制字段大小、 源端向目的端發(fā)送的數(shù)據(jù)包的數(shù)量和目的端向源端發(fā)送的數(shù)據(jù)包的數(shù)量等,具體可參見表 1
權(quán)利要求
1.基于傳輸層特征的流量分類方法,其特征在于,包括如下步驟A、采集作為訓(xùn)練數(shù)據(jù)的數(shù)據(jù)包,利用從數(shù)據(jù)包中提取的數(shù)據(jù)流的傳輸層特征參數(shù)構(gòu)建一個(gè)分類器;B、利用構(gòu)建的分類器,實(shí)現(xiàn)對后續(xù)采集到的數(shù)據(jù)包中提取的數(shù)據(jù)流的分類。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A中,利用從數(shù)據(jù)包中提取的數(shù)據(jù)流的傳輸層特征構(gòu)建一個(gè)分類器的詳細(xì)步驟如下Al.首先采集一段時(shí)間內(nèi)的所有數(shù)據(jù)包,并從數(shù)據(jù)包中提取作為訓(xùn)練數(shù)據(jù)的數(shù)據(jù)流;A2.對數(shù)據(jù)流進(jìn)行預(yù)處理后,提取數(shù)據(jù)流的傳輸層特征參數(shù);A3.根據(jù)傳輸層特征參數(shù),對數(shù)據(jù)流進(jìn)行手工分類,標(biāo)記該數(shù)據(jù)流所屬的應(yīng)用類型;A4.對經(jīng)過手工分類的數(shù)據(jù)流的傳輸層特征參數(shù)進(jìn)行機(jī)器學(xué)習(xí),不斷得到作為分類器的決策樹;A5.繼續(xù)學(xué)習(xí)后續(xù)產(chǎn)生的數(shù)據(jù)流,直到?jīng)Q策樹達(dá)到穩(wěn)定的狀態(tài),即得到了一個(gè)有效的分類器。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述步驟B中,利用構(gòu)建的分類器,實(shí)現(xiàn)對后續(xù)采集到的數(shù)據(jù)包中提取的數(shù)據(jù)流的分類,詳細(xì)步驟如下Bi、從后續(xù)采集到的數(shù)據(jù)包中提取數(shù)據(jù)流并進(jìn)行預(yù)處理;B2、提取所述經(jīng)過預(yù)處理的數(shù)據(jù)流的傳輸層特征參數(shù);B3、將所述數(shù)據(jù)流的傳輸層特征參數(shù),傳遞給分類器,分類器即可通過這些參數(shù)確定該數(shù)據(jù)流的所屬應(yīng)用類型。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述傳輸層特征參數(shù)包括數(shù)據(jù)流的平均數(shù)據(jù)包大小、各數(shù)據(jù)包之間的到達(dá)時(shí)間間隔、IP層的數(shù)據(jù)部分大小的統(tǒng)計(jì)特征、數(shù)據(jù)包的控制字段大小、源端向目的端發(fā)送的數(shù)據(jù)包的數(shù)量和目的端向源端發(fā)送的數(shù)據(jù)包的數(shù)量。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述數(shù)據(jù)預(yù)處理步驟中,對于建立連接標(biāo)志和拆除連接標(biāo)志不完整的TCP數(shù)據(jù)流進(jìn)行丟棄;并將具有相同五元組的UDP數(shù)據(jù)包歸為一個(gè)完整的UDP流。
6.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,步驟A4中,構(gòu)建分類器時(shí),采用C4.5 決策樹分類算法構(gòu)建一棵決策樹作為分類器。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在采用C4.5決策樹算法構(gòu)建分類器過程中,用平滑的方式來填充殘缺的數(shù)據(jù),即以相鄰的、相同屬性的若干個(gè)值的平均值作為缺失值;對于噪聲數(shù)據(jù),則采取將該流從數(shù)據(jù)集中剔除的方式處理。
8.基于傳輸層特征的流量分類裝置,其特征在于,包括數(shù)據(jù)采集模塊,用于采集作為訓(xùn)練數(shù)據(jù)的網(wǎng)絡(luò)數(shù)據(jù)包以及需要進(jìn)行流量分量網(wǎng)絡(luò)數(shù)據(jù)包;分類器構(gòu)建模塊,用于利用數(shù)據(jù)采集模塊采集的作為訓(xùn)練數(shù)據(jù)的數(shù)據(jù)包,利用從數(shù)據(jù)包中提取的數(shù)據(jù)流的傳輸層特征構(gòu)建一個(gè)分類器;分類模塊,用于利用生成的分類器對數(shù)據(jù)采集模塊采集到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行分類。
9.如權(quán)利要求8所述的裝置,其特征在于,所述分類器構(gòu)建模塊包括數(shù)據(jù)流提取單元,用于從訓(xùn)練數(shù)據(jù)中提取數(shù)據(jù)流;預(yù)處理單元,用于對數(shù)據(jù)流進(jìn)行預(yù)處理后,提取數(shù)據(jù)流的傳輸層特征;所述預(yù)處理是指去掉不完整的數(shù)據(jù)流;分類標(biāo)記單元,用于根據(jù)傳輸層特征,通過從訓(xùn)練數(shù)據(jù)中提取的數(shù)據(jù)流進(jìn)行手工分類, 然后根據(jù)手工分類結(jié)果標(biāo)記該數(shù)據(jù)流所屬的應(yīng)用類型;算法實(shí)現(xiàn)單元,用于采用C4. 5決策樹算法構(gòu)建分類器對于經(jīng)過手工分類的流的傳輸層特征進(jìn)行機(jī)器學(xué)習(xí),生成一個(gè)分類器。
10.如權(quán)利要求8或9所述的裝置,其特征在于,所述分類模塊包括 數(shù)據(jù)流提取單元,用于從數(shù)據(jù)采集模塊不斷獲取需要進(jìn)行數(shù)據(jù)流分類的數(shù)據(jù)包,并從所述數(shù)據(jù)包中提取數(shù)據(jù)流;預(yù)處理單元,用于對數(shù)據(jù)流提取單元提取的數(shù)據(jù)流進(jìn)行預(yù)處理后,提取數(shù)據(jù)流的傳輸層特征;所述預(yù)處理是指去掉不完整的數(shù)據(jù)流;分類實(shí)現(xiàn)單元;利用生成的分類器對經(jīng)過預(yù)處理的數(shù)據(jù)流進(jìn)行分類。
全文摘要
本發(fā)明涉及互聯(lián)網(wǎng)應(yīng)用技術(shù)領(lǐng)域,尤其涉及互聯(lián)網(wǎng)應(yīng)用中基于傳輸層特征對流量進(jìn)行分類的方法。包含如下步驟采集作為訓(xùn)練數(shù)據(jù)的數(shù)據(jù)包,利用從數(shù)據(jù)包中提取的數(shù)據(jù)流的傳輸層特征參數(shù)構(gòu)建一個(gè)分類器;利用構(gòu)建的分類器,實(shí)現(xiàn)對后續(xù)采集到的數(shù)據(jù)包中提取的數(shù)據(jù)流的分類。不需要了解數(shù)據(jù)包的端口號、特征字段等負(fù)載內(nèi)容,只需要提取出流的傳輸層特征,就可識別該流的應(yīng)用類型。不涉及用戶的隱私,且使本技術(shù)能夠識別基于動態(tài)端口號的、或已加密的流;而且本發(fā)明準(zhǔn)確率高、完整性好,可以識別新型應(yīng)用,還能提醒用戶檢查那些疑似的病毒攻擊流。
文檔編號H04L12/56GK102271090SQ20111026193
公開日2011年12月7日 申請日期2011年9月6日 優(yōu)先權(quán)日2011年9月6日
發(fā)明者劉蕭, 胡光岷, 錢峰 申請人:電子科技大學(xué)