![Rank: 8](images/default/star_level3.gif) ![Rank: 8](images/default/star_level3.gif)
- UID
- 1029342
- 性别
- 男
|
![](http://images.eccn.com/silabs/silicon_chip_980x60_202203.jpg)
网络高速发展,对下一代网络设备提出以下要求:具有优异性能,支持高速分组处理;具有高度灵活性,支持不断变换高层网络服务。传统的基于GPP(General Purpose Processor)的网络设备只满足灵活性要求;基于ASIC(Application Specific Integrated Circuit)的网络设备只满足高性能要求;网络处理器能够通过灵活的软件体系提供硬件级的处理性能,基于NP(Network Processor)的网络设备具有高性能和灵活性。
1 网络处理器产生技术需求
以网络设备核心部件更新为标志,网络设备体系结构发展经历了三个阶段:
(1)以GPP为核心的网络设备体系结构
在网络发展早期,网络传输速率低,服务少,研究集中在服务框架构建和网络协议实现。设备以GPP为核心,在通用操作系统基础上,以软件方式实现各种网络服务。目前许多边缘设备:如防火墙、VPN设备、VOIP设备,还在采用这种通用处理器+通用操作系统+专用网络服务软件的体系结构。其优点是灵活性好,缺点是性能处理差。这种结构为支持各种复杂运算,采用通用体系结构和指令集,其通用性导致网络性能处理差。
(2)以ASIC/RISC为核心的网络设备体系结构
随着网络带宽的增长速度远大于通用计算机处理的增长速度,网络瓶颈变成基于GPP的节点设备。采用基于ASIC和RISC(reduced instruct set compute)为核心的体系结构成为主流,尤其是骨干设备的设计。为获取高性能,通常由RISC负责非实时管理,ASIC负责高速数据处理。这种结构缺点是开发周期长,缺乏灵活性。ASIC不具备可编程性,一旦将计算逻辑固化到硬件,很难修改。设计制造复杂ASIC需要花费18个月到两年时间,设备制造商必须准确预测未来的市场需求和技术趋势。
(3)以NP为核心的网络设备体系结构
在新信息技术、用户需求、市场竞争三驾马车牵引下,未来网络需求出现新特点,主要集中在以下三方面:(1)高性能压力依旧存在:按照摩尔定律,电处理器处理速度每18个月增加一倍;但随着DWDM等光纤技术在主干网络的广泛应用,每12个月光纤链路容量就增加一倍。因此以电处理器为核心的路由器仍然是网络发展瓶颈。在低廉光处理技术出现之前,需要充分挖掘现有电处理技术。(2)灵活性要求更为迫切:Internet的爆炸性增长,数据通信市场的瞬息万变,使得服务提供商和设备提供商面临流量增加、用户增多的严峻挑战,面临根据用户复杂多变要求,快速提供、部署不同服务的市场挑战。服务提供商希望设备提供商提供保护已有巨额投资的平滑升级解决方案。面对这些挑战,只有采用灵活性好,开发成本低,周期短,可持续性网络开发技术,才能在未来市场占据先机。(3)高层细化处理更为关键:网络应用范围不断扩大、新型业务不断涌现,导致新协议不断出现,对服务质量和安全性能的要求越来越高。核心问题在于:设备能够在网络2~7层上对高速数据流进行细化分组分类处理,而不仅是在网络2~3层上进行数据流的简单存储转发处理。数据分组处理涉及层次越多,系统资源负荷开销就越大。
在高速数据流高层细化处理背景下,NP技术为下一代网络的核心技术。其特点是:NP针对数据分组处理,采用优化体系结构、专用指令集、硬件单元,满足高速数据分组线速处理要求;具有软件编程能力,能够迅速实现新的标准、服务、应用,满足网络业务复杂多样化需求,灵活性好;设备具有软件升级能力,满足用户设备硬件投资保护需求。此外为缩短设备提供商的产品研制周期,NP厂商通常会提供配套硬件评估板和规范软件应用范例。
2 网络处理器概念
网络处理器是面向网络应用领域的应用特定指令处理器,是面向数据分组处理的、具有体系结构特征和/或特定电路的、软件可编程器件。通过灵活的软件体系提供硬件级的处理性能是NP的关键特性[1]。
在以GPP和ASIC/RSIC为核心的设备体系结构阶段,对2~3层数据处理采用“存储——转发”数据分组处理模式。随着网络发展,需要对2~7层的数据分组采用“存储——处理——转发”数据分组处理模式才能实现复杂的QOS、安全控制、负载均衡等功能模块。NP的出现,标志着设备对数据分组的处理能力从低层粗放式处理过渡到高层细化处理。
3 网络应用处理基本操作
在对ATM、VLAN、MPLS、IPv4、IPv6、IPSec、UDP、TCP、NAT、Web交换、QOS协议等多种协议和应用的分析基础上,参考文献[1]归纳对单个数据分组处理的六种基本操作:(1)模式匹配:对分组字段的比特进行匹配。输入为需要匹配值和分组字段值,输出为某个确定逻辑值。(2)检索:根据某个关键字查找数据。通常与模式匹配联合使用,用于查找表中的某个特定数据项。数据结构和算法取决于关键字的大小和需要搜索的类型(一对一或一对多)。(3)计算:对不同协议,数据分组的计算处理差异很大。如:IPSEC中需要对整个分组进行加密、解密、鉴别等计算;而多数协议都要求进行CRC效验计算。(4)数据处理:对分组报头的修改便视为数据处理。如:数据分组的分割、重组;IPV4中的TTL字段每跳减一修改。(5)队列管理:对进出的协议数据单元进行存储和出入管理。负责实现数据报文在分组分割/重组的存储操作,以及与QOS相关的流量整形和流量工程策略。(6)控制处理:通常涉及不需要线速执行的管理任务,如:异常处理、表更新、统计数据汇总等。
通过继承ASIC和RISC分层处理合理思想,NP将网络处理任务划分为控制面和数据面两个层次:控制面负责非实时性的管理和策略控制任务,数据面负责承载高速多变的数据分组处理。目前NP主要任务是进行数据分组的线速分析、处理及转发,通过上述六种基本操作组合,实现以下功能:协议识别/分类、数据包拆分/重组、排队/接入控制、流量整形/流量工程、数据包修正、差错检测。随着SOC技术发展,NP将集成更多设备级功能。
4 网络处理器体系结构简介
4.1 Intel公司IXP1200网络处理器介绍
IXP1200系列是Intel公司IXA架构的核心产品,组成如下:1个主频最高可达232MHz的处理核心StrongARM;6个RISC结构的可编程微引擎,每个微引擎又包含4个硬件线程;64位IX Bus;32位的SRAM接口单元,工作频率为核心频率的一半;64位的SDRAM接口单元,工作频率为核心频率的一半;32位PCI总线接口单元,最高66MHz。
主要特点为:
(1)并行处理:六个微引擎和一个StrongARM构成IXP1200的计算资源,共享相同资源,包括:SDRAM,SRAM,PCI,IX Bus等。微引擎和StrongARM均为RISC处理器,并行工作。StrongARM负责协议控制层面任务和微引擎管理。微引擎负责数据层面的高速数据分组处理,通过对六个微引擎/24个硬件线程分配不同功能的微码程序,可以实现网络负荷的动态/静态调配。微码程序的可重载性为系统软件升级提供了极大方便。
(2)分布式数据存储结构:每个微引擎独立使用256个32位寄存器。其中128个寄存器是传送寄存器集。每个微引擎将数据载入自己的传送寄存器集,对传送寄存器集进行操作,然后通过传送寄存器集写到数据目的地。数据载入传送寄存器集后,微引擎可在单指令周期完成访问。
(3)硬件多线程:每个微引擎有4个编程计算器,支持4个硬件线程。每个线程可以执行相同或不同的微码程序,采用内部线程通信机制实现线程同步,提高系统效率。微码指令采用5级流水线机制,执行周期为1个时钟周期。
(4)主动内存管理:SDRAM和SRAM支持多个读写队列进行优先级排队以优化带宽。允许StrongARM和6个微引擎/24个线程同时提交对内存单元的读写请求,内存单元根据特定优化指令对读写请求硬件优先级排队。用户可自定义内存管理优化策略。 |
|