|
|
|
@ -11,21 +11,21 @@ FAST开源项目的诞生与发展深受斯坦福大学Nick Mckeown教授在NetF
|
|
|
|
|
\begin{enumerate}
|
|
|
|
|
\item \textbf{FPGA:}FAST实现的核心载体是可编程FPGA,是用Verilog语言编程实现的硬件功能。FPGA的现场可编程特性为实现用户创新的网络架构、算法、实现机制提供了极大的灵活性,而且可以获得较高的性能,支持在实际网络中部署运行;
|
|
|
|
|
|
|
|
|
|
\item \textbf{Accelerated:}PGA实现的不是网络处理的全部功能,而是部分需要硬件加速的分组处理功能。FAST的核心是一套软硬件协同的分组处理模型,用户可以通过Verilog编程实现的硬件功能的加速,也可以在现有的FAST硬件平台的CPU上编程实现特定的分组处理功能;
|
|
|
|
|
\item \textbf{Accelerated:}FPGA实现的不是网络处理的全部功能,而是部分需要硬件加速的分组处理功能。FAST的核心是一套软硬件协同的分组处理模型,用户可以通过Verilog编程实现的硬件功能的加速,也可以在现有的FAST硬件平台的CPU上编程实现特定的分组处理功能;
|
|
|
|
|
|
|
|
|
|
\item \textbf{Switching:}AST面向的领域是网络交换领域,支持各种新型交换技术,如软件定义网络(SDN)、时间敏感网络(TSN)、网络安全一体化网络甚至是智能网卡的实现研究,而不是支持以人工智能(AI)为代表的应用加速;
|
|
|
|
|
\item \textbf{Switching:}FAST面向的领域是网络交换领域,支持各种新型交换技术,如软件定义网络(SDN)、时间敏感网络(TSN)、网络安全一体化网络甚至是智能网卡的实现研究,而不是支持以人工智能(AI)为代表的应用加速;
|
|
|
|
|
|
|
|
|
|
\item \textbf{plaTform:}与目前其他开源项目一样,FAST提供的是一个硬件平台无关的,支持用户通过软硬件编程实现其特定分组处理功能的环境。FAST通过提供标准的规范、开源的平台软硬件实现代码和demo应用,支持用户基于平台进行创新的应用开发和设备原型的快速实现。
|
|
|
|
|
\end{enumerate}
|
|
|
|
|
|
|
|
|
|
\subsection{FAST架构}
|
|
|
|
|
FAST平台的架构是一种通用多核CPU加FPGA形态的网络处理架构。通常对处理性能要求较高的分组处理功能由FPGA实现,对处理性能要求较低,实现复杂的功能可由CPU实现。用户既可通过扩展FPGA硬件流水线功能也可以通过CPU上编程实现对分组交换功能的扩充。该平台架构主要由硬件逻辑和软件逻辑两部分组成,实现软硬件耦合通信与支持软硬件可编程的网络创新实验系统。其中硬件包括平台相关的数据IO和FAST硬件逻辑。软件部分包括通用操作系统与FAST软件逻辑。FAST软件逻辑包括软件开发环境和UA程序。该平台,不仅支持FAST的UA编程开发,同时也支持通用Socket APP的开发与运行。
|
|
|
|
|
FAST平台的架构是一种通用多核CPU加FPGA形态的网络处理架构。通常对处理性能要求较高的分组处理功能由FPGA实现,对处理性能要求较低,实现复杂的功能可由CPU实现。用户既可通过扩展FPGA硬件流水线功能也可以通过CPU上编程实现对分组交换功能的扩充。该平台架构主要由硬件逻辑和软件逻辑两部分组成,实现软硬件耦合通信与支持软硬件可编程的网络创新实验系统。其中硬件包括平台相关的数据IO和FAST硬件逻辑。软件部分包括通用操作系统与FAST软件逻辑。FAST软件逻辑包括软件开发环境和UA程序。该平台不仅支持FAST的UA编程开发,同时也支持通用Socket APP的开发与运行。
|
|
|
|
|
|
|
|
|
|
FAST交换平台的实现不依赖特定的CPU与FPGA型号,但为了更好地提供交换功能扩充能力,保证软硬件协同分组处理的基本性能,FAST的交换平台必须具有如下两个特点:
|
|
|
|
|
\begin{enumerate}
|
|
|
|
|
\item \textbf{所有网络接口均与FPGA相连;}
|
|
|
|
|
|
|
|
|
|
进入交换平台的分组首先送FPGA处理,离开交换平台的分组最后由FPGA发出。这样有两个优点。一是交换平台可精确获取分组接收时间以及控制发送时间,实现类似1588透明时钟的控制,支持时间敏感交换;二是平台可以支持各种新型的分组格式,支持内容中心网络(ICN)等非IP交换。
|
|
|
|
|
进入交换平台的分组首先送FPGA处理,离开交换平台的分组最后由FPGA发出。这样有两个优点。一是交换平台可精确获取分组接收时间以及控制发送时间,实现类似1588透明时钟的控制,支持时间敏感交换;二是平台可以支持各种新型的分组格式,支持内容中心网络等非IP交换。
|
|
|
|
|
\item \textbf{FPGA通过高带宽总线与CPU连接。}
|
|
|
|
|
|
|
|
|
|
与传统交换芯片通过低带宽的SPI总线、以太网或是单Lane的PCIE总线与控制CPU连接不同,FAST平台中FPGA通过高带宽的总线与CPU连接,提升软硬件协同分组处理的性能,支持通过CPU软件对数据平面处理功能进行扩展。
|
|
|
|
@ -73,14 +73,14 @@ OpenBox-S4设备是一款严格遵照FAST原理与架构设计的通用多核CPU
|
|
|
|
|
|
|
|
|
|
\begin{figure}[!ht]
|
|
|
|
|
\centering
|
|
|
|
|
\includegraphics[width=10cm]{f01}
|
|
|
|
|
\includegraphics[width=7.5cm]{f01}
|
|
|
|
|
\caption{OpenBox-S4设备前端图}
|
|
|
|
|
\label{fig:a:ob_f01}
|
|
|
|
|
\end{figure}
|
|
|
|
|
|
|
|
|
|
\begin{figure}[!ht]
|
|
|
|
|
\centering
|
|
|
|
|
\includegraphics[width=10cm]{f02}
|
|
|
|
|
\includegraphics[width=7.5cm]{f02}
|
|
|
|
|
\caption{OpenBox-S4设备后端图}
|
|
|
|
|
\label{fig:a:ob_f02}
|
|
|
|
|
\end{figure}
|
|
|
|
@ -96,10 +96,10 @@ OpenBox-S4设备是一款严格遵照FAST原理与架构设计的通用多核CPU
|
|
|
|
|
设备使用标准USB口和Micro USB接口的线作为串口连接线,标准USB口连接在用户操作设备上,Mirco USB接口与设备对应串口连接。
|
|
|
|
|
\item 打开并配置串口工具。
|
|
|
|
|
|
|
|
|
|
在用户操作设备上打开串口工具,配置好相应串口参数后打开串口,即可通过串口管理设备。以putty为例,其配置参数如图\ref{fig:a:ob_f11}所示:
|
|
|
|
|
在用户操作设备上打开串口工具,选择串口模式,配置串口参数后点击打开按钮,即可通过串口管理设备。以putty为例,其配置参数如图\ref{fig:a:ob_f11}所示:
|
|
|
|
|
\begin{figure}[!ht]
|
|
|
|
|
\centering
|
|
|
|
|
\includegraphics[width=7cm]{f11}
|
|
|
|
|
\includegraphics[width=8cm]{f11}
|
|
|
|
|
\caption{串口工具参数配置图}
|
|
|
|
|
\label{fig:a:ob_f11}
|
|
|
|
|
\end{figure}
|
|
|
|
@ -115,7 +115,7 @@ OpenBox-S4设备是一款严格遵照FAST原理与架构设计的通用多核CPU
|
|
|
|
|
通过网连接连接设备,必须确保用户操作主机与设备管理网口在相同的网段,如不记得管理网口的IP,可以通过串口方式查看。设备默认网段为192.168.50.0网段,故用户操作主机的IP地址配置信息参考如图\ref{fig:a:ob_f12}所示:
|
|
|
|
|
\begin{figure}[!ht]
|
|
|
|
|
\centering
|
|
|
|
|
\includegraphics[width=10cm]{f12}
|
|
|
|
|
\includegraphics[width=9cm]{f12}
|
|
|
|
|
\caption{网口连接的主机IP配置图}
|
|
|
|
|
\label{fig:a:ob_f12}
|
|
|
|
|
\end{figure}
|
|
|
|
@ -146,7 +146,7 @@ OpenBox-S4设备是一款严格遵照FAST原理与架构设计的通用多核CPU
|
|
|
|
|
|
|
|
|
|
\begin{figure}[!ht]
|
|
|
|
|
\centering
|
|
|
|
|
\includegraphics[width=10cm]{f17}
|
|
|
|
|
\includegraphics[width=10.2cm]{f17}
|
|
|
|
|
\caption{二端主机PING通结果图(二层交换)}
|
|
|
|
|
\label{fig:a:ob_f17}
|
|
|
|
|
\end{figure}
|
|
|
|
@ -163,11 +163,11 @@ OpenBox-S4设备是一款严格遵照FAST原理与架构设计的通用多核CPU
|
|
|
|
|
|
|
|
|
|
\item OpenBox-S4上运行三层路由程序
|
|
|
|
|
|
|
|
|
|
用串口或网线连接用户操作主机与设备,通过串口登录界面或网络登录界面控制设备,在界面终端输入命令:l3router,如图\ref{fig:a:ob_f19}所示:
|
|
|
|
|
用串口或网线登录设备,在控制界面终端输入命令:l3router,如图\ref{fig:a:ob_f19}所示:
|
|
|
|
|
|
|
|
|
|
\begin{figure}[!ht]
|
|
|
|
|
\centering
|
|
|
|
|
\includegraphics[width=10cm]{f19}
|
|
|
|
|
\includegraphics[width=10.2cm]{f19}
|
|
|
|
|
\caption{运行三层路由程序}
|
|
|
|
|
\label{fig:a:ob_f19}
|
|
|
|
|
\end{figure}
|
|
|
|
@ -178,7 +178,7 @@ OpenBox-S4设备是一款严格遵照FAST原理与架构设计的通用多核CPU
|
|
|
|
|
|
|
|
|
|
\begin{figure}[!ht]
|
|
|
|
|
\centering
|
|
|
|
|
\includegraphics[width=9cm]{f20}
|
|
|
|
|
\includegraphics[width=10cm]{f20}
|
|
|
|
|
\caption{端主机PING通结果图(三层路由)}
|
|
|
|
|
\label{fig:a:ob_f20}
|
|
|
|
|
\end{figure}
|
|
|
|
@ -190,8 +190,8 @@ OpenBox-S4设备是一款严格遵照FAST原理与架构设计的通用多核CPU
|
|
|
|
|
\begin{enumerate}
|
|
|
|
|
\item 搭建SDN交换拓扑
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SDN交换实验的两台测试主机可以随意连接到设备的数据接口位置(网口0到网口4均可),SDN控制器主机的网线一定要连接在设备的管理网口(MGMT)。控制器主机和测试主机的IP地址配置及连接拓扑如图\ref{fig:c:sdn-ob_sdn-topo}所示:
|
|
|
|
|
测试主机可以随意连接到设备的数据接口位置,
|
|
|
|
|
SDN控制器主机连接在设备的管理网口(MGMT)。控制器主机和测试主机的IP地址配置及连接拓扑如图\ref{fig:c:sdn-ob_sdn-topo}所示:
|
|
|
|
|
|
|
|
|
|
\item 在SDN控制器主机中启动SDN控制器
|
|
|
|
|
|
|
|
|
@ -199,7 +199,7 @@ SDN交换实验的两台测试主机可以随意连接到设备的数据接口
|
|
|
|
|
|
|
|
|
|
\begin{figure}[!ht]
|
|
|
|
|
\centering
|
|
|
|
|
\includegraphics[width=8cm]{f22}
|
|
|
|
|
\includegraphics[width=10cm]{f22}
|
|
|
|
|
\caption{启动floodlight控制器}
|
|
|
|
|
\label{fig:a:ob_f22}
|
|
|
|
|
\end{figure}
|
|
|
|
@ -210,7 +210,7 @@ SDN交换实验的两台测试主机可以随意连接到设备的数据接口
|
|
|
|
|
|
|
|
|
|
\begin{figure}[!ht]
|
|
|
|
|
\centering
|
|
|
|
|
\includegraphics[width=8cm]{f23}
|
|
|
|
|
\includegraphics[width=10cm]{f23}
|
|
|
|
|
\caption{运行SDN交换程序}
|
|
|
|
|
\label{fig:a:ob_f23}
|
|
|
|
|
\end{figure}
|
|
|
|
@ -232,7 +232,7 @@ SDN交换实验的两台测试主机可以随意连接到设备的数据接口
|
|
|
|
|
|
|
|
|
|
\begin{figure}[!ht]
|
|
|
|
|
\centering
|
|
|
|
|
\includegraphics[width=7cm]{f25}
|
|
|
|
|
\includegraphics[width=10cm]{f25}
|
|
|
|
|
\caption{端主机PING通结果图(SDN交换)}
|
|
|
|
|
\label{fig:a:ob_f25}
|
|
|
|
|
\end{figure}
|
|
|
|
|