基于支持向量機的實時多應(yīng)用網(wǎng)絡(luò)流量識別方法
【專利摘要】針對現(xiàn)有網(wǎng)絡(luò)流量識別方法存在的問題,提供一種基于支持向量機的低復(fù)雜度、高識別準(zhǔn)確率、可實時的網(wǎng)絡(luò)流量識別方法。此方法采用“時間窗口法”只從網(wǎng)絡(luò)流的數(shù)據(jù)包頭獲取簡單有效的特征,并選用算法復(fù)雜度低、運算量小的支持向量機算法,使其不僅能夠快速建模生成分類器,而且在小樣本情況下就能達到很高的識別準(zhǔn)確率,還可以在任何時間點對網(wǎng)絡(luò)流的多種應(yīng)用進行測量識別,滿足實時多應(yīng)用的需求。
【專利說明】基于支持向量機的實時多應(yīng)用網(wǎng)絡(luò)流量識別方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種網(wǎng)絡(luò)流量識別方法,屬于網(wǎng)絡(luò)測量【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002] 隨著計算機網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和信息時代的到來,互聯(lián)網(wǎng)的不斷普及也引發(fā)了 網(wǎng)絡(luò)擁塞、P2P應(yīng)用大肆搶占帶寬和網(wǎng)絡(luò)安全等問題,網(wǎng)絡(luò)運營商和網(wǎng)絡(luò)服務(wù)提供商需要采 用一種合適的網(wǎng)絡(luò)測量方法對網(wǎng)絡(luò)進行管理。近年來在學(xué)術(shù)和應(yīng)用領(lǐng)域越來越關(guān)注網(wǎng)絡(luò)流 量識別方法的研究,也越來越關(guān)注流量識別的可行性和有效性,即如何快速地處理海量的 數(shù)據(jù)和如何正確地識別網(wǎng)絡(luò)中的各種應(yīng)用。因此,流量識別方法應(yīng)該既要簡單有效,又要靈 活且應(yīng)用面廣。
[0003] 現(xiàn)有的網(wǎng)絡(luò)流量識別方法主要分為四大類:基于端口映射的流量識別方法、基于 深度報文檢測的流量識別方法、基于行為特征的流量識別方法和基于機器學(xué)習(xí)的流量識別 方法。隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展和網(wǎng)絡(luò)應(yīng)用的不斷推陳出新,基于端口映射、深度報文檢 測、行為特征的流量識別方法存在越來越多的限制和缺陷。如今學(xué)術(shù)界將重點放在了基于 機器學(xué)習(xí)的流量識別方法上,這種方法利用機器學(xué)習(xí)的數(shù)據(jù)挖掘能力,從網(wǎng)絡(luò)流量龐大、復(fù) 雜的數(shù)據(jù)中提取隱含的、潛在的有效特征信息。此類方法的關(guān)鍵是選擇合理的流量特征和 選擇合適的機器學(xué)習(xí)算法。然而,研究主要集中在非實時性的流量識別上,即先收集很長一 段時間的網(wǎng)絡(luò)流數(shù)據(jù),再對其進行分類識別,這無法識別出當(dāng)前用戶對網(wǎng)絡(luò)的使用情況。目 前,實時網(wǎng)絡(luò)流量識別方法中,有些方案將網(wǎng)絡(luò)流開始建立時的前若干個數(shù)據(jù)包作為特征 進行識別,此類方法雖然簡單快捷,但需要捕捉網(wǎng)絡(luò)流開始建立的時間點,如果錯過就很難 再識別出結(jié)果。還有些方案將從網(wǎng)絡(luò)流生命周期的不同時間點選擇若干個連續(xù)的數(shù)據(jù)包組 (如25個數(shù)據(jù)包為一組)作為特征進行識別,此類方法需要考慮網(wǎng)絡(luò)流的生命周期,如果生 命周期很長則識別所需的時間也會增長。這些方案都過于依賴網(wǎng)絡(luò)流的本身,靈活性差,有 一定的限制。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明針對現(xiàn)有網(wǎng)絡(luò)流量識別方法存在的不足,提供一種基于支持向量機(SVM) 的可實時識別網(wǎng)絡(luò)環(huán)境中多種應(yīng)用類型的方法,此方法采用"時間窗口法"只從網(wǎng)絡(luò)流的數(shù) 據(jù)包頭獲取簡單有效的特征,并選用算法復(fù)雜度低、運算量小的支持向量機算法,使其不僅 能夠快速建模生成分類器,而且在小樣本情況下就能達到很高的識別準(zhǔn)確率,還可以在任 何時間點對網(wǎng)絡(luò)流的多種應(yīng)用進行測量識別,滿足實時多應(yīng)用的需求。"時間窗口法"是指 對網(wǎng)絡(luò)流連續(xù)統(tǒng)計一段時間,并根據(jù)此時間段內(nèi)的網(wǎng)絡(luò)流量與平均值偏離程度大小劃分為 "峰值區(qū)"和"穩(wěn)定區(qū)",由時間窗口內(nèi)的數(shù)據(jù)生成識別所需的特征。
[0005] 本發(fā)明提出的基于支持向量機的網(wǎng)絡(luò)流量識別方法,包括支持向量機的離線訓(xùn)練 和支持向量機的在線實時分類步驟:
[0006] 支持向量機的離線訓(xùn)練步驟包括:
[0007] (1)利用抓包工具從網(wǎng)絡(luò)線路中抓取數(shù)據(jù)包;
[0008] (2)對數(shù)據(jù)包進行統(tǒng)計,得到網(wǎng)絡(luò)流的包數(shù)、包長、源地址、目的地址、傳輸層協(xié)議 和上行或下行的流向;
[0009] (3)從獲取的數(shù)據(jù)中抽樣,選擇網(wǎng)絡(luò)應(yīng)用正常運行時的樣本,分別對樣本的應(yīng)用類 別進行標(biāo)注;
[0010] ⑷根據(jù)"時間窗口法",從任意的時間點開始,設(shè)定一段時間,根據(jù)該段時間內(nèi)連 續(xù)采集的網(wǎng)絡(luò)流量與平均值的偏離程度,將高于平均值1. 6倍的流量稱為"峰值區(qū)",處于 平均值0. 6?1. 4倍區(qū)間的流量稱為"穩(wěn)定區(qū)",由此時間段內(nèi)的網(wǎng)絡(luò)流量生成多種特征 值;
[0011] (5)采用支持向量機方法對樣本特征值進行訓(xùn)練學(xué)習(xí),生成分類規(guī)則,構(gòu)建分類器 模型。
[0012] 支持向量機的在線實時分類步驟包括:
[0013] (1)利用抓包工具從網(wǎng)絡(luò)線路中抓取數(shù)據(jù)包;
[0014] (2)對數(shù)據(jù)包進行統(tǒng)計,得到網(wǎng)絡(luò)流的包數(shù)、包長、源地址、目的地址、傳輸層協(xié)議 和上行或下行的流向;
[0015] (3)采用支持向量機的離線訓(xùn)練步驟的步驟(4)相同的方法生成多種特征值;
[0016] (4)采用支持向量機的離線訓(xùn)練步驟的步驟(5)已經(jīng)生成的分類規(guī)則和分類器模 型,對網(wǎng)絡(luò)流的特征值進行分類識別,得出識別結(jié)果。
[0017] 所述離線訓(xùn)練步驟中第(4)步和在線實時分類步驟中第(3)步中的多種特征值 包括下行包數(shù),上行包數(shù),下行數(shù)據(jù)量,上行數(shù)據(jù)量,下、上行包數(shù)比,下、上行數(shù)據(jù)量比,下、 上行包數(shù)方差比,下、上行數(shù)據(jù)量方差比,下行中大數(shù)據(jù)量的IP數(shù)目,峰值區(qū)內(nèi)數(shù)據(jù)量的比 重,穩(wěn)定區(qū)內(nèi)樣本數(shù)目的比重。
[0018] 所述支持向量機的離線訓(xùn)練步驟中的步驟(5)中采用交叉驗證法獲得支持向量 機的核函數(shù)參數(shù)和懲罰參數(shù)。
[0019] 本發(fā)明首先采用"時間窗口法"從網(wǎng)絡(luò)流的數(shù)據(jù)包頭獲取多種特征,然后通過支持 向量機算法對多種網(wǎng)絡(luò)應(yīng)用類型的特征值進行訓(xùn)練和識別。"時間窗口法"獲取網(wǎng)絡(luò)流特征 的過程簡單;而且可以在任何時間點對網(wǎng)絡(luò)流進行特征提取。支持向量機是一種針對小樣 本的機器學(xué)習(xí)方法,并且通過內(nèi)積核函數(shù)實現(xiàn)非線性分類,其得到的最優(yōu)決策函數(shù)是只由 少數(shù)支持向量構(gòu)成的分類超平面;此算法簡單、運算量少,還具有泛化能力和魯棒性。本發(fā) 明滿足實時多應(yīng)用網(wǎng)絡(luò)流量識別的需求。
【專利附圖】
【附圖說明】
[0020] 圖1是實時網(wǎng)絡(luò)流量識別系統(tǒng)的原理示意框圖。
[0021] 圖2(a)是時間窗口示意圖;(b)是窗口內(nèi)流量區(qū)間的劃分示意圖。
[0022] 圖3是調(diào)用libpcap函數(shù)庫的流程示意圖。
[0023] 圖4是基于支持向量機的網(wǎng)絡(luò)流量識別方法的示意圖。
[0024] 圖5是網(wǎng)絡(luò)流量識別方法準(zhǔn)確率的展示示意圖。
[0025] 圖6是網(wǎng)絡(luò)流量識別方法生成分類器模型所需時間的展示示意圖。
【具體實施方式】
[0026] 針對現(xiàn)有網(wǎng)絡(luò)流量識別方法存在的問題,提供一種基于支持向量機的低復(fù)雜度、 可實時的網(wǎng)絡(luò)流量識別方法,此方法所需訓(xùn)練樣本少,計算復(fù)雜度比較低,非常適合解決網(wǎng) 絡(luò)流量識別這種大數(shù)據(jù)、多樣性的非線性多分類問題。
[0027] 圖1給出了本發(fā)明的網(wǎng)絡(luò)流量識別系統(tǒng)離線訓(xùn)練和在線實時分類的原理步驟。圖 4給出了基于支持向量機的網(wǎng)絡(luò)流量識別方法的原理。下面結(jié)合附圖和實施例對本發(fā)明進 行進一步的說明,但不限于此例。
[0028] 考慮該實時網(wǎng)絡(luò)流量識別系統(tǒng)存在于家庭局域網(wǎng)中,并將網(wǎng)絡(luò)流量識別作為家庭 網(wǎng)關(guān)的一項功能。網(wǎng)絡(luò)流數(shù)據(jù)包的上行或下行是根據(jù)源地址確定的。假設(shè)以家庭內(nèi)部局域 網(wǎng)作為本地,外部互聯(lián)網(wǎng)作為遠端,如果源地址是本地的IP則認為數(shù)據(jù)流向是上行,即上 傳;如果源地址是遠端的IP則認為數(shù)據(jù)流向是下行,即下載。
[0029] 針對家庭局域網(wǎng)中使用頻繁的m = 6種應(yīng)用類型:P2P的多媒體或下載、非P2P的 多媒體或下載、WWW (Web瀏覽)、網(wǎng)絡(luò)游戲(客戶端游戲)、視頻通話/會議和文件共享(局 域網(wǎng)內(nèi))。從任意時間點開始,以1秒為時間單位,對每一秒內(nèi)抓取的網(wǎng)絡(luò)流進行統(tǒng)計,得到 網(wǎng)絡(luò)流的包數(shù)、包長、源地址、目的地址、傳輸層協(xié)議和流向(上行或下行)。連續(xù)統(tǒng)計τ = η(設(shè)η = 15)秒后得到圖2(a)圖中一個時間窗口內(nèi)網(wǎng)絡(luò)流的變化情況。在圖2(b)圖中, 根據(jù)時間窗口內(nèi)的流量平均值,將τ時間段內(nèi)的流量劃分為穩(wěn)定區(qū)和峰值區(qū)。因此在這個 窗口中既能獲取每一秒流量的包數(shù)、包長等基本數(shù)據(jù),又能分析流量在τ時間段內(nèi)的爆發(fā) 性、平穩(wěn)性。由τ時間段內(nèi)統(tǒng)計的網(wǎng)絡(luò)流數(shù)據(jù)生成d= 11種特征:下行包數(shù),上行包數(shù),下 行數(shù)據(jù)量,上行數(shù)據(jù)量,下、上行包數(shù)比,下、上行數(shù)據(jù)量比,下、上行包數(shù)方差比,下、上行數(shù) 據(jù)量方差比,下行中大數(shù)據(jù)量的IP數(shù)目,峰值區(qū)內(nèi)數(shù)據(jù)量的比重,穩(wěn)定區(qū)內(nèi)樣本數(shù)目的比 重。
[0030] 支持向量機的離線訓(xùn)練步驟如下:
[0031] (1)利用Linux系統(tǒng)下的libpcap函數(shù)庫從網(wǎng)絡(luò)線路中抓取數(shù)據(jù)包,調(diào)用libpcap 各個函數(shù)的流程如圖3所示;通過解析各層的數(shù)據(jù)包頭得到開放系統(tǒng)互連參考模型(0SI/ RM)的各層信息,如數(shù)據(jù)鏈路層的MAC地址、IP層的源IP與目的IP、傳輸層的端口號與協(xié) 議等;
[0032] (2)對數(shù)據(jù)包進行簡單統(tǒng)計,獲得數(shù)據(jù)包的五元組信息:源地址,目的地址,源端 口,目的端口和傳輸層協(xié)議(如TCP/UDP),以及數(shù)據(jù)包長度和數(shù)據(jù)包的流向(如上行或下 行);
[0033] (3)人工從獲取的大量數(shù)據(jù)中抽樣選擇處于穩(wěn)定網(wǎng)絡(luò)環(huán)境下的樣本,并分別對樣 本的應(yīng)用類別進行標(biāo)注;m = 6種應(yīng)用類型可以標(biāo)注編號為1、2、3、4、5、6。
[0034] (4)采用"時間窗口法",由簡單統(tǒng)計的數(shù)據(jù)包信息生成時間窗內(nèi)的d = 11種特征 值;
[0035] (5)采用支持向量機方法對樣本特征值進行訓(xùn)練學(xué)習(xí)。支持向量機構(gòu)造了最優(yōu)分 類超平面,得出決策函數(shù):.
【權(quán)利要求】
1. 一種基于支持向量機的網(wǎng)絡(luò)流量識別方法,包括支持向量機的離線訓(xùn)練和支持向量 機的在線實時分類步驟: 支持向量機的離線訓(xùn)練步驟包括: (1) 利用抓包工具從網(wǎng)絡(luò)線路中抓取數(shù)據(jù)包; (2) 對數(shù)據(jù)包進行統(tǒng)計,得到網(wǎng)絡(luò)流的包數(shù)、包長、源地址、目的地址、傳輸層協(xié)議和上 行或下行的流向; ⑶從獲取的數(shù)據(jù)中抽樣,選擇網(wǎng)絡(luò)應(yīng)用正常運行時的樣本,分別對樣本的應(yīng)用類別進 行標(biāo)注; (4) 根據(jù)"時間窗口法",從任意的時間點開始,設(shè)定一段時間,根據(jù)該段時間內(nèi)連續(xù)采 集的網(wǎng)絡(luò)流量與平均值的偏離程度,將高于平均值1.6倍的流量稱為"峰值區(qū)",處于平均 值0. 6?1. 4倍區(qū)間的流量稱為"穩(wěn)定區(qū)",由此時間段內(nèi)的網(wǎng)絡(luò)流量生成多種特征值; (5) 采用支持向量機方法對樣本特征值進行訓(xùn)練學(xué)習(xí),生成分類規(guī)則,構(gòu)建分類器模 型; 支持向量機的在線實時分類步驟包括: (1) 利用抓包工具從網(wǎng)絡(luò)線路中抓取數(shù)據(jù)包; (2) 對數(shù)據(jù)包進行統(tǒng)計,得到網(wǎng)絡(luò)流的包數(shù)、包長、源地址、目的地址、傳輸層協(xié)議和上 行或下行的流向; (3) 采用支持向量機的離線訓(xùn)練步驟的步驟(4)相同的方法生成多種特征值; (4) 采用支持向量機的離線訓(xùn)練步驟的步驟(5)已經(jīng)生成的分類規(guī)則和分類器模型, 對網(wǎng)絡(luò)流的特征值進行分類識別,得出識別結(jié)果。
2. 根據(jù)權(quán)利要求1所述的基于支持向量機的網(wǎng)絡(luò)流量識別方法,其特征在于:所述離 線訓(xùn)練步驟中第(4)步和在線實時分類步驟中第(3)步中的多種特征值包括下行包數(shù),上 行包數(shù),下行數(shù)據(jù)量,上行數(shù)據(jù)量,下、上行包數(shù)比,下、上行數(shù)據(jù)量比,下、上行包數(shù)方差比, 下、上行數(shù)據(jù)量方差比,下行中大數(shù)據(jù)量的IP數(shù)目,峰值區(qū)內(nèi)數(shù)據(jù)量的比重,穩(wěn)定區(qū)內(nèi)樣本 數(shù)目的比重。
3. 根據(jù)權(quán)利要求1所述的基于支持向量機的網(wǎng)絡(luò)流量識別方法,其特征在于:所述支 持向量機的離線訓(xùn)練步驟中的步驟(5)中采用交叉驗證法獲得支持向量機的核函數(shù)參數(shù) 和懲罰參數(shù)。
【文檔編號】H04L12/26GK104052639SQ201410313090
【公開日】2014年9月17日 申請日期:2014年7月2日 優(yōu)先權(quán)日:2014年7月2日
【發(fā)明者】劉琚, 馬衍慶, 喬美華, 于智源, 郭志鑫 申請人:山東大學(xué)