>
首页 » 市场趋势 » 网络处理器的发展现状与挑战

网络处理器的发展现状与挑战

作者:■  解放军理工大学通信工程学院  王海涛    南京工程学院  刘化君  时间:2005-07-19 13:47  来源:本站原创

基金项目:江苏省高校自然科学研究计划项目,项目编号:04KJD520084

当前,网络规模和性能迅速增长、新业务层出不穷,Internet 主干网流量呈指数增长,主干路由器的处理速率已达10Gbps,这些都要求网络设备具有线速和智能处理能力。网络处理器就是为此目的而出现的。综合来看,与网络处理器相关的工作主要包括两方面:一方面是针对网络处理器硬件本身,侧重于网络处理器的硬件系统设计和性能的改善;另一方面是面向网络处理器的相关应用研究,核心问题是充分发挥网络处理器灵活性和高性能特点来构建网络服务及应用。

体系结构
基本结构
网络处理器由两类硬件功能单元组成,即网络处理器单元和专用的智能协处理器/加速器。网络处理器单元提供高速、大容量智能数据包处理功能,包括数据解析、分类和转发等,因此又被称为数据包处理引擎。而协处理器实现帧分段/重组、加速查表、队列/缓冲区管理、顺序性管理、存储器控制和多播支持等,类似于通用处理器。网络处理器一般采用多级流水线结构,以保证每个时钟周期完成一条指令。为简化设计及降低功耗,网络处理器一般采用RISC(精简指令集)方案。另一方面,为提供极高的速度和较高级的编程界面,网络处理器提供了多线程运行环境,同一时刻可以对多个数据流进行处理。网络处理器要提供两个接口,一个连接网络端口,另一个则连接交换芯片。
处理技术
网络处理器本身必须具备网络分组并行处理能力,为此,网络处理器将网络处理任务划分到控制层和数据层两个层面。控制层面专门负责非实时性的管理和策略控制等,数据层面负责高速易变的数据实时处理。总体上,网络处理器主要采用的硬件处理技术有:优化的内存管理和DMA单元、优化的运算逻辑单元ALU,以及硬件多线程技术。

功能和技术特点
网络处理器具有优化的体系结构和指令集,比CPU有着更高的处理性能,能够满足网络高速发展的需求。同时,网络处理器有专门的指令集和配套的软件开发系统,具有很强的编程能力,能够方便地开发各种应用,支持可扩展服务,从而能很好地满足网络业务多样化的发展趋势,而且研制周期短,成本较低,市场存活时间长。

产品现状和应用
典型产品介绍
目前,网络处理器已受到国内外许多公司、大学的普遍关注,其产品已有上百种。其中比较典型的产品有Intel公司的IXP1200系列、IXP2400系列和IXP2800系列和Freescale公司的C-5、Cisco公司的 Toaster 2等。
IXP1200系列是Intel公司IXA架构的核心产品。其中IXP2400支持2.5Gbps应用,具有8个600MHz的微引擎、600MHz的处理核心Xscale,可外接1块DDR DRAM和2块QDR SRAM,支持标准的线卡/交换接口标准SPI-3或CSIX-L1。IXP2800支持10Gbps应用,具有16个1.4GHz的微引擎、700MHz的处理核心Xscale,可外接3块RDRAM和4块QDR SRAM,支持标准的线卡/交换接口标准SPI-4.2或CSIX-L1。
Freescale的C-5网络处理器具有专门的转发引擎,可以完成实时接收、排队和剥离控制数据、转发包等任务。提供5个优化的用于网络任务的协处理器,这些协处理器完成表查找、队列管理,以及缓冲器管理等。C-5的 RISC核加上双工串行数据处理器可以获得每秒超过300万指令周期用于处理网络服务。
Cisco为了处理OC-48线速的数据包业务,开发了网络处理器Toaster 2。该处理器采用Cisco自己设计的包处理引擎和基于ARM7的体系结构,增强的包处理能力包括位操作指令、表查找指令、特殊的分支指令等。Toaster 2没有采用超标量结构而是采用长指令字,从而避免了超标量结构的开销。
有几家公司正在设计和开发用于10Gb/s和OSI全部7层协议的网络处理器,即Xstream Logic的动态多线程处理器核,其中有Ezchip公司的NP-1和Lexra公司的NetVortex。
NetVortex基于Lexra公司的LX8000包处理核,是一种32bit的MIPS3000RISC处理器。16个LX8000可以通过高速总线相连接,形成一个多处理器系统,用这种结构组成的原型系统可在10Gbps速率下执行全部7层网络协议。
NP-1的数据宽度256~512bit,而不是通用处理器用的32或64bit。然而,在OSI的高层处理包时,涉及持续的包存取和查表,对于10Gbps的处理器,需要500Gbps的存储带宽和至少128MB的容量。因此Ezchip设计了高带宽的兆字节片内DRAM和大容量片外DDR DRAM。Xstream采用类似MIPS的结构,但与通用的微处理器不同,网络处理器要求在OC-192的速率下执行复杂的OSI七层协议。为此Xstream开发了动态多线程处理核和智能包管理单元。DMS使用户可以在一个时钟周期内安排8个线程,每个线程可以有4个指令。
应用领域
网络处理器可广泛用于开发从第2层到第7层的各种网络服务和应用,例如交换、路由、虚拟专用网、多协议标签转换(MPLS)、服务质量(QoS)、计费、负载均衡、安全和监测以及3G通信等。
在硬件体系结构上,新一代路由器在关键的IP业务流程处理上采用了可编程的、专为IP网络设计的网络处理器技术。它通过若干微处理器和一些硬件协处理器来并行处理,通过软件来控制处理流程。同时,对于一些复杂的操作(如内存操作、路由表查找算法、拥塞控制算法、流量调度算法等)采用硬件协处理器来提高处理性能。

研发方向
基于网络处理器的
路由器体系结构
随着网络处理器的出现,将其用于高性能路由器的研究得到了飞速发展,主要是关于体系结构和相关算法的研究。其中比较成功的有Princeton大学的可扩充路由器VERA。该路由器侧重于服务的灵活性和可扩充性,采用一种基于Intel IXP1200的层次化体系结构。不过VERA在系统资源和处理器调度策略上只采用了简单的静态分配,在综合QoS 控制策略以及系统的理论建模等方面还不完善。
QoS 控制机制的研究
最近,围绕着分组处理QoS 控制已经展开了很多的研究,如任务模型、任务调度和分组处理器体系结构。然而这些研究大多是面向分组处理中的某一阶段,而没有从全局进行优化考虑。下一步的研究工作将是从系统的角度考虑,同时兼顾系统吞吐量和用户的服务公平性。Intel IXA项目就是以QoS控制中的缓冲管理及队列调度为对象进行综合优化的研究。
局部资源调度算法的研究
现在大部分商用网络处理器系统是一个典型的多RISC内核的并行处理系统,同时存在着大量的共享资源,如存储器和协处理器等。依据系统特性对共享资源进行有效调度已成为当前的热门课题,研究工作主要表现在两方面:一是围绕处理器所展开的负载平衡和处理器调度算法的研究;另一方面是根据系统特性所展开的分组调度算法的研究。
网络处理器的性能评价
网络处理器性能评价工作包括两方面:一是对系统应用方案进行性能评价;二是对网络处理器本身进行性能评价。在具体性能评价中一般采用基准检测程序和模型两种评价方式。目前出现了一些专门评价网络处理器的软件,同时,在理论建模方面,Patrick Crowley等人给出了一种基于可编程网络接口的网络处理器模型。总的来看,目前围绕着网络处理器所展开的性能评价工作大部分是基于实际测量的,模型化的方法还不完善。

设计挑战
NP外部接口问题
外部接口的非标准化对外部协处理器的选择增加了一些限制,并要求开发一些基于FPGA的胶合逻辑来支持外部设备,这则增加了产品成本。深度分类是影响快速通路性能的一个重要功能,当前的很多网络处理器往往不能提供具有深度分组分类的线速性能,从而需要引入外部分类协处理器。而外部专用ASIC设备的使用也增加了很多设计约束,并会增加系统成本和总的功耗。
分类处理问题
大量的应用需要抽取第3层到第7层头信息来执行深度分组分类,这就要求多字段范围检查、分组丢弃和状态监控操作等。当前采用的方案可以分为三类:基于软件的分类、离线分组分类和在线分组分类。基于软件的方案在灵活性和适应新要求方面具有优势,但是系统性能受限;离线分组分类是从分组中抽取必要的字段并提交给离线分类处理器,然后网络处理器做进一步处理。离线分类处理器具有比软件方案更好的速率,但要求网络处理器对分组进行某种特征化,而且可扩展性不好。在线分类处理器能够以线速处理分组而不需要网络处理器做任何分组检查,在线路卡上只需一个更高带宽的接口。但是在线处理器需要考虑它们能够支持的接口的种类和数量,并且可能无法以线速执行深度分组分类。
表查找更新问题
分组交换和转发的主要困难在于表查找,必须提高表查找算法的效率。当前的网络处理器往往通过支持多线程来减少内存访问延迟并采用专用的硬件支持来执行特定的搜索算法。转发表的更新会增加时延和降低性能,而如果采用热交换表的方法来改善性能,又会加倍内存要求。另外,分段和重组(SAR)功能在将数据传送到内存前也需要额外的表查找来识别环境。
安全处理问题
安全处理通常要求CPU进行集中式处理,而这需要更多的处理功率。只在安全流量较少时,网络处理器才能提供较好的性能。当安全流量较多时,网络处理器难以满足安全要求,这时应采用专用的安全ASIC。由于大多数网络处理器没有对安全应用提供特殊支持,因此不得不在快速通路上增加一个额外的主机处理器来满足处理要求。另外,对数据进行加密/解密的SSL和IPSec安全协处理器也必须采用不同于常规数据流的分组处理通路。
开发工具和操作系统
目前很多网络处理器可以使用C语言进行开发,同时也出现了一些支持网络处理器运行的操作系统。今后的开发工具需要向着集成化开发环境发展,并且要在开发套件中提供一些专门用于IP 协议的API。在操作系统方面,应从现有的嵌入式操作系统(如Linux、VxWorks等)向专用网络处理器操作系统过渡,比如Princeton的Vera所使用的Scout OS操作系统。

结语
总的来说,针对应用多样化和OEM对成本越来越敏感的趋势,网络处理器正在朝着集成度更高,软件能重复使用和开发工具更加完备的方向发展。同时,还必须考虑网络处理器、CPU和ASIC技术的有机结合以解决各种网络处理器产品的互连互通问题。■

相关推荐

中移动升级全球通套餐 套餐外流量资费降50%

中国移动  网络  2012-09-19

中电信收购CDMA网络为降高额租赁费

CDMA  网络  2012-08-24

TD-LTE扩大规模试验14城市入围 三频段均覆盖

TD-LTE  网络  2012-08-16

研发使飞思卡尔后劲十足

飞思卡尔  MCU  汽车  网络  2012-05-16

三大趋势影响飞思卡尔

飞思卡尔  MCU  汽车  网络  2012-05-16

德国电信完成测试 数据传输速率高达512Gbps

Deutsche  Telekom  网络  2012-03-06
在线研讨会
焦点