论文部分内容阅读
新型网络协议的出现以及网络应用技术的迅猛发展对网络数据平面的业务承载和支撑能力提出新的挑战,要求在不升级硬件的前提下扩展支持新协议和分组处理的操作。而现有网络设备(如路由器、交换机)的数据平面主要基于AISC芯片或网络处理器实现分组处理,存在功能固化或编程困难的缺点,难以提供开放的功能扩展接口,无法满足设备功能扩展的需求。随着多核CPU和大容量FPGA技术的发展,近年来基于多核CPU加FPGA的分组处理技术得到越来越多的关注,成为解决网络数据平面实现功能扩展的有效手段。然而由于缺少软硬件协同的分组处理模型,CPU加FPGA处理平台技术难以进一步推广。本文对CPU与FPGA协同的分组处理模型及其实现关键进行了深入研究,主要工作和创新点包括:1、面向多核CPU加FPGA的异构处理平台,提出了一种支持功能扩展的软硬件紧耦合分组处理模型——ESA(Extensible Switching Architecture),给出了ESA中基本功能模块的实现模型,基于软硬件模块的流水线技术,软硬件模块间的信息交互方法,以及基于NMI(Next Module Index)表的流水线功能动态扩展方法,为CPU加FPGA的分组处理平台设计提供了指导。2、针对分组处理平台的特点,提出了FPGA与CPU之间高效的共享分组缓冲机制SDB(Self-Described Buffer),并基于该机制设计了SDB-DMA方法。SDB通过将分组数据及相关描述信息优化压缩、合并至连续存储中,可有效简化缓冲区管理操作,降低分组分配/回收开销。3、提出了基于ESA交换模型的可编程设备实现方法,通过将可编程设备的软硬件实现划分为平台相关部分和用户相关部分,为用户定制功能的开发定义了清晰的接口;提出了FPGA OS的概念,在屏蔽FPGA平台异构性的同时,为ESA硬件流水线开发提供了各种通用服务,简化了FPGA开发的复杂性。4、基于Intel CPU和Altera FPGA实现了ESA的原型平台——iRouter,在iRouter分组转发流水线上通过软硬件模块的扩展支持了LISP协议转发,假冒源地址分组识别以及精准网络测量等新功能,验证了ESA模型在软硬件协同处理和功能扩展方面的有效性。目前iRouter平台已经在北京、南京和长沙等多个研究机构部署应用,在支撑新型网络技术研究方面发挥了重要作用。