欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種通過軟硬件協(xié)同提高硬件報文分類規(guī)則容量的方法

文檔序號:6339255閱讀:218來源:國知局
專利名稱:一種通過軟硬件協(xié)同提高硬件報文分類規(guī)則容量的方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)數(shù)據(jù)處理領(lǐng)域,具體涉及一種通過軟硬件協(xié)同提高硬件報文分類規(guī)則容量的方法。
背景技術(shù)
在一般的硬件報文分類系統(tǒng)中,報文分類規(guī)則一般使用CAM(內(nèi)容訪問存儲器)保 存,便于硬件進行高速匹配。但是在某些網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)中,往往需要大容量的精確的分 類規(guī)則,CAM的容量一般只有幾MB,難以滿足要求。在網(wǎng)絡(luò)環(huán)境中,不同數(shù)據(jù)包根據(jù)一些原則分屬不同類別,這些分類原則就是報文 分類規(guī)則。在傳統(tǒng)的硬件報文分類系統(tǒng)中,一般采用CAM(內(nèi)容訪問存儲器)保存這些規(guī)則, 以便硬件進行高速匹配。硬件通過接口程序,查找CAM中的規(guī)則,并進行匹配,根據(jù)匹配結(jié) 果,把報文分類,針對分類的報文進行特點處理。在傳統(tǒng)的硬件報文分類系統(tǒng)中,處理芯片與CAM(內(nèi)容訪問存儲器)相連,這種CAM 具有速度快、靈活等優(yōu)點,但容量一般比較小,只有幾MB。但隨著系統(tǒng)的要求,規(guī)則容量不斷 增大,需要存儲的規(guī)則常常達到幾百MB,這樣就需要大容量的存儲介質(zhì)來存儲這些大容量 的規(guī)則。將處理芯片與CAM(內(nèi)容訪問存儲器)直接相連,通過接口函數(shù),獲取CAM訪問句 柄,直接把規(guī)則寫進CAM空間中。由于CAM容量不大,一般普通算法即可簡單維護。對于大 容量來說,使用CAM無法解決。隨著應(yīng)用需求的發(fā)展,現(xiàn)有技術(shù)方案出現(xiàn)了容量不夠的缺點,因為很多系統(tǒng)需要 大容量的精確的分類規(guī)則,既要實現(xiàn)高效的規(guī)則匹配,又要滿足其容量要求,往往需要大容 量的存儲介質(zhì)來滿足存儲的要求,現(xiàn)有的技術(shù)方案中,智能滿足于高效的匹配,而無法解決 需要大容量的精確的規(guī)則分類的問題。

發(fā)明內(nèi)容
本發(fā)明的目的在于解決上述現(xiàn)有技術(shù)方案的缺點,硬件中采用大容量的SRAM保 存報文分類規(guī)則,以hash表的形式存儲,通過在軟件中建立硬件hash表的擴展的副本,由 軟件負責構(gòu)造和維護報文分類規(guī)則,使得硬件報文分類系統(tǒng)可以配置大容量的規(guī)則。—種通過軟硬件協(xié)同提高硬件報文分類規(guī)則容量的方法,其特征在于包括以下 步驟A、在主機申請一塊內(nèi)存區(qū)域,其中一部分用來存儲規(guī)則,另一部分用來存儲hash 表;B、通過接口庫,獲取硬件地址,通過映射函數(shù)獲取SRAM緩沖區(qū)指針,并初始化 SRAM,然后為每個規(guī)則生成hash關(guān)鍵字,并根據(jù)hash關(guān)鍵字把規(guī)則添加到主機規(guī)則表以及 SRAM 中;C、當需要增加或刪除規(guī)則時,接口函數(shù)通過hash函數(shù),查找該規(guī)則對應(yīng)的hash關(guān) 鍵字所在的位置,查找是否存在沖突,若不存在沖突,直接把該規(guī)則放進規(guī)則表與規(guī)則沖突鏈中;若存在沖突,則把該規(guī)則填加到?jīng)_突鏈所在鏈表的頭位置;D、接 口庫更新主機內(nèi)存中的存儲規(guī)則,主機內(nèi)存中存儲規(guī)則更新完畢后,再根據(jù) 調(diào)整后的規(guī)則表,更新SRAM中硬件端的規(guī)則表;E、當數(shù)據(jù)包需要匹配規(guī)則時,通過hash函數(shù),查找SRAM中的規(guī)則,根據(jù)hash關(guān)鍵 字,在hash關(guān)鍵字位置以及沖突位置匹配規(guī)則。本發(fā)明根據(jù)規(guī)則的特性,由于使用了 SRAM以及hash表,不僅僅能快速、方便管理 SRAM中的規(guī)則,保證了硬件上的規(guī)則匹配效率,同時由于SRAM存儲介質(zhì)的容量較大,能夠 存儲更多的規(guī)則。


圖1是本發(fā)明工作示意圖 具體實施方案本發(fā)明通過hash表查找快速的特點,在系統(tǒng)內(nèi)存中建立一個規(guī)則的hash表,通過 hash表實現(xiàn)硬件報文分類的高效匹配。具體方案如下(1)在主機內(nèi)存中申請一塊內(nèi)存區(qū)域,其中在這塊內(nèi)存區(qū)域中,一部分存儲規(guī)則, 一部分存儲hash表。(2)通過接口庫,獲取硬件地址,通過映射函數(shù)獲取SRAM緩沖區(qū)指針,并初始化 SRAM,然后為每個規(guī)則生成hash數(shù),并根據(jù)hash數(shù)把規(guī)則添加到主機規(guī)則表以及SRAM中。(3)當需要增加、刪除規(guī)則,接口函數(shù)通過hash函數(shù),查找該規(guī)則對應(yīng)的hash數(shù) 所在的位置,查找是否存在沖突,如果不存在沖突,直接把該規(guī)則放進規(guī)則表與規(guī)則沖突鏈 中;如果存在沖突,則把該規(guī)則加到?jīng)_突鏈所在鏈表的頭位置。(4)為了防止在操作規(guī)則的過程中,影響SRAM中的報文分類,接口庫首先更新主 機端的存儲規(guī)則,當更新完主機端規(guī)則后,再根據(jù)調(diào)整后的規(guī)則表,更新SRAM中硬件端的 規(guī)則表。(5)當數(shù)據(jù)包需要匹配規(guī)則時,通過hash函數(shù),查找SRAM中的規(guī)則,根據(jù)hash數(shù), 在hash數(shù)位置以及沖突位置匹配規(guī)則。本發(fā)明已經(jīng)在曙光生產(chǎn)的網(wǎng)絡(luò)安全專用服務(wù)器中使用,證明可以實現(xiàn)SRAM存儲 大容量規(guī)則,提高了系統(tǒng)的規(guī)則數(shù)量。
權(quán)利要求
1. 一種通過軟硬件協(xié)同提高硬件報文分類規(guī)則容量的方法,其特征在于包括以下步驟A、在主機申請一塊內(nèi)存區(qū)域,其中一部分用來存儲規(guī)則,另一部分用來存儲hash表;B、通過接口庫,獲取硬件地址,通過映射函數(shù)獲取SRAM緩沖區(qū)指針,并初始化SRAM, 然后為每個規(guī)則生成hash關(guān)鍵字,并根據(jù)hash關(guān)鍵字把規(guī)則添加到主機規(guī)則表以及SRAM 中;C、當需要增加或刪除規(guī)則時,接口函數(shù)通過hash函數(shù),查找該規(guī)則對應(yīng)的hash關(guān)鍵 字所在的位置,查找是否存在沖突,若不存在沖突,直接把該規(guī)則放進規(guī)則表與規(guī)則沖突鏈 中;若存在沖突,則把該規(guī)則填加到?jīng)_突鏈所在鏈表的頭位置;D、接口庫更新主機內(nèi)存中的存儲規(guī)則,主機內(nèi)存中存儲規(guī)則更新完畢后,再根據(jù)調(diào)整 后的規(guī)則表,更新SRAM中硬件端的規(guī)則表;E、當數(shù)據(jù)包需要匹配規(guī)則時,通過hash函數(shù),查找SRAM中的規(guī)則,根據(jù)hash關(guān)鍵字, 在hash關(guān)鍵字位置以及沖突位置匹配規(guī)則。
全文摘要
本發(fā)明提供了一種通過軟硬件協(xié)同提高硬件報文分類規(guī)則容量的方法。在硬件中采用大容量的SRAM(靜態(tài)隨機訪問存儲,容量可達幾百MB)保存報文分類規(guī)則,以hash表的形式存儲,通過在軟件中建立硬件hash表的擴展的副本,由軟件負責構(gòu)造和維護報文分類規(guī)則,使得硬件報文分類系統(tǒng)可以配置大容量的規(guī)則。由于使用了SRAM以及hash表,不僅僅能快速、方便管理SRAM中的規(guī)則,保證了硬件上的規(guī)則匹配效率,同時由于SRAM存儲介質(zhì)的容量較大,能夠存儲更多的規(guī)則。
文檔編號G06F17/30GK102055670SQ201010597300
公開日2011年5月11日 申請日期2010年12月17日 優(yōu)先權(quán)日2010年12月17日
發(fā)明者萬偉, 劉興彬, 朱春屹, 王潑, 賀志強, 連仲維 申請人:天津曙光計算機產(chǎn)業(yè)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
洪雅县| 阳曲县| 贵阳市| 从江县| 大埔县| 图木舒克市| 曲水县| 江口县| 陆良县| 靖西县| 嘉兴市| 德安县| 柳江县| 和硕县| 泸溪县| 大理市| 额敏县| 丰县| 弥勒县| 阜城县| 阿克陶县| 沅江市| 喀喇沁旗| 临夏县| 保康县| 磐安县| 临邑县| 珲春市| 方正县| 和顺县| 白朗县| 山东| 桐梓县| 正阳县| 界首市| 原平市| 白水县| 铁岭县| 花莲县| 元江| 眉山市|