[發明專利]一種基于FPGA的負載均衡處理系統有效
| 申請號: | 202011466483.6 | 申請日: | 2020-12-14 |
| 公開(公告)號: | CN112637080B | 公開(公告)日: | 2022-11-01 |
| 發明(設計)人: | 宋曼谷;沙猛;郭志川;王可 | 申請(專利權)人: | 中國科學院聲學研究所;中科海網(蘇州)網絡科技有限公司 |
| 主分類號: | H04L47/125 | 分類號: | H04L47/125;H04L69/22;H04L49/90;H04L49/901;G06F13/28 |
| 代理公司: | 北京方安思達知識產權代理有限公司 11472 | 代理人: | 楊青;李彪 |
| 地址: | 100190 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 fpga 負載 均衡 處理 系統 | ||
1.一種基于FPGA的負載均衡系統,用于采集和處理高速網絡數據包;其特征在于,該系統包括:FPGA加速卡和服務器,兩者通過PCIe接口通信;其中,FPGA加速卡包括:解析處理模塊、負載均衡模塊、FIFO緩存模塊、DDR模塊和DMA模塊;服務器上設置DPDK驅動模塊;
所述解析處理模塊,用于對數據鏈路層進行解析,將解析得到的數據包發送到負載均衡模塊;
所述負載均衡模塊,用于提取數據包的五元組信息,根據負載均衡算法對數據包進行計算,確定該數據包所屬的隊列;將每個數據包和每個數據包的負載均衡結果分別發送至FIFO緩存模塊;
所述FIFO緩存模塊包括:META FIFO、DATA FIFO和FIFO;
META FIFO,用于緩存數據包的負載均衡結果;
DATA FIFO,用于緩存數據包;
FIFO,用于將數據包的負載均衡結果插入到數據包以太網前導碼之后,將數據包的數據放在負載均衡結果之后,將合并后的數據包通過AXI總線傳輸到DDR模塊;
所述DDR模塊,用于緩存FIFO緩存模塊通過AXI總線傳輸的數據;
所述DMA模塊,用于將DDR的緩存數據通過DMA方式傳輸到服務器;
所述DPDK驅動模塊,用于根據每個數據包所攜帶的負載均衡結果,將該數據包拷貝到相應隊列中。
2.根據權利要求1所述的基于FPGA的負載均衡系統,其特征在于,所述負載均衡模塊的具體實現過程為:
提取數據包的五元組信息:源IP地址,目的IP地址,源端口,目的端口和協議號;
計算五元組CRC32的校驗值,將源IP地址作為CRC32輸入計算校驗值,將此校驗值作為初始向量,同時把源端口作為輸入計算第一校驗值;
將目的IP地址作為CRC32輸入計算校驗值,將此校驗值作為初始向量,同時把目的端口作為輸入計算第二校驗值;
將協議號作為CRC32輸入計算第三校驗值;
對三個校驗值進行異或運算,對要分配的核數取模獲取該數據包的負載均衡結果;
將該數據包和該數據包的負載均衡結果分別發送至FIFO緩存模塊。
3.根據權利要求1所述的基于FPGA的負載均衡系統,其特征在于,所述FIFO緩存模塊對一個數據包的具體處理過程為:
當META FIFO不為空時,將以太網前導碼放入到FIFO中,然后讀取META FIFO中的負載均衡結果,將一個數據包的負載均衡結果放入到FIFO;然后讀取DATA FIFO中的該數據包的數據放入到FIFO中。
4.根據權利要求3所述的基于FPGA的負載均衡系統,其特征在于,所述DPDK驅動模塊的具體實現過程為:
從服務器內存中讀取數據包;
當識別到以太網數據幀前導碼則認為收取到新數據包;首先將位于前導碼后面的負載均衡結果字段放入到mbuf-RSS字段,然后將位于負載均衡結果后面的數據包負載部分放入mbuf-data字段;
上層應用收取數據包后,根據mbuf-RSS字段將mbuf分配到不同的隊列上。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院聲學研究所;中科海網(蘇州)網絡科技有限公司,未經中國科學院聲學研究所;中科海網(蘇州)網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011466483.6/1.html,轉載請聲明來源鉆瓜專利網。





