午夜少妇毛片免费视频_一本色道久久综合亚洲高_少妇久久免费视频,久久99热这里只有精品,毛片app,日韩三级中文字幕

0731-84728105
15116127200
FAST入門(4)軟硬協同分組處理模型之二
發布時間:2018-07-04
     模塊是FAST平臺實現分組處理的基本單元,軟硬件模塊間高效的信息交互對實現軟硬件協同分組處理具有重要意義。元數據(Metadata)是FAST平臺中模塊間信息交換的核心數據結構,是控制分組在軟硬件模塊間的處理路徑以及信息交換的關鍵。
一、軟硬件協同分組處理流程
   FAST平臺中傳輸的每個分組都攜帶一個元數據塊,用于存放分組的接收信息(如端口號,接收時刻等)、路徑控制信息(如下一個模塊號DMID)、處理的中間狀態(如流分類的標識FlowID)以及用戶自定義狀態信息等。
     FPGA OS必須為每個從端口接收的分組創建并初始化一個元數據塊,每個軟件UA也必須為其產生的分組構建并初始化一個元數據塊。當硬件模塊把分組DMID設置為某個UA的MID,或者UA把分組的DMID設置為某個硬件模塊的MID時,分組需要攜帶元數據穿越軟硬件界面,如下圖所示。假設硬件流水線由X、Y、Z三個模塊組成,作為流水線最后一級的模塊Z通常為輸出引擎,FPGA OS將DMID為Z的分組送輸出接口發出。
     如果平臺加載了一個軟件程序A,功能是對p1接口輸入,p2接口輸出的所有分組進行安全檢查,那么A可向模塊Z配置規則,將所有輸入接口為p1,輸出接口為p2的分組的DMID設置為A。因此模塊Z會將分組p的DMID設置為A,FPGA OS會將p送到軟件模塊A進行處理,同時將p的SMID設置為Z,表示這是硬件模塊Z發出的分組。
     當A完成對p的安全檢查需要繼續從p2發出分組p時,可將p的DMID設置為Z,將p再次發送回硬件流水線。雖然p首先經過了硬件流水線中的模塊X和Y,但由于DMID為Z,所以X和Y不會處理分組p,而是將其送到Z處理。Z發現p的SMID為A,表示已經過安全檢查,因此會將分組DMID修改為Z,由FPGA OS從端口發出。
二、軟硬件協同處理中的信息交互
     元數據中除了DMID和SMID字段外,還定義了其他字段用于模塊間信息的交互。FAST2.0規范定義的元數據包含了14個字段,如下表所示:
   根據系統的性能要求,開發周期,開發人員喜好(軟件開發或硬件開發),可將需要實現的網絡功能劃分到不同的軟硬件模塊中實現(這一點后面還會詳細介紹),而軟硬件模塊間狀態信息的交互需要在元數據中攜帶,例如:
     (1)PST字段:硬件可進行分組解析,包括網絡協議類型或者是應用層解析,并將解析的結果通過PST編碼送UA,實現將UA分組解析功能卸載到硬件實現;
     TSN在轉發流程中擴充的單流過濾和管控(PSFP)機制主要實現三個功能,一是單流測量,使用令牌桶機制測量到達的每條流得流量和最大幀長度是否超過預定合約;二是時間門控隊列選擇機制,即將全局時間(分組到達的時刻)加入隊列選擇算法中考慮,重新計算分組內部優先級,并根據內部優先級而不是分組VLAN頭或IP頭中攜帶的外部優先級選擇輸出隊列號;三是入隊測量,基于令牌桶機制對進入特定隊列的流量進行測量,保證進入相應隊列緩存的分組流量滿足一定的合約。
     (2)FlowID:硬件實現對分組的分類,然后將分類的結果送UA處理,即實現將軟件的流分類功能卸載到硬件實現;
     (3)RXTS:硬件實現對分組接收的時間進行精確標記,軟件UA可以根據這個時間戳進行時間敏感的功能處理,這對于精準網絡測量和IEEE1588時間同步控制的實現十分關鍵;
     (4)UDM:用戶根據需要使用16字節的UDM字段實現UA和特定硬件模塊之間的信息傳遞,例如當硬件模塊按照匹配的規則將分組送給軟件UA時,可以攜帶匹配的規則號或軟件預先設置的cookie信息等。軟件在將分組發送給硬件時,也可以攜帶一些控制硬件處理的信息,如定時發送的信息等。關于UDM的使用會在后續的實際案例中更加詳細的介紹。
     因此在FAST架構下,軟件UA可通過元數據與硬件模塊交換更加豐富的甚至是用戶自定義的狀態信息。與目前的Socket、Netlink,Libnet/Libpcap、DPDK等網絡編程的API相比,FASTAPI具備更強的軟硬件分組協同分組能力,更加容易的滿足用戶定制的處理需求。