[發明專利]基于FPGA可編程會話表的處理方法、邏輯電路和設備有效
| 申請號: | 202110609968.4 | 申請日: | 2021-06-01 | 
| 公開(公告)號: | CN113411380B | 公開(公告)日: | 2022-10-14 | 
| 發明(設計)人: | 李遠平 | 申請(專利權)人: | 深圳市芯源網絡科技有限公司 | 
| 主分類號: | H04L67/14 | 分類號: | H04L67/14;G06F8/30 | 
| 代理公司: | 深圳市科吉華烽知識產權事務所(普通合伙) 44248 | 代理人: | 胡吉科 | 
| 地址: | 518000 廣東省深圳市寶安區西鄉*** | 國省代碼: | 廣東;44 | 
| 權利要求書: | 查看更多 | 說明書: | 查看更多 | 
| 摘要: | |||
| 搜索關鍵詞: | 基于 fpga 可編程 會話 處理 方法 邏輯電路 設備 | ||
本發明提供了一種基于FPGA可編程會話表的處理方法、邏輯電路和設備,該處理方法包括如下步驟:從輸入信號的包頭信息選擇查找關鍵字,然后使用查找關鍵字進行會話表查找,計算會話表的HASH桶索引號,并使用HASH桶索引號讀取DDR內存中的多個會話表項,接著使用查找關鍵字和讀取的多個會話表項中的匹配關鍵字進行比較,如果相同則認為會話表匹配,根據匹配會話表中的操作數,執行修改包頭信息、元數據信息、會話表操作數的動作,最后將修改后的包頭信息、元數據信息送給后續的包轉發模塊,將修改后的會話表項回寫到DDR內存中。采用本發明的技術方案,大大降低了FPGA會話管理的設計難度,顯著縮短了研發周期。
技術領域
本發明屬于電子信息技術領域,尤其涉及一種基于FPGA(Field ProgrammableGate Array,現場可編程門陣列)可編程會話表的處理方法、邏輯電路和設備。
背景技術
在網絡中,會話是兩個通信設備之間的信息交換,會話在某個時間點建立,然后在稍后的某個時間點被結束。在TCP/IP協議中,一條會話由五元組(源IP地址、目的IP地址、源端口號、目的端口號、協議類型)唯一標識,基于五元組建立的查找表稱為會話表。會話表在網絡設備中有廣泛的應用,例如在防火墻中建立會話表,可實現TCP的狀態檢測以及內網和外網IP地址的轉換;在DPI(深度報文檢測)設備中建立會話表,可實現上下行流量統計和TCP重傳包統計;在四層負載均衡設備中建立會話表,利用會話表中的服務器外部和內部IP地址映射關系,可將同一條會話的所有數據包轉發到被選中的同一個內部服務器,保證了內部服務器對同一條服務請求響應的完整性;在5G核心網的UPF網元中建立會話表,可實現基于會話的GTP隧道封裝解封裝、流量統計、計費信息發送以及路由轉發等功能。
隨著5G、物聯網、云計算、AR與VR等技術的應用,全球網絡流量面臨爆發式增長,網絡設備的接口帶寬向著25G、40G,甚至100G演進,網絡設備需要處理的會話新建速率達到了每秒百萬條以上,并發會話數達到了千萬甚至上億條。對于傳統的基于X86架構的純軟件網絡設備,CPU無法將成千上萬條會話表緩存到cache中,只能存儲到DDR內存,而現在計算機的內存運行速度只有CPU速度的400分之一,軟件收到的每個包都需要讀取內存查詢會話表,并且需要再次寫內存更新會話表,這耗費了大量CPU運算資源,整個系統的性能也會隨著會話表數量的增加而急劇下降。
采用NP(網絡處理器)管理會話表,NP本質上還是CPU對指令代碼的執行,因此和X86架構一樣,需要先讀取內存查詢會話表,然后根據會話表內容執行動作,最后需要寫內存更新會話表,CPU對指令的串行執行,以及對DDR內存的頻繁讀寫,同樣造成了會話表管理的性能瓶頸。
采用FPGA管理會話表,可以充分利用FPGA在并行處理能力方面的優勢,將會話表查詢、會話表動作執行、會話表更新做為流水線的不同處理階段,實現并行處理,這大大提高了會話表處理的性能,很容易實現百萬級新建,千萬級并發的會話表管理。但采用FPGA管理會話表的難點在于設計難度較大,功能移植和升級困難,目前FPGA設計需要使用專用的硬件描述語言Verilog或VHDL,從電路級設計整個系統,存在開發門檻高、設計復雜、工作量大的困難,并且一旦基于FPGA的會話表管理功能設計、驗證完成后,如果需要修改會話表功能或者改變DDR內存接口,則又要面對硬件電路的重新設計和驗證,其開發周期遠大于軟件設計。在保證FPGA高性能管理會話表的同時,需要找到一種方法降低FPGA會話表管理設計和修改的難度,增強會話表管理功能的可移植性。
P4是一種協議無關的數據包處理編程高級語言,用于網絡的數據平面編程。P4語言支持對報文解析器(Parser),匹配-動作表(Match-Action Table)和報文逆解析器(Deparser)這三個模塊的完全可編程,同時也支持調用用戶自定義的外部對象(Externobjects),利用P4語言的這個特性,考慮將會話表管理的固定功能做成一個外部對象,然后在P4程序中調用,將會話表管理的可編程功能定義為動作(Action),使用P4語言來描述該動作,這樣就可以使用高級語言實現會話表管理功能的設計,達到降低設計難度,增強設計可移植性的目的。
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市芯源網絡科技有限公司,未經深圳市芯源網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110609968.4/2.html,轉載請聲明來源鉆瓜專利網。





