网络处理器发展及其应用

上传人:xiao****1972 文档编号:73267443 上传时间:2019-01-25 格式:PPT 页数:31 大小:715.81KB
返回 下载 相关 举报
网络处理器发展及其应用_第1页
第1页 / 共31页
网络处理器发展及其应用_第2页
第2页 / 共31页
网络处理器发展及其应用_第3页
第3页 / 共31页
网络处理器发展及其应用_第4页
第4页 / 共31页
网络处理器发展及其应用_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《网络处理器发展及其应用》由会员分享,可在线阅读,更多相关《网络处理器发展及其应用(31页珍藏版)》请在金锄头文库上搜索。

1、网络处理器发展及其应用,Intel IXP系列网络处理器,张道庆 RD, CNIC,2,报告提纲,网络处理器发展历程 Intel IXP系列网络处理器 基于Intel IXP2400网络系统设计 网络处理器的应用领域,3,报告提纲,网络处理器发展历程 Intel IXP系列网络处理器 基于Intel IXP2400网络系统设计 网络处理器的应用领域,4,路由器的发展历程,路由器技术体系的发展,大致可以划分为五代: 第一代路由器:集中转发,总线交换 计算机插上多块网络接口卡的方式来实现。 接口卡与CPU之间通过内部总线相连,CPU负责所有的事务处理,包括路由收集、转发处理、设备管理等。 第二代路

2、由器:集中+分布转发,接口模块化,总线交换 在网络接口卡上进行一些智能化处理。 大多数报文直接通过业务板Cache的路由表进行转发,减少对总线和CPU的请求。 第三代路由器:分布转发,总线交换 全分布式结构,路由与转发分离,由主控板负责整个设备的管理和路由的收集、计算功能,并将计算出的转发表下发到各业务板,各业务板则根据保存的路由转发表独立地进行路由转发。 总线技术也得到了较大的发展,通过总线,业务板之间的数据转发完全独立于主控板,实现了并行高速处理,使路由器的处理性能成倍提高。,5,路由器的发展历程(续),第四代路由器:ASIC分布转发,网络交换 传统的基于软件的IP路由器无法再满足网络的发

3、展需要。 引入ASIC实现方式,将转发过程的所有细节全部通过硬件的方式来实现。 在交换网上采用了CrossBar或共享内存的方式,解决内部交换的问题,使路由器的性能达到千兆比特,即早期的千兆交换式路由器GSR(Gigabit Switch Router)。 第五代路由器技术:网络处理器分布转发,网络交换 互联网泡沫时代,出现网络无管理无法运营的问题、IP地址缺乏问题、IP业务服务质量问题以及IP安全等问题,这些问题都严重地阻碍着网络的进一步发展。 业务才是网络的真正价值所在,一切技术都必须围绕着业务。网络管理、用户管理、业务管理、MPLS、VPN、可控组播、IP-QoS和流量工程等各种新技术纷

4、纷出现。IP标准也逐步修改成熟。新技术的出现和标准化的进展对高速路由器的业务功能提出了越来越高的要求。 前四代路由器的发展焦点集中在路由器的转发性能上,其最大进步均在速度的提升方面。基于这些问题,第四代路由器ASIC技术的不灵活性、业务提供周期长等缺陷也不可避免地显现出来。 第五代路由器在硬件体系结构上继承了第四代路由器的成果,在关键的IP业务流程处理上则采用了可编程的、专为IP网络设计的网络处理器技术。,6,网络处理器的出现,7,什么是网络处理器(NP),网络处理器是面向网络应用领域的应用特定指令处理器,是面向数据分组处理的、具有体系结构特征和/或特定电路的、软件可编程器件。通过灵活的软件体

5、系提供硬件级的处理性能是NP的关键特性。 在以GPP和ASIC/RSIC为核心的设备体系结构阶段,对23层数据处理采用“存储转发”数据分组处理模式。 随着网络发展,需要对27层的数据分组采用“存储处理转发”数据分组处理模式才能实现复杂的QOS、安全控制、负载均衡等功能模块。NP的出现,标志着设备对数据分组的处理能力从低层处理过渡到高层细化处理。 NP技术为下一代网络的核心技术,其特点是: NP针对数据分组处理,采用优化体系结构、专用指令集、硬件单元,满足高速数据分组线速处理要求; 具有软件编程能力,能够迅速实现新的标准、服务、应用,满足网络业务复杂多样化需求,灵活性好; 设备具有软件升级能力,

6、满足用户设备硬件投资保护需求。,8,网络处理器产品,Applied MicroCircuitsCorp(AMCC) 仍然是该市场的领先者,AMCC的网络处理器产品用于思科和其他的顶级OEM厂商。 IBM PowerNP网络处理器 CISCO PXF网络处理器 Motorola C-Port C-5 Chip网络处理器 Intel IXP网络处理器 Agere(杰尔系统) Vitesse,9,各大厂商的市场占有率,10,报告提纲,网络处理器发展历程 Intel IXP系列网络处理器 基于Intel IXP2400网络系统设计 网络处理器的应用领域,11,Intel IXP网络处理器产品线,Int

7、el IXP4XX Product Line of Network Processors 面向家庭、小到中型企业。 嵌入式网络设备。 Intel IXP12XX Product Line of Network Processors OC-3 至 OC-12 线速处理应用。 Intel IXP2XXX Product Line of Network Processors 灵活、高性能、可扩展的网络处理器。 最高可满足OC-192 的线速处理。,12,IXP2400网络处理器,1个Intel XScale Core 8个MicroEngine Version 2(MEv2) 1个DDR SDRAM

8、控制器 2个独立的QDR SRAM控制器 MSF(Media and Switch Fabric)接口 PCI控制器 16K字节Scratchpad存储器 Hash单元 CAP片内控制和状态寄存器 XPIIntel XScale core 外设接口,13,IXP2400特点,采用多内核并行处理器结构: 片内处理器按任务分为控制平面处理器和数据层面处理器。控制平面处理器通常负责非实时的管理任务;数据平面处理器进行实时、线速数据分组处理。 处理器XScal工作在控制平面提供总的控制,处理高层协议,八个并行微引擎工作在数据平面。 微引擎是精简的可编程处理器,在入口和出口处线速处理数据分组。 支持硬件

9、多线程: 为了提高网络处理器的资源利用率,每个微引擎还支持四个或八个硬件线程。每个线程都有一套专门的硬件来存放上下文(Context),以获得线程切换的零开销。 优化指令集,设计专用硬件加速处理单元。 采用RISC 技术,结合多级流水线技术,大部分指令在一个时钟周期完成。针对网络协议处理特点,设置专用硬件加速处理单元,提供专用指令如乘法指令、CRC校验指令、哈希计算指令、字节对齐指令、硬件队列与环操作指令、CAM(Content Addressing Memory)查找指令、MSF与DRAM间快速通道指令、状态判断与数据读写指令等。,14,IXP2400特点(续),优化的分级存储组织和分布式存

10、取。 网络数据处理需要进行大量的数据分组的接收、存储、复制、转发,存储操作成为系统开销的一大瓶颈。在微引擎内部有大量的不同类别的寄存器、本地存储器、CAM,在微引擎外部有片内存储器Scratchpad。在网络处理器外部可以扩展大容量的片外存储器SRAM和SDRAM,SRAM 用于存放需要快速查找的各种表结构,SDRAM 用于存放数据分组信息。模块可并行访问多种数据存储单元,不同数据存储单元的存取时间周期差异很大。 硬件支持的环与队列操作。 网络数据处理涉及很多队列或环的数据结构操作,而入队或出队操作需要多次访问内存,极大地影响数据处理分组处理的周期。IXP2400中的SRAM控制器提供了基于S

11、RAM的先入先出队列,通过硬件实现了环与队列操作。,15,IXP2400外部特性,16,IXP2400外部特性(续),媒体与交换接口(MSFMedia and Switch Fabric interface) 连接物理层设备。 连接交换矩阵。 支持UTOPIA 1/2/3, POS-2,SPI-3 (POS-PL3), 和CSIX接口标准。 存储器接口 2 个QDR SRAM 接口(Quad Data Rate SRAM)。 1 个DDR DRAM接口(Double Data Rate DRAM)。 慢速端口(Slow Ports) 连接Flash ROM和外部芯片的控制接口。 PCI 接口

12、64bit/66MHz PCI总线,与主 CPU 接口。 流控制总线(Flow Control Bus) 使用两片IXP2400时,在两个NPU间用专用信道传递流量控制信息。,17,IXP2400体系结构,18,MEv2特性,MEv2 MicroEngine Version 2 8个微引擎分为两组,每组有专用的命令和数据总线。 ME Cluster0和ME Cluster1。 硬件多线程 每个微引擎有4/8个硬件线程,线程间实现零开销切换。 非抢占多线程( non-preemptive) 由微码指令控制线程间的切换。 分布式数据存储 可并行访问多种数据存储单元。 微引擎内部寄存器,Local

13、Memory,CAM。 微引擎外部SRAM,SDRAM,Scratchpad。 大量的寄存器 256 GPRs, 512 Transfer, 128 Next Neighbor。 指令和数据分离 获取微码指令没有延迟。,19,MEv2,20,报告提纲,网络处理器发展历程 Intel IXP系列网络处理器 基于Intel IXP2400网络系统设计 网络处理器的应用领域,21,基于NP的典型网络系统,22,基于IXP2400 实现的OC-48系统,23,基于Intel IXP网络处理器的软件设计,网络设备软件的三个层面 数据层面。 控制层面。 管理层面。,24,网络设备软件的三个层面,数据层面

14、包括慢速数据通道和快速数据通道。 快速数据通道是由微引擎负责处理的数据转发通道,大部分数据包通过此通道完成处理与转发。 慢速数据通道:由通用RISC核负责处理一些例外复杂的数据包,如数据包分段、带扩展头部的数据包处理等。 控制层面 处理各种通信协议。 转发表和状态信息维护。 管理层面 安装配置接口。 策略管理接口。 系统管理、统计、计费等。,25,Microengine Pipeline,IXA软件框架,26,多微引擎、多线程的并行设计,基于网络处理器成功构建一个网络系统的关键在于网络处理器软件系统的设计与开发,其核心问题就是要软件系统充分发挥网络处理器灵活性和高性能的特点。 网络处理器软件系

15、统实现的一个挑战在于软件设计与网络处理器的硬件结构关系非常紧密,必须面向网络处理器的硬件体系结构编程,通过合理分配和使用网络处理器为优化数据包处理的各种硬件资源,如多处理引擎、专用硬件处理单元、各类寄存器、片上内存和其它硬件单元,才能得到一个高性能的系统。 通常情况下,在微引擎上运行的应用软件包含多个线程,多个线程运行在多个微引擎上。需要考虑并行程序设计问题。 如何实现线速处理? 如何保持数据包的顺序? 如何在多个线程间传递数据包的状态? 如何实现数据互斥? 如何隐藏存储器访问时延? 如何对数据包进行排队?,27,IXP2400处理过程举例,28,IXP2400处理过程举例,1. SDH设备接

16、收到一个packet 2. MSF将packet拆分为多个mpacket,将mpacket写入RBUF Element 3. MSF通知Receive_Free_list中等待数据的线程 4. 接收线程根据RSW将mpacket直接从RBUF Element读到DRAM,并将mpacket重组为packet 5. 接收线程将packet放到Scratchpad Ring排队 6. 处理线程从Scratchpad Ring取出packet 7. 从DRAM中读出packet中需要处理的内容 8. 对数据作处理 9. 处理完的数据放到SRAM Queue中排队 10. 发送线程从SRAM Queue取出数据 11. 将发送packet分为多个mpacket,从DRAM直接写入TBUF Element 12. 写TBUF发送控制字,MSF开始发送数据 13. SDH设备向线路上发送packet,29,报告提纲,网络处理器发展历程 Intel IXP系列网络处理器 基于Intel IXP2400网络系统

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号