[發明專利]一種用于報文處理的規則表項的優化方法及裝置有效
| 申請號: | 201410638579.4 | 申請日: | 2014-11-06 |
| 公開(公告)號: | CN104363177B | 公開(公告)日: | 2017-10-10 |
| 發明(設計)人: | 王利峰 | 申請(專利權)人: | 北京東土科技股份有限公司 |
| 主分類號: | H04L12/751 | 分類號: | H04L12/751;H04L12/24 |
| 代理公司: | 北京同達信恒知識產權代理有限公司11291 | 代理人: | 黃志華 |
| 地址: | 100041 北京市石*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 報文 處理 規則 優化 方法 裝置 | ||
技術領域
本發明涉及工業以太網技術領域,尤其涉及一種用于報文處理的規則表項的優化方法及裝置。
背景技術
現有技術中,網絡設備在進行數據包的處理時,需要查詢CPU中保存的各流表,例如NAT轉換表,根據該NAT轉換表進行數據包的轉發。每個流表中保存有多組動作表項,標識對該數據包的處理動作,例如,對于NAT轉換表,每組動作表項中包括:內網的源IP地址和端口號信息,以及對應的外網的目的IP地址和端口號信息。由于在每個流表中保存有很多組動作表項,每個流表包含的數據量會非常的大,保存在CPU中的流表會給CPU的運行造成很大的壓力,影響CPU的處理效率,并且影響數據包的轉發效率。
為了提高數據包的轉發效率,現有技術中可以將對各個數據包進行處理的各流表中相應的動作表項保存到一個規則表項中,并將該規則表項存放到FPGA-TCAM硬件中。但TCAM的內存一般只有5M大小,因此TCAM內存空間的大小將會直接影響規則表項的大小。當存在大量的數據包需要轉發時,每個數據包需要查找的規則表項都不同,此時TCAM中將存儲大量的規則表項。
但是,在實際的數據包處理時,各規則表項中只有20%~30%的規則表項常被使用,剩余的70%~80%的規則表項很少被使用或者偶爾某一集中時間段內被使用。但在現有技術中各規則表項的全部內容都被保存在TCAM中,而各規則表項中的很少被使用,或者偶爾某一集中時間段內被使用的規則表項將造成TCAM空間資源的浪費,另外,如果各規則表項占用的空間大于TCAM的空間,各規則表項中常被使用的規則表項將無法正確下發到TCAM中,導致一些數據包無法被正常處理。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的一種用于報文處理的規則表項的優化方法及裝置。
本發明實施例提供了一種用于報文處理的規則表項的優化方法,該方法包括:
交換設備根據接收到的待處理的數據包,確定對所述數據包進行處理的規則表項,其中所述規則表項中保存有對該數據包進行處理的各動作表項;
采用確定的所述規則表項對所述數據包進行處理,并對所述規則表項被使用的次數進行更新;
根據更新后每個規則表項被使用的次數,對TCAM中保存的各規則表項進行更新。
為了減小CPU的工作量,進一步有效的降低TCAM中保存的規則表項的數量,在本發明實施例中所述交換設備根據接收到的待處理的數據包,確定對所述數據包進行處理的規則表項包括:
交換設備將接收到的數據包發送到TCAM,TCAM確定對所述數據包進行處理的規則表項;
所述采用確定的所述規則表項對所述數據包進行處理,并對所述規則表項被使用的次數進行更新包括:
所述TCAM判斷當前自身是否保存有確定的所述規則表項;
當自身保存有所述規則表項時,采用自身保存的所述規則表項處理所述數據包,并在本地對所述規則表項被使用的次數更新;
當自身未保存所述規則表項時,將所述數據包發送到CPU,通過CPU中保存的規則表項對所述數據包進行處理,并使CPU在其本地對所述規則表項被使用的次數進行更新。
為了減小CPU的工作量,進一步有效的降低TCAM中保存的規則表項的數量,所述交換設備根據接收到的待處理的數據包,確定對所述數據包進行處理的規則表項包括:
交換設備將接收到的數據包發送到TCAM,TCAM確定對所述數據包進行處理的規則表項;
所述采用確定的所述規則表項對所述數據包進行處理,并對所述規則表項被使用的次數進行更新包括:
所述TCAM判斷當前自身是否保存有確定的所述規則表項;
當自身保存有所述規則表項時,采用自身保存的所述規則表項處理所述數據包,并在本地對所述規則表項被使用的次數更新;
當自身未保存所述規則表項時,判斷自身保存的規則表項的數量是否小于設定的數量閾值;
當自身保存的規則表項的數量小于設定的數量閾值時,向CPU請求所述規則表項,采用請求的所述規則表項對所述數據包進行處理,并對所述規則表項被使用的次數進行更新;當自身保存的規則表項的數量不小于設定的數量閾值時,將所述數據包發送到CPU,通過CPU中保存的規則表項對所述數據包進行處理,并使CPU在其本地對所述規則表項被使用的次數進行更新。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京東土科技股份有限公司,未經北京東土科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410638579.4/2.html,轉載請聲明來源鉆瓜專利網。





