專利名稱:一種協(xié)議識(shí)別方法、設(shè)備及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種協(xié)議識(shí)別方法、設(shè)備及系統(tǒng)。
背景技術(shù):
DPI (Deep Packet Inspection,深度包檢測(cè))是一種包(報(bào)文)檢測(cè)技術(shù),它除了 對(duì)IP包中的源IP地址、目的IP地址、源端口、目的端口等(IP包的層4以下數(shù)據(jù))信息進(jìn) 行檢測(cè)分析外,還對(duì)IP包中的應(yīng)用層數(shù)據(jù)進(jìn)行深入分析,從而可以更高效地識(shí)別出網(wǎng)絡(luò)上 的各種應(yīng)用。目前,DPI技術(shù)已廣泛應(yīng)用于流量控制、內(nèi)容計(jì)費(fèi)和網(wǎng)絡(luò)安全等領(lǐng)域。在DPI技術(shù) 應(yīng)用中,報(bào)文檢測(cè)過程中的協(xié)議識(shí)別是一個(gè)關(guān)鍵的技術(shù),后續(xù)的分析處理很多都需要依據(jù) 協(xié)議識(shí)別的結(jié)果,因此,協(xié)議識(shí)別的效率在很大程度上決定了 DPI設(shè)備性能的好處。這里的協(xié)議可以由一個(gè)或多個(gè)規(guī)則確定,即滿足一個(gè)或多個(gè)規(guī)則時(shí),就表示識(shí)別 出了該協(xié)議,可以由以下表達(dá)示來表示協(xié)議和規(guī)則的關(guān)系協(xié)議={規(guī)則1,規(guī)則2,規(guī)則3...,規(guī)則η};其中,規(guī)則又由一個(gè)或多個(gè)條件組成,只有當(dāng)每個(gè)條件都滿足時(shí),這條規(guī)則才算滿 足。條件的類型可以是字符串,或正規(guī)表達(dá)式,或長度,或端口,或IP等。規(guī)則與條件的關(guān) 系可以用以下表達(dá)示來表示規(guī)則=條件1 &條件2 &條件3... &條件η(符號(hào)“ & ”表示邏輯“與”關(guān)系);從這里可以看出,一個(gè)協(xié)議本質(zhì)上是由多個(gè)條件邏輯組合后決定的,條件是決定 協(xié)議的最小單元。參見圖1,為現(xiàn)有技術(shù)進(jìn)行DPI應(yīng)用時(shí)的系統(tǒng)框圖,當(dāng)接收到數(shù)據(jù)報(bào)文時(shí),先進(jìn)行 流表查找,查找成功的報(bào)文進(jìn)行策略執(zhí)行;如果未成功,則進(jìn)行協(xié)議識(shí)別,后續(xù)進(jìn)行協(xié)議解 析、業(yè)務(wù)控制及策略執(zhí)行等動(dòng)作。在進(jìn)行協(xié)議識(shí)別時(shí),現(xiàn)有技術(shù)先進(jìn)行協(xié)議主特征匹配,包括使用字符串匹配等算 法完成對(duì)協(xié)議主要特征的搜索,如果搜索到主特征,則認(rèn)為可能是相關(guān)的協(xié)議類型,會(huì)進(jìn)行 進(jìn)一步的協(xié)議驗(yàn)證;如果協(xié)議驗(yàn)證通過,則協(xié)議識(shí)別成功,否則協(xié)議識(shí)別失?。粎f(xié)議主特征 匹配無結(jié)果的報(bào)文,會(huì)進(jìn)行正則表達(dá)式匹配,正則表達(dá)式匹配和協(xié)議主特征匹配作用類似, 都是為了查找協(xié)議是否符合某些條件,正則表達(dá)式匹配成功后也進(jìn)行協(xié)議驗(yàn)證。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下缺點(diǎn)由于存在著多個(gè)協(xié)議對(duì)應(yīng)于同一主特征的情況,因此,當(dāng)主特征一致時(shí),需要對(duì)主 特征下的其他協(xié)議特征進(jìn)行逐個(gè)驗(yàn)證,直至協(xié)議識(shí)別結(jié)束或最后一個(gè)協(xié)議特征驗(yàn)證失敗。 由此可見,協(xié)議識(shí)別的性能跟協(xié)議驗(yàn)證的順序以及同一主特征協(xié)議的數(shù)量有關(guān),性能不穩(wěn) 定,可能需要驗(yàn)證所有協(xié)議特征后,才能識(shí)別出協(xié)議類型,而如果對(duì)應(yīng)同一主特征的協(xié)議數(shù) 量很多的話,那么驗(yàn)證次數(shù)也會(huì)隨之增加,從而降低了協(xié)議識(shí)別的性能。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了 一種協(xié)議識(shí)別方法、設(shè)備及系統(tǒng),用于提高協(xié)議識(shí)別的性能, 包括一種協(xié)議識(shí)別方法,包括如下步驟根據(jù)協(xié)議的匹配規(guī)則,對(duì)接收到的報(bào)文中的特征信息進(jìn)行匹配;當(dāng)匹配成功且未識(shí)別出協(xié)議時(shí),記錄該次匹配時(shí)的狀態(tài)節(jié)點(diǎn),使得接收下一個(gè)報(bào) 文時(shí),對(duì)所述下一個(gè)報(bào)文中的特征信息的匹配從該記錄的狀態(tài)節(jié)點(diǎn)處開始匹配。以及,一種協(xié)議識(shí)別設(shè)備,包括接收單元,用于接收?qǐng)?bào)文;匹配單元,用于根據(jù)協(xié)議的匹配規(guī)則,對(duì)所述接收單元接收到的報(bào)文中的特征信 息進(jìn)行匹配;狀態(tài)識(shí)別單元,用于匹配成功且沒有識(shí)別出協(xié)議時(shí),記錄該次匹配時(shí)的狀態(tài)節(jié)點(diǎn), 使得接收下一個(gè)報(bào)文時(shí),對(duì)所述下一個(gè)報(bào)文中的特征信息匹配從該次記錄的狀態(tài)節(jié)點(diǎn)處開 始匹配。以及,一種協(xié)議識(shí)別系統(tǒng),包括報(bào)文重組單元,用于接收?qǐng)?bào)文,完成報(bào)文重組;流表查找單元,用于接收通過所述報(bào)文重組單元過來的報(bào)文進(jìn)行流表查找,如果 查找成功,則進(jìn)行策略執(zhí)行;如果查找失敗,則將報(bào)文送至協(xié)議識(shí)別單元;協(xié)議識(shí)別單元,用于根據(jù)協(xié)議的匹配規(guī)則,對(duì)接收到的報(bào)文中的特征信息進(jìn)行匹 配;當(dāng)匹配成功且未識(shí)別出協(xié)議時(shí),記錄該次匹配時(shí)的狀態(tài)節(jié)點(diǎn),使得接收下一個(gè)報(bào)文時(shí), 對(duì)所述下一個(gè)報(bào)文中的特征信息的匹配從該記錄的狀態(tài)節(jié)點(diǎn)處開始匹配;協(xié)議解析單元,用于接收協(xié)議識(shí)別單元識(shí)別后的報(bào)文,對(duì)需要解析的報(bào)文進(jìn)行協(xié) 議解析,或者對(duì)未識(shí)別出協(xié)議的報(bào)文進(jìn)行協(xié)議識(shí)別;業(yè)務(wù)控制單元,用于根據(jù)所述協(xié)議解析單元解析結(jié)果對(duì)所述報(bào)文進(jìn)行相關(guān)的策略 執(zhí)行;策略執(zhí)行單元,用于根據(jù)所述業(yè)務(wù)控制單元或所述流表查找單元執(zhí)行相應(yīng)的策略。本發(fā)明實(shí)施例通過對(duì)接收到的報(bào)文中的特征信息進(jìn)行匹配,如果匹配成功且未識(shí) 別出協(xié)議時(shí),記錄該次匹配時(shí)的狀態(tài)節(jié)點(diǎn),使得接收到下個(gè)報(bào)文時(shí),從記錄的狀態(tài)節(jié)點(diǎn)開始 匹配;從而無需根據(jù)主特征及協(xié)議驗(yàn)證等步驟來識(shí)別協(xié)議,只需經(jīng)過特征匹配并記錄匹配 狀態(tài)即可完成協(xié)議識(shí)別,因此,協(xié)議識(shí)別方式簡單快速、提高了協(xié)議識(shí)別的性能。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。圖1為現(xiàn)有技術(shù)進(jìn)行協(xié)議識(shí)別示意圖2為本發(fā)明實(shí)施例一進(jìn)行協(xié)議識(shí)別方法流程圖;圖3為本發(fā)明實(shí)施例二進(jìn)行協(xié)議識(shí)別方法流程圖;圖4為本發(fā)明實(shí)施例二進(jìn)行協(xié)議識(shí)別過程中協(xié)議識(shí)別狀態(tài)圖;圖5為本發(fā)明實(shí)施例二進(jìn)行協(xié)議識(shí)別過程中另一協(xié)議識(shí)別狀態(tài)圖;圖6為本發(fā)明實(shí)施例二進(jìn)行協(xié)議識(shí)別過程中另一協(xié)議識(shí)別狀態(tài)圖;圖7為本發(fā)明實(shí)施例二進(jìn)行協(xié)議識(shí)別過程中另一協(xié)議識(shí)別狀態(tài)圖;圖8為本發(fā)明實(shí)施例三協(xié)議識(shí)別設(shè)備結(jié)構(gòu)框圖;圖9為本發(fā)明實(shí)施例四協(xié)議識(shí)別系統(tǒng)框圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于 本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。實(shí)施例一本發(fā)明實(shí)施例提供了 一種協(xié)議識(shí)別方法及裝置,用于提高協(xié)議識(shí)別效率。參見圖1,本發(fā)明實(shí)施例包括如下步驟S101、接收?qǐng)?bào)文,提取所述報(bào)文中的特征信息;其中,本發(fā)明實(shí)施例中的協(xié)議識(shí)別是基于數(shù)據(jù)流進(jìn)行的,上述報(bào)文也是數(shù)據(jù)流的 報(bào)文,可以同時(shí)對(duì)多個(gè)數(shù)據(jù)流進(jìn)行協(xié)議識(shí)別。S102、根據(jù)協(xié)議的匹配規(guī)則,對(duì)所述特征信息進(jìn)行匹配;其中,協(xié)議的匹配規(guī)則通過正則表達(dá)式確定;這里的特征信息可以為字符特征信 息、協(xié)議頭特征信息、以及行為特征信息中的一種或幾種。需要說明的是,上述特征信息并 不是唯一的,也可以根據(jù)識(shí)別協(xié)議的類型自定義一些特征信息進(jìn)行匹配,在本發(fā)明實(shí)施例 中,使用上述三種特征信息,且在匹配過程中先對(duì)字符特征信息進(jìn)行匹配;如果未識(shí)別出協(xié) 議,再對(duì)協(xié)議頭特征信息和/或行為特征信息進(jìn)行匹配。S103、當(dāng)匹配成功且未識(shí)別出協(xié)議時(shí),記錄該次匹配時(shí)的狀態(tài)節(jié)點(diǎn),使得接收下個(gè) 報(bào)文時(shí),對(duì)所述下個(gè)報(bào)文的匹配從該次記錄的狀態(tài)節(jié)點(diǎn)處開始匹配。在本發(fā)明實(shí)施例中,所有協(xié)議的匹配并不是一次性完成,而是根據(jù)正則表達(dá)式確 定幾個(gè)狀態(tài)節(jié)點(diǎn),如果匹配成功,但并未識(shí)別出協(xié)議,則記錄該次狀態(tài)節(jié)點(diǎn);當(dāng)接收下一個(gè) 報(bào)文時(shí),上次匹配成功所記錄的狀態(tài)節(jié)點(diǎn)上開始匹配;如果所有匹配都成功,則識(shí)別出了 該協(xié)議,協(xié)議匹配過程結(jié)束;如果一直到數(shù)據(jù)流結(jié)束都沒有全部匹配成功,則也終止協(xié)議匹 配。當(dāng)所述字符特征信息位于多個(gè)報(bào)文時(shí),每接收一個(gè)報(bào)文時(shí),提取報(bào)文中的所述字 符特征信息與所述匹配規(guī)則中的字符特征信息進(jìn)行匹配,如果部分匹配成功,則記錄該次 匹配狀態(tài),使得下一個(gè)報(bào)文從該次記錄的匹配狀態(tài)開始進(jìn)行匹配,直到匹配成功,或者匹配 失敗。本發(fā)明實(shí)施例通過對(duì)接收到的報(bào)文中的特征信息進(jìn)行匹配,如果匹配成功且未識(shí) 別出協(xié)議時(shí),記錄該次匹配時(shí)的狀態(tài)節(jié)點(diǎn),使得接收到下個(gè)報(bào)文時(shí),從記錄的狀態(tài)節(jié)點(diǎn)開始匹配;從而無需根據(jù)主特征及協(xié)議驗(yàn)證等步驟來識(shí)別協(xié)議,只需經(jīng)過特征匹配并記錄匹配 狀態(tài)即可完成協(xié)議識(shí)別,因此,協(xié)議識(shí)別方式簡單快速、提高了協(xié)議識(shí)別的性能。實(shí)施例二本發(fā)明提供了 一種識(shí)別協(xié)議的方法,用于提高協(xié)議識(shí)別的效率。參見圖3,為本發(fā)明實(shí)施例二方法流程包括如下步驟S201、接收?qǐng)?bào)文,提取所述報(bào)文中的字符特征信息;本發(fā)明實(shí)施例中,協(xié)議識(shí)別可以基于數(shù)據(jù)流進(jìn)行,這里的數(shù)據(jù)流可以理解為一系 列相關(guān)的數(shù)據(jù)報(bào)文,例如,來自某個(gè)用戶連接的數(shù)據(jù),或者來自某個(gè)端口或IP的數(shù)據(jù)等,根 據(jù)實(shí)際應(yīng)用的不同,數(shù)據(jù)流也可以由用戶通過自定義規(guī)則確定,而這里接收到的報(bào)文是一 系列構(gòu)成數(shù)據(jù)流中報(bào)文中的其中一個(gè)。接收到報(bào)文后,提取所述報(bào)文中的字符特征信息,字符特征信息是報(bào)文特征信息 的一種,也是最常用的一種。報(bào)文特征信息除了字符特征信息外,還可以包括協(xié)議頭特征信 息、行為特征信息等。其中,字符特征信息一般為一些表征協(xié)議的特征字符串,例如“HTTP1.0”、“GET”等 用來表征HTTP協(xié)議的特征字符串,更通用的為一些用正則表達(dá)式確定的字符特征信息;字 符特征信息在協(xié)議識(shí)別過程中一般都會(huì)用到,且有些協(xié)議只需要通過字符特征信息匹配就 能夠識(shí)別;同時(shí),特征信息中的協(xié)議頭特征信息和行為特征信息一般每個(gè)報(bào)文都會(huì)攜帶,但 字符特征信息并不是每個(gè)報(bào)文都有的,因此,為了盡快識(shí)別協(xié)議,本發(fā)明實(shí)施例先對(duì)這些使 用頻率較高且相對(duì)比較重要的字符特征信息進(jìn)行匹配。特征信息中的協(xié)議頭特征信息可以包括類型、目的IP、目的端口號(hào)分析、源IP、 源端口號(hào)中的一個(gè)或多個(gè)信息。特征信息中的行為特征信息行為分析則可以包括報(bào)文長 度、報(bào)文速率等信息。S202、根據(jù)協(xié)議的匹配規(guī)則,對(duì)字符特征信息進(jìn)行匹配;當(dāng)匹配成功且未識(shí)別出協(xié) 議時(shí),記錄該次匹配時(shí)的狀態(tài)節(jié)點(diǎn);其中,協(xié)議的匹配規(guī)則通過正則表達(dá)式確定。在具體匹配過程中,可將提取的字符 特征信息與規(guī)則庫當(dāng)中的規(guī)則進(jìn)行匹配,如果匹配成功,可以通過輸出一個(gè)規(guī)則ID(—個(gè) 整數(shù))來表示。假設(shè)有一個(gè)協(xié)議a需要滿足如下條件才能匹配(兩個(gè)條件之間還可以有其他條 件)條件b= “GET,,條件 c = "www*html ”條件d =目的端口號(hào)為80當(dāng)分別滿足條件b、c、d時(shí),輸出規(guī)則ID分別為B、C、D ;則可以使用正則表達(dá)式 B*C*D來描述協(xié)議a的匹配規(guī)則,其中,“*”表示在兩個(gè)規(guī)則之間還可以有任意其他的規(guī)則, 如B、C之間還可以有F、E等規(guī)則,這樣,BFC、或BFEC等也滿足Bt匹配條件;如果協(xié)議a的 條件b之后下一個(gè)條件必須是條件c,則需要使用BCfD來表示協(xié)議a。S203、判斷是否識(shí)別出協(xié)議,如果是,則結(jié)束識(shí)別過程;如果否,則執(zhí)行步驟S204 ;當(dāng)通過匹配后滿足協(xié)議所規(guī)定的所有匹配規(guī)則時(shí),則判斷識(shí)別出協(xié)議,例如,協(xié)議 a如果由正則表達(dá)式BVD確定,則通過匹配后如果滿足BVD條件,則識(shí)別出了協(xié)議a,協(xié)議識(shí)別過程結(jié)束。如果匹配成功,但并沒有識(shí)別出協(xié)議,則記錄該次匹配的狀態(tài)節(jié)點(diǎn);這里的狀態(tài)節(jié) 點(diǎn)用于表征當(dāng)前匹配的狀態(tài)進(jìn)度,例如,如果協(xié)議a通過正則表達(dá)式確定,如果當(dāng)前 C匹配成功,則可以記錄當(dāng)前的狀態(tài)節(jié)點(diǎn)為C,用于表示現(xiàn)在匹配已經(jīng)到了 C,下一次只需要 再匹配D就可以,而不必再從B開始匹配。對(duì)于某些跨包的字符特征信息(即字符特征信息分別位于兩個(gè)或兩個(gè)以上的報(bào) 文中),每接收一個(gè)報(bào)文時(shí),提取報(bào)文中的所述字符特征信息與所述匹配規(guī)則中的字符特征 信息進(jìn)行匹配,如果部分匹配成功,則記錄該次匹配狀態(tài),使得下一個(gè)報(bào)文從該次記錄的匹 配狀態(tài)開始進(jìn)行匹配,直到匹配成功,或者匹配失敗。例如需要匹配字符特征信息為“AB⑶ETO”,其中,“AB”在第一個(gè)報(bào)文,“⑶E”在第 二個(gè)報(bào)文,“re”在第三個(gè)報(bào)文;則接收到第一個(gè)報(bào)文后,先匹配“AB”,由于匹配“AB”只是部 分匹配成功,因此,記錄已經(jīng)匹配到“AB”的狀態(tài);然后下次接收到“⑶E”的時(shí)候從“AB”開 始匹配,因此,能部分匹配為“AB⑶E”,最后,再通過匹配“re”來使得匹配最終完成。進(jìn)一步的,本發(fā)明實(shí)施例對(duì)字符特征信息匹配完成(成功或失敗)前,先不匹配協(xié) 議頭特征信息和/或行為特征信息,直到匹配完成(如匹配成功或失敗),且未識(shí)別出協(xié)議, 后續(xù)再執(zhí)行協(xié)議頭特征信息匹配和/或行為特征信息匹配。S204、根據(jù)協(xié)議的匹配規(guī)則,對(duì)協(xié)議頭特征信息進(jìn)行匹配;當(dāng)匹配成功且未識(shí)別出 協(xié)議時(shí),記錄該次匹配時(shí)的狀態(tài)節(jié)點(diǎn);如果通過字符特征信息匹配并沒有識(shí)別出協(xié)議時(shí),提取報(bào)文中協(xié)議頭特征信息, 對(duì)所述協(xié)議頭特征信息進(jìn)行匹配,協(xié)議頭特征信息可以包括類型、目的IP、目的端口號(hào)分 析、源IP、源端口號(hào)中的一個(gè)或多個(gè)信息。這里需要說明的是,對(duì)協(xié)議頭特征信息匹配并不是一個(gè)必要的流程,有些協(xié)議可 能并不需要對(duì)該特征信息進(jìn)行匹配,在實(shí)際應(yīng)用中,可以根據(jù)實(shí)際應(yīng)用需求來選擇是否執(zhí) 行該匹配;同時(shí),協(xié)議頭特征信息提取的時(shí)間并不限定,除了在步驟S204進(jìn)行提取外,也可 以在步驟S201提取字符特征信息時(shí)進(jìn)行提取。S205、判斷是否識(shí)別出協(xié)議,如果是,則結(jié)束識(shí)別過程;如果否,則執(zhí)行步驟S206 ;同步驟S203類似,在判斷過程中,如果匹配成功但并沒識(shí)別出協(xié)議,也需要記錄 該次匹配的狀態(tài)節(jié)點(diǎn),使得下一次匹配從該狀態(tài)節(jié)點(diǎn)處開始。S206、根據(jù)協(xié)議的匹配規(guī)則,對(duì)行為特征信息進(jìn)行匹配;當(dāng)匹配成功且未識(shí)別出協(xié) 議時(shí),記錄該次匹配時(shí)的狀態(tài)節(jié)點(diǎn);如果通過字符特征信息匹配以及協(xié)議頭特征信息并沒有識(shí)別出協(xié)議時(shí),再對(duì)從報(bào) 文中提取協(xié)議頭特征信息進(jìn)行匹配。這里需要說明的是,對(duì)協(xié)議頭特征信息匹配也不是一 個(gè)必要的流程,有些協(xié)議可能并不需要對(duì)該特征信息進(jìn)行匹配,在實(shí)際應(yīng)用中,可以根據(jù)實(shí) 際應(yīng)用需求來選擇是否執(zhí)行該匹配;同時(shí),行為特征信息的提取的時(shí)間也不限定,如可以在 步驟S201提取字符特征信息時(shí)進(jìn)行提取或在步驟S204提取協(xié)議頭信息時(shí)進(jìn)行提取。S207、判斷是否識(shí)別出協(xié)議,如果是,則結(jié)束識(shí)別過程;如果否,則執(zhí)行步驟S208 ;S208、接收下一個(gè)報(bào)文,參見步驟S202,重新開始匹配;S209、當(dāng)數(shù)據(jù)流結(jié)束時(shí),如果還未匹配成功,則結(jié)束協(xié)議識(shí)別。本發(fā)明實(shí)施例中的報(bào)文是基于數(shù)據(jù)流的,如果當(dāng)數(shù)據(jù)流結(jié)束而仍未識(shí)別出協(xié)議
9的,則結(jié)束協(xié)議識(shí)別,刪除協(xié)議識(shí)別過程中的狀態(tài)信息。為了使本發(fā)明實(shí)施例更加清楚完整,下面結(jié)合協(xié)議識(shí)別過程中狀態(tài)節(jié)點(diǎn)圖來對(duì)本 發(fā)明實(shí)施例作進(jìn)一步闡述。參見圖4,為本發(fā)明實(shí)施例協(xié)議識(shí)別狀態(tài)圖,每個(gè)協(xié)議由至少一個(gè)狀態(tài)節(jié)點(diǎn)構(gòu)成, 每個(gè)節(jié)點(diǎn)代表協(xié)議識(shí)別的一個(gè)規(guī)則。其中,每個(gè)協(xié)議的第一個(gè)節(jié)點(diǎn)稱為首節(jié)點(diǎn),圖4中,首 節(jié)點(diǎn)包括節(jié)點(diǎn)B、G、E、F ;圓形節(jié)點(diǎn)代表對(duì)字符特征信息匹配的一個(gè)規(guī)則,圖4中節(jié)點(diǎn)B、C、 G、L、M、P都是對(duì)應(yīng)字符特征信息匹配的規(guī)則;八方形節(jié)點(diǎn)代表對(duì)協(xié)議頭特征信息匹配或者 行為特征信息匹配的一個(gè)規(guī)則。圖4中節(jié)點(diǎn)D、N、0、Q、R、S、T、U及兩個(gè)空節(jié)點(diǎn)都是對(duì)應(yīng)協(xié)議頭特征信息或者行為 特征信息的規(guī)則,有空節(jié)點(diǎn)的原因,是有時(shí)候協(xié)議可對(duì)協(xié)議頭特征信息或者行為特征信息 的匹配結(jié)果不作規(guī)定,任何結(jié)果都認(rèn)為是可以匹配上的;帶方形虛線框的節(jié)點(diǎn)代表協(xié)議識(shí) 別的最后一個(gè)狀態(tài)節(jié)點(diǎn),即滿足這個(gè)節(jié)點(diǎn)所代表的規(guī)則后,協(xié)議識(shí)別結(jié)束,圖4中節(jié)點(diǎn)D、0、 S、Ε、U都對(duì)應(yīng)協(xié)議識(shí)別的最后一個(gè)規(guī)則,當(dāng)所有規(guī)則都匹配成功后,則識(shí)別出了相關(guān)協(xié)議。圖4中的圓形節(jié)點(diǎn)B、C、G、L、M、P、F都有一個(gè)環(huán)回的箭頭,代表從這個(gè)節(jié)點(diǎn)跳到下 一級(jí)節(jié)點(diǎn),中間可以有任意個(gè)匹配規(guī)則,例如圖4中,節(jié)點(diǎn)B和節(jié)點(diǎn)C節(jié)點(diǎn)之間,可以輸入任 意個(gè)匹配規(guī)則,使用正則表達(dá)式為B*C,匹配上節(jié)點(diǎn)B對(duì)應(yīng)的規(guī)則后,報(bào)文處于節(jié)點(diǎn)B的狀 態(tài),在匹配上節(jié)點(diǎn)C的規(guī)則之前,該報(bào)文可以匹配上其他的規(guī)則,但是該報(bào)文的狀態(tài)都停留 在節(jié)點(diǎn)B,直到匹配上節(jié)點(diǎn)C對(duì)應(yīng)的規(guī)則。由于協(xié)議頭特征信息和行為特征信息所能匹配的項(xiàng)通常是固定的,例如從協(xié)議頭 特征信息和行為特征信息可以包括傳輸層類型、目的IP、目的端口號(hào)、報(bào)文長度和報(bào)文速 率等信息,這些信息可以根據(jù)需要調(diào)整順序,在識(shí)別過程中,這些信息可以都作為協(xié)議識(shí)別 規(guī)則,也可以選擇其中一個(gè)或幾個(gè)作為識(shí)別規(guī)則。在協(xié)議a中,有些協(xié)議頭特征信息和行 為特征信息匹配用空節(jié)點(diǎn)表示(如節(jié)點(diǎn)C后的兩個(gè)空白八方形),此時(shí),只要檢測(cè)到有事先 定義的協(xié)議頭特征信息或行為特征信息,即可跳轉(zhuǎn)到下一狀態(tài),而不必嚴(yán)格匹配特征信息 的內(nèi)容,例如,如果協(xié)議a節(jié)點(diǎn)C后面的兩個(gè)八方形節(jié)點(diǎn)分別定義為檢測(cè)傳輸層類型和目 的IP,則只要分別檢測(cè)到有傳輸層類型和目的IP,而不管具體的傳輸層類型和目的IP是什 么,就可以匹配成功;下一次如果節(jié)點(diǎn)D再匹配成功,則完成對(duì)協(xié)議a的識(shí)別。圖4中,八方形節(jié)點(diǎn)D、N、0、Q、R、S、T、U表示的規(guī)則類型如表1所示,條件類型包 括傳輸層類型、目的IP、目的端口號(hào)、報(bào)文長度和報(bào)文速率等,在各協(xié)議中的具體檢測(cè)順 序可以根據(jù)協(xié)議的不同而不同。表1、節(jié)點(diǎn)D、N、0、Q、R、S、T、U表示的規(guī)則類型表
權(quán)利要求
1.一種協(xié)議識(shí)別方法,其特征在于,包括如下步驟根據(jù)協(xié)議的匹配規(guī)則,對(duì)接收到的報(bào)文中的特征信息進(jìn)行匹配; 當(dāng)匹配成功且未識(shí)別出協(xié)議時(shí),記錄該次匹配時(shí)的狀態(tài)節(jié)點(diǎn),使得接收下一個(gè)報(bào)文時(shí), 對(duì)所述下一個(gè)報(bào)文中的特征信息的匹配從該記錄的狀態(tài)節(jié)點(diǎn)處開始匹配。
2.如權(quán)利要求1所述的協(xié)議識(shí)別方法,其特征在于 所述協(xié)議的匹配規(guī)則通過正則表達(dá)式來確定。
3.如權(quán)利要求1所述的協(xié)議識(shí)別方法,其特征在于 所述特征信息至少包括字符特征信息,或者協(xié)議頭特征信息,或者行為特征信息。
4.如權(quán)利要求3所述的協(xié)議識(shí)別方法,其特征在于當(dāng)所述特征信息包括字符特征信息、協(xié)議頭特征信息和/或行為特征信息時(shí),先對(duì)所 述字符特征信息進(jìn)行匹配,當(dāng)通過匹配未識(shí)別出協(xié)議時(shí),再對(duì)所述協(xié)議頭特征信息和/或 行為特征信息進(jìn)行匹配。
5.如權(quán)利要求4所述的協(xié)議識(shí)別方法,其特征在于當(dāng)所述字符特征信息位于多個(gè)報(bào)文時(shí),每接收一個(gè)報(bào)文時(shí),提取報(bào)文中的所述字符特 征信息與所述匹配規(guī)則中的字符特征信息進(jìn)行匹配,如果部分匹配成功,則記錄該次匹配 狀態(tài),使得下一個(gè)報(bào)文從該次記錄的匹配狀態(tài)開始進(jìn)行匹配,直到匹配成功,或者匹配失 敗。
6.如權(quán)利要求1所述的協(xié)議識(shí)別方法,其特征在于當(dāng)匹配未成功時(shí),則接收下一個(gè)報(bào)文,繼續(xù)執(zhí)行下一次匹配。
7.如權(quán)利要求1所述的協(xié)議識(shí)別方法,其特征在于當(dāng)所述協(xié)議的匹配規(guī)則都匹配成功時(shí),則識(shí)別出協(xié)議,協(xié)議匹配過程結(jié)束。
8.如權(quán)利要求1所述的協(xié)議識(shí)別方法,其特征在于所述協(xié)議識(shí)別方法通過基于數(shù)據(jù)流的形式進(jìn)行,同時(shí)對(duì)多個(gè)數(shù)據(jù)流進(jìn)行協(xié)議識(shí)別,所 述報(bào)文為所述數(shù)據(jù)流中的報(bào)文。
9.一種協(xié)議識(shí)別設(shè)備,其特征在于,包括 接收單元,用于接收?qǐng)?bào)文;匹配單元,用于根據(jù)協(xié)議的匹配規(guī)則,對(duì)所述接收單元接收到的報(bào)文中的特征信息進(jìn) 行匹配;狀態(tài)識(shí)別單元,用于匹配成功且沒有識(shí)別出協(xié)議時(shí),記錄該次匹配時(shí)的狀態(tài)節(jié)點(diǎn),使得 接收下一個(gè)報(bào)文時(shí),對(duì)所述下一個(gè)報(bào)文中的特征信息匹配從該次記錄的狀態(tài)節(jié)點(diǎn)處開始匹配。
10.如權(quán)利要求9所述的協(xié)議識(shí)別設(shè)備,其特征在于 所述協(xié)議的匹配規(guī)則通過正則表達(dá)式來確定。
11.如權(quán)利要求9所述的協(xié)議識(shí)別設(shè)備,其特征在于 所述特征信息至少包括字符特征信息,或者協(xié)議頭特征信息,或者行為特征信息。
12.如權(quán)利要求9所述的協(xié)議識(shí)別設(shè)備,其特征在于 所述匹配單元包括字符特征信息匹配單元、協(xié)議頭特征信息匹配單元和行為特征信息匹配單元; 當(dāng)所述特征信息包括字符特征信息、協(xié)議頭特征信息和/或行為特征信息時(shí),所述字 符特征信息匹配單元先對(duì)所述字符特征信息進(jìn)行匹配;當(dāng)通過匹配未識(shí)別出協(xié)議時(shí),所述 協(xié)議頭特征信息匹配單元再對(duì)所述協(xié)議頭特征信息進(jìn)行匹配和/或所述行為特征信息匹 配單元再對(duì)所述協(xié)議頭信息進(jìn)行匹配。
13.如權(quán)利要求12所述的協(xié)議識(shí)別設(shè)備,其特征在于當(dāng)所述字符特征信息位于多個(gè)報(bào)文時(shí),每接收一個(gè)報(bào)文時(shí),提取報(bào)文中的所述字符特 征信息與所述匹配規(guī)則中的字符特征信息進(jìn)行匹配,如果部分匹配成功,則記錄該次匹配 狀態(tài),使得下一個(gè)報(bào)文從該次記錄的匹配狀態(tài)開始進(jìn)行匹配,直到匹配成功,或者匹配失 敗。
14.如權(quán)利要求9所述的協(xié)議識(shí)別設(shè)備,其特征在于當(dāng)所述匹配單元匹配未成功時(shí),則通過所述接收單元接收下一個(gè)報(bào)文,繼續(xù)執(zhí)行下一 次匹配;當(dāng)所述協(xié)議的匹配規(guī)則都匹配成功時(shí),則識(shí)別出協(xié)議,協(xié)議匹配過程結(jié)束。
15.如權(quán)利要求9所述的協(xié)議識(shí)別設(shè)備,其特征在于所述協(xié)議識(shí)別設(shè)備通過基于數(shù)據(jù)流的形式進(jìn)行,同時(shí)對(duì)多個(gè)數(shù)據(jù)流進(jìn)行協(xié)議識(shí)別,所 述報(bào)文為所述數(shù)據(jù)流中的報(bào)文。
16.一種協(xié)議識(shí)別系統(tǒng),其特征在于,包括 報(bào)文重組單元,用于接收?qǐng)?bào)文,完成報(bào)文重組;流表查找單元,用于接收通過所述報(bào)文重組單元過來的報(bào)文進(jìn)行流表查找,如果查找 成功,則進(jìn)行策略執(zhí)行;如果查找失敗,則將報(bào)文送至協(xié)議識(shí)別單元;協(xié)議識(shí)別單元,用于根據(jù)協(xié)議的匹配規(guī)則,對(duì)接收到的報(bào)文中的特征信息進(jìn)行匹配;當(dāng) 匹配成功且未識(shí)別出協(xié)議時(shí),記錄該次匹配時(shí)的狀態(tài)節(jié)點(diǎn),使得接收下一個(gè)報(bào)文時(shí),對(duì)所述 下一個(gè)報(bào)文中的特征信息的匹配從該記錄的狀態(tài)節(jié)點(diǎn)處開始匹配;協(xié)議解析單元,用于接收協(xié)議識(shí)別單元識(shí)別后的報(bào)文,對(duì)需要解析的報(bào)文進(jìn)行協(xié)議解 析,或者對(duì)未識(shí)別出協(xié)議的報(bào)文進(jìn)行協(xié)議識(shí)別;業(yè)務(wù)控制單元,用于根據(jù)所述協(xié)議解析單元解析結(jié)果對(duì)所述報(bào)文進(jìn)行相關(guān)的策略執(zhí)行;策略執(zhí)行單元,用于根據(jù)所述業(yè)務(wù)控制單元或所述流表查找單元執(zhí)行相應(yīng)的策略。
17.如權(quán)利要求16所述的協(xié)議識(shí)別系統(tǒng),其特征在于 所述協(xié)議的匹配規(guī)則通過正則表達(dá)式來確定;所述特征信息至少包括字符特征信息,或者協(xié)議頭特征信息,或者行為特征信息。
18.如權(quán)利要求17所述的協(xié)議識(shí)別系統(tǒng),其特征在于,所述協(xié)議識(shí)別單元還用于 當(dāng)所述特征信息包括字符特征信息、協(xié)議頭特征信息和/或行為特征信息時(shí),先對(duì)所述字符特征信息進(jìn)行匹配,當(dāng)通過匹配未識(shí)別出協(xié)議時(shí),再對(duì)所述協(xié)議頭特征信息和/或 行為特征信息進(jìn)行匹配。
19.如權(quán)利要求18所述的協(xié)議識(shí)別系統(tǒng),其特征在于當(dāng)所述字符特征信息位于多個(gè)報(bào)文時(shí),每接收一個(gè)報(bào)文時(shí),提取報(bào)文中的所述字符特 征信息與所述匹配規(guī)則中的字符特征信息進(jìn)行匹配,如果部分匹配成功,則記錄該次匹配狀態(tài),使得下一個(gè)報(bào)文從該次記錄的匹配狀態(tài)開始進(jìn)行匹配,直到匹配成功,或者匹配失 敗。
20.如權(quán)利要求16所述的協(xié)議識(shí)別系統(tǒng),其特征在于當(dāng)所述協(xié)議識(shí)別單元匹配不成功時(shí),則接收下一個(gè)報(bào)文,繼續(xù)執(zhí)行下一次匹配;當(dāng)所述 協(xié)議的匹配規(guī)則都匹配成功時(shí),則識(shí)別出協(xié)議,協(xié)議匹配過程結(jié)束。
全文摘要
本發(fā)明實(shí)施例提供了一種協(xié)議識(shí)別方法、設(shè)備及系統(tǒng)。其中,所述協(xié)議識(shí)別方法包括如下步驟根據(jù)協(xié)議的匹配規(guī)則,對(duì)接收到的報(bào)文中的特征信息進(jìn)行匹配;當(dāng)匹配成功且未識(shí)別出協(xié)議時(shí),記錄該次匹配時(shí)的狀態(tài)節(jié)點(diǎn),使得接收下一個(gè)報(bào)文時(shí),對(duì)所述下一個(gè)報(bào)文中的特征信息的匹配從該記錄的狀態(tài)節(jié)點(diǎn)處開始匹配。本發(fā)明實(shí)施例通過特征匹配并記錄匹配狀態(tài)即可完成協(xié)議識(shí)別,因此,協(xié)議識(shí)別方式簡單快速、提高了協(xié)議識(shí)別的性能。
文檔編號(hào)H04L29/06GK102082762SQ20091018848
公開日2011年6月1日 申請(qǐng)日期2009年11月30日 優(yōu)先權(quán)日2009年11月30日
發(fā)明者蘇德現(xiàn) 申請(qǐng)人:華為技術(shù)有限公司