Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18680452
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: 系统运维

2008-03-20 14:56:52

引言

我们所熟悉的通信网的基本结构是由传统的电路交换系统和基于分组的交换系统构成,整个网络都是由一系列小的网络、传输和终端设备组成, 网络之间互通性差、可管理性不强,网络业 务不灵活。随着电子商务、多媒体业务和VoIP等业务的出现对带宽的要求越来越高,同时,对网络业务流量的控制能力和网络安全也提出了更高的要求。

为适应这些网络需求,当今网络正在向NGN(Next Generation Network)的方向发展,下一代网络是可以提供包括话音,数据和多媒体等各种业务的综合开放性网络构架,采用开放的网络构架体系、业务驱动的网络、基于统一协议的基于分组的网络。这就要求各设备、芯片制造商开发生产出适应性更强、功能更强大的相关设备以满足网络发展的需求。而具有可编程性、强大处理能力的网络处理器NP(Network Processor)正是适合成为这些设备的核心功能单元。

网络处理器的发展

网络设备如路由器和交换机的体系结构的发展基本上经历了基于通用处理器的体系结构和基于ASIC、RISC的体系结构两个阶段。

基于网络处理器的体系结构是在以上两种体系结构的基础上,综合了双方优点推出的一种新型的体系结构。网络处理器是一种可编程ASIC,不但可为系统提供类似ASIC的处理速度,而且可以提供类似通用处理器的灵活性。网络处理器主要被用于处理线速(wire-speed)数据,进行协议分析和数据分类,位于物理接口处理器和交换架构之间。

网络处理器的功能特性

网络处理器具备完全的可编程能力,可以实现OSI网络协议栈2~7层的处理,对诸如信元、分组数据流等多种协议数据类型的支持满足了边缘设备的需要;同时简单高效的编程开发特征为网络处理器走向市场奠定了基础;强大的处理能力可以实现高带宽的线速处理;开放的高度集成的体系结构使得基于网络处理器的网络设备易于系统扩展。网络处理器的主要任务是数据包的分析、处理及转发,因而其主要的功能包括以下几部分:

协议识别和分类:根据数据包的协议类型、端口号、目的地址、以及其它特定于协议的信息对数据包进行识别。

拆装和重组:数据包的拆分,处理,以及为转发而重组。

排队和接入控制: 识别出数据包之后,将这些数据包送往相应的队列中以进行下一步处理,如优先处理,流量整形等。同时,可根据某些安全接入策略进行数据包过滤,确定是继续转发,还是丢弃。

流量整形和流量工程: 某些协议或应用要求对流量进行整形以使之在进入输出线或输出光纤时满足时延和时延抖动的要求。

QoS(Quality of Service)和CoS(Class of Service):除了对数据包进行流量整形外,数据包还可以被打上标签送往下一网络节点进行更加有效的处理。

修正数据包 :编辑数据包并添加额外的信息。

差错检测 :正确检测来自数据链路层的有差错的数据包并能采取有效的处理措施。

网络处理器的体系结构

随着Intel 和IBM等公司大举进入网络处理器市场,采用基于处理器体系结构的网络处理器得到迅速发展,下面以Intel和IBM公司推出的网络处理器家族中主流产品作一简单介绍。

IXP1200网络处理器是Intel 公司推出的互联网交换架构的网络处理器之一,它由一个StrongARM处理器、六个微引擎(Microenginer)、存储器接口和高速总线接口组成。IXP1200的主要功能模块和体系结构的主要特征:

并行处理器结构: StrongARM核和6个微引擎均为RISC处理器,并行工作,StrongARM核主要负责协议控制平面和上层应用程序的处理,6个微引擎是32位的可编程RISC,有各自独立的控制存储器和局部寄存器,访问外部资源(SRAM、SDRAM和IXBUS等)的机会均等,提供大于2倍外部带宽的内部总线带宽。Intel 推出的微码(Microcode)运行在微引擎上,微码的可重载性为系统升级提供了极大的方便。

硬件多线程 : 微码指令的运行采用5级流水线机制,同时考虑访存延迟,为提高微引擎的利用效率,采用硬件多线程,即每个微引擎同时运行4个线程,采用内部线程通信机制实现线程同步,提高了系统效率。

分布式数据存储和内存组织优化:IXP1200提供了多个存储单元接口,利用专用的读写寄存器实现对SRAM和SDRAM的访问,简化了编程模型,提高了存储效率。同时SDRAM和SRAM均支持多个读写队列进行优先级排队以优化带宽。

可扩充的体系结构:IXP1200的IXBUS总线接口可以实现多个IXP1200的系统扩充。

Ixp1200网络处理器提供了适应下一代网络设备的开放的体系机构,IX BUS总线不仅作为数据通道外接Ethernet MAC 、ATM、E1 等器件,还可实现多个IXP1200的系统扩展。

PCI标准接口为系统开发调试提供了方便。多种存储器接口为内部存储访问、数据表查找效率的提高提供了硬件基础。

IBM公司在网络处理器的开发上也推出了PowerNP 系列产品,如PowerNP 4GS3,能够提供10/100 Ethernet、Gigabit Ethernet、POS等多个端口的连接,可以配置成40个10/100 Ethernet或者4个Gigabit 的端口,也可以配置成OC-48、4个OC-12端口,最高达到4Gbit的带宽。IBM的网络处理器同样采用了基于处理器的结构,主要由以下几部分组成:

EPC(Embedded Processor Complex)嵌入式处理器组:具备可编程能力的16个微处理器主要负责数据包的转发处理。

入口EDS:对来自以太网物理层设备的帧进行入队、出队和调度,送往交换组织。

出口EDS:对来自交换组织帧进行入队、出队和调度,送往物理层设备。

入口和出口交换接口:完成中间交换或者与其他网络处理器的内部连接。

入口、出口PMM(Physical MAC Multiplexer):分别接收、发送来自Ethernet、POS物理层设备的帧。

嵌入式PowerPC:作为控制CPU,主要负责整个网络处理器的管理和控制,同时负责协议帧的处理。

IBM网络处理器同样具有可扩充能力,多个网络处理器组成一个交换和路由系统,实现2、3层直至更高层帧的线速转发处理(见图1)。

图1 两个网络处理器扩充的配置图

网络处理器的应用

基于其强大功能,网络处理器可以被用于实现从边缘网络至核心网络的一系列应用,如:

WAN/MAN 边缘路由器;

多业务接入平台:支持IP、ATM和MPLS;

企业网骨干交换机;

DSLAM和其他宽度应用设备,如3G无线基站、CMTS;

VPN网管/路由器;

防火墙和安全路由器;

IP 吉比特/太比特路由器;

IPv6路由器。

图2 网络硬件的功能框图

从概念上来看,以上所有的应用都是基于如图2的体系结构,物理层把来自物理介质的光、电信号转换成一定格式的比特流帧,帧转交到网络处理器,网络处理器通过两条通道处理数据帧,快速通道,如数据通道或者转发通道,实现线速处理转发数据帧,这部分是由微引擎完成的;慢通道,如控制通道,完成小部分数据帧(如控制、信令、路由帧)的处理,这是由通用微处理器完成的。在采用背板交换的网络设备中,由交换背板完成系统扩展和数据帧的交换。

下面以网络处理器在IPv6核心路由器中的应用作一探讨。IPv6路由器和IPv4路由器相比,主要的区别在硬件和软件的实现方面。硬件需要支持IPv6的网络处理器,以及更快速和更高容量的CAM(根据内容访问的存储器)存储芯片,而这方面目前还缺乏成熟的产品。软件方面需要对原有的协议栈进行重新实现,这将涉及大量的程序修改和编译、调试工作,此外还需要增加一些新的协议和功能,如IDRP(域间路由协议)、即插即用支持、QoS的全面支持等。其中的难点和关键是网络处理器。NPU在路由器中的角色相当于CPU在PC中的角色,它专门为网络处理量身定制,以线速处理和转发每个数据包,并且具有可编程能力,因此可以随技术的发展而进行现场升级。

IBM网络处理器同样具有可扩充能力,多个网络处理器组成一个交换和路由系统,实现2、3层直至更高层帧的线速转发处理。图2给出了两个网络处理器扩充的配置图,两个网络处理器之间拥有全双工的快速通道,可以配置成提供80个10/100 Mbps以太网端口,或者是60个10/100 Mbps以太网端口加上2个千兆口,同样也可配置成8个千兆口。

核心路由器主要有百兆、千兆线卡、交换背板、交换板和主控模块板组成,从图3中看出4个线卡支持96个10/100Mbps以太网口,一个千兆的线卡支持6个千兆以太网口,其中交换模块通过背板直接和各个线卡相连,另外加上一个控制模块。

其中百兆的交换线卡模块主要有2个IXP1200构成,其交换模块为IXE2424,每个端口都有IPv6路由功能,千兆模块主要有Intel第二代网络处理器IXP2400构成,其交换模块为IXE5416。

图3 IPv6核心路由器系统构成图

另外一个典型应用是开发基于网络处理器的防火墙,利用网络处理器的可编程能力可以容易实现防火墙的数据包过滤、访问控制、入侵检测、地址转换等功能,并且可以在同一硬件平台上对软件升级以满足不同用户的需要。基于网络处理器的防火墙是硬件防火墙,因此有线速处理能力。目前国外的厂商已经推出了基于网络处理器的防火墙产品,我们国内的一些公司也正在加快这方面的开发与研究,相信很快就会有相应的产品问世。

结语

网络处理器通过十分灵活的体系结构和强大的处理能力,将可编程能力和ASIC的处理能力有机的结合在一起,从而带来更为智能的网络设备、更短的产品研发周期以及更便捷的系统升级方式。各大厂商均推出了10Gbps的网络处理器和其他的编程模型,40G 的网络处理器正在逐步推向市场。网络处理器论坛(Network Processing Forum, NPF)在公共交换接口协会和公共编程接口论坛的基础上成立,加快了网络处理器的发展步伐。在今后几年里网络处理器将迅速得以普及应用,代表着下一代网络设备的核心功能单元,将有着非常巨大的发展空间。

阅读(398) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~