两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種網(wǎng)絡(luò)報(bào)文過濾引擎芯片的制作方法

文檔序號(hào):7902128閱讀:456來源:國知局
專利名稱:一種網(wǎng)絡(luò)報(bào)文過濾引擎芯片的制作方法
技術(shù)領(lǐng)域
本申請(qǐng)涉及一種網(wǎng)絡(luò)報(bào)文過濾引擎芯片,尤其涉及網(wǎng)絡(luò)報(bào)文過濾的加速領(lǐng)域。
背景技術(shù)
隨著網(wǎng)絡(luò)的日益普及,深度報(bào)文檢測技術(shù)作為必備的安全手段越來越多地應(yīng)用于 各種互聯(lián)網(wǎng)絡(luò)。運(yùn)營商和相關(guān)部門可以通過深度報(bào)文檢測技術(shù),過濾掉網(wǎng)絡(luò)上的各種不良 信息,營造安全、文明的網(wǎng)絡(luò)環(huán)境。深度報(bào)文檢測技術(shù)是一種對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的應(yīng)用層數(shù)據(jù)進(jìn)行解析,匹配,過濾的技 術(shù),其關(guān)鍵的技術(shù)點(diǎn)在于快速的字符串匹配??梢酝ㄟ^匹配規(guī)則,關(guān)鍵詞或者是語義等方式 對(duì)輸入的報(bào)文進(jìn)行分析從而截獲敏感內(nèi)容。但是隨著計(jì)算機(jī)技術(shù)的發(fā)展,各種各樣的反過 濾手段也逐漸出現(xiàn)。例如,一種比較常見的反過濾手段是將發(fā)布到論壇或者網(wǎng)頁上的文字, 經(jīng)過處理,成為豎排列從右往左閱讀的方式,這樣當(dāng)文字通過http協(xié)議進(jìn)行傳遞的時(shí)候, 兩個(gè)相鄰的字符將不再具有任何意義,從而無法被通過關(guān)鍵詞,正則表達(dá)式或者是語義分 析來進(jìn)行報(bào)文分類的網(wǎng)絡(luò)過濾設(shè)備所捕獲。因此,普通的報(bào)文過濾技術(shù)無法阻擋通過這種 改變排列方式手段進(jìn)行修改后的報(bào)文。圖1顯示了 26個(gè)字母的原始排列和經(jīng)過重排后的 顯示方式。但是這樣經(jīng)過重排后的報(bào)文,并不影響人的正常閱讀。高性能的深度報(bào)文檢測一般通過網(wǎng)絡(luò)處理器配合專用的硬件設(shè)備進(jìn)行處理,能夠 做到以大數(shù)據(jù)流量對(duì)不良信息進(jìn)行過濾,但是如上述所說的經(jīng)過重排后的報(bào)文,則沒有一 個(gè)高效的手段來進(jìn)行分析和處理,滿足不了日益增長的網(wǎng)絡(luò)流量的需求。因此,有必要設(shè) 計(jì)新的處理加速器件來滿足深度報(bào)文檢測需求。發(fā)明內(nèi)容本發(fā)明公開了一種網(wǎng)絡(luò)報(bào)文過濾引擎芯片,由接口模塊、報(bào)文預(yù)處理模塊、網(wǎng)絡(luò)加 速模塊以及報(bào)文匹配模塊構(gòu)成,其中報(bào)文預(yù)處理模塊連接至接口模塊,網(wǎng)絡(luò)加速模塊耦接 在報(bào)文預(yù)處理模塊以及報(bào)文匹配模塊之間。所述網(wǎng)絡(luò)加速模塊由換行符判斷邏輯、控制邏輯、輸出邏輯以及移位寄存器陣列 構(gòu)成,其中所述移位寄存器陣列具有M行和N列,數(shù)據(jù)可以沿行方向向左或向右移動(dòng),或者 沿列方向整行向下移動(dòng)。所述的換行符判斷邏輯,其特征在于,檢測輸入的字符串中是否存在換行符’ \n’, 如果存在,則輸出判斷標(biāo)志至控制邏輯。所述的控制邏輯,其特征在于,根據(jù)換行符判斷邏輯輸出的判斷標(biāo)志,控制寄存器 陣列的右移,整行下移,并統(tǒng)計(jì)每行的長度。所述的控制邏輯,其特征在于,當(dāng)字符串完全輸入后,控制移位寄存器的前L行向 左移位,其中L為自然數(shù)。所述的控制邏輯,其特征在于,當(dāng)字符串完全輸入后,判斷當(dāng)前陣列中前K行的長 度是否相等,前L-K行的長度是否相等且比前K行的長度小1,如果滿足條件則輸出移位結(jié)果,否則移位寄存器內(nèi)結(jié)果丟棄。所述的報(bào)文匹配模塊,其特征在于,對(duì)于網(wǎng)絡(luò)加速模塊判定為需要重排的報(bào)文,均 執(zhí)行2次匹配操作,一次是從網(wǎng)絡(luò)加速模塊獲得的重排報(bào)文,一次是從報(bào)文預(yù)處理模塊直 接獲得的原始報(bào)文。
圖1是網(wǎng)絡(luò)報(bào)文經(jīng)過重排序后顯示的結(jié)果。圖2是本發(fā)明的網(wǎng)絡(luò)報(bào)文過濾引擎芯片內(nèi)部結(jié)構(gòu)圖。圖3是本發(fā)明的網(wǎng)絡(luò)加速模塊的內(nèi)部結(jié)構(gòu)圖。
具體實(shí)施方式
圖2是本發(fā)明的網(wǎng)絡(luò)報(bào)文過濾引擎芯片內(nèi)部結(jié)構(gòu)圖。網(wǎng)絡(luò)報(bào)文過濾引擎芯片主要 由接口模塊、報(bào)文預(yù)處理模塊、網(wǎng)絡(luò)加速模塊,以及報(bào)文匹配模塊構(gòu)成,其中報(bào)文預(yù)處理模 塊連接至接口模塊,網(wǎng)絡(luò)加速模塊耦接在報(bào)文預(yù)處理模塊以及報(bào)文匹配模塊之間。數(shù)據(jù)報(bào) 文通過接口模塊輸入至芯片,經(jīng)過報(bào)文預(yù)處理模塊剝離以太網(wǎng)/IP報(bào)文封裝,并解析HTTP 協(xié)議等,分離出網(wǎng)頁上的字符串內(nèi)容,輸入至網(wǎng)絡(luò)加速模塊。網(wǎng)絡(luò)加速模塊對(duì)輸入的字符串 進(jìn)行處理,提高報(bào)文匹配模塊的工作效率。報(bào)文預(yù)處理模塊和報(bào)文匹配模塊之間還有一條 直接路徑,用于當(dāng)網(wǎng)絡(luò)加速模塊判定當(dāng)前報(bào)文為正常順序的報(bào)文時(shí)或者產(chǎn)生誤判時(shí),直接 從報(bào)文預(yù)處理模塊再次獲得原始報(bào)文。接口模塊作為網(wǎng)絡(luò)處理報(bào)文過濾引擎芯片的數(shù)據(jù)輸入/輸出端口,主要負(fù)責(zé)處理 各種網(wǎng)絡(luò)數(shù)據(jù)報(bào)文的接收發(fā)送,并通過各種工業(yè)界的接口規(guī)范和其他的網(wǎng)絡(luò)芯片進(jìn)行連 接。通常,用于低速網(wǎng)絡(luò)芯片的接口模塊支持IEEE802. 3定義的Mil、RMII、SMII等快速以 太網(wǎng)接口,用于高速網(wǎng)絡(luò)芯片的接口模塊支持的GMII、RGMII以及SGMII等接口。更高速的 網(wǎng)絡(luò)芯片接口模塊支持如SPI4. 2,XAUI, RXAUI, interlaken等接口標(biāo)準(zhǔn)。報(bào)文預(yù)處理模塊用于解析報(bào)文的封裝,獲取報(bào)文內(nèi)部的實(shí)質(zhì)性內(nèi)容。典型的報(bào)文 預(yù)處理流程包括解析二層報(bào)文頭,剝離以太網(wǎng)的報(bào)文封裝,并獲取上層承載報(bào)文協(xié)議; 解析三層報(bào)文頭,剝離IP報(bào)文的封裝,并獲取上層承載報(bào)文協(xié)議;解析四層TCP報(bào)文頭,對(duì) TCP報(bào)文進(jìn)行終結(jié),獲取更上層應(yīng)用層協(xié)議和完整的應(yīng)用層數(shù)據(jù)流;解析應(yīng)用層的HTML或 者XML報(bào)文,獲取字符串信息作為報(bào)文匹配的處理輸入。由于報(bào)文預(yù)處理的復(fù)雜性,報(bào)文預(yù) 處理模塊可以通過專用的硬件單元實(shí)現(xiàn),也可以通過多核架構(gòu)下的網(wǎng)絡(luò)處理器引擎上運(yùn)行 的軟件報(bào)文解析進(jìn)行實(shí)現(xiàn)。報(bào)文匹配模塊是網(wǎng)絡(luò)過濾引擎的計(jì)算核心,用于執(zhí)行關(guān)鍵詞分析過濾流程。匹配 模塊對(duì)預(yù)處理模塊或者網(wǎng)絡(luò)加速模塊輸出的字符串執(zhí)行關(guān)鍵詞匹配、規(guī)則匹配或者語義匹 配操作,分析報(bào)文內(nèi)容是否具有不良詞匯或者語段。報(bào)文匹配可以采用關(guān)鍵詞搜索數(shù)據(jù)庫 構(gòu)建,或者采用正則表達(dá)式引擎構(gòu)建,也可以采用基于語義分析的引擎構(gòu)建。對(duì)于采用關(guān)鍵 詞搜索或者正則表達(dá)式引擎的報(bào)文匹配模塊,可以采用基于硬件的實(shí)現(xiàn),以獲得高性能,也 可以采用基于處理器核的軟件實(shí)現(xiàn),以獲得更多的靈活性;基于語義分析的引擎由于其內(nèi) 在復(fù)雜性,一般均采用軟件來實(shí)現(xiàn)。以上公開了網(wǎng)絡(luò)報(bào)文過濾引擎芯片的部分內(nèi)部處理模塊的實(shí)現(xiàn),下面詳細(xì)描述本發(fā)明公開的網(wǎng)絡(luò)加速模塊。圖3是網(wǎng)絡(luò)加速模塊的內(nèi)部結(jié)構(gòu),網(wǎng)絡(luò)加速模塊主要包括換行符判斷邏輯模塊、 控制邏輯模塊、輸出邏輯模塊以及移位寄存器陣列。換行符判斷邏輯模塊置于報(bào)文的輸入 端,接收?qǐng)?bào)文預(yù)處理模塊的輸出字符串流;控制邏輯模塊耦合于換行符判斷邏輯模塊,輸出 邏輯模塊以及移位寄存器陣列,用于對(duì)上述3個(gè)模塊的處理控制。移位寄存器陣列與換行 符判斷邏輯和輸出邏輯模塊相連接,用于對(duì)報(bào)文數(shù)據(jù)的重排處理和數(shù)據(jù)緩沖;輸出邏輯模 塊連接于移位寄存器陣列,用于對(duì)移位寄存器陣列輸出的報(bào)文進(jìn)行移位輸出。網(wǎng)頁的報(bào)文數(shù)據(jù)經(jīng)過報(bào)文預(yù)處理模塊解析后,提取其中文本信息部分,輸入到換 行符判斷邏輯模塊,換行符判斷邏輯模塊對(duì)輸入報(bào)文中的換行符” \n”進(jìn)行檢索,如果發(fā)現(xiàn) 報(bào)文中存在換行符,則輸出換行指示信號(hào)給控制邏輯模塊。報(bào)文數(shù)據(jù)經(jīng)過報(bào)文預(yù)處理模塊 后,換行符被從數(shù)據(jù)流中刪除,以使的跨行的關(guān)鍵詞或者語義能夠被連貫的分析檢索。換行 符判斷邏輯輸出的報(bào)文數(shù)據(jù)按每時(shí)鐘周期一個(gè)字符的速度輸入移位寄存器陣列。移位寄存器陣列由M行,N列的移位寄存器構(gòu)成。一個(gè)可能的實(shí)施例中,M = 128, N= 128,這樣的陣列每次可以處理長度達(dá)到Iw字以上的字符串,基本可以滿足網(wǎng)絡(luò)處理的 需求。每個(gè)移位寄存器為16bit,可以存儲(chǔ)一個(gè)ASCII碼或者一個(gè)Unicode字符,如果需要 對(duì)擴(kuò)展的字符集進(jìn)行處理,也可以將每個(gè)移位寄存器擴(kuò)展至16位或者32位。每個(gè)移位寄 存器內(nèi)的數(shù)據(jù)可以有3個(gè)移動(dòng)方向,向左,向右(水平方向移動(dòng))或者向下(垂直方向移 動(dòng))。在移位時(shí)鐘的驅(qū)動(dòng)下,每個(gè)時(shí)鐘周期,每個(gè)移位寄存器均可以輸出當(dāng)前的存儲(chǔ)數(shù)據(jù), 并存入移入的字符數(shù)據(jù)。從當(dāng)前字符串序列的第一個(gè)字符開始,每周期一個(gè)字符(ASCII碼 或者Unicode字符)按行方向移入移位寄存器,在第一時(shí)鐘周期,字符00移入移位寄存器 R00,第二周期,ROO中的內(nèi)容移入R01,字符01移入R00,第三周期,ROl中的內(nèi)容移入R02,ROO中的內(nèi)容移入R01,字符02移入ROO......依此類推,直到換行符判斷邏輯模塊檢測到了一個(gè)換行符,此時(shí),控制邏輯模塊記下第一行的長度A0,第一移位寄存器行的所有數(shù)據(jù)遷移到第二移位寄存器行,也就是說,R00, R01, R02......RON的所有數(shù)據(jù)全部移入對(duì)應(yīng)的R10,R11,R12......RlN0從第二行的第一個(gè)字符開始,每時(shí)鐘周期一個(gè)字符(ASCII碼或者Unicode字符)按行方向移入移位寄存器,在第一時(shí)鐘周期,字符10移入移位寄存器R00, 第二周期,ROO中的內(nèi)容移入R01,字符11移入R00,第三周期,ROl中的內(nèi)容移入R02,ROO中的內(nèi)容移入R01,字符12移入ROO......依此類推,直到換行符判斷邏輯模塊檢測到了一個(gè)換行符,此時(shí),控制邏輯模塊記下第2行的長度Al,第一移位寄存器行的所有數(shù)據(jù)遷移到第二移位寄存器行,也就是說,R00, ROl,R02......RON的所有數(shù)據(jù)全部移入對(duì)應(yīng)的R10,Rll, R12......RlN,第2移位寄存器行的所有數(shù)據(jù)遷移到第3移位寄存器行,也就是說,R10, Rll,R12......RlN的所有數(shù)據(jù)全部移入對(duì)應(yīng)的R20, R21,R22......R2N。對(duì)于當(dāng)前輸入報(bào)文的剩余數(shù)據(jù),依次按上述步驟處理,直到最后一個(gè)字符輸入移位寄存器陣列。此時(shí)移位寄存器中存儲(chǔ)了 L行數(shù)據(jù),每行的長度分別是A0,Al,A2......AL-1。其中,L代表當(dāng)前輸入報(bào)文的行數(shù)。注意這里有2個(gè)實(shí)現(xiàn)的約束每一行的最大長度不能大于移位寄存器的 行長度N,當(dāng)前輸入報(bào)文的行數(shù)L不能大于移位寄存器的行數(shù)M。如果這2個(gè)約束中有一個(gè) 不能滿足,則當(dāng)前字符串不能被加速處理,移位寄存器中的數(shù)據(jù)被丟棄,報(bào)文由報(bào)文預(yù)處理 模塊直接出處至報(bào)文匹配模塊。通過對(duì)大量的重排報(bào)文分析,我們發(fā)現(xiàn)其中一個(gè)規(guī)律是,對(duì)于輸入的L行數(shù)據(jù),如果該報(bào)文是經(jīng)過重排的報(bào)文,則對(duì)于前K行,所有的行長度都是相等的,設(shè)其等于A,對(duì)于后 L-K行,長度是前K行長度減一(也就是長度為A-1)。因此,當(dāng)最后一行輸入移位陣列后(此時(shí)M行N列的陣列里面有了 L行,每行的長度分別是A0,Al......AL-1),控制邏輯模塊從最后一行(RL-1行)開始,判斷是否存在滿足如下條件的行1)從RL-I行開始,前K行的長度相等,設(shè)均為A2)后續(xù)L-K行的長度相等,且長度均為前K行長度減一,設(shè)其為A-I如果當(dāng)前輸入報(bào)文滿足上述2個(gè)條件,則當(dāng)前的報(bào)文可能就是經(jīng)過重排的報(bào)文, 否則的話,認(rèn)為是常規(guī)報(bào)文,移位寄存器內(nèi)的結(jié)果丟棄,報(bào)文由報(bào)文預(yù)處理模塊直接出處至 報(bào)文匹配模塊。由于網(wǎng)絡(luò)文字的復(fù)雜性,網(wǎng)絡(luò)加速模塊也可能產(chǎn)生誤判,這時(shí)會(huì)將正常順序的報(bào) 文當(dāng)作經(jīng)過重排序的報(bào)文而再次排序?qū)е聛y序。一種優(yōu)選的實(shí)現(xiàn)是,報(bào)文匹配模塊對(duì)于網(wǎng) 絡(luò)加速模塊重排后的報(bào)文,均執(zhí)行2次匹配操作,一次是從網(wǎng)絡(luò)加速模塊獲得的重排報(bào)文, 一次是從報(bào)文預(yù)處理模塊直接獲得的原始報(bào)文。輸出邏輯模塊由一移位寄存器構(gòu)成,其每隔L個(gè)周期接收移位寄存器陣列輸出的 并行的L個(gè)數(shù)據(jù),并每周期輸出一個(gè)字符至報(bào)文匹配模塊,這里L(fēng)為當(dāng)前報(bào)文的行數(shù)。當(dāng)控制邏輯模塊判斷當(dāng)前報(bào)文為重排報(bào)文后,采取以下的步驟輸出待匹配報(bào)文A.控制前L行,每隔L個(gè)時(shí)鐘周期向左移位一個(gè)字符(第一行ROO輸出至輸出邏輯模塊,ROl至R00,R02至ROl......,第二行RlO輸出值輸出邏輯模塊,Rll至R10,R12至Rll......依此類推);B.控制輸出邏輯模塊,每時(shí)鐘周期向報(bào)文匹配模塊輸出1個(gè)字符;C.每L個(gè)時(shí)鐘周期報(bào)文長度A減1 ;D.當(dāng)報(bào)文長度A等于0,停止移位寄存器動(dòng)作,輸出加速完成信號(hào)至報(bào)文匹配模 塊;E.等待下一個(gè)報(bào)文的輸入。當(dāng)控制邏輯模塊判斷當(dāng)前報(bào)文為是常規(guī)報(bào)文,移位寄存器內(nèi)的結(jié)果丟棄,報(bào)文由 報(bào)文預(yù)處理模塊直接出處至報(bào)文匹配模塊。如果控制邏輯判斷正確,則經(jīng)過網(wǎng)絡(luò)加速模塊的處理之后,報(bào)文匹配單元獲得原 始的待匹配報(bào)文。通過上述的操作,報(bào)文匹配單元會(huì)收到重排字符串,大大加速了報(bào)文分類過濾的 速度。雖然本發(fā)明已以較佳實(shí)施例揭示如上,然其并非用以限定本發(fā)明,任何本領(lǐng)域技 術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的修改和完善,因?yàn)楸景l(fā)明的保護(hù)范 圍當(dāng)以權(quán)利要求所界定的為準(zhǔn)。
權(quán)利要求1. 一種網(wǎng)絡(luò)報(bào)文過濾引擎芯片,包括接口模塊、報(bào)文預(yù)處理模塊、網(wǎng)絡(luò)加速模塊以及報(bào) 文匹配模塊,其中報(bào)文預(yù)處理模塊連接至接口模塊,網(wǎng)絡(luò)加速模塊耦接在報(bào)文預(yù)處理模塊 以及報(bào)文匹配模塊之間,所述報(bào)文預(yù)處理模塊和所述報(bào)文匹配模塊均是基于硬件實(shí)現(xiàn),其 特征在于所述網(wǎng)絡(luò)加速模塊包括換行符判斷邏輯模塊、控制邏輯模塊、輸出邏輯模塊以及移位 寄存器陣列,其中所述移位寄存器陣列由M行XN列的移位寄存器構(gòu)成,數(shù)據(jù)沿行方向向左 或向右移動(dòng),或者沿列方向整行向下移動(dòng)。
專利摘要本實(shí)用新型公開了一種網(wǎng)絡(luò)報(bào)文過濾引擎芯片,包括接口模塊、報(bào)文預(yù)處理模塊、網(wǎng)絡(luò)加速模塊以及報(bào)文匹配模塊,其中報(bào)文預(yù)處理模塊連接至接口模塊,網(wǎng)絡(luò)加速模塊耦接在報(bào)文預(yù)處理模塊以及報(bào)文匹配模塊之間。網(wǎng)絡(luò)加速模塊包括換行符判斷邏輯模塊、控制邏輯模塊、輸出邏輯模塊以及移位寄存器陣列,其中移位寄存器陣列由M行×N列的移位寄存器構(gòu)成,數(shù)據(jù)沿行方向向左或向右移動(dòng),或者沿列方向整行向下移動(dòng)。有益效果通過網(wǎng)絡(luò)加速模塊,加速報(bào)文匹配的處理速度。
文檔編號(hào)H04L12/26GK201839301SQ201020212678
公開日2011年5月18日 申請(qǐng)日期2010年6月2日 優(yōu)先權(quán)日2010年6月2日
發(fā)明者孟路, 馬建鋒 申請(qǐng)人:上海融億信息技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
福泉市| 赫章县| 洪泽县| 饶平县| 永定县| 会宁县| 黎川县| 富平县| 荃湾区| 万载县| 上林县| 昌图县| 通城县| 龙口市| 双牌县| 铁力市| 河北区| 临江市| 远安县| 夏河县| 宁安市| 鄂托克前旗| 英吉沙县| 介休市| 天等县| 临漳县| 灌云县| 吉林省| 玉溪市| 牙克石市| 汉中市| 承德市| 简阳市| 十堰市| 东安县| 盱眙县| 宜川县| 措美县| 南漳县| 罗江县| 建德市|