0731-84728105
15116127200
FAST入门(2):FAST交换平台简介
发布时间:2018-06-25
一、FAST交换平台的组成
      FAST是基于多(duō)核CPU和FPGA的开源可(kě)重构分(fēn)组交换平台。通常对处理(lǐ)性能(néng)要求较高的分(fēn)组处理(lǐ)功能(néng)由FPGA实现,对处理(lǐ)性能(néng)要求较低,实现复杂的功能(néng)可(kě)由CPU实现。用(yòng)户既可(kě)通过扩展FPGA硬件流水線(xiàn)功能(néng)也可(kě)以通过CPU上编程实现对分(fēn)组交换功能(néng)的扩充。
     802.1Q规范没有(yǒu)明确定义流量测量的粒度,无法对进入网络的流量进行细粒度的测量和管控。虽然支持多(duō)种输出调度算法,但更多(duō)是保证输出调度的优先级,或者按照预先确定的权值分(fēn)配不同优先级队列占用(yòng)的输出带宽,在调度中没有(yǒu)利用(yòng)全局时间信息,无法实现确定性的延时控制。软件定义网络技术的应用(yòng)可(kě)以简化交换流程,将生成树管理(lǐ)以及地址學(xué)习功能(néng)上载到控制器上实现,可(kě)以针对每条细粒度的流定义交换行為(wèi),但也难以实现确定性的延时控制。
     FAST交换的实现不依赖特定的CPU与FPGA型号,但為(wèi)了更好地提供交换功能(néng)扩充能(néng)力,保证软硬件协同分(fēn)组处理(lǐ)的基本性能(néng),FAST的交换平台必须具有(yǒu)如下两个特点:
   (1)所有(yǒu)网络接口连接到FPGA上
     进入交换平台的分(fēn)组首先送FPGA处理(lǐ),离开交换平台的分(fēn)组最后由FPGA发出。这样有(yǒu)两个优点。一是交换平台可(kě)精确获取分(fēn)组接收时间以及控制发送时间,实现类似1588透明时钟的控制,支持时间敏感交换;二是平台可(kě)以支持各种新(xīn)型的分(fēn)组格式,支持内容中心网络(ICN)等非IP交换。
   (2)FPGA通过高带宽总線(xiàn)与CPU连接
     与传统交换芯片通过低带宽的SPI总線(xiàn)、以太网或是单Lane的PCIE总線(xiàn)与控制CPU连接不同,FAST平台中FPGA通过高带宽的总線(xiàn)与CPU连接,提升软硬件协同分(fēn)组处理(lǐ)的性能(néng),支持通过CPU软件对数据平面处理(lǐ)功能(néng)进行扩展。
     FAST交换平台的实现架构如下图所示。FPGA逻辑分(fēn)為(wèi)平台相关的FPGAOS(类似微软数据中心加速FPGA中的Shell)和FAST流水線(xiàn)两部分(fēn)。FPGA OS主要实现平台相关,交换功能(néng)无关的分(fēn)组处理(lǐ),如网络接口的接收与发送、CPU的DMA引擎以及FPGA片外或片内实现的TCAM查表功能(néng)等。FAST 流水線(xiàn)实现交换相关的网络功能(néng),如分(fēn)组解析、关键字提取、转发查表、动作执行和输出控制等。用(yòng)户可(kě)通过扩展流水線(xiàn)实现不同的交换功能(néng)。
     FAST流水線(xiàn)可(kě)将特定类型的分(fēn)组定向发往CPU进行处理(lǐ)。CPU上FPGA接口驱动称為(wèi)FAST驱动,该驱动识别FAST分(fēn)组,根据分(fēn)组携带Metadata中的内容将分(fēn)组交协议栈或FAST内核处理(lǐ)。如果分(fēn)组交协议栈(例如发往本地控制平面的分(fēn)组),则分(fēn)组格式要首先转换成為(wèi)skb-buf的格式。FAST内核实现Linux用(yòng)户空间中不同的FAST应用(yòng)程序(UA)以及FAST硬件流水線(xiàn)之间FAST格式分(fēn)组的交换。FAST UA通过FAST 编程库提供的API与FAST硬件流水線(xiàn)或其他(tā)UA交换FAST分(fēn)组以及管理(lǐ)配置FAST流水線(xiàn)。

图1 FAST交换平台的组成
     FAST UA实现用(yòng)户定义的分(fēn)组处理(lǐ)功能(néng),如与外部SDN控制器连接的OpenFlow通道,软件实现的新(xīn)型转发交换(如LISP、段路由等)以及各类有(yǒu)状态Middlebox功能(néng)等。FAST流水線(xiàn)中的硬件模块可(kě)以通过查表决定直接转发分(fēn)组或者把分(fēn)组重新(xīn)定向到特定的软件UA上。
二、支持FAST的网络平台
     為(wèi)支持基于FAST的教學(xué)与科(kē)研,FAST开源社區(qū)联合湖(hú)南新(xīn)实网络科(kē)技有(yǒu)限公司推出多(duō)款FAST交换平台,支持Intel/ARM CPU,以及Altera/Xilinx公司的多(duō)个型号的FPGA。
     采用(yòng)Zynq-7000 SOC芯片,内嵌双核Cortex-A9 处理(lǐ)器,512MB DDR3内存;支持4路千兆以太网数据接口及一路千兆管理(lǐ)以太网接口。适合基于FAST的计算机网络教學(xué)和新(xīn)型网络交换机制的验证。

图2 OpenBox-S4z
     OpenBox-S4z平台支持NetEXP教學(xué)案例,可(kě)用(yòng)于研究生和本科(kē)生的计算机网络实验教學(xué)。高校教师与研究人员可(kě)免费申请试用(yòng)OpenBox-S4z平台。
     基于Intel Atom CPU和Altera Arria V FPGA实现,支持8个千兆以太网和2个万兆以太网接口,以及一个千兆管理(lǐ)以太网接口。适合中等端口密度的实验网组网和新(xīn)型网络设备原型验证。

图3 OpenBox-S28
     采用(yòng)Zynq-7000 SOC芯片,内嵌双核Cortex-A9 处理(lǐ)器,1GB DDR3内存;支持16个千兆以太网接口和4个万兆接口,适合高端口密度的试验网组网和新(xīn)型网络设备原型验证。

图4 OpenBox-S56
  FAST开源社區(qū)為(wèi)所有(yǒu)OpenBox系列设备提供:
     (1)平台无关的FAST硬件流水線(xiàn),FAST内核,FAST编程库以及OpenFlow通道等典型UA的源代码;
     (2)平台相关的FPGA OS以及FAST驱动的执行代码;
     (3)基于OpenBox平台的用(yòng)户需求定制与技术培训服務(wù)。
服務(wù)热線(xiàn)