【技術實現步驟摘要】
本專利技術屬于訪問控制列表ACL查詢領域,尤其涉及一種訪問控制列表的查詢方法及裝置。
技術介紹
在路由器、交換器以及類似功能的通信設備中,經常需要ACL來對網絡流量進行過濾。根據流量過濾的需要,ACL中有些規則只關心報文的SIP,有些規則關心SIP+SP等等。當ACL中規則數量特別大時,就需要存放在DDR中,并通過Hash的方式根據規則的內容計算規則在DDR中的存放地址。然而,在目前的ACL查詢領域中,不同類型規則需要查詢ACL的次數過多,查詢效率低,無法滿足數據包對訪問控制列表的查詢需求。其原因在于,現有技術中,每種類型的規則都需要單獨進行一次Hash運算,來獲得規則的存放地址,并從存放地址里面讀出規則與數據包的信息進行對比,來判斷數據包是否匹配規則。如果規則類型很多的話,那么數據包查詢的次數會很多,一次查詢需要讀一次DDR,而DDR的物理接口帶寬是有限的,單個數據包查詢次數越多,那么單位時間內能夠處理的數據包個數就越少。由此可見,現有技術對于這種規則類型很多的情況,ACL查詢的效率是很低的。
技術實現思路
本專利技術實施例的目的在于提供一種訪問控制列表的查詢方法,旨在解決在目前的ACL查詢領域中,不同類型規則需要查詢ACL的次數過多,查詢效率低,無法滿足數據包對訪問控制列表的查詢需求的問題。本專利技術實施例是這樣實現的,一種訪問控制列表的查詢方法,包括:接收訪問控制列表ACL中不同類型的規則;獲取每個所述規則中的元素,將具備公共元素的不同類型的規則分類為同一個規則組;利用哈希Hash算法對所述公共元素進行Hash運算,生成所述規則組中不同類型的規則存放的 ...
【技術保護點】
一種訪問控制列表的查詢方法,其特征在于,包括:接收訪問控制列表ACL中不同類型的規則;獲取每個所述規則中的元素,將具備公共元素的不同類型的規則分類為同一個規則組;利用哈希Hash算法對所述公共元素進行Hash運算,生成所述規則組中不同類型的規則存放的地址;從所述數據包中提取規則組對應的公共元素進行Hash運算,生成雙倍速率同步動態隨機存儲器DDR地址,將數據包中的各元素與所述DDR地址中規則的各元素進行匹配,根據匹配的結果,執行訪問控制列表的查詢動作;其中,規則存放的地址為固定長度的DDR地址,表示規則在DDR中的存放地址。
【技術特征摘要】
1.一種訪問控制列表的查詢方法,其特征在于,包括:接收訪問控制列表ACL中不同類型的規則;獲取每個所述規則中的元素,將具備公共元素的不同類型的規則分類為同一個規則組;利用哈希Hash算法對所述公共元素進行Hash運算,生成所述規則組中不同類型的規則存放的地址;從所述數據包中提取規則組對應的公共元素進行Hash運算,生成雙倍速率同步動態隨機存儲器DDR地址,將數據包中的各元素與所述DDR地址中規則的各元素進行匹配,根據匹配的結果,執行訪問控制列表的查詢動作;其中,規則存放的地址為固定長度的DDR地址,表示規則在DDR中的存放地址。2.如權利要求1所述的訪問控制列表的查詢方法,其特征在于,獲取每個所述規則中的元素,將具備公共元素的不同類型的規則分類為同一個規則組,具體為:獲取所述規則中的第一元素和第二元素;檢測所述規則中的第一元素是否為源IP地址SIP,當所述規則中的第一元素均為SIP時,檢測所述規則中的第二元素是否為目的IP地址DIP,當所述規則中的第二元素不為DIP時,將多個第一元素為SIP、第二元素不為DIP的規則分類為第一規則組,當所述規則中的第二元素為DIP時,將多個第一元素為SIP、第二元素為DIP的規則分類為第二規則組;檢測所述規則中的第一元素是否為目的IP地址DIP,當所述規則中的第一元素均為DIP時,將多個第一元素為DIP的所述規則分類為第三規則組;其中,所述第一規則組、所述第二規則組以及所述第三規則組的公共元素各不相同。3.如權利要求1所述的訪問控制列表的查詢方法,其特征在于,所述查詢方法,還包括:配置DDR的空間劃分功能,所述空間劃分功能,具體為:將第一百分比的空間分配給ACL基礎空間;將第二百分比的空間分配給ACL擴展空間;將剩余的DDR空間分配給ACL沖突空間;其中,第一百分比和第二百分比均為預設值。4.如權利要求3所述的訪問控制列表的查詢方法,其特征在于,所述查詢方法,還包括:配置ACL規則下發功能,所述ACL規則下發功能,具體為:獲取第一次利用哈希Hash算法對所述公共元素進行Hash運算時,生成規則在所述ACL基礎空間內存放的地址;判斷所述ACL基礎空間的地址內是否已有規則;當沒有規則時,將規則存放在所述ACL基礎空間中;當有規則時,判斷所述ACL基礎空間的地址中的規則是否已經采用了兩級Hash;當所述ACL基礎空間的地址中的規則沒有采用兩級Hash時,判斷規則鏈表長度是否超過限定值,當規則鏈表長度沒有超過限定值時,建立或擴展鏈表將規則存放在所述ACL沖突空間;當所述ACL基礎空間的地址中的規則采用兩級Hash,或者,當規則鏈表長度超過限定值時,拆除第一級Hash建立的規則鏈表,通過第二次Hash計算,生成規則在所述ACL擴展空間的地址;判斷所述ACL擴展空間的地址內是否已有規則;當所述ACL擴展空間的地址內已有規則時,建立或擴展鏈表將規則存放在
\t所述ACL沖突空間;當所述ACL擴展空間的地址內沒有規則時,將規則存放在所述ACL擴展空間。5.如權利要求1或3所述的訪問控制列表的查詢方法,其特征在于,所述從所述數據包中提取規則組對應的公共元素進行Hash運算,生成雙倍速率同步動態隨機存儲器DDR地址,將數據包中的各元素與所述DDR地址中規則的各元素進行匹配,根據匹配的結果,執行訪問控制列表的查詢動作,具體為:接收數據包查詢ACL的請求;從所述數據包中提取規則組要求的公共元素進行Hash運算,生成第一DDR地址;將第一DDR地址中規則的各元素與數據包中的各元素進行匹配,判斷ACL基礎空間的地址內是否有匹配的規則;當ACL基礎空間的地址內沒有規則時,結束規則查詢;當ACL基礎空間的地址內有規則時,判斷是否匹配規則成功;當匹配規則成功時,結束規則查詢;當匹配規則不成功時,判斷所述地址是否指向規則鏈表中的其他規則;當所述地址指向規則鏈表中的其他規則時,依次查詢規則鏈表中的各個規則,直到匹配或者鏈表結束,才結束規則查詢;當所述地址沒有指向規則鏈表中的其他規則時,判斷所述地址是否需要二次Hash;當所述地址需要二次Hash時,在規則組中,依次以規則指定的元素參與二次Hash計算,生成第二DDR地址;將第二DDR地址中規則的各元素與數據包中的各元素進行匹配,查詢ACL擴展空間的地址內是否有規則,當規則匹配成功或者規則類型遍歷完畢時,結束規則查詢。6.一種訪問控制列表的查詢裝置,其特征在于,包括:規則接收模塊,用于接收訪問控制列表ACL中不同類型的規則;分類...
【專利技術屬性】
技術研發人員:周毅華,蘭軍,
申請(專利權)人:深圳市恒揚數據股份有限公司,
類型:發明
國別省市:廣東;44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。