[發明專利]基于FPGA可編程會話表的處理方法、邏輯電路和設備有效
| 申請號: | 202110609968.4 | 申請日: | 2021-06-01 |
| 公開(公告)號: | CN113411380B | 公開(公告)日: | 2022-10-14 |
| 發明(設計)人: | 李遠平 | 申請(專利權)人: | 深圳市芯源網絡科技有限公司 |
| 主分類號: | H04L67/14 | 分類號: | H04L67/14;G06F8/30 |
| 代理公司: | 深圳市科吉華烽知識產權事務所(普通合伙) 44248 | 代理人: | 胡吉科 |
| 地址: | 518000 廣東省深圳市寶安區西鄉*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 fpga 可編程 會話 處理 方法 邏輯電路 設備 | ||
1.一種基于FPGA可編程會話表的處理方法,其特征在于:
所述基于FPGA可編程會話表的處理方法包括如下步驟:
從輸入信號的包頭信息選擇查找關鍵字,然后使用查找關鍵字進行會話表查找,計算會話表的HASH桶索引號,并使用HASH桶索引號讀取DDR內存中的多個會話表項,接著使用查找關鍵字和讀取的多個會話表項中的匹配關鍵字進行比較,如果相同則認為會話表匹配,根據匹配會話表中的操作數,執行修改包頭信息、元數據信息、會話表操作數的動作,最后將修改后的包頭信息、元數據信息送給后續的包轉發模塊,將修改后的會話表項回寫到DDR內存中; 其中,所述查找關鍵字采用高級語言可編程的方式,通過輸入包頭信息headers_in,將選定的包頭信息headers_in中的包頭協議字段連線到查找關鍵字信號,輸出查找關鍵字信號lookup_key,產生會話表查找地址,并進行會話表關鍵字的比較;
所述執行修改包頭信息、元數據信息、會話表操作數的動作包括按照包頭信息、元數據信息構造新建會話的表項,對于會話表匹配的情況,按照動作描述代碼對包頭信息、元數據信息、會話表操作數進行邏輯運算、算術運算和賦值操作。
2.根據權利要求1所述的基于FPGA可編程會話表的處理方法,其特征在于:
所述會話表查找包括:
采用HASH算法,使用預設的CRC32多項式對查找關鍵字進行CRC運算,得到會話表HASH桶索引號bucket_index,一個HASH桶對應多個會話表項,這些會話表項在內存中連續存放;
將輸入的HASH桶索引號bucket_index轉換為DDR內存起始地址,并從DDR內存起始地址開始,連續發出HASH桶中所有會話表項的讀命令;
保存輸入的查找關鍵字,在DDR控制器返回會話表項內容后,逐個提取同一HASH桶中會話表項的匹配關鍵字,與輸入的查找關鍵字lookup_key_cmp信號做比較,如果這兩個關鍵字相等,并且會話表項的有效標志位為1,則判斷為會話表匹配,匹配信號置為1,將匹配信號match、匹配會話表項的DDR內存起始地址sess_addr和匹配會話表項內容sess_entry輸出;如果沒有找到匹配的會話表項,則匹配信號置為0,將匹配信號match、編號最小的空閑會話表項的DDR內存起始地址sess_addr輸出。
3.根據權利要求2所述的基于FPGA可編程會話表的處理方法,其特征在于:所述會話表項的內容包括有效標志位、匹配關鍵字和操作數;
所述DDR內存起始地址由{HASH桶索引號,HASH桶會話表項編號,會話表項偏移地址}構成;
讀命令時,通過HASH桶會話表項數量參數、會話表項數據位寬和DDR控制器接口數據位寬參數自動計算讀DDR命令地址和數量;
采用先入先出的方式保存查找關鍵字,當同一HASH桶會話表項的讀數據返回時,取一個保存的查找關鍵字,通過接口信號lookup_key_cmp輸出進行比較。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市芯源網絡科技有限公司,未經深圳市芯源網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110609968.4/1.html,轉載請聲明來源鉆瓜專利網。





