新四季網

基於FPGA硬體並行流水線的報文解析方法及其裝置與流程

2023-07-20 06:25:41


本發明屬於網絡通信技術領域,特別涉及一種基於fpga硬體並行流水線的報文解析方法及其裝置。



背景技術:

龐大的網際網路用戶、新應用的不斷湧現及快速增長的網絡帶寬導致ip骨幹網內網絡業務急劇增加,骨幹路由器每秒需要轉發的報文數量也隨之劇增,如何提高路由器的ip轉發處理能力直接影響著我國網際網路的發展狀況。作為路由器進行ip轉發處理的基礎,靈活的報文解析技術可以方便地構建底層異構物理網絡拓撲的連接,實現不同協議承載的數據報文能夠在網際網路中快速的傳輸,打破傳統網絡固化封閉的模式,提升鏈路資源的利用率,降低基礎網絡建設成本,進而有力推進網絡基礎設施建設。

為了能夠實時線速地處理海量的業務,高轉發性能的路由器是必不可少的。例如,現今骨幹網絡互聯的核心路由器的接口速率已經達到了40gbps(oc-768),100gbps(oc-1920),甚至400gbps(oc-7680)。這樣的鏈路速率要求路由器等網絡節點設備每秒鐘解析並轉發處理千萬個以上的數據報文,同時由於網絡流量工程(trafficengineering)、虛擬專用網技術(virtualprivatenetwork,vpn)的發展,大量可嵌套夾層協議出現,極大加劇了高速路由器解析數據報文的難度。針對這一情況,cisco設計了可以線速處理40gbps鏈路速率的高速路由器,支持至少2層虛擬區域網協議(virtuallocalareanetwork,vlan)和4層多協議標籤交換協議(multi-protocollabelswitching,mpls)的協議解析;juniper也生產了可以支持2層vlan和5層mpls協議解析的高速路由器,但是在遇到複雜的多層協議嵌套時,兩者都無法通過可編程或可重構技術實現報文協議的靈活解析。而且隨著新技術和新應用的不斷湧現,用戶對網絡的應用需求也更加多樣化,無論公有或是私有網絡的構建,都需要路由器的報文解析能力能夠隨著網絡需求的變化動態調整,進而滿足各種網絡服務對基礎網絡的需求。因此,面向核心路由器ip轉發的高速報文解析技術已經逐漸發展成為網際網路發展的新瓶頸。在報文解析中,頻率越高解析能力越強,頻率較低則報文解析能力越弱。在不同環境,不同時間段,網絡流量大小也不同,但是設備報文解析是卻仍按照特定的頻率來進行解析,不能根據網絡中實際傳輸報文的大小進行動態調整,造成大量的資源和功率浪費。



技術實現要素:

針對現有技術中的不足,本發明提供一種基於fpga硬體並行流水線的報文解析方法及其裝置,以高速並行流水線結構為基礎,提高報文解析處理的速率,以流量檢測來動態改變工作頻率,大大降低系統功耗開銷。

按照本發明所提供的設計方案,一種基於fpga硬體並行流水線的報文解析方法,fpga硬體並行流水線包含多級fpga可編程硬體流水線,每級fpga可編程硬體流水線包含存儲單元和邏輯處理單元,存儲單元用於存放具備協議解析能力的標準化的協議解析樹節點,邏輯處理單元用於控制數據報文順序的查找並完成數據報文的協議解析,其中,協議解析節點中包括協議識別規則及子節點指針;基於fpga硬體並行流水線的報文解析方法包含如下內容:

測量網絡接口下實時數據流的流量參數;並將數據報文分配到並行fifo隊列中等待處理;

根據流量參數動態選取解析時鐘頻率;並提取前端五元組信息,包含源ip、目的ip、源埠、目的埠及協議欄位;

根據選取的解析時鐘頻率進行多級流水線報文解析,若協議報文解析正常,則通過依次輪詢各個流水線進行協議報文輸出,否則,將未能識別的協議報文進行異常分析,並調整調度後進行協議報文輸出。

上述的,多級流水線報文解析,包含如下內容:首先,查找存儲單元中的協議識別規則,根據協議識別規則判定協議類型;然後,邏輯處理單元通過控制數據報文順序進行報文解析,子節點指針中的子節點用來標識下一個待處理的協議解析節點在流水線中的位置。

上述的,將未能識別的協議報文進行異常分析,還包含:通過在線編程解析對流水線解析能力進行調整。

優選的,在線編程解析,包含如下內容:根據未能識別的協議報文的解析過程,生成具備協議識別能力的協議節點,將該協議節點均衡映射到流水線上,同時建立報文解析關聯;將指針節點標識下一個待處理的協議解析節點。

上述的,通過網絡流量速率檢測器測量網絡接口下實時數據流的流量大小。

上述的,將數據報文按照均勻概率分配到並行fifo隊列中等待處理,並行fifo隊列之間相互獨立完成數據報文到達速率與解析速率的匹配。

上述的,按照與到達次序一致的協議報文輸出順序進行協議報文輸出。

一種基於fpga硬體並行流水線的報文解析裝置,包含:流量測評模塊、並行隊列處理模塊、解析頻率選取模塊、五元組提取模塊、報文解析模塊、異常分析模塊及報文輸出模塊,

流量測評模塊,用於測量網絡接口下實時數據流的流量參數,並將該流量參數反饋至解析頻率選取模塊;

並行隊列處理模塊,用於將數據報文按照均勻概率分配到並行fifo隊列中等待處理,並行fifo隊列之間相互獨立完成數據報文到達速率與解析速率的匹配;

解析頻率選取模塊,用於根據流量測評模塊反饋的流量參數動態選取解析時鐘頻率;

五元組提取模塊,用於提取前端五元組信息,包含源ip、目的ip、源埠、目的埠及協議欄位;

報文解析模塊,包含多級fpga可編程硬體流水線單元,多級fpga可編程硬體流水線單元根據解析頻率選取模塊選取的解析時鐘頻率進行多級流水線報文解析,並將解析結果相應反饋至異常分析模塊或報文輸出模塊;

異常分析模塊,用於根據報文解析模塊的反饋對未能識別協議報文進行異常分析,並將異常分析後的協議報文推送至報文輸出模塊;

報文輸出模塊,用於接收報文解析模塊及異常分析模塊反饋的報文數據,通過依次輪詢報文解析模塊中的各個流水線單元,按照與報文到達次序一致的順序進行協議報文輸出。

上述的報文解析裝置中,多級fpga可編程硬體流水線單元中,每級fpga可編程硬體流水線均包含存儲單元和邏輯處理單元,存儲單元用於存放具備協議解析能力的標準化的協議解析樹節點,邏輯處理單元用於控制數據報文順序的查找並完成數據報文的協議解析,其中,協議解析節點中包括協議識別規則及子節點指針,協議識別規則用於判定協議類型,子節點指針中的子節點用於標識下一個待處理的協議解析節點在流水線中的位置。

上述的報文解析裝置中,所述的異常分析模塊還包含在線編程單元,所述的在線編程單元用於根據未能識別協議報文的解析過程,生成具備協議識別能力的協議節點,將該協議節點映射到流水線中並同時建立解析關聯,指針節點標識下一個待處理的協議解析節點。

本發明的有益效果:

本發明基於fpga並行流水線查找實現高速報文解析處理,並通過實時檢測系統中流量的大小,動態改變系統工作頻率,進而提供低功耗的高速報文解析功能;解決現有的傳統報文解析技術中頻率越高解析能力越強,頻率較低報文解析能力越弱;及在不同環境,不同時間段,網絡流量大小不同,但是設備報文解析是卻仍按照特定的頻率來進行解析,不能根據網絡中實際傳輸報文的大小進行動態調整而造成大量的資源和功率浪費等問題,可以方便地構建底層異構物理網絡拓撲的連接,實現不同協議承載的數據報文能夠在網際網路中快速的傳輸,打破傳統網絡固化封閉的模式,提升鏈路資源的利用率,降低基礎網絡建設成本,進而有力推進網絡基礎設施建設。

附圖說明:

圖1為本發明的方法流程示意圖;

圖2為本發明實施例中報文解析實現原理圖;

圖3為本發明實施例中流水線解析流程示意圖;

圖4為本發明實施例中在線編程示意圖;

圖5為本發明的裝置示意圖。

具體實施方式:

為使本發明的目的、技術方案和優點更加清楚、明白,下面結合附圖和技術方案對本發明作進一步詳細的說明。需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互任意組合。

實施例,參見圖1和2所示,一種基於fpga硬體並行流水線的報文解析方法,fpga硬體並行流水線包含多級fpga可編程硬體流水線,每級fpga可編程硬體流水線包含存儲單元和邏輯處理單元,存儲單元用於存放具備協議解析能力的標準化的協議解析樹節點,邏輯處理單元用於控制數據報文順序的查找並完成數據報文的協議解析,其中,協議解析節點中包括協議識別規則及子節點指針;該報文解析方法實現過程包含如下內容:

101、測量網絡接口下實時數據流的流量參數;並將數據報文分配到並行fifo隊列中等待處理;

102、根據流量參數動態選取解析時鐘頻率;並提取前端五元組信息,包含源ip、目的ip、源埠、目的埠及協議欄位;

103、根據選取的解析時鐘頻率進行多級流水線報文解析,若協議報文解析正常,則通過依次輪詢各個流水線進行協議報文輸出,否則,將未能識別的協議報文進行異常分析,並調整調度後進行協議報文輸出。

所述方法還可以包括下述特點:

進一步地,多級流水線報文解析,參見圖3所示,包含如下內容:首先,查找存儲單元中的協議識別規則,根據協議識別規則判定協議類型;然後,邏輯處理單元通過控制數據報文順序進行報文解析,子節點指針中的子節點用來標識下一個待處理的協議解析節點在流水線中的位置。

進一步地,將未能識別的協議報文進行異常分析,還包含:通過在線編程解析對流水線解析能力進行調整。

進一步地,在線編程解析,參見圖4所示,包含如下內容:根據未能識別的協議報文的解析過程,生成具備協議識別能力的協議節點,將該協議節點均衡映射到流水線上,同時建立報文解析關聯;將指針節點標識下一個待處理的協議解析節點。

進一步地,通過網絡流量速率檢測器測量網絡接口下實時數據流的流量大小。

進一步地,將數據報文按照均勻概率分配到並行fifo隊列中等待處理,並行fifo隊列之間相互獨立完成數據報文到達速率與解析速率的匹配。

進一步地,按照與到達次序一致的協議報文輸出順序進行協議報文輸出。

本發明實施例還提供一種基於fpga硬體並行流水線的報文解析裝置,包含:流量測評模塊、並行隊列處理模塊、解析頻率選取模塊、五元組提取模塊、報文解析模塊、異常分析模塊及報文輸出模塊,

流量測評模塊,用於測量網絡接口下實時數據流的流量參數,並將該流量參數反饋至解析頻率選取模塊;

並行隊列處理模塊,用於將數據報文按照均勻概率分配到並行fifo隊列中等待處理,並行fifo隊列之間相互獨立完成數據報文到達速率與解析速率的匹配;

解析頻率選取模塊,用於根據流量測評模塊反饋的流量參數動態選取解析時鐘頻率;

五元組提取模塊,用於提取前端五元組信息,包含源ip、目的ip、源埠、目的埠及協議欄位;

報文解析模塊,包含多級fpga可編程硬體流水線單元,多級fpga可編程硬體流水線單元根據解析頻率選取模塊選取的解析時鐘頻率進行多級流水線報文解析,並將解析結果相應反饋至異常分析模塊或報文輸出模塊;

異常分析模塊,用於根據報文解析模塊的反饋對未能識別協議報文進行異常分析,並將異常分析後的協議報文推送至報文輸出模塊;

報文輸出模塊,用於接收報文解析模塊及異常分析模塊反饋的報文數據,通過依次輪詢報文解析模塊中的各個流水線單元,按照與報文到達次序一致的順序進行協議報文輸出。

所述裝置還可以包含下述特點:

進一步地,多級fpga可編程硬體流水線單元中,每級fpga可編程硬體流水線均包含存儲單元和邏輯處理單元,存儲單元用於存放具備協議解析能力的標準化的協議解析樹節點,邏輯處理單元用於控制數據報文順序的查找並完成數據報文的協議解析,其中,協議解析節點中包括協議識別規則及子節點指針,協議識別規則用於判定協議類型,子節點指針中的子節點用於標識下一個待處理的協議解析節點在流水線中的位置。

進一步地,所述的異常分析模塊還包含在線編程單元,所述的在線編程單元用於根據未能識別協議報文的解析過程,生成具備協議識別能力的協議節點,將該協議節點映射到流水線中並同時建立解析關聯,指針節點標識下一個待處理的協議解析節點。

以在線視頻直播應用為例,具體的來說明報文解析的工作過程,首先使用流量測評模塊測得網絡接口下視頻數據流的速率為500mbps,同時將將數據流按照均勻的概率分配到並行fifo中等待處理,並將測得的參數反饋給解析頻率選取模塊,即頻率選擇器。然後,頻率選擇器根據反饋來的參數判斷該參數所對應報文解析的頻率,該流量參數在300-600mbps的取值範圍中,對應的報文解析頻率為200mhz。若流量參數在600-900mbps,則對應的報文解析頻率為220mhz。同時提取出前段數據流中的五元組信息,包含源ip、目的ip、源埠、目的埠及協議欄位。接著,所選取的報文解析時鐘頻率200mhz進行多級流水線報文解析,具體如下:(1)若報文解析正常,則通過依次輪詢的各個流水線進行協議報文輸出。其中每級fpga可編程硬體流水線均包含存儲單元和邏輯處理單元,存儲單元用於存放具備協議解析能力的標準化的協議解析樹節點,邏輯處理單元用於控制數據報文順序的查找並完成數據報文的協議解析,其中,協議解析節點中包括協議識別規則及子節點指針,協議識別規則用於判定協議類型,子節點指針中的子節點用於標識下一個待處理的協議解析節點在流水線中的位置。(2)若報文解析不正常,將未能識別的協議報文進行異常分析,生成具備協議識別能力的協議節點,將該協議節點均衡映射到流水線上,同時建立報文解析關聯,將指針節點標識下一個待處理的協議解析節點,並調整調度後進行協議報文輸出。最後,接收多級流水線報文解析後的報文數據,通過依次輪詢報文解析模塊中的各個流水線單元,按照與報文到達次序一致的順序進行協議報文輸出。

本發明基於fpga並行流水線查找來實現高速報文解析處理,並通過實時檢測系統中流量的大小,動態改變系統工作頻率,進而提供低功耗的高速報文解析功能。流量測評模塊用來檢測進入系統中流量的大小;解析頻率選取模塊根據流量測評模塊中實時流量的大小來動態調整解析工作的頻率;並行隊列處理模塊把報文概率均勻的分配到並行fifo中等待處理,並行fifo之間相互獨立,共同完成報文到達速率和報文解析處理速率的匹配;五元組提取模塊在前端處理等待隊列模塊中提取五元組(源ip,目的ip,源埠,目的埠,協議欄位);報文解析模塊通過多級並行流水線進行報文解析;異常分析模塊處理報文解析模塊中未能識別的協議報文,並將進一步分析後的報文推送回報文輸出模塊,在報文輸出模塊中進行報文輸出的調度調整後輸出,同時將未識別報文的解析結果反饋到在線編程單元中,通過在線可編程解析控制對流水線解析能力進行實時調整;報文輸出模塊是報文解析模塊與異常分析模塊的後級處理單元,通過依次輪詢並行流水線的各個窗口並輸出報文,盡力保證解析後報文輸出順序和進入時一致。與傳統的報文解析技術進行對比分析,發現傳統的報文解析技術無法實時動態的調整系統工作頻率,導致功耗的浪費;本發明以高速並行流水線結構設計為研究基礎,進一步提高報文解析處理的速率,以流量檢測來動態改變工作頻率,大大降低系統功耗開銷。

本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關硬體完成,所述程序可以存儲於計算機可讀存儲介質中,如:只讀存儲器、磁碟或光碟等。可選地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現,相應地,上述實施例中的各模塊/單元可以採用硬體的形式實現,也可以採用軟體功能模塊的形式實現。本發明不限制於任何特定形式的硬體和軟體的結合。

對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本申請。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本申請的精神或範圍的情況下,在其它實施例中實現。因此,本申請將不會被限制於本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀