亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種深度報文檢測方法和裝置的制作方法

文檔序號:7943746閱讀:357來源:國知局
專利名稱:一種深度報文檢測方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)通信技術(shù)與信息安全領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)中各種 報文內(nèi)容的深度檢測方法和裝置。
背景技術(shù)
隨著互聯(lián)網(wǎng)應(yīng)用的迅速發(fā)展,計算機(jī)網(wǎng)絡(luò)在經(jīng)濟(jì)和生活的各個領(lǐng)域正在 迅速普及,信息的獲取、共享和傳播更加方便?;ヂ?lián)網(wǎng)具有交互性、全球性、 匿名性、開放性、零成本性等特點,也正是這些特點使得互聯(lián)網(wǎng)在為人們提 供前所未有的資源、交流信息的便利與自由的同時,另一方面也帶來了一系
列的問題,如日益猖獗的網(wǎng)絡(luò)病毒,個人隱私、商業(yè)秘密的泄漏,不良信 息的迅速傳播等。同時,當(dāng)前的網(wǎng)絡(luò)架構(gòu)存在著很多的安全漏洞,使得網(wǎng)絡(luò) 黑客可以很輕易地把惡意攻擊包加上有效的目的IP和端口地址,然后送達(dá)到 目的主機(jī)而影響其正常工作,進(jìn)而通過主機(jī)迅速感染成千上萬的與之相連的 主機(jī),引起網(wǎng)絡(luò)阻塞,服務(wù)中斷,造成巨大的經(jīng)濟(jì)損失。如果不能對攜帶這 些信息的IP分組數(shù)據(jù)進(jìn)行有效檢測和控制,則為人們帶來便利與自由的網(wǎng)絡(luò) 將隨時都可能癱瘓?,F(xiàn)有的對IP分組數(shù)據(jù)的檢測與控制,大都涉及IP報文分類技術(shù);其中, IP報文分類技術(shù)包含對IP報文的兩級分類第一級是針對IP報文頭部的初 級分類,即針對固定位置的信息匹配;第二級是針對IP報文負(fù)載的深度分類, 即針對非固定位置的信息匹配;其中,固定位置的報文分類中報文長度一般 是固定不變的,例如,Ipv4的IP地址是32bit,如此只需要將固定長度設(shè)定 為TCAM (Ternary Content Addressable Memory,三重內(nèi)容尋址存4渚器)的 位寬即可;而非固定位置的信息匹配卻不然,因為負(fù)載的長度是隨才幾的,所 以TCAM位寬的選取就相對復(fù)雜一些。由于TCAM的位寬可以設(shè)置, 一種解 決方案是將所有模式中的最長的長度設(shè)置為TCAM的位寬,然后在短模式后 面添加"X"無關(guān)項,這樣可以直接匹配所有的模式,但是TCAM的容量有限,對于整個系統(tǒng)來講,TCAM的容量是必須充分利用的資源,而這種匹配 方法由于過多添加了無關(guān)項,對于類似ClamAV這樣的模式長度差異較大的 入侵檢測系統(tǒng)來說,會造成TCAM空間的極大浪費,因此這是一種非常不經(jīng) 濟(jì)的匹配方式。
圖1中所示是另一種傳統(tǒng)的解決方案,首先將長字符串模式以TCAM位 寬為單位進(jìn)行切割,然后按序存放于TCAM表項之中,最前面的表項稱為前 綴,其余稱為后綴。同時,在系統(tǒng)內(nèi)存中記錄表項屬性和表項之間的關(guān)系, 前端工作完成之后進(jìn)行查表操作,在一連串的比特流中提取出固定長度的匹 配關(guān)鍵字,查表結(jié)束后按照被查找的數(shù)據(jù)包的內(nèi)容進(jìn)行bit移位匹配,當(dāng)進(jìn)行 完一次查表^t喿作后將數(shù)據(jù)包向后移動一位繼續(xù)匹配,移位操:作如圖2所示, 每次匹配的長度等于TCAM的位寬,這樣就不會漏過每個模式。如果查表沒 有命中則繼續(xù)移位重復(fù)該操作,如果命中則在系統(tǒng)內(nèi)存中記錄下命中的信息, 因為命中一次查表只能說明模式中有部分被命中,而不是整個的模式都被命 中,因此內(nèi)存中所記錄的只是部分命中列表。部分命中之后繼續(xù)進(jìn)行前面的 操作,知道移位的位置挪到相應(yīng)的后綴位置,如果后綴匹配未命中則拋棄原
來的記錄,如果命中則到內(nèi)存表中查詢該組合是否屬于同一模式,如果不屬 于同一模式的前綴與后綴則進(jìn)行拋棄行為,如果是同一個模式則判斷該模式 是否已經(jīng)匹配完畢,繼續(xù)前述操作。但當(dāng)速率提高時,這種采用逐位匹配提 取關(guān)鍵字方法,會造成效率極端低下,bit流的長度決定了匹配的次數(shù),若bit 流的長度很長,造成本報文的檢測時間過長,影響了報文檢測速度,導(dǎo)致后 續(xù)報文無法實施處理,產(chǎn)生丟包,可能造成重大信息檢測遺漏,使整個檢測 過程前功盡棄。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明解決的是基于逐位的深度報文檢測方法容易造成檢測 時間過長進(jìn)而影響報文檢測速度的問題。
為解決上述問題,本發(fā)明提供的技術(shù)方案如下一種深度纟艮文4企測方法,包括
A、 預(yù)設(shè)定長的匹配框,當(dāng)待匹配關(guān)鍵字的長度大于所述預(yù)設(shè)的定長匹配 框時,將該待匹配關(guān)鍵字分割為長模式匹配關(guān)鍵字和短模式匹配關(guān)鍵字,并 分別存儲于不同的TCAM中;
B、 檢測時將提取到的查表關(guān)鍵字送入所述不同的TCAM中進(jìn)行查表, 如果該提取到的查表關(guān)鍵字與TCAM中存儲的匹配關(guān)鍵字匹配,則確定當(dāng)前 數(shù)據(jù)流為匹配數(shù)據(jù)流,完成^r測。
優(yōu)選的,所述步驟B包括
B1、通過逐位方式從當(dāng)前待測數(shù)據(jù)流中提取查表關(guān)鍵字,將查表關(guān)鍵字 同時送入長模式TCAM和短模式TCAM中進(jìn)行查表;
B2、如果長模式TCAM中的關(guān)鍵字匹配成功,則跳過所述定長匹配框的 長度,繼續(xù)提取查表關(guān)鍵字進(jìn)行查表,直到短模式TCAM中的關(guān)鍵字匹配成 功,則確定當(dāng)前待測數(shù)據(jù)流為長模式匹配數(shù)據(jù)流;
B3、如果長模式TCAM中的關(guān)鍵字匹配失敗,而短模式TCAM中的關(guān)鍵 字匹配成功,則確定當(dāng)前待測數(shù)據(jù)流為短模式匹配數(shù)據(jù)流。
優(yōu)選的,該方法還包括如果待匹配關(guān)鍵字的長度小于所述預(yù)設(shè)的定長 匹配框,則直接利用逐位方式從短模式匹配TCAM中查表進(jìn)行數(shù)據(jù)流檢測。
優(yōu)選的,所述查表關(guān)鍵字的長度與所述定長匹配框的長度相同。
優(yōu)選的,所述長模式匹配關(guān)鍵字的長度與預(yù)設(shè)的定長匹配框長度相同。
優(yōu)選的,所述定長匹配框的長度為576bit。
一種深度報文檢測裝置,包括分割單元和匹配單元;其中,所述分割 單元用于當(dāng)待匹配關(guān)鍵字的長度大于所述預(yù)設(shè)的定長匹配框時,將該待匹配 關(guān)鍵字分割為長模式匹配關(guān)鍵字和短模式匹配關(guān)鍵字,并分別存儲于不同的 TCAM中;
所述匹配單元用于在檢測時將提取到的查表關(guān)鍵字送入所述不同的 TCAM中進(jìn)行查表,如果該提取到的查表關(guān)鍵字與TCAM中存儲的匹配關(guān)鍵字匹配,則確定當(dāng)前數(shù)據(jù)流為匹配數(shù)據(jù)流。
優(yōu)選的,所述匹配單元包括提取模塊、第一查表模塊和第二查表模塊; 其中,所述提取模塊用于通過逐位方式從當(dāng)前待測數(shù)據(jù)流中提取查表關(guān)鍵字, 并通知給所述第一查表模塊和第二查表模塊;
所述第一查表模塊用于利用所述查表關(guān)鍵字在長模式TCAM中進(jìn)行查 表,如果長模式TCAM中的關(guān)鍵字匹配成功,則跳過所述定長匹配框的長度, 繼續(xù)提取查表關(guān)鍵字進(jìn)行查表,直到接收到所述第二查表模塊的同之后,確 定當(dāng)前待測數(shù)據(jù)流為長模式匹配數(shù)據(jù)流;如果長模式TCAM中的關(guān)鍵字匹配 失敗,則通知所述第二查表模塊;
所述第二查表模塊用于利用所述查表關(guān)鍵字在短模式TCAM中進(jìn)行查 表,當(dāng)短模式TCAM中的關(guān)鍵字匹配成功,則通知所述第一查表模塊;如果 此時接收到所述第一查表模塊的通知,則確定當(dāng)前待測數(shù)據(jù)流為短模式匹配 數(shù)據(jù)流。
優(yōu)選的,該裝置還包括判斷單元;所述判斷單元用于判斷待匹配關(guān)鍵 字的長度是否小于所述預(yù)設(shè)的定長匹配框,如果是,則直接利用逐位方式從 短模式匹配TCAM中查表進(jìn)行數(shù)據(jù)流檢測;否則,通知所述分割單元。
可以看出,采用本發(fā)明的方法和裝置,通過將預(yù)先定義好的報文特征, 按照匹配模式框不同匹配模式,并分別存儲于不同的TCAM中;開始時通過 逐位方式從數(shù)據(jù)流中提出匹配關(guān)鍵字,再送入TCAM進(jìn)行查表操作,直至關(guān) 鍵字查中,此時若為長模式查中,則不再進(jìn)行逐位移,而時跳躍一個匹配框 長度,并在此基礎(chǔ)上繼續(xù)進(jìn)行關(guān)鍵字的提出和查表,若長模式關(guān)鍵字匹配繼 續(xù)命中,則繼續(xù)跳躍,直至最后一次只有短模式查中時,確定整個關(guān)鍵字已 傳送完;利用帶匹配特征的連續(xù)性,在首次查中后,后續(xù)查表直接采用跳躍 模式,避免了逐位查找?guī)淼娜唛L查找時間,從而在保證精度的前提下,提 高了匹配速度。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實 施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面 描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講, 在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是現(xiàn)有技術(shù)中傳統(tǒng)的匹配流程示意圖; 圖2是現(xiàn)有技術(shù)中循環(huán)移位示意圖; 圖3是本發(fā)明實施例1的方法流程示意圖; 圖4是本發(fā)明實施例1中關(guān)鍵字分割的示意圖; 圖5是是本發(fā)明實施例2的裝置結(jié)構(gòu)示意圖。
具體實施例方式
本發(fā)明的基本思想在于將預(yù)先定義好的報文特征,按照匹配模式框不同 匹配模式,并分別存儲于不同的TCAM中;開始時通過逐位方式從數(shù)據(jù)流中 提出匹配關(guān)4建字,再送入TCAM進(jìn)行查表4乘作,直至關(guān)#:字查中,此時若為 長模式查中,則不再進(jìn)行逐位移,而時跳躍一個匹配框長度,并在此基礎(chǔ)上 繼續(xù)進(jìn)行關(guān)鍵字的提出和查表,若長模式關(guān)鍵字匹配繼續(xù)命中,則繼續(xù)跳躍, 直至最后一次只有短模式查中時,確定整個關(guān)鍵字已傳送完;利用帶匹配特 征的連續(xù)性,在首次查中后,后續(xù)查表直接采用跳躍模式,避免了逐位查找 帶來的冗長查找時間,從而在保證精度的前提下,提高了匹配速度。
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行 清楚、完整地描述;顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而 不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有《故 出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實施例1 l是供了實現(xiàn)TDD多載波系統(tǒng)中數(shù)據(jù)傳輸?shù)姆椒?,如圖3 所示,該方法包凌舌
步驟301:預(yù)設(shè)定長的匹配框,當(dāng)待匹配關(guān)鍵字的長度大于所述預(yù)設(shè)的定長匹配框時,將該待匹配關(guān)鍵字分割為長模式匹配關(guān)鍵字和短模式匹配關(guān)
鍵字,并分別存儲于不同的TCAM中;
具體的,利用待匹配關(guān)鍵字之間的連續(xù)性,預(yù)先設(shè)定定長的匹配框,將 待匹配的關(guān)鍵字進(jìn)行分割;現(xiàn)在技術(shù)中各數(shù)據(jù)包的關(guān)鍵字信息長度不一,因 而為了獲取詳細(xì)的報文特征信息,就必須要求檢測越來越大的報文關(guān)鍵字, 同時長關(guān)鍵字的比重也越來越大,因此對長關(guān)鍵字首先要進(jìn)行分割;在分割 過程中,分割得到的靠前的匹配模式都為定長格式,及長度與預(yù)設(shè)的定長匹 配框長度相同,當(dāng)然并不局限于此,其也可不等于定長匹配框長度,在此不 再贅述;而最后部分的匹配模式大小不定,但必然小于等于設(shè)定的定長的分 割長度;在本實施例中,定義分割后定長內(nèi)容分割的為長模式匹配關(guān)鍵字, 而最后部分小于定長匹配長短的分割定義為短模式匹配關(guān)鍵字,再將長模式 和短模式關(guān)鍵字分別存儲于不同的TCAM中,并分別稱其為長模式TCAM和 短模式TCAM,具體的關(guān)鍵字分割如圖3所示;
步驟302:根據(jù)用戶終端的能力信息在頻域和時域上設(shè)置新的幀結(jié)構(gòu)配 置關(guān)系;
具體的,在剛開始檢測時,通過逐位方式從待測數(shù)據(jù)流中提取出查表關(guān) 鍵字,本實施例中優(yōu)選的查表關(guān)鍵字與所述定長匹配框的長度相同,再將該 查表關(guān)鍵字分別送入長模式TCAM和短模式TCAM進(jìn)行查表操作,如此反復(fù), 直至其中一個TCAM的關(guān)鍵字查中;此時若為長模式TCAM的關(guān)鍵字查中, 則不論短模式TCAM的關(guān)鍵字是否查中,皆可確定后續(xù)數(shù)據(jù)流中仍有長模式 關(guān)鍵字,并不再進(jìn)行逐位移,而是跳躍一個定長的長度,優(yōu)選的為預(yù)先設(shè)定 的匹配框長度,然后在此基礎(chǔ)上繼續(xù)進(jìn)行查表關(guān)鍵字的提取和查表;若長字 匹配繼續(xù)命中,則繼續(xù)跳躍,直至最后一次長模式TCAM的關(guān)鍵字查表不中, 而短模式TCAM查中為止,并可確定此時當(dāng)前的整個關(guān)鍵字檢測完畢;若第 一次過程中,只有短模式TCAM的關(guān)4定字查中,而長模式不中,則認(rèn)為當(dāng)前 的待檢測報文的關(guān)鍵字即為短模式TCAM所匹配的關(guān)鍵字,后續(xù)無需再進(jìn)行 移位或跳躍操作;
此外,如果待匹配關(guān)鍵字的長度小于所述預(yù)設(shè)的定長匹配框,則直接利用逐位方式從短才莫式匹配TCAM中查表進(jìn)行數(shù)據(jù)流才企測,即此時不再移位或 跳躍,認(rèn)為查表的關(guān)鍵字即為小特征關(guān)鍵字,后面無需再進(jìn)行查表操作,此 時認(rèn)為該關(guān)鍵字的查找工作已完成,退出當(dāng)前bit流的操作,再對下一流進(jìn)行 操作。
需要注意的時,在現(xiàn)在技術(shù)中TCAM單次所支持的最大查表長度為576 比特位寬,因而本發(fā)明實施例優(yōu)選的情況是將所述定長匹配框的長度預(yù)設(shè)為 576bit,當(dāng)然也并不局限于此,可根據(jù)具體實施時的情況做出靈活調(diào)整,在此 不再贅述。
下面即以預(yù)設(shè)的定長匹配框的長度為576bit為例,對上述4企測方法進(jìn)行 -洋細(xì)i兌明
1) 、首先將報文特征(即待匹配關(guān)鍵字)進(jìn)行分割,設(shè)定匹配框的長度 為576位寬,即bit流的分割長度為576位寬;以字符串來代替bit流,以
"aabbccd,,為例,每兩個字符代表一個分割模式,則以上數(shù)據(jù)流將被分割為 "aa"、 "bb"、 "cc"和"d",其中"aa"、 "bb"、 "cc"分別代表576位寬的 長模式匹配關(guān)鍵字,"d"為最后分割的最后一部分,其長度小于576bit;然 后在TCAM的關(guān)鍵字匹配時,將"aa"、 "bb"、 "cc"寫入到長模式TCAM中, 將"d,,寫入到短模式TCAM中;
2) 、當(dāng)送入"xxxaabbccdxxx,,待查表的比特流時,通過逐位的方式乂人 bit流中提取576位寬的查表關(guān)鍵字,分別為"xx,,、 "xx,,以及"xa,,等,在 這些情況下,長短兩個模式TCAM查表都不中,此時繼續(xù)移位,直至移位到 出現(xiàn)"aa,,時,此時長匹配TCAM查表命中,而短匹配TCAM查表不中,此 時即可進(jìn)行跳躍,不再移位操作,直接跳躍到"bb",跳躍的長度為576bit; 如果長模式TCAM繼續(xù)命中,則繼續(xù)跳躍,跳躍至"cc",此時長模式TCAM 繼續(xù)命中,再跳躍至"dx"關(guān)鍵字,此時再查表時長模式TCAM查表不中, 而短匹配TCAM查表命中,則確定該關(guān)鍵字的查找工作已完成,退出當(dāng)前bit 流的操作,再對下一流進(jìn)行操作;
需要注意的是,當(dāng)待匹配關(guān)鍵字本身的長度小于576位寬時,此時分割 的寬度就小于長模式TCAM的寬度,則短模式匹配關(guān)鍵字必須放入到短匹配TCAM中。當(dāng)送入"xxxexxx"待查表的比特流時,通過逐位的方式從bit流 中,提出576位寬的查表關(guān)鍵字,分別為"xx"、 "xx"等,在這些情況下, 如果長短兩個模式TCAM查表都不中,則繼續(xù)移位,直至移位到出現(xiàn)"ex" 時,此時長匹配TCAM查表不中,而短匹配TCAM查表命中,因而不再移位 或跳躍,即可確定查表的關(guān)鍵字即為短模式匹配關(guān)鍵字,后面無需再進(jìn)行查 表操作,可確定該關(guān)鍵字的查找工作已完成,退出當(dāng)前bit流的操作,再對下 一流進(jìn)行操作。
可以看出,采用本發(fā)明實施例的方法,利用帶匹配特征的連續(xù)性,在長 模式TCAM首次查中后,后續(xù)查表直接采用跳躍;漠式,避免了逐位查找?guī)?的冗長查找時間,從而在保證查表正確性的前提下,提高了匹配速度;同時 利用了長短TCAM查表結(jié)果之間的關(guān)系,在長模式TCAM查中的前提下,繼 續(xù)進(jìn)行跳躍的查找方式;而長模式TCAM查表不中、短模式TCAM查中的情 況下,認(rèn)為當(dāng)前的待檢測報文的關(guān)鍵字即為短模式,從而及時終止了當(dāng)前操 作,節(jié)約了系統(tǒng)處理時間。
基于上述思想,本發(fā)明實施例2又提出了一種深度報文檢測裝置,如圖5 所示,該裝置500包括分割單元501和匹配單元502;其中,所述分割單 元501用于當(dāng)待匹配關(guān)鍵字的長度大于所述預(yù)設(shè)的定長匹配框時,將該待匹 配關(guān)鍵字分割為長模式匹配關(guān)鍵字和短模式匹配關(guān)鍵字,并分別存儲于不同 的TCAM中;
所述匹配單元502用于在檢測時將提取到的查表關(guān)鍵字送入所述不同的 TCAM中進(jìn)行查表,如果該提取到的查表關(guān)鍵字與TCAM中存儲的匹配關(guān)鍵 字匹配,則確定當(dāng)前數(shù)據(jù)流為匹配數(shù)據(jù)流。
其中,所述匹配單元包括提取模塊、第一查表模塊和第二查表模塊; 其中,所述提取模塊用于通過逐位方式從當(dāng)前待測數(shù)據(jù)流中提取查表關(guān)鍵字, 并通知給所述第一查表模塊和第二查表模塊;
所述第一查表模塊用于利用所述查表關(guān)鍵字在長模式TCAM中進(jìn)行查 表,如果長模式TCAM中的關(guān)鍵字匹配成功,則跳過所迷定長匹配框的長度, 繼續(xù)提取查表關(guān)鍵字進(jìn)行查表,直到接收到所述第二查表模塊的同之后,確據(jù)流;如果長模式TCAM中的關(guān)鍵字匹配 失敗,則通知所述第二查表才莫塊;
所述第二查表模塊用于利用所述查表關(guān)鍵字在短模式TCAM中進(jìn)行查 表,當(dāng)短模式TCAM中的關(guān)鍵字匹配成功,則通知所述第一查表模塊;如果 此時接收到所述第一查表模塊的通知,則確定當(dāng)前待測數(shù)據(jù)流為短模式匹配 數(shù)據(jù)流。
此外,該裝置還包括判斷單元;所述判斷單元用于判斷待匹配關(guān)鍵字 的長度是否小于所述預(yù)設(shè)的定長匹配框,如果是,則直接利用逐位方式從短 模式匹配TCAM中查表進(jìn)行數(shù)據(jù)流檢測;否則,通知所述分割單元。
當(dāng)然,本領(lǐng)域技術(shù)人員了解,上述實施例2中實現(xiàn)TDD多載波系統(tǒng)中數(shù) 據(jù)傳輸?shù)难b置在具體實施時可以看作是一種基站,該基站在包括普通基站所 包含的各部件的同時還包括上述實施例中所描述的裝置所包含的單元,即包 含上述裝置的各單元的基站也應(yīng)包含在本發(fā)明所保護(hù)的范圍之內(nèi),但并不局 限于此,在此不再贅述。
本領(lǐng)域技術(shù)人員可以理解,可以使用許多不同的工藝和技術(shù)中的任意一 種來表示信息、消息和信號。例如,上述說明中提到過的消息、信息都可以 表示為電壓、電流、電磁波、磁場或磁性粒子、光場或以上任意組合。
專業(yè)人員還可以進(jìn)一步應(yīng)能意識到,結(jié)合本文中所公開的實施例描述的 各示例的單元及算法步驟,能夠以電子硬件、計算機(jī)軟件或者二者的結(jié)合來 實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能 一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來 執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每 個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為 超出本發(fā)明的范圍。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、 處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機(jī)存 儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編 程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用 本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易 見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下, 在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,
而是要符合與本文所公開的原理和新穎特點相 一致的最寬的范圍。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本 發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在 本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種深度報文檢測方法,其特征在于,包括A、預(yù)設(shè)定長的匹配框,當(dāng)待匹配關(guān)鍵字的長度大于所述預(yù)設(shè)的定長匹配框時,將該待匹配關(guān)鍵字分割為長模式匹配關(guān)鍵字和短模式匹配關(guān)鍵字,并分別存儲于不同的TCAM中;B、檢測時將提取到的查表關(guān)鍵字送入所述不同的TCAM中進(jìn)行查表,如果該提取到的查表關(guān)鍵字與TCAM中存儲的匹配關(guān)鍵字匹配,則確定當(dāng)前數(shù)據(jù)流為匹配數(shù)據(jù)流,完成檢測。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟B包括B1、通過逐位方式從當(dāng)前待測數(shù)據(jù)流中提取查表關(guān)鍵字,將查表關(guān)鍵字 同時送入長模式TCAM和短模式TCAM中進(jìn)行查表;B2、如果長模式TCAM中的關(guān)鍵字匹配成功,則跳過所述定長匹配框的 長度,繼續(xù)提取查表關(guān)鍵字進(jìn)行查表,直到短模式TCAM中的關(guān)鍵字匹配成 功,則確定當(dāng)前待測數(shù)據(jù)流為長模式匹配數(shù)據(jù)流;B3、如果長模式TCAM中的關(guān)鍵字匹配失敗,而短模式TCAM中的關(guān)鍵 字匹配成功,則確定當(dāng)前待測數(shù)據(jù)流為短模式匹配數(shù)據(jù)流。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,該方法還包括如果待匹配關(guān)鍵字的長度小于所述預(yù)設(shè)的定長匹配框,則直接利用逐位 方式從短模式匹配TCAM中查表進(jìn)行數(shù)據(jù)流檢測。
4、 根據(jù)權(quán)利要求2所述的方法,其特征在于 所述查表關(guān)鍵字的長度與所述定長匹配框的長度相同。
5、 根據(jù)權(quán)利要求1至4任意一項所述的方法,其特征在于 所述長模式匹配關(guān)鍵字的長度與預(yù)設(shè)的定長匹配框長度相同。
6、 根據(jù)權(quán)利要求5所述的方法,其特征在于 所述定長匹配框的長度為576bit。
7、 一種深度報文檢測裝置,其特征在于,包括分割單元和匹配單元;其中,所述分割單元用于當(dāng)待匹配關(guān)鍵字的長度大于所述預(yù)設(shè)的定長匹配框時,將該待匹配關(guān)鍵字分割為長模式匹配關(guān)鍵字和短模式匹配關(guān)鍵字,并分別存儲于不同的TCAM中;所述匹配單元用于在檢測時將提取到的查表關(guān)鍵字送入所述不同的TCAM中進(jìn)行查表,如果該提取到的查表關(guān)鍵字與TCAM中存儲的匹配關(guān)鍵字匹配,則確定當(dāng)前數(shù)據(jù)流為匹配數(shù)據(jù)流。
8、 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述匹配單元包括提取模塊、第一查表模塊和第二查表模塊;其中,所述提取模塊用于通過逐位方式從當(dāng)前待測數(shù)據(jù)流中提取查表關(guān)鍵字,并通知給所述第一查表模塊和第二查表模塊;所述第一查表模塊用于利用所述查表關(guān)鍵字在長模式TCAM中進(jìn)行查表,如果長模式TCAM中的關(guān)鍵字匹配成功,則跳過所述定長匹配框的長度,繼續(xù)提取查表關(guān)鍵字進(jìn)行查表,直到接收到所述第二查表模塊的同之后,確定當(dāng)前待測數(shù)據(jù)流為長模式匹配數(shù)據(jù)流;如果長模式TCAM中的關(guān)鍵字匹配失敗,則通知所述第二查表才莫塊;所述第二查表模塊用于利用所述查表關(guān)鍵字在短模式TCAM中進(jìn)行查表,當(dāng)短模式TCAM中的關(guān)鍵字匹配成功,則通知所述第一查表模塊;如果此時接收到所述第一查表模塊的通知,則確定當(dāng)前待測數(shù)據(jù)流為短模式匹配數(shù)據(jù)流。
9、 根據(jù)權(quán)利要求8所述的裝置,其特征在于,該裝置還包括判斷單元;所述判斷單元用于判斷待匹配關(guān)鍵字的長度是否小于所述預(yù)設(shè)的定長匹配框,如果是,則直接利用逐位方式從短模式匹配TCAM中查表進(jìn)行數(shù)據(jù)流檢測;否則,通知所述分割單元。
全文摘要
本發(fā)明涉及一種深度報文檢測方法和裝置;其中,所述方法包括預(yù)設(shè)定長的匹配框,當(dāng)待匹配關(guān)鍵字的長度大于所述預(yù)設(shè)的定長匹配框時,將該待匹配關(guān)鍵字分割為長模式匹配關(guān)鍵字和短模式匹配關(guān)鍵字,并分別存儲于不同的TCAM中;檢測時將提取到的查表關(guān)鍵字送入所述不同的TCAM中進(jìn)行查表,如果該提取到的查表關(guān)鍵字與TCAM中存儲的匹配關(guān)鍵字匹配,則確定當(dāng)前數(shù)據(jù)流為匹配數(shù)據(jù)流。采用本發(fā)明的方法和裝置,有效的避免了在深度檢測時逐位查找?guī)淼臅r間冗余,并在保證精度的前提下,提高了匹配速度。
文檔編號H04L12/26GK101478447SQ200910000609
公開日2009年7月8日 申請日期2009年1月8日 優(yōu)先權(quán)日2009年1月8日
發(fā)明者劉勤讓, 卜佑軍, 夏軍波, 燕 崔 申請人:中國人民解放軍信息工程大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1