网络处理器的应用之道

时间:2022-11-17 11:00:01 浏览量:

以指数级速率增长的Internet业务量,给现存带宽提出了新要求,为改变传统网格设备的频繁更新,网络处理器登上舞台。

近年来,由于话音、图像以及多媒体业务在Internet中的出现和广泛应用,Internet的业务量正以指数级的速率增长,自然这对已有的网络带宽提出了新的要求。一方面,各大网络设备提供商纷纷将千兆/万兆(1G/10G)级别以上的网络设备的研发投入并迅速抢占市场; 另一方面,由于网络的迅速发展,网络设备的生命周期却越来越短,导致频繁更新已有设备的压力越来越大。

什么是网络处理器

网络处理器(NP,Network Processor)正是在这样的背景之下而诞生并且成长起来的。网络处理器结合了ASIC (Applicaion Specific Integerated Circuit)和通用CPU的优势,可以为多种网络应用提供快速高效的解决方案并可通过编程满足未来的网络需求,因而受到人们的重视,成为研究的热点。

网络处理器一般由若干个微处理器引擎组成,通过并行操作完成分组的处理。网络处理器具有协处理器(Coprocessor)标准化接口(如LA-1),支持与外部协处理器的共同操作,提供软件编程的三个基本功能:

● Header parsing: 提取报文头部的特定字段供后续模块使用,如IP源地址、IP目的地址、源端口、目的端口等。

● Packet classification: 根据提取的字段对报文进行分类,确定下一条IP地址、输出端口、服务优先级和安全准则。

● Packet Modification: 更改报文中的特定字段,如IPv4中的TTL和Header checksum,然后将报文转发给后续模块。

网络处理器的优势:

● 网络处理器具有较高的性能,能够保证线速的业务处理能力。

● 网络处理器通过编程可以支持多种应用,扩展了设备的使用范围,而且可满足网络协议不断变化的需求,延长了设备的生命周期。

● 开发周期短,开发成本低,用户可以利用软件编译平台迅速开发新的应用。

● 可以通过协处理器增强特定任务的处理性能,如路由查找和加解密。

可以说,网络处理器是高速网络设备(如路由器)执行业务管理、安全与网络监控、QoS等网络功能不可少的部件,也是各种新型网络设备的处理核心。如果需要新的功能或新的标准,网络处理器可通过编程来实现,以满足各种各样的网络应用,这点是与ASIC的最大不同。另外,它同通用CPU的不同之处在于,网络处理器是为优化分组处理而设计的,可将分组以其到达的速度(即线速)送到下一个节点,而通用CPU则面向范围更广的应用,因此性能上受到限制。从表1和图1可以清楚地看出网络处理器相对于ASIC和CPU的优势。

对分组处理器的具体实现有: 基于硬布线的处理器,其优点是速度快,更容易达到线速,配置简单,不需要复杂的软件支持,但是灵活性差,可扩展性不好,升级周期长; 基于复杂指令集的设计,类似于通用CPU的处理器,其优点是具有完全的可编程性,在通用CPU的基础上改动不大。但是缺点是程序执行效率低,难以达到线速; 基于精简指令集的处理器(真正意义上的NP),这是上述两种网络处理器的一种折衷,它的指令集针对各种网络应用做了优化设计,并含有一些硬布线逻辑来实现比较复杂和固定的功能(如IPv4分组头checksum校验),这种方案具有良好的可编程性和比较高的速度,因此是当前网络处理器的主流设计方向。

NP应用场合

由于网络处理器具有可编程和高性能的特点,因此适合用来构建各种网络设备,如路由器、防火墙、VPN、负载均衡服务器等等。

以网络核心设备路由器为例,一代、二代路由器(如CISCO 2500)主要由单个通用中央处理器(CPU)和多个线路接口卡(线卡)组成,处理器和线卡通过一条共享总线连接。这种结构的最大好处在于所有功能几乎都可以由软件来完成,因此增值业务仅仅通过系统软件的升级就可以实现,这样ISP就可以在同一套硬件系统中开发出灵活多样的服务。但由于共享总线带宽和通用CPU处理速度的限制,这样的结构不能用于构建Gbps级的路由器。

第三代路由器采用空分结构的交换网络代替共享总线,ASIC代替通用CPU,如Cisco 12000。在这样的结构中,分组的解析和路由查找转移到每个线卡上,并且采用ASIC来实现网络处理功能。尽管基于ASIC芯片设计的路由器具有很高的处理速度,但丧失了通用CPU具有的可编程能力,一旦产品定型,就很难适应不断出现的网络新服务和新标准。

现在,网络新服务和新标准推出的间隔越来越短,这实际上缩短了基于ASIC芯片的路由器的生命周期; 另一方面,ASIC芯片的开发周期比较长(通常是18个月到2年时间),更难以跟上网络新服务和新标准的步伐。网络处理器的出现就是为了解决这一难题。各大网络设备供养商纷纷在最新的路由器中采用网络处理器替代ASIC和通用CPU,如Cisco的CRS1、华为3Com的NE80。

防火墙和VPN网关等网络安全产品面临的一个重要问题是“如何在保持足够安全性的同时提供尽可能高的速率”。目前国内防火墙厂商基于Intel X86架构的千兆防火墙由于受CPU处理能力和PCI总线带宽的制约,不能达到高安全性和高性能的统一。而国内的安全产品市场上,超过千兆的高端产品几乎被国外巨头垄断。国外厂商凭借在集成电路方面的技术优势,已经推出了基于ASIC的千兆线速防火墙和VPN产品,因ASIC的开发难度高、开发周期长、投资大等原因,国内厂商无法在短期内与其竞争。

随着网络处理器技术的成熟和发展,开发基于NP的网络安全产品可以使国内安全企业抓住产业更新换代的机会,迅速打破国外企业基于ASIC技术控制高端安全产品市场的局面。例如,联想采用IBM的NP3G4S-C网络处理器开发了Super V-5000系列防火墙,东软采用Intel IXP2400高性能网络处理器开发了NetEye 5200防火墙等等。

市场前景

在对网络带宽巨大需求的刺激下,网络处理器的市场在接下来的几年中会有较大幅度的增长。有资料预测,2004~2008年中国网络安全产品市场将以31.7%的年均复合增长率增长,市场规模将从2003年的23.57亿元增长到2008年的93.2亿元。第二代网络处理器吸取了第一代的经验教训,开始在结构优化、功能增强、性能提升、功耗控制和安全支持等方面下功夫。如Cisco公司推出的46 Tb/s核心路由器CRS-1中采用的网络处理器包含188个微处理引擎,支持OC-768(40Gb/s)的线速处理能力。

根据IT咨询业权威公司Metz International的预测,网络处理器市场从2003年到2007年将有高于400%的增长。由网络处理器带动的新产品在全世界将有高达数百亿美元的市场。我国网络产品市场在今后几年会有800%以上的增长,直接和间接经济效益达上百亿人民币。

目前能够提供NP芯片的厂家几乎都是美国的高新技术公司,我国迄今为止还没有研制生产出独立知识产权的NP芯片。但是我国的网络发展速度非常快,需要大量基于NP的网络设备。如我国正积极开展的以IPv6为代表的Internet-Ⅱ的科学实验,就迫切需要自己设计的NP平台,以满足各种新试验的需求。

在很多应用领域,NP与网络安全密切相关,但对那些具有增强的安全功能的NP产品,美国对中国实施禁运政策,中国用户很难有机会公开购买到这样的芯片,况且对国外安全NP的使用总会有所顾虑。因此,设计出性价比高、市场竞争力强、满足更多用户使用的网络处理器不仅具有经济利益,而且对我国的网络安全也具有不可替代的战略意义。

清华天行NP技术特点

2005年12月,清华天行“THNPU-1网络处理器芯片原型”通过了由教育部主持的技术鉴定,该网络处理器原型具有如下技术特点:

1. 具有面向网络应用优化的指令系统、多处理器核和任务级流水结构,其中基于硬件链表的聚合流保序与流量分发技术,能保持负载均衡且保证分组的顺序。

2. 可实现IPv4/IPv6/MPLS等多种协议报文在全部最短包输入下的全双工OC-48(2.5Gb/s)线速率转发; 通过集成化硬件查找协处理器,能完成现有协议的快速路由/路径查找及报文分类,用户通过编程可在保证线速转发的前提下灵活支持新出现的网络协议以及ACL控制、URL过滤、报文截获等安全应用。

3. 集成了业务量管理引擎(Traffic Management Engine),可实现优先级调度和主动队列管理等功能,其中快速通道技术能自适应地保证高优先级业务的服务质量,动态流管理技术可降低系统物理队列的数量。

4. 支持SPI-3.0、CSIX、PCI 2.2、RL-DRAM Ⅱ、QDR Ⅱ、ZBT SRAM、GMⅡ、LA-1等标准化接口。

5. 具有配套的GNU开发工具链,包括汇编器、反汇编器、调试器等工具,能为用户提供灵活、方便的开发手段。

考虑到应用面和实现技术等多方面的因素,清华天行选择首先在FPGA上实现支持OC-48接口2.5Gbps的网络处理器的芯片原型,其主要的难点在于单个处理器核心的处理能力存在瓶颈(由原型机发展成的商业产品可胜任10Gb/s接口线速转发的要求)。首先,单一指令执行机构计算能力不足。虽然目前用130nm工艺生产的CPU最高频率已能达到3.2GHz(Pentium IV),但在130nm工艺下生产的FPGA上实现的CPU原型却只能跑100MHz左右。

其次,由于最坏情况下(OC-48接口到达的所有报文长度均为40字节)包到达速率为7.8Mpps,如果只用一个RISC core要满足线速处理要求,则对每个报文进行处理的指令条数不能超过100/7.8=12.82条。另外,总线带宽不足。由于定位在OC-48的速率接口,需要完成100%流量强度的转发需要输入输出带宽为5Gbps (2.5Gbps×2),而一条32bits宽、时钟频率200MHz的总线的理论最大吞吐量为32×200=6.4Gbps。

基于这个原因,其解决方法是: 面向常用操作优化,节省指令周期。包括优化指令集和为基本操作设置协处理器; 面向IO和存储吞吐量优化。通过设置专用数据通路和采用硬件多线程技术,提高处理器利用率和总线带宽利用率,以提高吞吐量; 使用并行和流水技术。根据网络处理任务特征划分流水段,开发包级并行性及任务级并行性。

任务流水处理结构 采用了流水结构之后,可以有效提高总线带宽,同时各流水段可根据所完成的特殊任务进行结构优化。第一流水段使用报文解析引擎,具有增强比特操作功能的多处理器阵列; 第二流水段集成路由查找与流分类引擎,使用基于TCAM的查找协处理器; 第三流水段的报文处理与修改引擎同样使用增强比特操作与IO功能的多处理器阵列; 第四流水段集成业务量管理引擎,提供业务流在DDR和SRAM中的缓存调度管理和拥塞控制。

多处理器阵列 多处理器阵列是网络处理器的核心机构之一,在上述的第一和第三流水段中被用来进行报文的解析和报文的处理,其结构如附图所示。图中每个微处理引擎(PE,processing engine)都与其附近的一个RAM单元和一个Bridge用一条IPE Bus连接起来,形成一个基本处理单元。多处理器阵列中共有四个这样的基本处理单元,一条Global IPE Bus把流量分配与集中器以及四个基本处理单元连接起来。Global IP Bus和四条局部的IPE Bus组合起来,将报文处理与修改引擎分割成5个总线域,在保证互联性的同时提高了总线的吞吐量。通过总线桥接的方式,每个PE和流量分配集中器(DA)之间都可以互相通信。

集成硬件查找协处理器 查找协处理器是一个集成的查找引擎,实现高速路由查找和IP分组分类查找,为分组转发提供良好服务。它可以配置为单纯的路由查找协处理器,或者IP分组分类器,也可以实现两种功能的组合,适合多种应用。

集成业务量管理引擎 业务量管理引擎(TME)的主要功能是在Internet中网络节点设备(如路由器和网关等)中对业务量进行管理和控制,进而提供对服务质量(QoS)的保证。

•小贴士•

网络设备提供商要保住自己的竞争优势,需要从下面的两方面来提高自身的生存力:

● 尽可能地缩短网络设备的开发周期,迅速推出种类更多、性能更高的产品。

● 尽可能地增加设备的可扩展性和易升级性,使网络设备能处理更多任务,以延长设备的生命周期。

推荐访问:之道 处理器 网络