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