[發明專利]采用哈希算法進行多核并行處理的VPN實現方法及系統有效
| 申請號: | 201210257170.9 | 申請日: | 2012-07-24 |
| 公開(公告)號: | CN102811169A | 公開(公告)日: | 2012-12-05 |
| 發明(設計)人: | 羅俊 | 申請(專利權)人: | 成都衛士通信息產業股份有限公司 |
| 主分類號: | H04L12/56 | 分類號: | H04L12/56;H04L12/46 |
| 代理公司: | 成都九鼎天元知識產權代理有限公司 51214 | 代理人: | 楊永梅 |
| 地址: | 610041 *** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 采用 算法 進行 多核 并行 處理 vpn 實現 方法 系統 | ||
技術領域
本發明涉及VPN技術領域,尤其涉及一種采用哈希算法進行多核并行處理的VPN實現方法及系統。
背景技術
VPN(Virtual?Private?Network?,簡稱VPN)為虛擬專用網絡的簡稱,目前,市場上的網絡安全設備已逐漸采用配備多個硬件處理器核的多核平臺,以圖提高網絡數據的吞吐率,特別是IPSEC?VPN這種計算密集型的設備,多個處理器核的引入對提高整個系統加解密傳輸吞吐率應該很有效果。但是在實際應用中效果并不好,要不就是網卡數據集中傳送給個別或少數處理器核,要不就是每個數據報文非常隨機的傳遞給不同的處理器核。前者導致負責負載分布嚴重的不平衡,從而多核利用率較低,多核實際變單核。后者導致數據報文亂序嚴重,因為不同報文長度的數據加解密所用時間差異很大,這對于基于TCP等可靠性要求較高的應用非常不利,會導致頻繁無意義的重傳,使整個傳輸效率急劇降低。
發明內容
針對現有技術中存在的VPN系統中多核處理的時候核利用率低及可靠性差的技術問題,本發明公開了一種采用哈希算法進行多核并行處理的VPN實現方法。本發明的另外一個目的是提供一種采用哈希算法進行多核并行處理的VPN系統。
本發明的目的通過下述技術方案來實現:
一種采用哈希算法進行多核并行處理的VPN實現方法,其具體包含以下步驟:根據VPN系統中處理器核的數目構建哈希桶,哈希桶的深度等于處理器核的數目,哈希桶中每一個哈希值對應處理器核的一個編號,根據接收到的數據報文的五元組計算出哈希值,并根據哈希值查找出對應的處理器核,將數據報文發送給對應的處理器核進行處理;其中:五元組包括源和目的IP地址、源和目的傳輸層端口及IP報文協議號。
更進一地,上述每個處理器核單獨創建一個VPN策略,在處理器核收到數據報文的時候,查找數據報文對應的VPN策略,按照查找得到的VPN策略對數據報文進行處理。
更進一地,上述方法還包括為每個哈希值分配一個先進先出隊列,處理器核從先進先出隊列中取出數據并進行處理,處理后的數據報文傳遞到網卡進行發送。
更進一地,上述方法還包括為每個處理器核設置數據負載處理上限,該上限根據單核的計算能力和多個核的平均處理負載決定,一旦數據負載超出處理上限,即將數據報文交由負載最輕的核進行處理。
更進一地,上述VPN策略的查找優先查找本處理器核的VPN策略列表,不能匹配數據報文的話再進一步一一查找其他處理器核的VPN策略列表。
更進一地,上述哈希值的計算公式如下:
其中哈希桶深度BD等于設備的處理器核的數目,數據報文源IP地址為Sip、源端口為Sport、目的IP地址為Dip、目的端口為Dport以及協議號為Proto。
本發明還公開了一種上述VPN實現方法的系統,所述系統包括:初始化模塊、數據分流模塊、數據處理模塊以及數據發送模塊,所述初始化模塊、數據分流模塊、數據處理模塊以及數據發送模塊依序連接,所述初始化模塊用于構建哈希桶,并為每個哈希值分配一個先進先出隊列,為每個處理器核創建獨立的VPN策略列表;所述數據分流模塊用于將網卡接受到的未經處理的數據報文,根據處理器核的數目以及數據報文的五元組采用哈希算法進行分流處理,將具有同一哈希值的數據報文存入同一個先進先出隊列;所述數據處理模塊進行VPN的加解密和封裝解封裝處理;所述數據發送模塊將處理后的數據報文傳遞給網卡發送。
本發明的有益效果:本發明通過將接收到的數據報文,根據處理器核的數目以及數據報文的五元組采用哈希算法進行分流處理,并為每個處理器核維持獨立的VPN策略列表,把不同的數據流分配給不同的處理器核處理,同時為每個哈希值分配一個FIFO(先進先出)隊列以實現同一個數據流數據報文的保序,從而可以極大地提高多處理器核的利用效率,實現多數據流并行加解密處理,達到很高的VPN吞吐率。
附圖說明
圖1是本發明實施例提供的采用哈希算法進行多核并行處理的VPN實現流程圖。
圖2是本發明實施例提供的采用哈希算法進行多核并行處理的VPN具體方法。
圖3?是本發明實施例提供的采用哈希算法進行多核并行處理的VPN系統的結構圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都衛士通信息產業股份有限公司,未經成都衛士通信息產業股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210257170.9/2.html,轉載請聲明來源鉆瓜專利網。





