[發明專利]一種多核板卡ACL規則匹配方法無效
| 申請號: | 201110453837.8 | 申請日: | 2011-12-30 |
| 公開(公告)號: | CN103188231A | 公開(公告)日: | 2013-07-03 |
| 發明(設計)人: | 樊景亮 | 申請(專利權)人: | 北京銳安科技有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L12/743 |
| 代理公司: | 北京君尚知識產權代理事務所(普通合伙) 11200 | 代理人: | 余功勛 |
| 地址: | 100044 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 多核 板卡 acl 規則 匹配 方法 | ||
技術領域
本發明涉及一種多核板卡ACL規則匹配方法,屬于網絡安全行業的數據分流和過濾領域。
背景技術
ACL(訪問控制列表)技術,是一種數據過濾和控制方法,主要應用于路由器,交換機,防火墻等產品中,用以進行數據的過濾和控制。
在網絡安全領域,ACL技術用于通過配置規則,讓分流設備對互聯網的原始數據包進行過濾,規則可以是端口或IP以及協議,或者是幾者的組合。
在一般的實現中分流板卡設備是采用遍歷的方式對規則進行匹配。這種方式的問題是當規則數量超過一定的值的時候將會大幅影響性能,從而降低板卡對數據包的分流效率。完全采用硬件實現的板卡很難通過算法進行性能的優化。
而多核卡即是解決這個問題而產生的,它具備了硬件板卡的性能優勢,同時可以采用編程的方式通過優化算法提高處理能力。
多核板卡一般都延續硬件分流板卡的實現思路,使用對規則進行遍歷的方式進行匹配處理,在規則數量小的時候很快,一般支持10萬以內的規則,但是當規則數量增大到一定程度的時候,效率顯著降低。這時候使用一種較好的匹配算法成為必然。本文描述的方法可以處理百萬級的規則數量,并且速度不會明顯降低
發明內容
針對現有技術中存在的技術問題,本發明的目的在于提供一種多核板卡ACL規則匹配方法,本發明能夠優化多核分流板卡對于ACL規則的處理能力,大幅提高其分流過濾的處理性能。
本發明通過一種方法對多核板卡的規則匹配流程進行改進,提高其處理能力。具體實現如下:
5元組(源IP,目的IP,源端口,目的端口,協議類別)總計有31種組合,但是實際使用時,用戶輸入的ACL規則只是這31種組合的一部分,每種組合視為一類。
如圖1所示:將用戶的規則分為了N類。
每一個類別都使用一個hash表,總計N個哈希表,使用一個指針數組保存指向N個哈希表的指針。指針數組記為Array[N]
每個哈希表下掛的鏈表是此類別的規則節點,圖2所示的是插入了幾個節點后的哈希表的狀態。
此方法包含新規則插入、規則刪除、數據包規則匹配3部分。
1)新規則插入
假設用戶配置的規則為規則x(源IP:x.x.x.x目的IP:y.y.y.y,記為RuleX),圖2中虛線框中的就是規則x,顯示的是插入后的狀態。
下面的步驟是規則插入的流程:
第一步:確定新規則的類別,來決定向Array數組的哪個哈希表進行插入。
這里RuleX包含源IP和目的IP,根據圖1的類別得知,RuleX對應的類別索引為0,即需要操作的哈希表的指針為Array[0]。
第二步:構造虛擬5元組。
此操作將用戶配置的規則擴展,從而得到完整的5元組的信息。用戶規則中包含的部分直接拷貝到5元組的對應部分,5元組中其他幾個部分,在用戶規則中沒有包含,則被設置為0。
RuleX的信息被擴展為5元組(sip=x.x.x.x?sport=0?dip=y.y.y.y?dport=0?proto=0,記為FiveTupleX),其中,sip是源IP,sport是源端口,dip是目的IP,dport是目的端口,proto是協議類型。
第三步:對5元組的信息進行哈希,決定向哈希表的哪個桶中的鏈表插入。
本方法使用完整的5元組信息進行哈希,可以保持通用性,所有的類別的5元組都可以使用同一個哈希函數。具體的哈希函數可以自寫或其他的,具體實現不限。
如果需要更好的散列,那么可以對不同的規則類別使用不同的哈希算法。但不管使用什么算法,需要保持插入、刪除、查找使用同一個算法。
如圖2根據5元組FiveTupleX進行哈希得到對應的桶索引3
第四步:建立一個節點用來保存規則信息,將這個節點掛到對應索引的桶下面的鏈表上。如圖2所示的虛框的那個節點,節點中保存5元組的信息。
如果新插入規則的5元組信息與已有的某節點的5元組信息完全一致時,不允許進行插入,這樣保證規則的唯一性。
2)規則刪除
刪除規則時用戶同樣需要指定規則的幾個部分,假設用戶待刪除的規則為圖2的規則4(目的端口:2000?協議:tcp,記為Rule4)
第一步:確定待刪除規則的類別,來決定從Array數組的哪個哈希表進行查找。
這里根據圖1得知Rule4對應的類別索引為4,即需要操作的哈希表的指針為Array[4]
第二部:構造虛擬5元組。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京銳安科技有限公司,未經北京銳安科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110453837.8/2.html,轉載請聲明來源鉆瓜專利網。





