June14,2005©2005RD,CNICNetworkTechnology&ApplicationsResearchLaboratoryNTARL网络处理器发展及其应用Intel®IXP系列网络处理器张道庆RD,CNICNetworkTechnology&ApplicationsResearchLaboratory©2005RD,CNICNTARLJune14,20052报告提纲网络处理器发展历程Intel®IXP系列网络处理器基于Intel®IXP2400网络系统设计网络处理器的应用领域NetworkTechnology&ApplicationsResearchLaboratory©2005RD,CNICNTARLJune14,20053报告提纲网络处理器发展历程Intel®IXP系列网络处理器基于Intel®IXP2400网络系统设计网络处理器的应用领域NetworkTechnology&ApplicationsResearchLaboratory©2005RD,CNICNTARLJune14,20054路由器的发展历程路由器技术体系的发展,大致可以划分为五代:第一代路由器:集中转发,总线交换计算机插上多块网络接口卡的方式来实现。接口卡与CPU之间通过内部总线相连,CPU负责所有的事务处理,包括路由收集、转发处理、设备管理等。第二代路由器:集中+分布转发,接口模块化,总线交换在网络接口卡上进行一些智能化处理。大多数报文直接通过业务板Cache的路由表进行转发,减少对总线和CPU的请求。第三代路由器:分布转发,总线交换全分布式结构,路由与转发分离,由主控板负责整个设备的管理和路由的收集、计算功能,并将计算出的转发表下发到各业务板,各业务板则根据保存的路由转发表独立地进行路由转发。总线技术也得到了较大的发展,通过总线,业务板之间的数据转发完全独立于主控板,实现了并行高速处理,使路由器的处理性能成倍提高。NetworkTechnology&ApplicationsResearchLaboratory©2005RD,CNICNTARLJune14,20055路由器的发展历程(续)第四代路由器:ASIC分布转发,网络交换传统的基于软件的IP路由器无法再满足网络的发展需要。引入ASIC实现方式,将转发过程的所有细节全部通过硬件的方式来实现。在交换网上采用了CrossBar或共享内存的方式,解决内部交换的问题,使路由器的性能达到千兆比特,即早期的千兆交换式路由器GSR(GigabitSwitchRouter)。第五代路由器技术:网络处理器分布转发,网络交换互联网泡沫时代,出现网络无管理无法运营的问题、IP地址缺乏问题、IP业务服务质量问题以及IP安全等问题,这些问题都严重地阻碍着网络的进一步发展。业务才是网络的真正价值所在,一切技术都必须围绕着业务。网络管理、用户管理、业务管理、MPLS、VPN、可控组播、IP-QoS和流量工程等各种新技术纷纷出现。IP标准也逐步修改成熟。新技术的出现和标准化的进展对高速路由器的业务功能提出了越来越高的要求。前四代路由器的发展焦点集中在路由器的转发性能上,其最大进步均在速度的提升方面。基于这些问题,第四代路由器ASIC技术的不灵活性、业务提供周期长等缺陷也不可避免地显现出来。第五代路由器在硬件体系结构上继承了第四代路由器的成果,在关键的IP业务流程处理上则采用了可编程的、专为IP网络设计的网络处理器技术。NetworkTechnology&ApplicationsResearchLaboratory©2005RD,CNICNTARLJune14,20056网络处理器的出现应用需求:•流量和用户的指数级增长•动态变化的复杂协议和功能•灵活的业务扩展和演进策略GPP(GeneralPurposeProcessor)通用目的处理器特点:功能易扩展、灵活性好、低成本缺点:性能低、不适合处理高速网络流量ASIC(ApplicationSpecificIntegratedCircuit)特点:高性能,硬件形式实现各种成熟的网络功能缺点:设计周期长(18个月)、灵活性差、费用高FPGA(FieldProgrammableGateArray)特点:可以反复编程、擦除、在外围电路不动用软件实现不同功能、一定程度上灵活地扩展业务处理类型。缺点:受技术限制不成熟ASIP(ApplicationSpecificInstructionProcessor)——NP(NetworkProcessor)特点:由若干微处理器和一些硬件协处理器组成,并行工作,通过软件来控制处理流程。针对网络应用设计,对于一些复杂的标准操作采用硬件协处理器来提高处理性能。可编程、可扩展。实现业务灵活性与高性能的有机结合。NetworkTechnology&ApplicationsResearchLaboratory©2005RD,CNICNTARLJune14,20057什么是网络处理器(NP)网络处理器是面向网络应用领域的应用特定指令处理器,是面向数据分组处理的、具有体系结构特征和/或特定电路的、软件可编程器件。通过灵活的软件体系提供硬件级的处理性能是NP的关键特性。在以GPP和ASIC/RSIC为核心的设备体系结构阶段,对2~3层数据处理采用“存储——转发”数据分组处理模式。随着网络发展,需要对2~7层的数据分组采用“存储——处理——转发”数据分组处理模式才能实现复杂的QOS、安全控制、负载均衡等功能模块。NP的出现,标志着设备对数据分组的处理能力从低层处理过渡到高层细化处理。NP技术为下一代网络的核心技术,其特点是:NP针对数据分组处理,采用优化体系结构、专用指令集、硬件单元,满足高速数据分组线速处理要求;具有软件编程能力,能够迅速实现新的标准、服务、应用,满足网络业务复杂多样化需求,灵活性好;设备具有软件升级能力,满足用户设备硬件投资保护需求。NetworkTechnology&ApplicationsResearchLaboratory©2005RD,CNICNTARLJune14,20058网络处理器产品AppliedMicroCircuitsCorp(AMCC)仍然是该市场的领先者,AMCC的网络处理器产品用于思科和其他的顶级OEM厂商。IBMPowerNP网络处理器CISCOPXF网络处理器MotorolaC-PortC-5Chip网络处理器IntelIXP网络处理器Agere(杰尔系统)VitesseNetworkTechnology&ApplicationsResearchLaboratory©2005RD,CNICNTARLJune14,20059各大厂商的市场占有率NetworkTechnology&ApplicationsResearchLaboratory©2005RD,CNICNTARLJune14,200510报告提纲网络处理器发展历程Intel®IXP系列网络处理器基于Intel®IXP2400网络系统设计网络处理器的应用领域NetworkTechnology&ApplicationsResearchLaboratory©2005RD,CNICNTARLJune14,200511Intel®IXP网络处理器产品线Intel®IXP4XXProductLineofNetworkProcessors面向家庭、小到中型企业。嵌入式网络设备。Intel®IXP12XXProductLineofNetworkProcessorsOC-3至OC-12线速处理应用。Intel®IXP2XXXProductLineofNetworkProcessors灵活、高性能、可扩展的网络处理器。最高可满足OC-192的线速处理。NetworkTechnology&ApplicationsResearchLaboratory©2005RD,CNICNTARLJune14,200512IXP2400网络处理器1个Intel®XScale™Core8个MicroEngineVersion2(MEv2)1个DDRSDRAM控制器2个独立的QDRSRAM控制器MSF(MediaandSwitchFabric)接口PCI控制器16K字节Scratchpad存储器Hash单元CAP-片内控制和状态寄存器XPI-Intel®XScale™core外设接口NetworkTechnology&ApplicationsResearchLaboratory©2005RD,CNICNTARLJune14,200513IXP2400特点采用多内核并行处理器结构:片内处理器按任务分为控制平面处理器和数据层面处理器。控制平面处理器通常负责非实时的管理任务;数据平面处理器进行实时、线速数据分组处理。处理器XScal工作在控制平面提供总的控制,处理高层协议,八个并行微引擎工作在数据平面。微引擎是精简的可编程处理器,在入口和出口处线速处理数据分组。支持硬件多线程:为了提高网络处理器的资源利用率,每个微引擎还支持四个或八个硬件线程。每个线程都有一套专门的硬件来存放上下文(Context),以获得线程切换的零开销。优化指令集,设计专用硬件加速处理单元。采用RISC技术,结合多级流水线技术,大部分指令在一个时钟周期完成。针对网络协议处理特点,设置专用硬件加速处理单元,提供专用指令如乘法指令、CRC校验指令、哈希计算指令、字节对齐指令、硬件队列与环操作指令、CAM(ContentAddressingMemory)查找指令、MSF与DRAM间快速通道指令、状态判断与数据读写指令等。NetworkTechnology&ApplicationsResearchLaboratory©2005RD,CNICNTARLJune14,200514IXP2400特点(续)优化的分级存储组织和分布式存取。网络数据处理需要进行大量的数据分组的接收、存储、复制、转发,存储操作成为系统开销的一大瓶颈。在微引擎内部有大量的不同类别的寄存器、本地存储器、CAM,在微引擎外部有片内存储器Scratchpad。在网络处理器外部可以扩展大容量的片外存储器SRAM和SDRAM,SRAM用于存放需要快速查找的各种表结构,SDRAM用于存放数据分组信息。模块可并行访问多种数据存储单元,不同数据存储单元的存取时间周期差异很大。硬件支持的环与队列操作。网络数据处理涉及很多队列或环的数据结构操作,而入队或出队操作需要多次访问内存,极大地影响数据处理分组处理的周期。IXP2400中的SRAM控制器提供了基于SRAM的先入先出队列,通过硬件实现了环与队列操作。NetworkTechnology&ApplicationsResearchLaboratory©2005RD,CNICNTARLJune14,200515IXP2400外部特性CustomerASICsUtopia1/2/3,POS-PL2/3orCSIX-L1InterfacePCI64-bit/66MHzIXP2400(Ingress)HostCPU(Optional)ATM/POSPHYorEthernetMACFlashClassificationAcceleratorCoProcBusMicro-EngineClusterSlowPortSwitchFabricPortInterfaceUtopia1,2,3SPI–3(POS-PL3)CSIXIXP2400(Egress)FlowControlBusDDRDRAM2.4GB/s2GByteQDRSRAM1.6GB/sx264MBx2IXASWNetworkTechnology&ApplicationsResearchLaboratory©2005RD,CNICNTARLJune14,200516IXP2400外部特性(续)媒体与交换接口(MSF-Me