0731-84728105
15116127200
FAST入門(mén)(2):FAST交換平台簡介
發布時間:2018-06-25
一(yī)、FAST交換平台的組成
      FAST是基于多(duō)核CPU和FPGA的開(kāi)源可重構分組交換平台。通(tōng)常對處理性能(néng)要求較高(gāo)的分組處理功能(néng)由FPGA實現,對處理性能(néng)要求較低(dī),實現複雜(zá)的功能(néng)可由CPU實現。用戶既可通(tōng)過擴展FPGA硬件(jiàn)流水(shuǐ)線功能(néng)也可以通(tōng)過CPU上(shàng)編程實現對分組交換功能(néng)的擴充。
     802.1Q規範沒有明确定義流量測量的粒度,無法對進入網絡的流量進行細粒度的測量和管控。雖然支持多(duō)種輸出調度算(suàn)法,但更多(duō)是保證輸出調度的優先級,或者按照(zhào)預先确定的權值分配不同優先級隊列占用的輸出帶寬,在調度中沒有利用全局時間信息,無法實現确定性的延時控制。軟件(jiàn)定義網絡技(jì)術(shù)的應用可以簡化交換流程,将生(shēng)成樹管理以及地址學習功能(néng)上(shàng)載到(dào)控制器(qì)上(shàng)實現,可以針對每條細粒度的流定義交換行為(wèi),但也難以實現确定性的延時控制。
     FAST交換的實現不依賴特定的CPU與FPGA型号,但為(wèi)了更好地提供交換功能(néng)擴充能(néng)力,保證軟硬件(jiàn)協同分組處理的基本性能(néng),FAST的交換平台必須具有如下(xià)兩個(gè)特點:
   (1)所有網絡接口連接到(dào)FPGA上(shàng)
     進入交換平台的分組首先送FPGA處理,離開(kāi)交換平台的分組最後由FPGA發出。這樣有兩個(gè)優點。一(yī)是交換平台可精确獲取分組接收時間以及控制發送時間,實現類似1588透明時鍾的控制,支持時間敏感交換;二是平台可以支持各種新型的分組格式,支持内容中心網絡(ICN)等非IP交換。
   (2)FPGA通(tōng)過高(gāo)帶寬總線與CPU連接
     與傳統交換芯片通(tōng)過低(dī)帶寬的SPI總線、以太網或是單Lane的PCIE總線與控制CPU連接不同,FAST平台中FPGA通(tōng)過高(gāo)帶寬的總線與CPU連接,提升軟硬件(jiàn)協同分組處理的性能(néng),支持通(tōng)過CPU軟件(jiàn)對數據平面處理功能(néng)進行擴展。
     FAST交換平台的實現架構如下(xià)圖所示。FPGA邏輯分為(wèi)平台相(xiàng)關的FPGAOS(類似微軟數據中心加速FPGA中的Shell)和FAST流水(shuǐ)線兩部分。FPGA OS主要實現平台相(xiàng)關,交換功能(néng)無關的分組處理,如網絡接口的接收與發送、CPU的DMA引擎以及FPGA片外或片内實現的TCAM查表功能(néng)等。FAST 流水(shuǐ)線實現交換相(xiàng)關的網絡功能(néng),如分組解析、關鍵字提取、轉發查表、動作執行和輸出控制等。用戶可通(tōng)過擴展流水(shuǐ)線實現不同的交換功能(néng)。
     FAST流水(shuǐ)線可将特定類型的分組定向發往CPU進行處理。CPU上(shàng)FPGA接口驅動稱為(wèi)FAST驅動,該驅動識别FAST分組,根據分組攜帶Metadata中的内容将分組交協議棧或FAST内核處理。如果分組交協議棧(例如發往本地控制平面的分組),則分組格式要首先轉換成為(wèi)skb-buf的格式。FAST内核實現Linux用戶空間中不同的FAST應用程序(UA)以及FAST硬件(jiàn)流水(shuǐ)線之間FAST格式分組的交換。FAST UA通(tōng)過FAST 編程庫提供的API與FAST硬件(jiàn)流水(shuǐ)線或其他UA交換FAST分組以及管理配置FAST流水(shuǐ)線。

圖1 FAST交換平台的組成
     FAST UA實現用戶定義的分組處理功能(néng),如與外部SDN控制器(qì)連接的OpenFlow通(tōng)道,軟件(jiàn)實現的新型轉發交換(如LISP、段路(lù)由等)以及各類有狀态Middlebox功能(néng)等。FAST流水(shuǐ)線中的硬件(jiàn)模塊可以通(tōng)過查表決定直接轉發分組或者把分組重新定向到(dào)特定的軟件(jiàn)UA上(shàng)。
二、支持FAST的網絡平台
     為(wèi)支持基于FAST的教學與科研,FAST開(kāi)源社區聯合湖(hú)南(nán)智投互動網絡科技(jì)有限公司推出多(duō)款FAST交換平台,支持Intel/ARM CPU,以及Altera/Xilinx公司的多(duō)個(gè)型号的FPGA。
     采用Zynq-7000 SOC芯片,内嵌雙核Cortex-A9 處理器(qì),512MB DDR3内存;支持4路(lù)千兆以太網數據接口及一(yī)路(lù)千兆管理以太網接口。适合基于FAST的計算(suàn)機(jī)網絡教學和新型網絡交換機(jī)制的驗證。

圖2 OpenBox-S4z
     OpenBox-S4z平台支持NetEXP教學案例,可用于研究生(shēng)和本科生(shēng)的計算(suàn)機(jī)網絡實驗教學。高(gāo)校教師(shī)與研究人員(yuán)可免費(fèi)申請試用OpenBox-S4z平台。
     基于Intel Atom CPU和Altera Arria V FPGA實現,支持8個(gè)千兆以太網和2個(gè)萬兆以太網接口,以及一(yī)個(gè)千兆管理以太網接口。适合中等端口密度的實驗網組網和新型網絡設備原型驗證。

圖3 OpenBox-S28
     采用Zynq-7000 SOC芯片,内嵌雙核Cortex-A9 處理器(qì),1GB DDR3内存;支持16個(gè)千兆以太網接口和4個(gè)萬兆接口,适合高(gāo)端口密度的試驗網組網和新型網絡設備原型驗證。

圖4 OpenBox-S56
  FAST開(kāi)源社區為(wèi)所有OpenBox系列設備提供:
     (1)平台無關的FAST硬件(jiàn)流水(shuǐ)線,FAST内核,FAST編程庫以及OpenFlow通(tōng)道等典型UA的源代碼;
     (2)平台相(xiàng)關的FPGA OS以及FAST驅動的執行代碼;
     (3)基于OpenBox平台的用戶需求定制與技(jì)術(shù)培訓服務。