范宏伟,,
(国家数字交换系统工程技术研究中心,郑州 450002)
为了满足未来网络的发展需求,由运营商主导发起的新型网络技术——网络功能虚拟化(Network Function Virtualization,NFV)随之兴起。在NFV架构中,网络功能由软件实现,并以虚拟网络功能(Virtual Network Function,VNF)的形式部署在通用架构的服务器中,从而实现了网络功能与硬件设备的解耦合,加快网络功能的部署,促进了网络功能的创新。然而,基于软件实现的VNF在数据包处理方面性能较差,和专用设备相比,大概有30%~40%的性能损失[1],是NFV部署和发展的主要瓶颈之一。因此,有必要对VNF的数据包处理进行加速。
目前,针对VNF数据包处理性能较差的问题,主要有软件加速和硬件加速2类解决方案。其中,软件方案通过减少虚拟化和I/O开销[2-4]来加速数据包处理,但单纯的软件方案难以满足不断增长的数据包处理需求。硬件加速方案是指将VNF部分处理任务卸载到硬件中来,利用硬件的高性能来提升VNF的数据处理速率。与软件相比,当同样的数据包处理任务由硬件来完成时,可以大幅提高NFV系统吞吐率并减少处理时延。在NFV背景下,要求承载VNF的加速硬件具有可编程性,由于现场可编程门阵列(Field Programmable Gate Array,FPGA)可以根据需求改变逻辑功能,成为了业内不少研究所采用的硬件加速平台。文献[5]提出了一种基于FPGA的NFV平台设计,利用FPGA实现完整的网络功能,在满足灵活性要求的同时,可获得比拟专用硬件设备的性能。文献[6]提出的OpenANFV架构在OpenStack的云环境下,实现特定VNF的加速性能最大化。文献[7]提出的ClickNP架构使用类C的高级语言模块化编程FPGA,并和CPU细粒度分工合作,实现高性能和低时延的网络功能。……