專利名稱:一種深度報文檢測方法及設備的制作方法
技術領域:
本發(fā)明涉及通信技術領域,具體地說更涉及一種深度報文檢測方法及設備。
背景技術:
DPI (深度報文檢測,De印Packet Inspection)是指對TCP/IP包超出報文頭部的部分進行多維分析,包括報文數(shù)據(jù)分析、流分析和應用行為分析等等。相對于深度報文檢測,傳統(tǒng)的“淺度”包檢測只能夠識別IP地址、IP數(shù)據(jù)段長度、TCP流系列號等網(wǎng)絡協(xié)議報頭數(shù)據(jù)。而深度報文檢測則通過對應用層的協(xié)議數(shù)據(jù)進行分析,可以檢測到一個IP數(shù)據(jù)段所屬的應用,比如網(wǎng)頁瀏覽,并由此觸發(fā)針對應用的動作。但對于應用的內(nèi)容(比如一個網(wǎng)頁的內(nèi)容)的高效分析,現(xiàn)有深度報文檢測技術中尚不能很好的解決,原因如下首先,現(xiàn)有的深度報文檢測方法,其數(shù)據(jù)挖掘的操作通常對不同的報文特征組合采取不同的動作,或僅僅對特定的報文特征組合采取一定的動作。這里所述的報文特征組合可以包括源IP地址,目的IP地址,源端口號,目的端口號,報文長度,應用層協(xié)議(如 HTTP)參數(shù)內(nèi)容等等。而由于一個特征組合中任意一個特征的不同取值就意味著不同的數(shù)據(jù)挖掘操作(如收集或忽略),現(xiàn)有深度報文檢測方法需要針對一個特征集合中每個特征在一個報文中的取值進行逐個比較分析,最終判斷對此報文應該采取什么樣的操作,這樣的串行判斷引入了額外的處理時延開銷。如果將該數(shù)據(jù)挖掘方法應用于一個高負載網(wǎng)絡的網(wǎng)關或交換機中,這些額外的處理時延開銷將在此網(wǎng)關或交換機中造成擁塞,從而導致掉包或數(shù)據(jù)丟失。另外,現(xiàn)有的深度報文檢測在獲得一個報文從MAC層到應用層的多個特征參數(shù)的取值后,對這些特征值的集合進行精確判斷,并據(jù)此觸發(fā)相應的數(shù)據(jù)挖掘操作,比如對{源 IP地址,端口號}為{192.168.0.1,123}的報文執(zhí)行路由重定向操作。而由于報文的數(shù)據(jù)通常并不存在一個精確的指標(比如一個網(wǎng)頁的內(nèi)容)供深度報文檢測進行精確判斷,因此,現(xiàn)有深度報文檢測技術對報文的處理范疇只能最多深入到應用層的協(xié)議參數(shù),這就大為限制了深度報文檢測的應用范圍。
發(fā)明內(nèi)容
本發(fā)明實施例的目的是為了克服目前深度報文檢測技術的不足,從而提出另一種深度報文檢測方法及設備,以將深度報文檢測的內(nèi)容擴展到報文應用層數(shù)據(jù),并提高報文檢測的效率,降低報文檢測的時延,防止包丟失或數(shù)據(jù)丟失。為了達到上述發(fā)明目的,本發(fā)明實施例提出的一種深度報文檢測方法是通過以下技術方案實現(xiàn)的一種深度報文檢測方法,所述方法包括以報文所攜帶的應用數(shù)據(jù)為輸入,計算得出所述報文的指紋,并與一個預設的指紋進行漢明距離比較,得到模糊判斷的結果;
同時以所述報文頭部及應用層協(xié)議參數(shù)的特征集合,計算獲得所述報文的哈希值,并與一個預設的特征值進行比較,得到精確判斷的結果;分別根據(jù)所述模糊判斷和精確判斷的結果,和預先設定的數(shù)據(jù)規(guī)則,進行相應的數(shù)據(jù)挖掘操作。為了實現(xiàn)前述發(fā)明目的,本發(fā)明實施例還提出了一種深度報文檢測設備,所述深度報文檢測設備是通過以下的技術方案實現(xiàn)的一種深度報文檢測設備,所述設備包括交換平面,用于將從網(wǎng)口收到的報文轉發(fā)給應用識別模塊處理;應用識別模塊,用于接收所述報文,并對所述報文進行運用分類,并按照預先配置的識別規(guī)則,將需要深度檢測的報文,轉發(fā)給模糊并行判斷模塊;模糊并行判斷模塊,用于處理來自應用識別模塊的報文,對報文頭部或應用層協(xié)議參數(shù)進行hash計算,并從報文的應用數(shù)據(jù)中提取報文指紋,并將提取到的特征組合與一個預設的特征組合并行進行精確判斷和模糊判斷;數(shù)據(jù)規(guī)則表,用于存儲所述精確判斷和模糊判斷的結果的不同組合所對應的數(shù)據(jù)挖掘操作。本發(fā)明實施例通過提供一種深度報文檢測方法及設備,進行高效的深度報文檢測,實現(xiàn)對流經(jīng)該設備的、屬于特定應用的網(wǎng)絡報文數(shù)據(jù)進行模糊并行判斷,并根據(jù)判斷結果執(zhí)行復制,重定向,分析,統(tǒng)計,修改等數(shù)據(jù)挖掘相關操作。相比于現(xiàn)有的深度報文檢測技術,本發(fā)明實施例將深度報文檢測的覆蓋范圍擴展到報文的應用數(shù)據(jù),并進行數(shù)據(jù)相似度比較,進行高效的模糊判斷并根據(jù)判斷結果執(zhí)行相應的數(shù)據(jù)挖掘操作;另外,并行進行對報文頭部的多維分析以及報文內(nèi)容的模糊判斷,從而顯著降低了對IP報文進行深度報文檢測所需要的延時。
通過下面結合附圖對其示例性實施例進行的描述,本發(fā)明上述特征和優(yōu)點將會變得更加清楚和容易理解。圖1為本發(fā)明實施例一種深度報文檢測方法流程圖;圖2為本發(fā)明實施例深度報文檢測模糊判斷和精確判斷的實施示意圖;圖3為本發(fā)明實施例一種深度報文檢測設備的示意圖;圖4為本發(fā)明實施例另一種深度報文檢測設備的組成示意圖;圖5為本發(fā)明實施例深度報文檢測設備應用時鐘同步的實施示意圖。
具體實施例方式下面結合附圖對本發(fā)明作進一步詳細說明。如圖1所示,為本發(fā)明實施例一種深度報文檢測方法,所述方法包括S101.以報文所攜帶的應用數(shù)據(jù)為輸入,計算得出所述報文的指紋,并與一個預設的指紋進行漢明距離比較,得到模糊判斷的結果;S102.同時以報文頭部及應用層協(xié)議參數(shù)的特征集合,計算獲得所述報文的哈希值,并與一個預設的值進行比較,得到精確判斷的結果;
4
S103.分別根據(jù)所述模糊判斷和精確判斷的結果,和預先設定的數(shù)據(jù)規(guī)則,進行相應的數(shù)據(jù)挖掘操作。如圖2所示,作為本發(fā)明的一種實施方式,本發(fā)明實施例所揭示的模糊并行判斷的深度報文檢測方法利用現(xiàn)有的文本相似度比較技術,比如simhash[l][2]或 shingling[3]技術,以一個報文所攜帶的應用數(shù)據(jù)為輸入,計算提取一個報文指紋,并與一個預設的指紋進行漢明距離比較,從而實現(xiàn)模糊判斷。而對于報文頭部及應用層協(xié)議參數(shù)的特征集合則采取普通的哈希(Hash)算法計算,獲得一個哈希值,并也與一個預設的值進行比較,實現(xiàn)精確判斷。這樣,多個特征參數(shù)的計算比較(精確判斷)與多個字節(jié)的報文內(nèi)容的相似度比較(模糊判斷)同時進行,從而實現(xiàn)并行判斷。具體說來,本發(fā)明實施例提出的基于模糊并行判斷的深度報文檢測方法的關鍵步驟如下1、預先設定一個特征組合作為執(zhí)行某次數(shù)據(jù)挖掘操作的比較標準,比如報文IP 地址為192. 168.0. 1,報文內(nèi)容接近于” She is nice”;2、對預設的特征組合分別進行Hash和Simhash (或類似的算法)操作,獲得特征值ho和f0。其中ho用來作為精確判斷(比如”報文IP地址為192.168.0.1”)的比較標準。f0作為模糊判斷的比較標準,比如對于任何與f0的漢明距離(Hamming Distance)小于等于3的報文指紋,其代表的報文內(nèi)容都視為接近于”She is nice”,其中,漢明距離可以靈活根據(jù)實際應用設置,并不限于3 ;3、對每個輸入的報文進行跟步驟2類似的哈希算法計算,得出輸入報文的特征值 hi 禾口 η ;4、將從每個輸入報文上所產(chǎn)生的對應特征值組合與預設的特征組合并行進行精確判斷(即對hl,h0進行簡單的大于,小于,等于等邏輯判斷)和模糊判斷(即對fl,f0進行求漢明距離計算-HD(fl,f0))5、根據(jù)判斷結果實現(xiàn)不同的數(shù)據(jù)挖掘操作。如圖2所示,對輸入報文N-I進行并行的精確和模糊判斷后所對應的為數(shù)據(jù)挖掘操作1 ;而對輸入報文N,由于其報文指紋fl相對于預設特征指紋的漢明距離大于3,進行并行的精確和模糊判斷后所對應的為數(shù)據(jù)挖掘操作2。作為模糊判斷的判斷標準,漢明距離代表的是一個可根據(jù)具體應用改變的指標, 圖2中的HD(fl,f0) <=3只是一個示例,實際應用中可根據(jù)不同的報文內(nèi)容相似度的定義而做不同設置。本發(fā)明實施例通過提供一種深度報文檢測方法,進行高效的深度報文檢測,實現(xiàn)對流經(jīng)該設備的、屬于特定應用的網(wǎng)絡報文數(shù)據(jù)進行模糊并行判斷,并根據(jù)判斷結果執(zhí)行復制、重定向、分析、統(tǒng)計、修改等數(shù)據(jù)挖掘相關操作。相比于現(xiàn)有的深度報文檢測技術,本發(fā)明實施例將深度報文檢測的覆蓋范圍擴展到報文的應用數(shù)據(jù),并進行數(shù)據(jù)相似度比較, 進行高效的模糊判斷并根據(jù)判斷結果執(zhí)行相應的數(shù)據(jù)挖掘操作;另外,并行進行對報文頭部的多維分析以及報文內(nèi)容的模糊判斷,從而顯著降低了對IP報文進行深度報文檢測所需要的延時。另外,如圖3所示,本發(fā)明實施例還提供了一種深度報文檢測設備,所述設備包括交換平面,用于將從網(wǎng)口收到的報文轉發(fā)給應用識別模塊處理;應用識別模塊,用于接收所述報文,并對所述報文進行運用分類,并按照預先配置的識別規(guī)則,將需要深度檢測的報文,轉發(fā)給模糊并行判斷模塊;模糊并行判斷模塊,用于處理來自應用識別模塊的報文,對報文頭部或應用層協(xié)議參數(shù)進行hash計算,并從報文的應用數(shù)據(jù)中提取報文指紋,并將提取到的特征組合與一個預設的特征組合并行進行精確判斷和模糊判斷;數(shù)據(jù)規(guī)則表,用于存儲所述精確判斷和模糊判斷的結果的不同組合所對應的數(shù)據(jù)挖掘操作。如圖3所示為本發(fā)明的一個具體實施實例,該實施例可以作為一個具有深度報文檢測功能,通過多個(^bit網(wǎng)絡接口以局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)鏈接的2_7層報文轉發(fā)設備,所具有的主要模塊說明如下交換平面100將從RX接口接收到的報文轉發(fā)給應用識別模塊101處理,對于從各 TX接口輸入的報文則根據(jù)報文的MAC或IP地址轉發(fā)往一個(ibit網(wǎng)口。應用識別模塊101從RX接口輸入報文,并采用普通的深度報文檢測應用識別技術,對報文進行運用分類。然后按照一個可配置的規(guī)則,對一部分應用(如FTP下載)的報文不做后續(xù)處理,而直接通過TX接口返回給交換平面100。如果是一些重點觀察運用(如 http web瀏覽)的報文,則轉發(fā)給模糊并行判斷模塊102。模糊并行判斷模塊102處理來自應用識別模塊101的報文,按照前述深度報文檢測方法所描述的過程,對報文頭部或應用層協(xié)議參數(shù)進行hash計算,并從報文內(nèi)容中提取報文指紋(采用simhash或類似方法),并將提取到的特征組合與一個預設的特征組合并行進行精確判斷和模糊判斷。數(shù)據(jù)規(guī)則表103用來存儲不同的精確判斷和模糊判斷結果的不同組合所對應的數(shù)據(jù)挖掘操作,模糊并行判斷模塊102輸出的精確和模糊判斷結果在此模塊映射為不同的操作,比如報文重定向,報文拷貝等。數(shù)據(jù)挖掘操作模塊104則執(zhí)行數(shù)據(jù)規(guī)則表103所輸出的不同操作。進一步優(yōu)選地,該設備還包括主控模塊105,通過一個高速數(shù)據(jù)通道如PCIE總線, 和101-104模塊交互,用于自定義或實時配置運用識別規(guī)則,并行模糊判斷的預設特征組合,數(shù)據(jù)規(guī)則表及其映射的數(shù)據(jù)挖掘操作。本發(fā)明實施例通過提供一種深度報文檢測設備,進行高效的深度報文檢測,實現(xiàn)對流經(jīng)該設備的、屬于特定應用的網(wǎng)絡報文數(shù)據(jù)進行模糊并行判斷,并根據(jù)判斷結果執(zhí)行復制、重定向、分析、統(tǒng)計、修改等數(shù)據(jù)挖掘相關操作。相比于現(xiàn)有的深度報文檢測技術,本發(fā)明實施例將深度報文檢測的覆蓋范圍擴展到報文的應用數(shù)據(jù),并進行數(shù)據(jù)相似度比較, 進行高效的模糊判斷并根據(jù)判斷結果執(zhí)行相應的數(shù)據(jù)挖掘操作;另外,并行進行對報文頭部的多維分析以及報文內(nèi)容的模糊判斷,從而顯著降低了對IP報文進行深度報文檢測所需要的延時。如圖5所示,為本發(fā)明實施例深度報文檢測設備應用于時鐘同步的協(xié)同操作,增加IEEE1588時鐘同步模塊200,時鐘同步模塊200與網(wǎng)絡中的IEEE1588主時鐘203按照 IEEE1588協(xié)議[4]通過時鐘同步報文進行交互,從而實現(xiàn)微妙級別的分布式精確時間同步。時鐘同步模塊200可以為所述深度報文檢測設備的數(shù)據(jù)挖掘操作模塊104提供高精度的時間戳。根據(jù)時鐘同步報文在上一個深度報文檢測設備(201)接受數(shù)據(jù)挖掘操作的高精度時間戳,下游深度報文檢測設備(20 在這個報文進行處理時,可以根據(jù)已經(jīng)同步了的本地時間,進行與時間相關的各項操作,比如進行201- > 202的單向報文傳播延時測量, 支持限定時間間隔的對同一報文的數(shù)據(jù)挖掘操作,或者根據(jù)上一次操作的類型和發(fā)生的時間,確定在當前時間所要進行的操作。另外,本發(fā)明實施例還可以運用在網(wǎng)絡防火墻,網(wǎng)絡入侵檢測,網(wǎng)絡單向延時測量,互聯(lián)網(wǎng)用戶行為分析系統(tǒng),互聯(lián)網(wǎng)應用識別及數(shù)據(jù)統(tǒng)計分析等領域中,以實現(xiàn)網(wǎng)絡報文的應用分析,提高報文轉發(fā)效率。本發(fā)明所屬領域的一般技術人員可以理解,本發(fā)明以上實施例僅為本發(fā)明的優(yōu)選實施例之一,為篇幅限制,這里不能逐一列舉所有實施方式,任何可以體現(xiàn)本發(fā)明權利要求技術方案的實施,都在本發(fā)明的保護范圍內(nèi)。需要注意的是,以上內(nèi)容是結合具體的實施方式對本發(fā)明所作的進一步詳細說明,不能認定本發(fā)明的具體實施方式
僅限于此,在本發(fā)明的上述指導下,本領域技術人員可以在上述實施例的基礎上進行各種改進和變形,而這些改進或者變形落在本發(fā)明的保護范圍內(nèi)。
權利要求
1.一種深度報文檢測方法,其特征在于,所述方法包括以報文所攜帶的應用數(shù)據(jù)為輸入,計算得出所述報文的指紋,并與一個預設的指紋進行漢明距離比較,得到模糊判斷的結果;同時以所述報文頭部及應用層協(xié)議參數(shù)的特征集合,計算獲得所述報文的哈希值,并與一個預設的特征值進行比較,得到精確判斷的結果;分別根據(jù)所述模糊判斷和精確判斷的結果,和預先設定的數(shù)據(jù)規(guī)則,進行相應的數(shù)據(jù)挖掘操作。
2.如權利要求1所述的方法,其特征在于,所述方法還包括對所述的應用數(shù)據(jù)進行Simhash計算,獲得報文指紋,并與所述由報文頭部及應用層協(xié)議參數(shù)計算而來的哈希值作為一個特征組合,作為執(zhí)行數(shù)據(jù)挖掘操作的判斷依據(jù)。
3.如權利要求2所述的方法,其特征在于,所述漢明距離根據(jù)應用報文的內(nèi)容相似度設置。
4.如權利要求3所述的方法,其特征在于,所述預先設定的數(shù)據(jù)規(guī)則存儲于一數(shù)據(jù)規(guī)則表中,所述數(shù)據(jù)規(guī)則表存儲所述精確判斷和模糊判斷的結果的不同組合所對應的不同數(shù)據(jù)挖掘操作。
5.如權利要求1至4任意一項所述的方法,其特征在于,所述報文包括同步時鐘報文, 所述同步時鐘報文用來同步本地時間,并根據(jù)所述同步時鐘報文的模糊判斷和精確判斷的結果,進行與時間相關的預定操作。
6.如權利要求5所述的方法,其特征在于,所述同步本地時間具體包括利用一時鐘同步模塊,與網(wǎng)絡中的IEEE1588主時鐘根據(jù)IEEE1588協(xié)議通過所述時鐘同步報文進行本地時間的同步。
7.一種深度報文檢測設備,其特征在于,所述設備包括交換平面,用于將從網(wǎng)口收到的報文轉發(fā)給應用識別模塊處理;應用識別模塊,用于接收所述報文,并對所述報文進行運用分類,并按照預先配置的識別規(guī)則,將需要深度檢測的報文,轉發(fā)給模糊并行判斷模塊;模糊并行判斷模塊,用于處理來自應用識別模塊的報文,對報文頭部或應用層協(xié)議參數(shù)進行hash計算,并從報文的應用數(shù)據(jù)中提取報文指紋,并將提取到的特征組合與一個預設的特征組合并行進行精確判斷和模糊判斷;數(shù)據(jù)規(guī)則表,用于存儲所述精確判斷和模糊判斷的結果的不同組合所對應的數(shù)據(jù)挖掘操作。
8.如權利要求7所述的設備,其特征在于,所述設備還包括主控模塊,用于自定義或實時配置所述識別規(guī)則,并行模糊判斷的預設特征組合,數(shù)據(jù)規(guī)則表及其映射的數(shù)據(jù)挖掘操作。
9.如權利要求8所述的設備,其特征在于,所述設備還包括數(shù)據(jù)挖掘操作模塊,用于執(zhí)行數(shù)據(jù)規(guī)則表所輸出的數(shù)據(jù)挖掘操作。
10.如權利要求7至9任意一項所述的設備,其特征在于,所述設備還包括時鐘同步模塊,用來與網(wǎng)絡中的IEEE1588主時鐘根據(jù)IEEE1588協(xié)議通過所述報文進行本地時間的同步,為所述數(shù)據(jù)挖掘操作模塊提供時間戳,其中,所述報文為時鐘同步報文。
全文摘要
本發(fā)明實施例公開了一種深度報文檢測方法及設備,用于網(wǎng)絡通信和數(shù)據(jù)挖掘領域,所述方法包括以報文所攜帶的應用數(shù)據(jù)為輸入,計算得出所述報文的指紋,并與一個預設的指紋進行漢明距離比較,得到模糊判斷的結果;同時以報文頭部及應用層協(xié)議參數(shù)的特征集合,計算獲得所述報文的哈希值,并與一個預設的特征值進行比較,得到精確判斷的結果;分別根據(jù)所述模糊判斷和精確判斷的結果,和預先設定的數(shù)據(jù)規(guī)則,進行相應的數(shù)據(jù)挖掘操作。通過本發(fā)明實施例,實現(xiàn)將深度報文檢測的覆蓋范圍擴展到報文應用層數(shù)據(jù),實現(xiàn)模糊判斷,并提高報文檢測的效率,降低報文檢測的時延,防止包丟失或數(shù)據(jù)丟失。
文檔編號H04L12/26GK102413007SQ20111030757
公開日2012年4月11日 申請日期2011年10月12日 優(yōu)先權日2011年10月12日
發(fā)明者李卓群 申請人:上海奇微通訊技術有限公司