《路由器的硬件与实现方式.ppt》由会员分享,可在线阅读,更多相关《路由器的硬件与实现方式.ppt(72页珍藏版)》请在三一办公上搜索。
1、第四章 路由器硬件设计与实现,4.1 路由器基本组成与类型,1、ROUTER基本组成路由器由四个功能模块构成:输入端口 输出端口 交换结构(Switching Fabric)路由处理器 输入端口:物理链路和输入包的进口处,通常由线卡提供。实现五 类功能:(1)实现数据链路层的封装和解封装;,ROUTER基本组成,(2)通过输入包目的地址等参数,查找路由表决定目的端口(称为路由查找),路由查找可以使用硬件实现,或者在线卡上嵌入微处理器。(3)提供QoS(服务质量)。端口对收到的包分成若干预定义的服务级别。(4)可能需要运行诸如SLIP(串行线网际协议)和PPP(点对点协议)这样的数据链路级协议或
2、者诸如PPTP(点对点隧道协议)这样的网络级协议。(5)参加对公共资源(如交换开关)的仲裁协议。输出端口:实现数据链路层的封装和解封装;实现复杂的调度算法以支持优先级;支持一些较高级协议等等。,ROUTER基本组成,交换结构部分:迄今为止使用最多的交换技术是总线、Cross-bar和共享内。路由处理器:计算路由表实现路由协议,并运行对路由器进行配置和管理的软件。同时,它还处理那些目的地址不在线卡路由表中的包,路由器的类型,按照路由器在网络中所处位置分类:1接入路由器 连接家庭或ISP内的小型企业客户。接入路由器已经开始不只是提供SLIP或PPP连接,还支持诸如PPTP和IPSec等虚拟私有网络
3、协议。这些协议要能在每个端口上运行。2企业级路由器 企业或校园级路由器连接许多终端系统,其主要目标是以尽量便宜的方法实现尽可能多的端点互连,并且进一步要求支持不同的服务质量。企业级路由器的成败就在于是否提供大量端口且每端口的造价很低,是否容易配置,是否支持QoS。支持防火墙、包过滤以及大量的管理和安全策略以及VLAN。,路由器的类型,3骨干级路由器 骨干级路由器的关键因素是速度和可靠性。硬件可靠性可以采用电话交换网中使用的技术,如热备份、双电源、双数据通路等来获得。骨干IP路由器的主要性能瓶颈是在路由表中查找某个路由所耗的时间。当收到一个包时,输入端口在转发表中查找该包的目的地址以确定其目的端
4、口,当包越短或者当包要发往许多目的端口时,势必增加路由查找的代价。因此,将一些常访问的目的端口放到缓存中能够提高路由查找的效率。不管是输入缓冲还是输出缓冲路由器,都存在路由查找的瓶颈问题。除了性能瓶颈问题,路由器的稳定性也是一个常被忽视的问题。,路由器的类型,4太比特路由器 光纤和DWDM都已经很成熟,但如果没有与现有的光纤技术和DWDM技术提供的原始带宽对应的路由器,新的网络基础设施将无法从根本上得到性能的改善,因此开发高性能的骨干交换/路由器(太比特路由器)已经成为一项迫切的要求。太比特路由器技术现在还主要处于开发实验阶段。,4.2 路由器硬件体系结构的发展,1.发展概述 路由器本质上还是
5、一台特殊的专门执行协议处理的计算机,但从功能上看,路由器与计算机还是有较大的区别。路由器主要有三种发展趋势:一是越来越多的功能以硬件方式来实现,具体表现为ASIC芯片使用得越来越广泛;二是放弃使用共享总线,而使用交换背板,即开始普遍采用交换式路由技术;三是并行处理技术在路由器中运行,极大地提高了路由器的路由处理能力和速度。,路由器硬件体系结构的发展,2.发展历程:第一代单总线单CPU结构路由器 最初的路由器采用了传统计算机体系结构,包括共享中央总线、中央CPU、内存及 挂在共享总线上的多个网络物理接口。,CPU,RAM,物理接口,物理接口,物理接口,这种单总线单CPU的主要局限是处理速度慢,一
6、个CPU完成所有的任务,从而限制了系统的吞吐量。另外,系统容错性也不好,CPU若出现故障容易导致系统完全瘫痪。但该结构的优点是系统价格低。目前的边缘路由器基本上都是这种结构。第二代单总线主从CPU结构路由器 用主从两个CPU代替了原来仅一个CPU结构,因而较大地降低了CPU的负荷,提高了处理速度。两个CPU为非对称主从式关系结构,其中一个CPU负责通 信链路层的协议处理,另一个CPU则作为主CPU负责网络层以上的处理,主要包括转发决定、路由算法和配置控制等计算工作。,CPU,RAM,物理接口,物理接口,物理接口,CPU,总体上来说,第二代体系结构实际上是第一代体系结构的简单延伸,第三代单总线对
7、称式多CPU结构路由器 第三代路由器可以说改善了在第二代体系结构中主要限制,因为它开始采用了简单的并行处理技术,在每个接口处都有一个独立CPU,专门单独负责接收和发送本 接口数据包,管理接收发送队列、查询路由表做到出转发决定等。而主控CPU仅完成路由器配置控制管理等非实时功能。,CPU,RAM,物理接口,物理接口,物理接口,CPU,RAM,CPU,RAM,CPU,RAM,第四代多总线多CPU结构路由器 第四代路由器至少包括三类以上总线和三类以上CPU。显然,这种路由器的结构非常 复杂,性能和功能也非常强大。,Cxbus是数据包在各接口间转发的总线通道,带宽达到533mbps;dbus是diag
8、nosticbus的缩写,用于传送处理器之间的诊断和管理控制数据;Sxbus是交换CPU与路由CPU之间的系统内部总线。接口CPU仅完成非常简单的接收和发送数据的任务。而交换CPU是这个路由器的核心,它负责处理网络第二层、第三层乃至更高层的协议,完成数据包交换功能,交换CPU与接口CPU共享内存,以避免数据传送的延迟。路由CPU采用普通的CISC CPU,用于完成所有非实时的任务,如运行路由协议、统计网络状态信息、响应SNMP请求、配置管理路由器等。,第五代共享内存式结构路由器在共享存储器结构路由器中,使用了大量的高速RAM来存储输入数据,并可实现向输出端的转发。在这种体系结构中,由于数据首先
9、从输入端口存入共享存储器,再从共享 存储器结构路由器的交换带宽主要由存储器的带宽决定。为了提高带宽,必须增大存储器的带宽,并采用较多存储模块。显然,当规模较小时,这类结构还比较容易实现,但当系统升级扩展时,设备所需要的连线将会大量增加,控制也会变得越来越复杂。这种结构不适应向更高水平发展。,第六代 交叉开关/交换式体系结构路由器 与共享存储器设计方案相比,基于交叉开关的设计有更好的可扩展性,并且省去了控制大量存储模块的复杂性和成本。,数据直接从输入端经过交叉开关流向输出端。它采用交叉开关结构替代共享总线,这样就允许多个数据包同时通过不同的线路进行传送,从而极大地提高了系统的吞吐量,使得系统性能
10、 得到了显著提高。,系统的最终交换带宽仅取决于中央交叉阵列和各模块的能力,而不是取决于互连线自身。就目前来看,这种方案是高速核心路由器的最佳方案。基于机群系统的路由器这种基于机群系统的路由器方案目前仍处于研究阶段,如纽约州立大学石溪分校的suez系统,采用了由myrinet连接的8台pentiumii233构成路由器。原理上这种结构的系统具有更强的可扩展能力(如扩展到太位级)和更高的性能价格比,但现在仍存在很多问题。,4.3、路由器的硬件结构,2600系列,3600系列,1.Router的硬件结构-CPU,中央处理器不同系列和型号的路由器,其中的CPU也不尽相同。Cisco路由器一般采用Mot
11、orola 68030和Orion/R4600两种处理器。路由器的CPU负责路由器的配置管理和数据包的转发工作,如:维护路由器所需的各种表格以及路由运算等。路由器对数据包的处理速度很大程度上取决于CPU的类型和性能。,2、Router的硬件结构Memory,路由器采用了不同类型的内存协助路由器工作。(1)、只读内存(ROM)只读内存(ROM)与计算机中的ROM相似,主要用于系统初始化等功能。ROM中主要包含:系统加电自检代码(POST),用于检测路由器中各硬件部分是否完好。系统引导区代码(BootStrap),用于启动路由器并载入IOS操作系统。备份的IOS操作系统,以便在原有IOS操作系统被
12、删除或破坏时使用。通常,这个IOS比现运行IOS的版本低一些,但却足以使路由器启动和工作。,(2)、闪存(Flash)闪存(Flash)是可读可写的存储器,在系统重新启动或关机之后仍能保存数据。Flash中存放着当前使用中的IOS。事实上,如果Flash容量足够大,甚至可以存放多个操作系统,这在进行IOS升级时十分有用。当不知道新版IOS是否稳定时,可在升级后仍保留旧版IOS,当出现问题时可迅速退回到旧版操作系统,从而避免长时间的网路故障。,2、Router的硬件结构Memory,(3)、非易失性RAM(NVRAM)非易失性RAM(Nonvolatile RAM)是可读可写的存储器,在系统重新
13、启动或关机之后仍能保存数据。由于NVRAM仅用于保存启动配置文件(Startup-Config),故其容量较小,通常在路由器上只配置32KB128KB大小的NVRAM。同时,NVRAM的速度较快,成本也比较高。,2、Router的硬件结构Memory,(4)、随机存储器(RAM)RAM也是可读可写的存储器,但它存储的内容在系统重启或关机后将被清除,存取速度优于前面所提到的3种内存的存取速度。和计算机中的RAM一样,Cisco路由器中的RAM也是运行期间暂时存放操作系统和数据的存储器。运行期间,RAM中包含路由表项目、ARP缓冲项目、日志项目和队列中排队等待发送的分组。除此之外,还包括运行配置文
14、件(Running-config)、正在执行的代码、IOS操作系统程序和一些临时数据信息。,2、Router的硬件结构Memory,路由器的类型不同,IOS代码的读取方式也不同。如Cisco 2500系列路由器只在需要时才从Flash中读入部分IOS;而Cisco 4000系列路由器整个IOS必须先全部装入RAM才能运行。因此,前者称为Flash运行设备(Run from Flash),后者称为RAM运行设备(Run from RAM)。,2、Router的硬件结构Memory,(1)系统硬件加电自检。运行ROM中的硬件检测程序,检测各组件能否正常工作。完成硬件检测后,开始软件初始化工作。(2
15、)软件初始化过程。运行ROM中的BootStrap程序,进行初步引导工作。(3)寻找并载入IOS系统文件。IOS系统文件可以存放在多处,至于到底采用哪一个IOS,是通过命令设置指定的。(4)IOS装载完毕,系统在NVRAM中搜索保存的Startup-Config文件,进行系统的配置。如果NVRAM中存在Startup-Config文件,则将该文件调入RAM中并逐条执行。否则,系统进入Setup模式,进行路由器初始配置。,3、路由器的加电启动过程,6、Router的硬件结构-Interface,(1)接口所有路由器都有接口(Interface),每个接口都有自己的名字和编号。一个接口的全名称由它
16、的类型标志与数字编号构成,编号自“0”开始。(A)对于接口固定的路由器(如Cisco 2500系列)或采用模块化接口的路由器(如Cisco 4700系列),在接口的全名称中,只采用一个数字,并根据它们在路由器的物理顺序进行编号,例如:Ethernet0表示第1个以太网接口,Serial1表示第2个串口。,6、Router的硬件结构-Interface,(B)对于支持“在线插拔和删除”或具有动态更改物理接口配置的路由器,其接口全名称中至少包含两个数字,中间用斜杠“/”分割。其中,第1个数字代表插槽编号,第2个数字代表接口卡内的端口编号。如:Cisco 3600路由器中,serial3/0代表位于
17、3号插槽上的第1个串口。(C)对于支持“万用接口处理器(VIP)”的路由器,其接口编号形式为“插槽/端口适配器/端口号”,如:Cisco 7500系列路由器中,Ethernet4/0/1是指4号插槽上第1个端口适配器的第2个以太网接口。,4、Router的硬件结构-Interface,(2)控制台端口(Console)所有路由器都安装了控制台端口,使用户或管理员能够利用终端与路由器进行通信,完成路由器配置。该端口提供了一个EIA/TIA-232异步串行接口,用于在本地对路由器进行配置(首次配置必须通过控制台端口进行)。路由器的型号不同,与控制台进行连接的具体接口方式也不同,有些采用DB-25连
18、接器,有些采用RJ45连接器。通常,较小的路由器采用RJ45连接器,而较大的路由器采用DB25连接器。,4、Router的硬件结构Interface,(3)辅助端口多数路由器均配备了一个辅助端口,它与控制台端口类似,提供了一个EIA/TIA-232异步串行接口,通常用于连接Modem以使用户或管理员对路由器进行远程管理。,4、Router的硬件结构Interface支持,Cisco路由器和接入服务器支持下面类型的接口:异步串行 异步传输模式(ATM)packet-over-SONET(POS)的自动测试交换(APS)信道化E1 信道化T1 信道化T3 拨号器 以太网 快速以太网 光纤分布式数据
19、接口(FDDI),4、Router的硬件结构Interface支持,Cisco路由器和接入服务器支持下面类型的接口:部分(FracTiona)T1/T1高速串行接口(HSSI)ISDN基础速率接口(BRI)ISDN多路基础速率接口(MBRI)ISDN主要速率接口(PRI)LAN扩展器 低速串行 分组包OC-3 PA-E3和PA-2E3同步串行 令牌环 隧道,4.4 网络处理器技术简介,什么是网络处理器技术产生的技术背景技术原理应用领域产品现状发展趋势,1.什么是NPUs技术,网络处理器(Network Processor,简称NP)是一种可以编程的设备(比较典型就是一种芯片)。它不仅仅指的是某
20、一类的设备或产品,而更加广泛地代表了一种网络设计的技术理念。主要的优势:优异的性价比 高度的灵活性 网络处理器的本质,网络处理器是面向网络应用领域的应用特定指令处理器,是面向数据分组处理的、具有体系结构特征和/或特定电路的、软件可编程器件。通过灵活的软件体系提供硬件级的处理性能是NP的关键特性。在以GPP和ASIC/RSIC为核心的设备体系结构阶段,对23层数据处理采用“存储转发”数据分组处理模式。随着网络发展,需要对27层的数据分组采用“存储处理转发”数据分组处理模式才能实现复杂的QOS、安全控制、负载均衡等功能模块。NP的出现,标志着设备对数据分组的处理能力从低层处理过渡到高层细化处理。N
21、P技术为下一代网络的核心技术,其特点是:NP针对数据分组处理,采用优化体系结构、专用指令集、硬件单元,满足高速数据分组线速处理要求;具有软件编程能力,能够迅速实现新的标准、服务、应用,满足网络业务复杂多样化需求,灵活性好;设备具有软件升级能力,满足用户设备硬件投资保护需求。,2.产生的技术背景,网络设备的核心处理部件随着应用需求的变化大致经历了3个阶段的发展过程:CPU ASIC(Application Specific Integrated Circuit,特定用途集成电路)网络处理器,网络处理器的出现,2.产生的技术背景,3.技术原理,3.1 基本结构,3.技术原理,片内处理器:网络处理器
22、内部包含多个片内处理器,构成多处理器系统。这些片内处理器按照功能可以分为核心和转发引擎两种。核心:用于系统管理维护和复杂的数据处理。转发引擎:提供的是快速的数据处理,提供分类调度等服务功能。它可能含有多个硬件线程,每个线程都有一套专门的硬件来存放程序运行的上下文,可获得线程切换的零开销。,3.1 基本结构,3.技术原理,高速的I/O接口单元:网络处理器有丰富的网络I/O接口单元,包括物理链路接口、交换接口、存储器接口以及其他外部处理单元接口等。内部高速总线:多组处理器和I/O接口单元通过内部高速总线(一般为多总线结构)连接在一起,组成优化的数据通路结构,从而提供很强的硬件并行处理能力。存储器:
23、包含多种不同性能的存储结构,以适应不同的应用目的。例如Flash用于存放硬件启动/引导程序;SRAM存放路由表、队列结构等各种查询表格;SDRAM作为缓冲区存放分组数据。,3.1 基本结构,.技术原理,专用指令集:片内转发引擎一般具有专用的精简指令集,这些指令经过针对网络数据处理的优化,例如数据读写,状态判断,堆栈操作,哈希查找等。专用组件(协处理器):要求高速处理(线速)的通用功能模块可以用硬件来实现以提高性能。例如路由查找和数据加密等。,3.1 基本结构,3.技术原理,可编程性:网络处理器的本质在于其可编程性,从而改变ASIC灵活性差的缺点。这是通过提供界面友好而功能强大的编程、调试和性能
24、评价等软件环境实现的。并行处理:网络处理器能够实现不同级别的并行处理,通过流水线实现指令级的并行,通过硬件线程实现线程级的并行,通过片内处理器结构实现处理器级的并行。高速数据处理:网络处理器需要具有线速处理能力,以避免设备成为瓶颈,它的硬件结构为此提供了保证。,3.2 技术特点,3.技术原理,深层数据处理:也叫智能处理(Intelligent Processing),就是根据不同的服务要求可对分组(帧)进行不同深度的处理。例如路由查找只需要处理第三层(IP头部),分类需要处理到第四层(TCP/UDP协议),而安全则需要处理到应用层(分组携带的有效载荷)。模块化设计:网络处理器体系结构的模块化也
25、包含不同的层次,硬件层面和软件层面的模块化。通过模块化设计力图在保持高性能的基础上获得很好的可扩展性和灵活性,并能使设备厂商容易研发不同性能和不同特性的设备。,3.2 技术特点,3.技术原理,可扩展性:网络处理器的可扩展性同样包括硬件可扩展性和服务可扩展性。前者指网络处理器除了可以用来研制小型设备,还可以通过交换机构的连接研制大型设备。后者是指可以在对原有软件结构做很小改动的基础上加入新的服务和功能。,3.2 技术特点,4.应用领域,*入侵检测系统、数据加密、网络监控、Intranet防火墙等安全控制,防御内部和外部的恶意行为;*进行分组分类,识别关键业务流,提供优先传输服务,实现用户在网络服
26、务上的各种管理策略,保证服务质量QoS;*提供虚拟专用网VPN;*流量工程;,4.1 在LAN/企业网中,4.应用领域,主要是支持多种新型业务和多种网络接入,并进行服务质量控制,其中包括:*分组分类、聚合和调度;*实现基于业务等级协议(SLA)的服务质量管理,提供带宽和时延保证,支持动态带宽管理;*提供VPN;*实现负载均衡;*分解和装配各种类型的协议数据单元,执行协议转换,支持多种传输媒体接入;*安全与网络监控。,4.2 在广域边缘/接入网络,4.应用领域,在核心网中,网络处理器用在OC-48到OC-192甚至更高速率下实现对聚合流的分类识别和转发,支持服务质量控制和流量工程,支持多协议标号
27、转换(MPLS)、区分服务(DiffServ)等协议。,4.3 在广域核心网络,5.产品现状,IXP1200系列基本结构为:1个主频最高可达232MHz的处理核心StrongARM、6个RISC结构的可编程微引擎(每个微引擎又包含4个硬件线程)、64位和最高85MHz的IX Bus、32位的SRAM接口单元(工作频率为核心频率的一半)、64位的SDRAM接口单元(工作频率为核心频率的一半)、32位和最高66MHz的PCI总线接口单元。IXP1200通过FBI接口单元和IX Bus相连接。另外还有一套集成开发环境用于对微引擎作应用开发,支持的语言有汇编和C。,典型产品,5.产品现状,IXP240
28、0和IXP2800系列:它们除了增加了到交换结构的接口外,基本上保持了原来的体系结构,但性能有了很大提高。IXP2400支持2.5Gbps应用,具有8个600MHz的微引擎、600MHz的处理核心Xscale,可外接1块DDR DRAM和2块QDR SRAM,支持标准的线卡/交换接口标准SPI-3或CSIX-L1。IXP2800支持10Gbps应用,具有16个1.4GHz的微引擎、700MHz的处理核心Xscale,可外接3块RDRAM和4块QDR SRAM,支持标准的线卡/交换接口标准SPI-4.2或CSIX-L1。,典型产品,5.产品现状,IBM公司的产品有NP4GS1和NP4GS3系列,
29、它们支持2.5Gbps应用;Vitesse公司的支持2.5Gbps应用的IQ2000和IQ2200;C-port公司的支持2.5Gbps应用的C-5和C-5e等等。,典型产品,6.未来之路,性能不断提高 随着生产工艺的提高和体系结构的进一步优化,网络处理器将会有更高的处理速度、更小的尺寸和功耗、更高的可扩展性、更方便实用的开发工具。标准化 网络处理器论坛(NPF)肩负着解决标准化问题这一使命,该组织由CSIX(Common Switch Interface Consortium)和CPIX(CommonProgramming Interface Forum)这2个组织于2001年2月共同创建,
30、CSIX主要制订网络处理器与交换机构之间的标准硬件接口,而CPIX则制定网络处理器应用开发的标准软件接口(API)。CSIX目前已制订出相关规范CSIX-L1。,6.未来之路,产品系列化 多种技术并存 在对处理性能需求很高的高端设备中,ASIC仍然有着很强的生命力。在未来的设备中,可能形成一种以网络处理器为核心,协处理器、CPU和ASIC为辅助处理单元的格局。形成庞大的第三方队伍,Intel IXP网络处理器产品线,Intel IXP4XX Product Line of Network Processors面向家庭、小到中型企业。嵌入式网络设备。Intel IXP12XX Product L
31、ine of Network ProcessorsOC-3 至 OC-12 线速处理应用。Intel IXP2XXX Product Line of Network Processors灵活、高性能、可扩展的网络处理器。最高可满足OC-192 的线速处理。,IXP2400网络处理器,1个Intel XScale Core8个MicroEngine Version 2(MEv2)1个DDR SDRAM控制器2个独立的QDR SRAM控制器MSF(Media and Switch Fabric)接口PCI控制器16K字节Scratchpad存储器Hash单元CAP片内控制和状态寄存器 XPIInt
32、el XScale core 外设接口,IXP2400特点,采用多内核并行处理器结构:片内处理器按任务分为控制平面处理器和数据层面处理器。控制平面处理器通常负责非实时的管理任务;数据平面处理器进行实时、线速数据分组处理。处理器XScal工作在控制平面提供总的控制,处理高层协议,八个并行微引擎工作在数据平面。微引擎是精简的可编程处理器,在入口和出口处线速处理数据分组。支持硬件多线程:为了提高网络处理器的资源利用率,每个微引擎还支持四个或八个硬件线程。每个线程都有一套专门的硬件来存放上下文(Context),以获得线程切换的零开销。优化指令集,设计专用硬件加速处理单元。采用RISC 技术,结合多级
33、流水线技术,大部分指令在一个时钟周期完成。针对网络协议处理特点,设置专用硬件加速处理单元,提供专用指令如乘法指令、CRC校验指令、哈希计算指令、字节对齐指令、硬件队列与环操作指令、CAM(Content Addressing Memory)查找指令、MSF与DRAM间快速通道指令、状态判断与数据读写指令等。,IXP2400特点(续),优化的分级存储组织和分布式存取。网络数据处理需要进行大量的数据分组的接收、存储、复制、转发,存储操作成为系统开销的一大瓶颈。在微引擎内部有大量的不同类别的寄存器、本地存储器、CAM,在微引擎外部有片内存储器Scratchpad。在网络处理器外部可以扩展大容量的片外
34、存储器SRAM和SDRAM,SRAM 用于存放需要快速查找的各种表结构,SDRAM 用于存放数据分组信息。模块可并行访问多种数据存储单元,不同数据存储单元的存取时间周期差异很大。硬件支持的环与队列操作。网络数据处理涉及很多队列或环的数据结构操作,而入队或出队操作需要多次访问内存,极大地影响数据处理分组处理的周期。IXP2400中的SRAM控制器提供了基于SRAM的先入先出队列,通过硬件实现了环与队列操作。,IXP2400外部特性,IXP2400外部特性(续),媒体与交换接口(MSFMedia and Switch Fabric interface)连接物理层设备。连接交换矩阵。支持UTOPIA
35、 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 接口64bit/66MHz PCI总线,与主 CPU 接口。流控制总线(Flow Control Bus)使用两片IXP2400时,在两个NPU间用专用信道传递流量控制信息。,IXP2400体系结构,MEv2特性,MEv2 MicroEngine Version 28个微引擎分为两组
36、,每组有专用的命令和数据总线。ME Cluster0和ME Cluster1。硬件多线程每个微引擎有4/8个硬件线程,线程间实现零开销切换。非抢占多线程(non-preemptive)由微码指令控制线程间的切换。分布式数据存储可并行访问多种数据存储单元。微引擎内部寄存器,Local Memory,CAM。微引擎外部SRAM,SDRAM,Scratchpad。大量的寄存器256 GPRs,512 Transfer,128 Next Neighbor。指令和数据分离获取微码指令没有延迟。,MEv2,报告提纲,网络处理器发展历程Intel IXP系列网络处理器基于Intel IXP2400网络系统设
37、计网络处理器的应用领域,基于NP的典型网络系统,基于IXP2400 实现的OC-48系统,基于Intel IXP网络处理器的软件设计,网络设备软件的三个层面数据层面。控制层面。管理层面。,网络设备软件的三个层面,数据层面包括慢速数据通道和快速数据通道。快速数据通道是由微引擎负责处理的数据转发通道,大部分数据包通过此通道完成处理与转发。慢速数据通道:由通用RISC核负责处理一些例外复杂的数据包,如数据包分段、带扩展头部的数据包处理等。控制层面处理各种通信协议。转发表和状态信息维护。管理层面安装配置接口。策略管理接口。系统管理、统计、计费等。,MicroenginePipeline,IXA软件框架
38、,多微引擎、多线程的并行设计,基于网络处理器成功构建一个网络系统的关键在于网络处理器软件系统的设计与开发,其核心问题就是要软件系统充分发挥网络处理器灵活性和高性能的特点。网络处理器软件系统实现的一个挑战在于软件设计与网络处理器的硬件结构关系非常紧密,必须面向网络处理器的硬件体系结构编程,通过合理分配和使用网络处理器为优化数据包处理的各种硬件资源,如多处理引擎、专用硬件处理单元、各类寄存器、片上内存和其它硬件单元,才能得到一个高性能的系统。通常情况下,在微引擎上运行的应用软件包含多个线程,多个线程运行在多个微引擎上。需要考虑并行程序设计问题。如何实现线速处理?如何保持数据包的顺序?如何在多个线程
39、间传递数据包的状态?如何实现数据互斥?如何隐藏存储器访问时延?如何对数据包进行排队?,IXP2400处理过程举例,IXP2400处理过程举例,1.SDH设备接收到一个packet2.MSF将packet拆分为多个mpacket,将mpacket写入RBUF Element3.MSF通知Receive_Free_list中等待数据的线程4.接收线程根据RSW将mpacket直接从RBUF Element读到DRAM,并将mpacket重组为packet5.接收线程将packet放到Scratchpad Ring排队6.处理线程从Scratchpad Ring取出packet7.从DRAM中读出p
40、acket中需要处理的内容8.对数据作处理9.处理完的数据放到SRAM Queue中排队10.发送线程从SRAM Queue取出数据11.将发送packet分为多个mpacket,从DRAM直接写入TBUF Element12.写TBUF发送控制字,MSF开始发送数据13.SDH设备向线路上发送packet,网络处理器的应用领域,根据不同需求,可以采用NP灵活构造不同规模的处理平台,如单个NP构成的小型单板设备;多个NP构成的中型单板设备;多个线卡通过交换组织构成多板大型设备。已有的基于NP的应用范例:高速路由交换设备:Cloudshield公司使用八个Intel的IXP1200构建的OC-4
41、8光速27层包服务器。ALCATEL使用IBM的POWERNP构建核心路由设备。Cisco公司基于Cisco PXF网络处理器的边缘路由器。高速安全设备:清华紫光UF10000是基于两个Intel的IXP1200网络处理器阵列千兆防火墙。作为第三方软件开发商,Deceng公司推出基于Intel的IXP2400的Snort千兆网络入侵检测系统软件解决方案。IXP2850更是以面向10-Gbit/s的IPSEC VPN设备市场而引起安全设备生产厂商的高度注意。骨干测试设备:骨干网络从2.5Gbps到10Gbps,甚至是40Gbps的高速发展,给网络性能测试同样带来挑战。基于NP的下一代协议分析仪和性能测试仪成为趋势。EMPIRIX公司使用MOTOROLA的C-5DCP,开发网络参数模拟设备。家庭网络设备:家庭网关是家庭网络的核心设备,需要根据具体家庭用户,快速、综合实现各种服务:如安全访问控制、VPN、视频流QOS保障、网络存储、计费管理等。低端NP正好完全满足家庭网关个性化、多变性、高性能要求特点。,