新四季網

基於dpi的報文業務類型識別方法及裝置的製作方法

2023-04-24 07:02:56 1

專利名稱:基於dpi的報文業務類型識別方法及裝置的製作方法
技術領域:
本發明涉及計算機領域,特別是涉及一種基於深度包檢測(Deep Packet Inspection,簡稱為DPI)的報文業務類型識別方法及裝置。
背景技術:
目前,在網際網路(Internet)業務中,業務是基於傳輸控制協議/網際網路互聯協議(Transmission Control Protocol/Internet Protocol,簡稱為 TCP/IP)的。傳統的業務識別方法是基於網絡層國際網際網路協議(Internet Protocol,簡稱為IP)的源地址、目標地址和協議類型及傳輸層的源埠和目標埠的組合來完成的,包括傳輸控制協議(Transmission Control Protocol,簡稱為 TCP)或用戶數據包協議(User Datagram Protocol,簡稱為UDP)兩種。例如,會話中目的埠為80的TCP流可以認為是超文本傳輸協議(HyperText Transfer Protocol,簡稱為HTTP),而目的埠為21的TCP流則可以認為是文件傳輸協議(File Transfer Protocol,簡稱為FTP);而傳統的DPI是在此基礎上進行應用層的字符串特徵匹配,如果能夠匹配到某種協議的明文特徵字符串,則認為該會話屬於某種業務。例如,BT協議的握手報文中應用層以字符串「0xl3BitTorrent protocol」 開始。對於具有明確明文載荷特徵的TCP或UDP報文,這種DPI有較高的識別率和準確率。
隨著網際網路的發展,各種私有協議和加密協議不斷湧現,完全基於字符串匹配的 DPI就很難識別出這些協議報文。但這些協議(特別是加密協議、點對點(Peer-To-Peer, 簡稱為P2P類的協議)通常應用廣泛並佔據了網絡中的大部分帶寬,導致網絡擁塞,影響了其他用戶的正常業務,例如,HTTP、郵件(MAIL)、FTP等業務。因此,如果沒有較好的技術來識別並控制這些協議,將會對網絡的健康發展造成巨大的危害。
以SKYPE協議為例,SKYPE是一種分布式網絡,SKYPE協議採用了先進的P2P技術、 數據加密技術和壓縮算法,保證任意兩個SKYPE用戶可以使用最小的寬帶來傳輸優質的語音數據。SKYPE用戶在登陸或通信的過程中,並不直接登陸到SKYPE伺服器上,而是登陸到某個超級結點,並通過超級結點轉發數據報文從而完成與SKYPE伺服器或其他SKEYP用戶之間的通信。這種方式可以很容易穿透防火牆,只要防火牆開通了 80或443埠,SKYPE用戶就可以穿透防火牆,與防火牆外邊的用戶進行通信。但是,如果要把80或443埠也給關閉了,那就會影響到網絡中其他合法用戶的正常上網。
現有的DPI技術中,除了對SKYPE極小的一部分數據流可以直接分析出來外,絕大部分SKYPE會話都無法識別出來,而隨著網絡業務的高速發展,運營商對DPI設備功能的要求也越來越高。發明內容
本發明提供一種基於DPI的報文業務類型識別方法及裝置,以解決現有技術中傳統的DPI技術無法識別非公有協議報文的問題。
本發明提供一種基於DPI的報文業務類型識別方法,包括
步驟1,接收業務報文,將業務報文的會話信息與預先設置的會話記錄表中的會話記錄進行匹配,如果會話信息與某一條會話記錄匹配成功,則從會話記錄表中獲取與該會話記錄相對應的業務類型,作為業務報文的業務類型,如果未能從會話記錄表中獲取與該會話記錄相對應的業務類型,則執行步驟2,如果未匹配成功,則根據會話信息在會話記錄表中創建相應的會話記錄,並執行步驟2 ;
步驟2,將業務報文的會話信息與預先設置的關聯記錄表中的關聯記錄進行匹配, 如果會話信息與某一條關聯記錄匹配成功,則從關聯記錄表中獲取與該關聯記錄相對應的業務類型,作為業務報文的業務類型,如果匹配不成功,則執行步驟3 ;
步驟3,對業務報文的會話信息進行深層載荷分析,獲取業務報文的業務類型。
本發明還提供了一種基於DPI的報文業務類型識別裝置,包括
會話記錄匹配模塊,用於接收業務報文,將業務報文的會話信息與預先設置的會話記錄表中的會話記錄進行匹配,如果會話信息與某一條會話記錄匹配成功,則從會話記錄表中獲取與該會話記錄相對應的業務類型,作為業務報文的業務類型,如果未能從會話記錄表中獲取與該會話記錄相對應的業務類型,則調用關聯記錄匹配模塊,如果未匹配成功,則根據會話信息在會話記錄表中創建相應的會話記錄,並調用關聯記錄匹配模塊;關聯記錄匹配模塊,用於將業務報文的會話信息與預先設置的關聯記錄表中的關聯記錄進行匹配,如果會話信息與某一條關聯記錄匹配成功,則從關聯記錄表中獲取與該關聯記錄相對應的業務類型,作為業務報文的業務類型,如果匹配不成功,則調用深層載荷分析;
深層載荷分析,用於對業務報文的會話信息進行深層載荷分析,獲取業務報文的業務類型。
本發明有益效果如下
通過將業務報文的會話信息與會話記錄表和關聯記錄表進行匹配來快速識別報文的業務類型,在匹配不成功的情況下再進行載荷深度分析獲取業務類型,解決了現有技術中傳統的DPI技術無法識別非公有協議報文的問題,能夠快速、高效、準確地識別當前會話的業務 類型。


圖1是本發明實施例的基於DPI的報文業務類型識別方法的流程圖2是本發明實施例的基於DPI的報文業務類型識別方法的詳細處理的流程圖3是本發明實施例的載荷深層處理的流程圖4是本發明實施例的基於DPI的報文業務類型識別裝置的結構示意圖。
具體實施方式
為了解決現有技術中傳統的DPI技術無法識別非公有協議報文的問題,本發明提供了一種基於DPI的報文業務類型識別方法及裝置,在本發明實施例的技術方案中,根據協議的業務流量模型,在已經識別的會話基礎上,動態設置會話記錄表、以及一個或多個N 組的關聯器(即,關聯記錄表),當該協議會話的後續報文再進入到DPI系統時,根據會話記錄表和N組關聯器的查詢結果,可以快速、高效、準確地識別當前會話的業務類型。也就是說,通過對非公有協議(私有協議及加密協議)極小一部分數據流的識別和匹配,設置與用戶相關的會話記錄表,以及五元組關聯器、四元組關聯器及三元組關聯器,可以在載荷沒有明文特徵的情況下識別出非公有協議業務的會話。以下結合附圖以及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不限定本發明。
方法實施例
根據本發明的實施例,提供了一種基於DPI的報文業務類型識別方法,圖1是本發明實施例的基於DPI的報文業務類型識別方法的流程圖,如圖1所示,根據本發明實施例的基於DPI的報文業務類型識別方法包括如下處理
步驟101,接收業務報文,將業務報文的會話信息與預先設置的會話記錄表中的會話記錄進行匹配,如果會話信息與某一條會話記錄匹配成功,則從會話記錄表中獲取與該會話記錄相對應的業務類型,作為業務報文的業務類型,如果未能從會話記錄表中獲取與該會話記錄相對應的業務類型,則執行步驟102,如果未匹配成功,則根據會話信息在會話記錄表中創建相應的會話記錄,並執行步驟102 ;
其中,會話信息包括用戶網絡協議IP位址、用戶埠號、網絡IP位址、網絡埠號、以及協議類型;會話記錄包括用戶IP位址、用戶埠號、網絡IP位址、網絡埠號、以及協議類型;
例如,當用戶開始進行業務時,DPI系統收到該項業務的業務初始會話報文Al,根據Al的五元組信息(上述會話信息)查詢會話記錄表,並根據查詢結果(開始會話記錄表是可以沒有記錄的)創建該業務的會話記錄。
當下一個業務報文A2到達時,根據A2的五元組信息查詢會話記錄表,根據查詢的結果可知當前的業務類型為A。因為該會話已經被識別,因此,無需再查詢關聯器或進行更深層次地分析,直接將A作為該會話的業務結果返回。
步驟102,將業務報文的會話信息與預先設置的關聯記錄表中的關聯記錄進行匹配,如果會話信息與某一 條關聯記錄匹配成功,則從關聯記錄表中獲取與該關聯記錄相對應的業務類型,作為業務報文的業務類型,如果匹配不成功,則執行步驟103 ;
其中,關聯記錄表包括五元組關聯記錄表、四元組關聯記錄表、和/或三元組關聯記錄表,其中,五元組關聯記錄表中的關聯記錄包括用戶IP位址、用戶埠號、網絡IP 地址、網絡埠號、以及協議類型;四元組關聯記錄表中的關聯記錄包括用戶IP位址、用戶埠號、網絡IP位址、以及協議類型;三元組關聯記錄表中的關聯記錄包括用戶IP位址、用戶埠號、以及協議類型。
在步驟102中,如果會話信息與某一條關聯記錄匹配成功,則從關聯記錄表中獲取與該關聯記錄相對應的業務類型,作為業務報文的業務類型之後,還需要包括將業務報文的業務類型插人保存到會話記錄表中,並將業務類型與相應的會話記錄設置對應關係。
在步驟102中,將業務報文的會話信息與預先設置的關聯記錄表中的關聯記錄進行匹配具體包括將業務報文的會話信息依次與五元組關聯記錄表、四元組關聯記錄表和三元組關聯記錄表中的關聯記錄進行匹配,也就是說,首先對五元組關聯器查詢,如果能夠查詢成功,則以查詢到業務類型作為當前會話的業務類型;如果查詢不成功,則繼續查詢四元組關聯器,並按此方法查詢三元組關聯器;如果業務報文的會話信息與某一關聯記錄表中的關聯記錄匹配成功,則不再繼續與後續關聯記錄表進行匹配。
例如,如果DPI系統並未能知曉當前Al報文的業務類型,因此需要查詢各種關聯器。首先查詢五元組關聯器,查詢不成功後,再查詢四元組關聯器,再查詢不成功則進行三元組關聯器的查詢;
步驟103,對業務報文的會話信息進行深層載荷分析,獲取業務報文的業務類型。
執行步驟103之後,可以進行如下處理
將業務報文的業務類型保存到會話記錄表中,並將業務類型與相應的會話記錄設置對應關係。
根據業務報文的業務類型獲取該業務的網絡流量模型,並根據網·絡流量模型在關聯記錄表中創建相應的關聯記錄;將業務報文的業務類型保存到關聯記錄表中,並將創建的關聯記錄與業務類型設置對應關係。
舉例說明,當前Al報文的業務類型未知,並對Al報文的載荷進行更進一步地深度分析和處理,確定當前Al報文被識別為業務類型A,已知該業務類型為一種P2P業務,根據事先對該業務的分析可以得知該業務在運行的過程中會發起大量具有如下特徵的數據流1、流的創建都是在短時間內完成;2、用戶埠和協議號與當前會話的用戶埠和協議號保持一致或可以通過一定的規則轉換獲得。根據該業務的網絡流量模型可知應該設置三元組關聯器,即將當前會話的協議類型、用戶地址和用戶埠作為一條記錄保存到三元組關聯器表中。
當該業務的一個新會話報文Al'到達時,根據Al'的五元組信息查詢會話表,根據查詢的結果可知需要創建該會話記錄。因會話尚未匹配,則首先查詢五元組關聯器,查詢失敗後,再查詢四元組關聯器,依然未能查詢到可以匹配的四元組關聯器記錄;最後以當前會話的協議類型、用戶IP位址和用戶埠號查詢三元組關聯器,查詢到滿足條件的記錄, 根據三元組關聯器的信息可知當前報文Al'所在的會話對應業務類型A。根據查詢結果, 首先將當前業務類型保存到會話記錄表中,以後該會話後續報文到達時可快速地匹配;最後將當前匹配結果返回,不再進行更深層載荷分析和處理。
在本發明實施例中,會話記錄和N元組關聯器的關聯記錄都是有生存期的,不能永遠存在記錄表中,否則記錄表就會很快被插滿,從而影響到後續業務報文的識別。因此記錄表中的數據就需要老化,數據既不能老化太快,也不能老化太慢,太快就會導致後續的報文查詢之前的匹配結果不成功,影響到報文的識別;太慢會導致記錄表會被插滿,從而影響到新會話的識別和關聯器的設置。為了解決上述問題,需要對會話記錄和各種關聯器記錄進行老化,具體進行如下處理1、在與會話記錄表中的會話記錄匹配成功或與關聯記錄表中的關聯記錄匹配成功的情況下,更新會話記錄或關聯記錄的最後訪問時間;也就是說,當會話記錄查詢成功或關聯器查詢成功後,需要更新當前查詢匹配成功記錄的時間戳值;2、 以預訂周期掃描會話記錄表和關聯記錄表;3、獲取會話記錄表中各條會話記錄以及關聯記錄表中各條關聯記錄的最後訪問時間,分別將最後訪問時間與當前時間進行比較,判斷是否超過老化時長,如果超時,則將相應的會話記錄或關聯記錄刪除。其中,上述各種參數,例如老化時長、掃描周期等都可以根據實際情況進行動態調整。
此外,需要說明的是,在本發明實施例中,會話記錄表的容量及各個關聯記錄表 (關聯器)的容量可以根據實際情況進行調整。
本發明實施例的技術方案為了對一些私有協議或加密協議(例如,P2P類協議)進行識別,引入了關聯器的概念。在DPI識別過程中,根據對會話現有部分會話的分析和處理,得出當前會話屬於某一種業務,再根據這種業務的網絡業務流量模型,設置一個或多個 N元組關聯器,當業務後續的報文達到時,直接查詢關聯器匹配,而無需再進行深層的載荷分析。與現有技術相比,本發明實施例的技術方案分析了在DPI識別過程中,用戶在實際業務使用當中可能發生的各種情況。無論業務如何演變,技術如何發展,基於網絡業務流量模型的DPI系統總能根據現有的識別技術在識別出業務的部分流量後,根據業務流量模型的原理識別出該業務的後續會話。
以下結合附圖,對本發明實施例的上述技術方案進行詳細說明。
圖2是本發明實施例的基於DPI的報文業務類型識別方法的詳細處理的流程圖, 如圖2所示,包括如下處理
步驟201,收到報文後,根據當前報文的五元組信息在會話記錄表中查詢;其中, 用戶地址是需要根據報文的上下行來確定如果當前報文是上行報文時,則IP報文中的源 IP位址為用戶地址,否則目的地址為用戶地址。如果當前報文所在的會話並不存在於會話記錄表中,則根據當前五元組信息創建該會話記錄,該會話記錄包括用戶IP位址、網絡IP 地址、用戶埠號、網絡埠號和協議類型;
步驟201,判斷當前報文會話識別情況,如果當前會話在此之前已經被識別,則執行步驟207 ;否則需要作進一步地分析,執行步驟203 ;
步驟203,根據當前會話的五元組信息查詢五元組關聯器,如果查詢成功,則以查詢到的業務ID作為當前會話的識別結果,並執行步驟206 ;否則繼續執行步驟204 ;
步驟204,根據當前會話的四元組信息查詢四元組關聯器,包括用戶IP位址、用戶埠號、網絡IP位址及協議類型。如果查詢成功,則以查詢到的業務ID作為當前會話的識別結果,並執行步驟206 ;否則繼續執行步驟205 ;
步驟205,根據當前會話的三元組信息查詢三元組關聯器,包括用戶IP位址、用戶埠號、協議類型。如果查 詢成功,則以查詢到的業務ID作為當前會話的識別結果,並執行步驟206 ;否則繼續執行步驟208 ;
步驟206,根據當前N(N為3、4、5)組關聯器的查詢結果,設置當前會話的業務類型,以便進行後續會話的處理;
步驟207,根據當前會話的識別結果,設置DPI的返回結果,以便DPI調用者使用;
步驟208,將當前報文進行更深層載荷分析和處理,分析當前報文七層的載荷內容,確定當前會話所屬的業務類型;處理完畢後執行步驟209 ;
步驟209,將當前報文的DPI識別結果返回。
圖3是本發明實施例的載荷深層處理的流程圖,主要是完成報文載荷的識別,根據報文載荷內容判斷當前報文是由何種業務所產生,並根據當前業務的網絡業務流量模型設置一個或多個N元組關聯器。具體包括如下步驟
步驟301,進行報文七層載荷分析,例如,協議特徵的匹配,需要說明的是,在此步驟中,有可能是單個報文匹配,也有可能是多個報文在一起共同完成協議特徵的匹配;
步驟302,根據當前載荷的深度分析後,判斷當前會話是否匹配成功。如果未能匹配成功,則執行步驟309 ;
步驟303,根據當前識別業務類型的網絡業務流量模型特徵,判斷當前會話是否需要設置五元組關聯器。通常五元組關聯器的設置需要在DPI系統正常啟動時配置完成。例如,實時流傳輸協議(Real Time Streaming Protocol,簡稱為RTSP)控制面協商媒體面會話後,需要設置實時傳送協議(Real-time Transport Protocol,簡稱為RTP)、RTP控制協議(RTP Control Protocol,簡稱為RTCP)或RDT的五元組關聯器。如果需要設置五元組關聯器則執行步驟306,否則執行步驟304 ;
步驟304,根據當前識別業務類型的網絡業務流量模型特徵,判斷當前會話是否需要設置四元組關聯器。通常四元組關聯器的設置需要在DPI系統正常啟動時配置完成。例如,文件傳輸協議(File Transfer Protocol,簡稱為FTP)控制面協商媒體面會話後,需要設置FTP數據(DATA)的四元組關聯器。如果需要設置四元組關聯器則執行步驟307,否則執行步驟305 ;
步驟305,根據當前識別業務類型的網絡業務流量模型特徵,判斷當前會話是否需要設置三元組關聯器。通常三元組關聯器的設置需要在DPI系統正常啟動時配置完成。例如,點對點(Point to Point,簡稱為P2P)類的SKYPE協議,該協議在登陸過程中會發起數十個甚至上百個網絡連接,這些網絡連接的共同點是用戶端的埠號、協議類型相同,網絡 IP位址和網絡埠號不同,而用戶端的埠號可以通過識別SKYPE會話的某一個流得出。 因此,DPI系統在識別出該會話後設置一個三元組關聯器,從而達到將其他SKYPE會話匹配的目的。如果需要設置三元組關聯器則執行步驟308,否則執行步驟309 ;
步驟306,提取需要設置五元組關聯器的信息,信息來源不局限於當前會話的五元組信息,可能來源於當前報文載荷中的數據等,需要根據協議具體分析。設置完成後,執行步驟304 ;
步驟307,提取需要設置四元組關聯器的信息,信息來源不局限於當前會話的五元組信息,可能來源於當前報文載荷中的數據等,需要根據協議具體分析。設置完成後,執行步驟305 ;
步驟308,提取需要設置三元組關聯器的信息,信息來源不局限於當前會話的五元組信息,可能來源於當前報文載荷中的數據等,需要根據協議具體分析。設置完成後,執行步驟309 ;
步驟309,將當前報文的DPI識別結果返回。
藉助於本發明實施例的技術方案,通過引入關聯器的概念,在識別出業務的部分會話後,根據當前識別協議的網絡業務流量模型,設置一種或多種N元組關聯器,可以快速、高效及準確地匹配出該業務的後續會話。特別是對一些私有協議及加密的協議效果明顯。
裝置實施例
根據本發明的實施例,提供了一種基於DPI的報文業務類型識別裝置,圖4是本發明實施例的基於DPI的報文業務類型識別裝置的結構示意圖,如圖4所示,根據本發明實施例的基於DPI的報文業務類型識別裝置包括會話記錄匹配模塊40、關聯記錄匹配模塊42、 以及深層載荷分析模塊44,以下對本發明實施例的各個模塊進行詳細的說明。
會話記錄匹配模塊40,用於接收業務報文,將業務報文的會話信息與預先設置的會話記錄表中的會話記錄進行匹配,如果會話信息與某一條會話記錄匹配成功,則從會話記錄表中獲取與該會話記錄相對應的業務類型,作為業務報文的業務類型,如果未能從所述會話記錄表中獲取與該會話記錄相對應的業務類型,則調用關聯記錄匹配模塊42,如果未匹配成功,則根據會話信息在會話記錄表中創建相應的會話記錄,並調用關聯記錄匹配模塊42 ;
其中,會話信息包括用戶網絡協議IP位址、用戶埠號、網絡IP位址、網絡埠號、以及協議類型;會話記錄包括用戶IP位址、用戶埠號、網絡IP位址、網絡埠號、以及協議類型;
例如,當用戶開始進行業務時,會話記錄匹配模塊40收到該項業務的業務初始會話報文Al,根據Al的五元組信息(上述會話信息)查詢會話記錄表,並根據查詢結果(開始會話記錄表是可以沒有記錄的)創建該業務的會話記錄。
當下一個業務報文A2到達時,會話記錄匹配模塊40根據A2的五元組信息查詢會話記錄表,根據查詢的結果可知當前的業務類型為A。因為該會話已經被識別,因此,無需再查詢關聯器或進行更深層次地分析,直接將A作為該會話的業務結果返回。
關聯記錄匹配模塊42,用於將業務報文的會話信息與預先設置的關聯記錄表中的關聯記錄進行匹配,如果會話信息與某一條關聯記錄匹配成功,則從關聯記錄表中獲取與該關聯記錄相對應的業務類型,作為業務報文的業務類型,如果匹配不成功,則調用深層載荷分析模塊44 ;
其中,關聯記錄表包括五元組關聯記錄表、四元組關聯記錄表、和/或三元組關聯記錄表,其中,五元組關聯記錄表中的關聯記錄包括用戶IP位址、用戶埠號、網絡IP 地址、網絡埠號、以及協議類型;四元組關聯記錄表中的關聯記錄包括用戶IP位址、用戶埠號、網絡IP位址、以及協議類型;三元組關聯記錄表中的關聯記錄包括用戶IP位址、用戶埠號、以及協議類型。
關聯記錄匹配模塊42進一步用於在會話信息與某一條關聯記錄匹配成功的情況下,將業務報文的業務類型保存到會話記錄表中,並將業務類型與相應的會話記錄設置對應關係;
關聯記錄匹配模塊42具體用於將業務報文的會話信息依次與五元組關聯記錄表、四元組關聯記錄表、和三元組關聯記錄表中的關聯記錄進行匹配,也就是說,首先對五元組關聯器查詢,如果能夠查詢成功,則以查詢到業務類型作為當前會話的業務類型;如果查詢不成功,則繼續查詢四元組關聯器,並按此方法查詢三元組關聯器;如果業務報文的會話信息與某一關聯記錄表中的關聯記錄匹配成功,則不再繼續與後續關聯記錄表進行匹配。
例如,如果並未能知曉當前Al報文的業務類型,因此關聯記錄匹配模塊42需要查詢各種關聯器。首先查詢五元組關聯器,查詢不成功後,再查詢四元組關聯器,再查詢不成功則進行三元組關聯器的查詢;
深層載荷分析模塊44,用於對業務報文的會話信息進行深層載荷分析,獲取業務報文的業務類型。
深層載荷分析模塊44進一步用於在獲取業務報文的業務類型之後,將業務報文的業務類型插人保存到會話記錄表中,並將業務類型與相應的會話記錄設置對應關係;根據業務報文的業務類型獲取該業務的網絡流量模型,並根據網絡流量模型在關聯記錄表中創建相應的關聯記錄;將業務報文的業務類型保存到關聯記錄表中,並將創建的關聯記錄與業務類型設置對應關係。
舉例說明,當前Al報文的業務類型未知,並對Al報文的載荷進行更進一步地深度分析和處理,確定當前Al報文被識別為業務類型A,已知該業務類型為一種P2P業務,根據事先對該業務的分析可以得知該業務在運行的過程中會發起大量具有如下特徵的數據流1、流的創建都是在短時間內完成;2、用戶埠和協議號與當前會話的用戶埠和協議號保持一致或可以通過一定的規則轉換獲得。根據該業務的網絡流量模型可知應該設置三元組關聯器,即將當前會話的協議類型、用戶地址和用戶埠作為一條記錄保存到三元組關聯器表中。
當該業務的一個新會話報文Al'到達時,根據Al'的五元組信息查詢會話表,根據查詢的結果可知需要創建該會話記錄。因會話尚未匹配,則首先查詢五元組關聯器,查詢失敗後,再查詢四元組關聯器,依然未能查詢到可以匹配的四元組關聯器記錄;最後以當前會話的協議類型、用戶IP位址和用戶埠號查詢三元組關聯器,查詢到滿足條件的記錄, 根據三元組關聯器的信息可知當前報文Al'所在的會話對應業務類型A。根據查詢結果, 首先將當前業務類型保存到會話記錄表中,以後該會話後續報文到達時可快速地匹配;最後將當前匹配結果返回,不再進行更深層載荷分析和處理。
在本發明實施 例中,會話記錄和N元組關聯器的關聯記錄都是有生存期的,不能永遠存在記錄表中,否則記錄表就會很快被插滿,從而影響到後續業務報文的識別。因此記錄表中的數據就需要老化,數據既不能老化太快,也不能老化太慢,太快就會導致後續的報文查詢之前的匹配結果不成功,影響到報文的識別;太慢會導致記錄表會被插滿,從而影響到新會話的識別和關聯器的設置。為了解決上述問題,需要對會話記錄和各種關聯器記錄進行老化,上述裝置還包括
老化刪除模塊,用於在會話記錄匹配模塊40匹配成功或與關聯記錄匹配模塊42 匹配成功的情況下,更新相應的會話記錄或相應的關聯記錄的最後訪問時間;也就是說,當會話記錄查詢成功或關聯器查詢成功後,需要更新當前查詢匹配成功記錄的時間戳值;以預訂周期掃描會話記錄表和關聯記錄表;獲取會話記錄表中各條會話記錄以及關聯記錄表中各條關聯記錄的最後訪問時間,分別將最後訪問時間與當前時間進行比較,判斷是否超過老化時長,如果超時,則將相應的會話記錄或關聯記錄刪除。其中,上述各種參數,例如老化時長、掃描周期等都可以根據實際情況進行動態調整。
此外,需要說明的是,在本發明實施例中,會話記錄表的容量及各個關聯記錄表 (關聯器)的容量可以根據實際情況進行調整。
本發明實施例的技術方案為了對一些私有協議或加密協議(例如,P2P類協議) 進行識別,引入了關聯器的概念。在DPI識別過程中,根據對會話現有部分會話的分析和處理,得出當前會話屬於某一種業務,再根據這種業務的網絡業務流量模型,設置一個或多個 N元組關聯器,當業務後續的報文達到時,直接查詢關聯器匹配,而無需再進行深層的載荷分析。與現有技術相比,本發明實施例的技術方案分析了在DPI識別過程中,用戶在實際業務使用當中可能發生的各種情況。無論業務如何演變,技術如何發展,基於網絡業務流量模型的DPI系統總能根據現有的識別技術在識別出業務的部分流量後,根據業務流量模型的原理識別出該業務的後續會話。
以下結合附圖,對本發明實施例的上述技術方案進行詳細說明。
圖2是本發明實施例的基於DPI的報文業務類型識別方法的詳細處理的流程圖, 如圖2所示,包括如下處理
步驟201,收到報文後,根據當前報文的五元組信息在會話記錄表中查詢;其中, 用戶地址是需要根據報文的上下行來確定如果當前報文是上行報文時,則IP報文中的源 IP位址為用戶地址,否則目的地址為用戶地址。如果當前報文所在的會話並不存在於會話記錄表中,則根據當前五元組信息創建該會話記錄,該會話記錄包括用戶IP位址、網絡IP 地址、用戶埠號、網絡埠號和協議類型;
步驟202,判斷當前報文會話識別情況,如果當前會話在此之前已經被識別,則執行步驟207 ;否則需要作進一步地分析,執行步驟203 ;
步驟203,根據當前會話的五元組信息查詢五元組關聯器,如果查詢成功,則以查詢到的業務ID作為當前會話的識別結果,並執行步驟206 ;否則繼續執行步驟204 ;
步驟204,根據當前會話的四元組信息查詢四元組關聯器,包括用戶IP位址、用戶埠號、網絡IP位址及協議類型。如果查詢成功,則以查詢到的業務ID作為當前會話的識別結果,並執行步驟206 ;否則繼續執行步驟205 ;
步驟205,根據當前會話的三元組信息查詢三元組關聯器,包括用戶IP位址、用戶埠號、協議類型。如果查詢成功,則以查詢到的業務ID作為當前會話的識別結果,並執行步驟206 ;否則繼續執行步驟208 ;
步驟206,根據當前N(N為3、4、5)組關聯器的查詢結果,設置當前會話的業務類型,以便進行後續會話的處理;
步驟207,根據當前會話的識別結果,設置DPI的返回結果,以便DPI調用者使用;
步驟208,將當前報文進行更深層載荷分析和處理,分析當前報文七層的載荷內容,確定當前會話所屬的業務類型;處理完畢後執行步驟209 ;
步驟209,將當前報文的DPI識別結果返回。
圖3是本發明實施例的載荷深層處理的流程圖,主要是完成報文載荷的識別,根據報文載荷內容判斷當前報文是由 何種業務所產生,並根據當前業務的網絡業務流量模型設置一個或多個N元組關聯器。具體包括如下步驟
步驟301,進行報文七層載荷分析,例如,協議特徵的匹配,需要說明的是,在此步驟中,有可能是單個報文匹配,也有可能是多個報文在一起共同完成協議特徵的匹配;
步驟302,根據當前載荷的深度分析後,判斷當前會話是否匹配成功。如果未能匹配成功,則執行步驟309 ;
步驟303,根據當前識別業務類型的網絡業務流量模型特徵,判斷當前會話是否需要設置五元組關聯器。通常五元組關聯器的設置需要在DPI系統正常啟動時配置完成。例如,實時流傳輸協議(Real Time Streaming Protocol,簡稱為RTSP)控制面協商媒體面會話後,需要設置實時傳送協議(Real-time Transport Protocol,簡稱為RTP)、RTP控制協議(RTP Control Protocol,簡稱為RTCP)或RDT的五元組關聯器。如果需要設置五元組關聯器則執行步驟306,否則執行步驟304 ;
步驟304,根據當前識別業務類型的網絡業務流量模型特徵,判斷當前會話是否需要設置四元組關聯器。通常四元組關聯器的設置需要在DPI系統正常啟動時配置完成。例如,文件傳輸協議(File Transfer Protocol,簡稱為FTP)控制面協商媒體面會話後,需要設置FTP數據(DATA)的四元組關聯器。如果需要設置四元組關聯器則執行步驟307,否則執行步驟305 ;
步驟305,根據當前識別業務類型的網絡業務流量模型特徵,判斷當前會話是否需要設置三元組關聯器。通常三元組關聯器的設置需要在DPI系統正常啟動時配置完成。例如,點對點(Point to Point,簡稱為P2P)類的SKYPE協議,該協議在登陸過程中會發起數十個甚至上百個網絡連接,這些網絡連接的共同點是用戶端的埠號、協議類型相同,網絡 IP位址和網絡埠號不同,而用戶端的埠號可以通過識別SKYPE會話的某一個流得出。 因此,DPI系統在識別出該會話後設置一個三元組關聯器,從而達到將其他SKYPE會話匹配的目的。如果需要設置三元組關聯器則執行步驟308,否則執行步驟309 ;
步驟306,提取需要設置五元組關聯器的信息,信息來源不局限於當前會話的五元組信息,可能來源於當前報文載荷中的數據等,需要根據協議具體分析。設置完成後,執行步驟304 ;
步驟307,提取需要設置四元組關聯器的信息,信息來源不局限於當前會話的五元組信息,可能來源於當前報文載荷中的數據等,需要根據協議具體分析。設置完成後,執行步驟305 ;
步驟308,提取需要設置三元組關聯器的信息,信息來源不局限於當前會話的五元組信息,可能來源於當前報文載荷中的數據等,需要根據協議具體分析。設置完成後,執行步驟309 ;
步驟309,將當前報文的DPI識別結果返回。
通過將業務報文的會話信息與會話記錄表和關聯記錄表進行匹配來快速識別報文的業務類型,在匹配不成功的情況下再進行載荷深度分析獲取業務類型,解決了現有技術中傳統的DPI技術無法識別非公有協議報文的問題,能夠快速、高效、準確地識別當前會話的業務類型。
儘管為示例目的,已經公開了本發明的優選實施例,本領域的技術人員將意識到各種改進、增加和取代也 是可能的,因此,本發明的範圍應當不限於上述實施例。
權利要求
1.一種基於深度包檢測DPI的報文業務類型識別方法,其特徵在於,包括步驟1,接收業務報文,將所述業務報文的會話信息與預先設置的會話記錄表中的會話記錄進行匹配,如果所述會話信息與某一條會話記錄匹配成功,則從所述會話記錄表中獲取與該會話記錄相對應的業務類型,作為所述業務報文的業務類型,如果未能從所述會話記錄表中獲取與該會話記錄相對應的業務類型,則執行步驟2,如果未匹配成功,則根據所述會話信息在所述會話記錄表中創建相應的會話記錄,並執行步驟2 ;步驟2,將所述業務報文的會話信息與預先設置的關聯記錄表中的關聯記錄進行匹配, 如果所述會話信息與某一條關聯記錄匹配成功,則從所述關聯記錄表中獲取與該關聯記錄相對應的業務類型,作為所述業務報文的業務類型,如果匹配不成功,則執行步驟3 ;步驟3,對所述業務報文的會話信息進行深層載荷分析,獲取所述業務報文的業務類型。
2.如權利要求1所述的方法,其特徵在於,在所述步驟2中,如果所述會話信息與某一條關聯記錄匹配成功,則從所述關聯記錄表中獲取與該關聯記錄相對應的業務類型,作為所述業務報文的業務類型之後,所述方法還包括將所述業務報文的業務類型保存到所述會話記錄表中,並將所述業務類型與相應的會話記錄設置對應關係。
3.如權利要求1或2所述的方法,其特徵在於,執行所述步驟3之後,所述方法還包括: 將所述業務報文的業務類型保存到所述會話記錄表中,並將所述業務類型與相應的會話記錄設置對應關係。
4.如權利要求3所述的方法,其特徵在於,執行所述步驟3之後,所述方法還包括根據所述業務報文的業務類型獲取該業務的網絡流量模型,並根據所述網絡流量模型在關聯記錄表中創建相應的關聯記錄;將所述業務報文的業務類型保存到所述關聯記錄表中,並將創建的所述關聯記錄與所述業務類型設置對應關係。
5.如權利要求1所述的方法,其特徵在於,所述會話信息包括用戶網絡協議IP位址、用戶端□號、網絡IP位址、網絡端□號、以及協議類型;所述會話記錄包括所述用戶IP位址、所述用戶埠號、所述網絡IP位址、所述網絡埠號、以及所述協議類型;所述關聯記錄表包括五元組關聯記錄表、四元組關聯記錄表、和/或三元組關聯記錄表,其中,所述五元組關聯記錄表中的關聯記錄包括所述用戶IP位址、所述用戶埠號、 所述網絡IP位址、所述網絡埠號、以及所述協議類型;所述四元組關聯記錄表中的關聯記錄包括所述用戶IP位址、所述用戶埠號、所述網絡IP位址、以及所述協議類型;所述三元組關聯記錄表中的關聯記錄包括所述用戶IP位址、所述用戶埠號、以及所述協議類型。
6.如權利要求5所述的方法,其特徵在於,所述步驟2中,將所述業務報文的會話信息與預先設置的關聯記錄表中的關聯記錄進行匹配具體包括將所述業務報文的會話信息依次與所述五元組關聯記錄表、所述四元組關聯記錄表、 和所述三元組關聯記錄表中的關聯記錄進行匹配,如果所述業務報文的會話信息與某一關聯記錄表中的關聯記錄匹配成功,則不再繼續與後續關聯記錄表進行匹配。
7.如權利要求1所述的方法,其特徵在於,所述方法還包括在與所述會話記錄表中的會話記錄匹配成功或與所述關聯記錄表中的關聯記錄匹配成功的情況下,更新所述會話記錄或所述關聯記錄的最後訪問時間;以預訂周期掃描所述會話記錄表和所述關聯記錄表;獲取所述會話記錄表中各條會話記錄以及所述關聯記錄表中各條關聯記錄的最後訪問時間,分別將所述最後訪問時間與當前時間進行比較,判斷是否超時,如果超時,則將相應的會話記錄或關聯記錄刪除。
8.一種基於深度包檢測DPI的報文業務類型識別裝置,其特徵在於,包括會話記錄匹配模塊,用於接收業務報文,將所述業務報文的會話信息與預先設置的會話記錄表中的會話記錄進行匹配,如果所述會話信息與某一條會話記錄匹配成功,則從所述會話記錄表中獲取與該會話記錄相對應的業務類型,作為所述業務報文的業務類型,如果未能從所述會話記錄表中獲取與該會話記錄相對應的業務類型,則調用關聯記錄匹配模塊,如果未匹配成功,則根據所述會話信息在所述會話記錄表中創建相應的會話記錄,並調用所述關聯記錄匹配模塊;,所述關聯記錄匹配模塊,用於將所述業務報文的會話信息與預先設置的關聯記錄表中的關聯記錄進行匹配,如果所述會話信息與某一條關聯記錄匹配成功,則從所述關聯記錄表中獲取與該關聯記錄相對應的業務類型,作為所述業務報文的業務類型,如果匹配不成功,則調用深層載荷分析模塊;所述深層載荷分析模塊,用於對所述業務報文的會話信息進行深層載荷分析,獲取所述業務報文的業務類型。
9.如權利要求8所述的裝置,其特徵在於,所述關聯記錄匹配模塊進一步用於在所述會話信息與某一條關聯記錄匹配成功的情況下,將所述業務報文的業務類型保存到所述會話記錄表中,並將所述業務類型與相應的會話記錄設置對應關係;所述深層載荷分析模塊進一步用於在獲取所述業務報文的業務類型之後,將所述業務報文的業務類型保存到所述會話記錄表中,並將所述業務類型與相應的會話記錄設置對應關係;根據所述業務報文的業務類型獲取該業務的網絡流量模型,並根據所述網絡流量模型在關聯記錄表中創建相應的關聯記錄;將所述業務報文的業務類型保存到所述關聯記錄表中,並將創建的所述關聯記錄與所述業務類型設置對應關係。
10.如權利要求8所述的裝置,其特徵在於,所述會話信息包括用戶網絡協議IP位址、用戶埠號、網絡IP位址、網絡埠號、以及協議類型;所述會話記錄包括所述用戶IP位址、所述用戶埠號、所述網絡IP位址、所述網絡埠號、以及所述協議類型;所述關聯記錄表包括五元組關聯記錄表、四元組關聯記錄表、和/或三元組關聯記錄表,其中,所述五元組關聯記錄表中的關聯記錄包括所述用戶IP位址、所述用戶埠號、 所述網絡IP位址、所述網絡埠號、以及所述協議類型;所述四元組關聯記錄表中的關聯記錄包括所述用戶IP位址、所述用戶埠號、所述網絡IP位址、以及所述協議類型;所述三元組關聯記錄表中的關聯記錄包括所述用戶IP位址、所述用戶埠號、以及所述協議類型。
11.如權利要求10所述的裝置,其特徵在於,所述關聯記錄匹配模塊具體用於將所述業務報文的會話信息依次與所述五元組關聯記錄表、所述四元組關聯記錄表、和所述三元組關聯記錄表中的關聯記錄進行匹配,如果所述業務報文的會話信息與某一關聯記錄表中的關聯記錄匹配成功,則不再繼續與後續關聯記錄表進行匹配。
12.如權利要求8所述的裝置,其特徵在於,所述裝置還包括老化刪除模塊,用於在所述會話記錄匹配模塊匹配成功或與所述關聯記錄匹配模塊匹配成功的情況下,更新相應的會話記錄或相應的關聯記錄的最後訪問時間;以預訂周期掃描所述會話記錄表和所述關聯記錄表;獲取所述會話記錄表中各條會話記錄以及所述關聯記錄表中各條關聯記錄的最後訪問時間,分別將所述最後訪問時間與當前時間進行比較, 判斷是否超時,如果超時,則將相應的會話記錄或關聯記錄刪除。
全文摘要
本發明公開了一種基於DPI的報文業務類型識別方法。該方法包括步驟1,將業務報文的會話信息與會話記錄表中的會話記錄進行匹配,如果會話信息與某一條會話記錄匹配成功,則從會話記錄表中獲取相對應的業務類型,如果未能從會話記錄表中獲取相對應的業務類型,則執行步驟2,如果未匹配成功,則在會話記錄表中創建相應的會話記錄,並執行步驟2;步驟2,將業務報文的會話信息與關聯記錄表中的關聯記錄進行匹配,如果會話信息與某一條關聯記錄匹配成功,則從關聯記錄表中獲取與該關聯記錄相對應的業務類型,如果匹配不成功,則執行步驟3;步驟3,對業務報文的會話信息進行深層載荷分析,獲取業務報文的業務類型。
文檔編號H04L29/08GK103023670SQ20111027827
公開日2013年4月3日 申請日期2011年9月20日 優先權日2011年9月20日
發明者汪長勤, 孫宏躍, 李華光, 宋科 申請人:中興通訊股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀