(通信与信息系统专业论文)网络处理器在下一代网络中的应用和优化设计.pdf_第1页
(通信与信息系统专业论文)网络处理器在下一代网络中的应用和优化设计.pdf_第2页
(通信与信息系统专业论文)网络处理器在下一代网络中的应用和优化设计.pdf_第3页
(通信与信息系统专业论文)网络处理器在下一代网络中的应用和优化设计.pdf_第4页
(通信与信息系统专业论文)网络处理器在下一代网络中的应用和优化设计.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(通信与信息系统专业论文)网络处理器在下一代网络中的应用和优化设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

上海交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅。本人授权上海交通大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存和汇编本学位论文。 保密口,在j 年解密后适用本授权书。 本学位论文属于 。 不保密团。 ( 请在以上方框内打“4 ”) 学位论文作者签名: 缘培乜 日期:p o 乙年f 。月- ,日 指导教师签名: 哼汲久 e t 期:扩l 年,。月z 3e t 上海交通大学 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容外, 本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式 标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 缘。寺蝗 日期:p 厶年f 。月z 3 日 上海交通大学硕士论文:网络处理器在下一代网络中的应用 网络处理器在下一代网络中的应用和优化设计 摘要 【在告别了提供分离的数据业务和语音业务的网络框架结构之后, t 下一代网络的发展重心开始转移到提供复合的面向服务的网络构架 上。电子商务、网络多媒体、v o l p 等业务的兴起正推动着因特网进 入一个新的发展阶段。在这一阶段中,业务的种类、内容和服务质量 的地位将越来越突出,并成为网络设备提供商和网络运营商之间竞争 的焦点。 在这一新形势下,一方面,为了提高网络的安全和服务质量, m p l s 、d i f f s e r v 、i p s e c 等新型协议被提出并采用,另一方面,随着 因特网逐渐深入到经济生活中的方方面面,各种新型业务以越来越快 的速度不断涌现,伴随它们而来的是对网络处理速度和能力的更高要 求,如何提高网络设备的处理速度和可编程能力成为当务之急。y 为了进步提高处理的灵活性又保证处理速度,出现了网络处理 器。我们完全自主开发的三层交换机系统能在标准以太网的测试环境 下达到真正的三层线速转发,丢包率为零,在国内尚属少见。这个三 层交换机采用了m m c 公司的网络处理器作为核心的处理部件,通过 精心的数据流程的优化设计并添加了协处理器( x c p ) 的设计创新, 突破了m m c 网络处理器只能达n - - 层线速转发的瓶颈,做到了完全 ji 一h 海交通大学硕士论文:网络处理器在下一代网络中的应用 的三层线速转发。很多采用的改进技术,在业界也是不多见的,并因 此获得了上海市a 级高新技术成果转化项目奖。 本文首先介绍了两种主流网络处理器i n t e li x p l 2 0 0 和m m c r i p 7 1 2 0 各自的特点,并独创性的比较他们的异同点,揭示了网络处 理器内部的原理。然后详细介绍三层交换机的系统设计,包括硬件系 统设计和软件系统设计。在此基础上论述网络处理器的具体实现细 节,给出了几种新颖的提高系统性能的优化方法。最后针对目前下一 代网络的发展情况,提出了一些改进意见。 关键词:网络处逮菇,三层麦簇机,下一代商落,服务嘉釜,交换矩 阵,协处理器,策略引擎 上海交通大学硕士论文:网络处理器在下一代网络中的应用 a p p l i c a t i o na n do p t i m a ld e s i g n o fn e t w o r k p r o c e s s o r i i nn e x t g e n e r a t i o nn e t w o r k a b s t r a c t t h en e x tg e n e r a t i o nn e t w o r k sd e v e l o p m e n tf o c u so nt h e m u l t i p l e s e r v i c ea r c h i t e c t u r ef r o mp r e v i o u s l ys e p a r a t e da u d i oa n dd i g i t a l s e r v i c e a r c h i t e c t u r e t h e r i s i n g o fe b u s i n e s s ,n e t w o r km u l t i m e d i aa n dv o l p s e r v i c e sa r en o w p u s h i n gt h ei n t e r n e tt oan e wd e v e l o p m e n te r a i nt h i s p h r a s e ,b e i n gt h ec o m p e t i t i o nf o c u sb e t w e e ne q u i p m e n tp r o v i d e ra n d s e r v i c ep r o v i d e r , t h ev a r i e t y , c o n t e n ta n dq u a l i t yo fs e r v i c ew i l lp l a ya m o r e i m p o r t a n t r o l e i nt h i sn e wc i r c u m s t a n c e s ,m a n yn e wp r o t o c o l sw e r es u b m i ta n d i m p l e m e n t e d t oi m p r o v et h en e t w o r k s e c u r i t ya n dq u a l i t yo fs e r v i c e ,s u c h a sm p l s ,d i f f s e r v , i p s e c ,e t c a tt h es a l n et i m e ,a st h ei n t e r n e tb e i n g u t i l i z e di nm a n ya s p e c t so fp e o p l e sl i f e ,m u c hm o r en e ws e r v i c e sa r e r u s h i n go u tw i t ht h ec o m p a n yo f t h em o r es e v e r ed e m a n do fn e t w o r k p r o c e s s i n gs p e e d a n dc a p a b i l i t i e s s oh o wt o i m p r o v et h ep r o c e s s i n g s p e e d sa n dp r o g r a m m a b l ec a p a b i l i t i e so f t h en e t w o r ka p p l i a n c e sb e c a m e u r g e n t a f f a i r s 上海交通大学硕士论文:网络处理器在下一代网络中的应用 t h a t sw h yc o m e st h en e t w o r kp r o c e s s o r n e t w o r kp r o c e s s o rw a s d e s i g n e d t o p r o c e s s a n df o r w a r d p a c k e t ss p e c i f i c a l l y , w i t h i t s h i g h p r o g r a m m a b l ec a p a b i l i t i e s t h el a y e r - 3s w i t c hw ei m p l e m e n t e dc a n r e a c hr e a l l i n e - s p e e d o f l a y e r - 3p a c k e tf o r w a r d i n g u n d e rs t a n d a r d e t h e m e t t e s t i n ge n v i r o n m e n tw i t hz e r op a c k e t1 d s b t h el a y e r - 3s w i t c h a d o p tt h em m c sn e t w o r kp r o c e s s o ra st h ek e yp r o c e s s i n gu n i tt og e t t h e i rp o i n t ,b r o k et h r o u g ht h eb o t t l e - n e c kt h a to n l yl a y e r - 2l i n e s p e e dc a n b ea c h i e v e dw i t ht h i s t y p eo fm m c n e t w o r kp r o c e s s o r , b ye l a b o r a t e o p t i m i z a t i o no fd a t af l o wa n dc r e a t i v ed e s i g no fc o p r o c e s s o rx c e b y t h e w a y , s o m e t e c h n i c a lm e a n sa r e n e w l yi n t r o d u c e d i nt h i si n d u s t r y t h i s p a p e rb e g a nw i t ht h ei n 打o d u c t i o no ft w op o p u l a rn e t w o r k p r o c e s s o r si ni n d u s t r y , i n c l u d i n gt h e i rs i m i l a r i t i e sa n dd i f f e r e n c e s t h e n g a v e a no v e r v i e wo fl a y e r - 3s w i t c h s s y s t e m :a r c h i t e c t u r e ,i n c l u d i n g h a r d w a r es y s t e m d e s i g n a n ds o f t w a r es y s t e md e s i g n ,a n dt a l k e da b o u tt h e i m p l e m e n t a t i o nd e t a i l sa n do p t i m i z a t i o nm e a n so f t h en e t w o r kp r o c e s s o r b a s e do n t h a t f i n a l l yp u t f o r w a r ds o m ec r e a t i v e i m p r o v e m e n t r e c o m m e n d a t i o n s a c c o r d i n g t ot h e d e v e l o p m e n t o fn e x tg e n e r a t i o n n e t w o r k k e y w o r d s :n e t w o r k p r o c e s s o ll a y e r - 3s w i t c h ,n e x tg e n e r a t i o nn e t w o r k , q u a l i t yo fs e r v i c e ,s w i t c hf a b r i c ,c o p r o c e s s o r ,p o l i c ye n g i n e 上海交通大学硕士论文:网络处理器在下一代网络中的应用 第一章绪论 本章首先提出了本文的中心课题网络处理器,对其功能、应用的场合作了简单的介 绍。由于网络处理器技术是建立在具体应用系统的基础上,本章就其应用的典型系统三 层交换机展开讨论,介绍了三层交换机的特点及网络处理器在其中的地位和作用,并特别介 绍了网络处理器主要的技术要点和发展现状。最后,对本文的虫要内容和作者的主要工作作 了一个概述。 1 1 网络处理器的出现 在告别了提供分离的数据业务和语音业务的网络框架结构之后,下代网络的发展重心 开始转移到提供复合的面向服务的网络构架上。电子商务、网络多媒体、v o l p 等业务的兴 起正推动着因特网进入一个新的发展阶段。在这一阶段中,业务的种类、内容和服务质量的 地位将越来越突出,并成为网络设备提供商和网络运营商之间竞争的焦点。 在这一新形势下,为了提高网络的安全和服务质量,多协议标签交换( m p l s ) 、d i f f s e r v 、 i p s e c 等新型协议被提出并采用,而同时,备种新型业务以越来越快的速度不断涌现,伴随 它们而来的是对网络处理速度和能力的越来越高的要求,如何缒高网络设备的处理速度和可 编程能力成为网络发展的瓶颈。 网络设备的可编程能力和处理速度常常是一对矛盾,传统的路由器和以太网交换机就是 一个最典型的例子。传统路由器采用基于通用计算机的体系结构,这一方面使其具有良好的 可编程能力,另一方面也限制了它的处理速度。以太网交换机利用硬件a s i c 来实现第二层 交换,可以达到很高的交换速度,但不能进行更高层协议的处理。 以专用可配置a s i c 为核心的第三层交换机一定程度上克服了这对矛盾。但随着网络应 用的越来越丰富,专用a s i c 在灵活性和功能上的局限性也变得越来越明显。为了进一步提 高处理的灵活性又保证处理速度,出现了网络处理器。网络处理器是专门用来执行包处理、 转发的高速可编程处理器。它的出现给网络界带来了高速可编程能力,将对i n t e r n e t 未来 的发展带来深远的影响。 1 2网络处理器的典型应用系统三层交换机简介 上海交通大学硕士论文:网络处理器在下一代网络中的应用 首先,这里的交换机是指一种网络互联设备,是目前构筑局域网的核心设备。具备网络 互联功能的基本网络互联设备有三种:网桥、路由器、网关,交换机是一种高级网桥,而网 关1 :作在第七层应用层,这里就不再讨论。 交换的基本功能就是转发业务流,将输入端口与输出端口对应起来。交换机的体系结构 和实现方法( 例如交换矩阵) 决定了在什么时候进行对应以及如何对应。通常我们对于第二 层报文交换非常熟悉,它使用目标端口的m a c 地址( 即以太网第二层中的媒体访问控制子 层) 来决定输入信息包的下一步流向。 路由的基本功能是: 路由处理( 路径确定、路由表的维护)! l 业务流转发( 地址解析、计数器维护、报文头重写) 地址解析的实现通常是以部分或全部第三层目标地址为索引来查找相应的第二层m a c 地址。路由选择具有比传统的第二层交换更大的网络视野( 日口对应第三层) 。我们用特别服 务来指不同的交换和路由产品所实现的其他功能,这些功能差别可能会比较大,例如: 将业务流转换为适于在广域网中传输的格式。 业务流身份的认证。 报文过滤( 如出于安全目的) 。 将业务流从一种格式转化为另一种格式( 例如,从令牌环格式转换为以太网格式) 。 协议封装或隧道功能。 网络互连的第一种设备网桥用于将两个局域网段连接起来。它比中继器要略微好一些, 后者仅仅简单地将所有业务流从一个端1 3 拷贝至另一端1 3 ,丽网桥能够“知道”各个网段中 设备的第二层地址。这意味着网桥可以根据所知道的目标位置将业务流从一个网段转至另一 网段。下面我们来看一下如何区分路由器与交换机:l 交换机提供交换功能,也可能提供一些特别服务( 如报文过滤) 。 路由器提供路由功能、交换功能以及特别服务。 在本文中,进行如下区分是很有用处的: 第二层交换可以: ( 1 ) 根据第二层( l2 ) 地址转发业务流。 ( 2 ) 执行交换功能。 ( 3 ) 可能提供特别服务( 例如报文过滤) 。 第三层交换可以: ( 1 ) 基于第三层( l3 ) 地址转发业务流。 l _ i 卜海交通大学硕士论文:网络处理器在下一代网| 苦中的应用 ( 2 ) 执行交换功能。 ( 3 ) 可能提供特别服务( 例如认证) 。 ( 4 ) 执行或不执行路由处理。 由此可见,三层交换机基本上具各路由器的基本功能,比较高端的还可以加入一些特别 服务功能,而且就业务流的转发和交换上来说要比路由器的性能要好很多。这也使得三层交 换机成为局域网构架的核心网络互联设备。而三层交换机的核心技术就是网络处理器,他决 定了三层交换机的类型和特性。 1 3 网络处理器的技术要点 网络处理器本质上只不过是一种处理器,是众多处理器申的一个分支,专门针对网络业 务流处理进行优化设计的一种处理器。网络处理器要解决的主要问题就是线速的处理 1 0 0 m b p s 、1 0 0 0 m b p s 甚至是1 0 0 b p s 的数据流同时又能具备灵活的可编程性能。而为了达到 这个目的,网络处理器必须是可编程的,具有高速的i o 数据通道,足够高的c p u 处理能 力和足够宽的内存带宽以提供数据的分析、改写处理,另外还需要能够具备嵌入协处理器的 能力。 与传统的处理器相比,网络处理器具有以下的优势: 网络处理器可以提供数据包的线速转发功能,包括数据包的分类、统计和转发。另 外还可以根据用户程序的要求进行数据包的重组和分拆; 网络处理器可以根据用户需要进行带宽的分配和优先级定义,实现对各类用户数据 包的分类管理; 实现对三层及三层以上协议的分析。 一种比较典型的网络处理器结构如图1 - 1 所示:【2 1 l o 上海交通大学硕士论文:网络处理器在下一代网络中的应用 引引输出队列 ;= = o ooo 口 口 口 i输出队列管理和包处理j p ( 交换矩阵) 、,、 |包处理| 一 包分析 n j 协处 理器j f i g 1 1 i n t e r n a ls t r u c t u r eo fn p 图卜l 网络处理器的内部结构 从功能结构上来看,网络处理器可以分为三大块:输入模块( i n g r e s s ) 、控制处理模块 ( c p ) 、输出模块( e g r e s s ) 。输入模块包括拆帧和输入缓冲管理,控制处理模块包括数据流 的控制、路由表的查找、统计信息收集,输出模块包括输出队列管理和组帧。 完成的功能如下; i 拆帧组帧:分解和重新组装各种协议数据单元; j 包分析:分解提取各种协议数据单元,包括协议类型、端口号、目标u r l 等; 包处理:修改t t l ,重新计算c r c 等; 输出队列管理:如接入控制( 根据用户的配置丢弃某些数据包) 、流量整形( 调整 时延和抖动) 、流量工程( 根据优先级控制发送) : 统计信息收集:详细的记录各种统计信息,为上层网络管理和q o s 的策略实施提供 依据; 协处理器:线速的路由表查找、加密和解密等; 1 4 网络处理器的发展现状 网络处理器从2 0 0 0 年初出现到现在被许多网络设备制造商选作新一代高端路由器设备 的核心处理器。而在这段时间里,能够开发出成熟的n p u 芯片的公司也从开始的两三个迅 速增加到了十几个,而且n p u 的处理能力也从2 s g b p s 扩展到1 0 g b p s 。这些都说明网络处 理器技术在网络产品的市场中越来越占用重要的位置。尤其在高端路由器和交换机市场,网 络处理器以其杰出的包处理性能及可编程性已经成为构成路由转发引擎不可替代的部分。 计息集 一 一 统信收 一 雌制器 一 上海交通大学硕士论文:网络处理器在下一代网络中的应用 从当前的网络处理器的结构来看,可以将网络处理器分为三种主要的结构类型: 基于通用r i s c 的普通架构 最初的网络处理器设计采用多个r i s c 的处理器内核集成到一个芯片中,充分利用r i s c 的特点:固定指令长度,并加以改进:有限寻址模式、只支持能在一个时钟周期内完成的指 令、增加寄存器的数量,以求达到最大的性能提高。但是r i s c 的缺陷是需要多条指令完成 复杂的功能,而且能够集成的处理器内核个数有限,并行处理的难度很大。因此这种架构的 j 网络处理器一般无法处理千兆位的端口。 带硬件加速器的增强型r | s c 架构 最典型的是采用r i s c 加上a s i c 的架构,r i s c 作为核心控制器,a s i c 执行高速处理 工作。这也是目前第二代网络处理器采用最多的架构。由于a s i c 的限制,可编程能力有限, 但是性能比第一种架构有不少提高。 真正意义的网络处理器架构 针对网络处理特性,集成了多个处理速度快的小处理器内核,配合特别优化的指令集, 专门执行数据包的处理工作。片内的所有部件和结构都是为了更好的处理大数据量和复杂协 议j 作而特别设计的。这种架构的网络处理器不但具有很强的可编程能力,还能提供千兆位 甚至是几十到几百千兆位的处理能力。 而且目前市场上的网络处理器基本上已经从过去的增强型r i s c 架构改进成真正的网络 处理器架构,处理能力也从过去i g b p s 以下改进到l g b p s 、2 5 g b p s 。其中的典型代表为m m c 公司的n p 7 1 2 0 和i n t e l 公司的i x p l 2 0 0 ,都是砸向1 g b p s 的网络处理器。同时其他的公司如 i b m 的p o w e r n p n p 4 g s 3 , q i t c s s e 的1 q 2 0 0 0 ,a g e r es y s t e m 的p a y l o a dp l u s 都是面向2 5 g b p s 的网络处理器。另外还有几家公司正在开发面向1 0 g b p s 的网络处理器,但是目前还没有发 布,其中有x s t r e a ml o g i c 的d m s 核,e z c h i p 的n p l ,l e x r a 的n e t v o r t e x 。 1 5本文的主要内容及作者的主要工作 作者在最近两年多的时间里,一直从事三层交换机的开发和调试工作,并参与后期产品 的升级设计工作,同时对三层交换机系统采用的网络处理器m m cn p 7 1 2 0 系列做了深入的 研究。在完成三层交换机的实现基础上,结合对多种网络处理器的研究和网络发展趋势提出 了一些改进方法。 针对作者对网络处理器在理论和实现方面做的工作,本茗分为四大部分: ( 1 )两种主流的网络处理器的全面比较,分析了网络处埋器的各个技术层面和特点。 从横向比较的角度揭示了网络处理器内部的原理; i l1 2 上海交通大学硕士论文:网络处理器在下一代网络中的应用 ( 2 ) 详细讨论了三层交换机的具体实现,包括软硬件系统及实现,并重点论述了网 络处理器的实现和改进。为了提高系统性能,不仅充分的挖掘网络处理器本身 的所有资源,精心优化路由算法,还创新性的引入了协处理器的设计,使得系 统突破性的达到了三层的线速路由转发。对实现后的产品性能给出了实时结果 分析。 ( 3 ) 介绍了当前的网络发展趋势,f 一代网络的特点,并分析了当前的技术热点, 如软交换等,总结出技术的发展需求。 ( 4 ) 进一步研究了网络处理器的局限性,围绕着提高整体性能,提出了适合下一代 网络的网络处理器架构。这些改进主要包括特殊横式的流水线设计、程序空间 和数据空间的分离技术、内嵌存储器技术、在线的协处理器技术,是目前还没 有被网络处理器采用的新技术,在一定程度上改进了网络处理器的性能。但是, 由于网络处理器是一个非常复杂的系统级芯片,往往牵一发而动全身,局部的 性能改进不一定就能提升系统的整体能力,因此还有待实践的检验。 总的来说,通过对算法的改进和协处理器创新性的设计,使得能力有一定局限性的网 络处理器突破了固有的瓶颈,提升了三层交换机的整体性能,达到国际先进水平。但由于芯 片的核心技术并没有掌握在自己手中,所以还局限在应用国外先进的芯片技术层次上。还无 法自主开发。因此很多改进设想无法进行实际的流片、试验、研究这也正是我们研究的方 向。 第二章两种主流网络处理器的比较 本章首先介绍了当前网络处理器的概况,然后着重介绍l i , t ai x p l 2 0 0 和m m cn p 7 1 2 0 两种网络处理器,并对他们进行了详细的比较。 2 1网络处理器简介 随着网络处理器概念在市场上初露端倪,立刻就出现了不少所谓的网络处理器芯片。其 中很大一部分只是将通用的r j s c 处理器进行些扩充,比如增大一些内存和片内缓存,增 强一些处理高速数据流的能力,充其量只能称之为第一代的网络处理器。但其中也不乏后来 非常流行的一种设计方法,那就是做以太网控制器的改进,使他具备智能,并由此转化出交 i 上海交通大学硕士论文:网络处理器在下一代网纠中的应用 换的以太网控制器。在这个阶段,所有的网络处理器都是面向第二层交换的,都没有涉及到 _ 三层交换的概念。 随后就出现了目前非常流行的面向1 g b p s 的网络处理器,其中包括i n t e l 的i x p l 2 0 0 、 m m c 的r i p 7 1 2 0 、g a l i l e o 的g a l a x y 、i b m 的p o w e r n p 等等。在这当中,有些网络处理器是 套片,也就是说需要一整套的其他芯片配合使用,比如说s w i t c hf a b r i c 芯片,而有些网络 处理器是将s w i t c hf a b r i c 芯片集成起来,作为单片使用,但就其本质而言都是比较类似的。 这些网络处理器都有一个共性,都是针对第三层交换而设计的,具备处理三层数据的能力。 同时,也考虑了一些扩展性的问题,提供一些接口添加协处理器,以增强网络处理器的竞争 力。可以说,到了这个阶段,才是网络处理器发展的繁荣期。 而技术是永远也不会停止前进的,为了面向更加高端的实际应用,很多公司开始设计能 够处理高层协议的网络处理器,同时又能处理更高速率的数据。目标是1 0 g b p s 的七层网络 处理器,可谓之真正的网络处理器。 ; 2 2i n t e li x p l 2 0 0 网络处理器 2 2 1 简介 i x p l 2 0 0 是i n t e l 公司网络交换体系结构的基础。他具有高性能的处理能力,可适应多 种局域网和远程通讯的产品。i x p l 2 0 0 的较为突出的特性是a s i c 硬件的性能和微处理器的 可编程性,可用于处理网络设备的高速数据操作要求。它采用了六个对称的r i s c 数据处理 器( 称为微引擎) 和一个s t r o n g a r m 的处理器,并且在单片上集成了两个内存接口,一个 p c i 接口,和一个i n t e l 自己的i x b u s 接口。 1 i 由六个对称的r 1 s c 数据处理器和一个s t r o n g a r m 的处趣醅构成的i x p l 2 0 0 构架是 种松耦合的混合并行处理器集。通过将处理器集和内存存取隔离开来以获得最大的数据吞吐 量。而为了达到这一点,所有功能部件的设计都是为了获得最大的数据吞吐量而特别优化的。 比如f i f o 队列的大量使用使得内存接口、i xb u s 接口、p c i 接口从执行流水线中独立出来, 硬件对线程的支持使得微引擎线程切换的额外开销为零。 i x p l 2 0 0 的特性如下: 集成高性能的3 2 b i t 嵌入式r i s c 处理器s t m n g a r d 核,1 6 k b y t e 的指令缓存,8 k b y t e 的数据缓存,5 1 2 b y t e 的微型数据缓存,w r i t eb u f f e r 和内存管理单元。 六个集成的可编程的微引擎,运行频率高达2 3 2 m h z ,每个微引擎支持四个线程, 零开销的线程切换,超大寄存器集。 1 4 j 一海交通大学硕士论文:网络处理器在下一代网络中的应用 6 4 b i t l 0 4 m h z 的i xb u s ,峰值带宽6 6 ( 3 b p s 。 3 2 b i t ,6 6 m h z 的p c i 总线接口,2 6 4 m b y t e s e c 峰值带宽,两个d m a 通道。 6 4 b i t 的s d r a m 标准接口,峰值带宽9 2 8 m b y t e s e c ,可寻址2 5 6 m b y t e 。 3 2 b i t 的s r a m 标准接口,峰值带宽4 6 4 m b y t e s e c ,可寻址8 m b y t e 。 整个i x p l 2 0 0 的结构框架图如图2 - 1 所示。【3 1 i n t e li x p l 2 0 0n e t w o r kp r o i :e s s o r n o t e s ; o t h e rb r a n d sa n dn a m e sa 悖t h ep r o p e r t yo f t h e i rr e s p o c t l v eo w n e r s 一3 2 - b i t d 猷a b u s :! 至丛堡墅! 堕1 1 璺! 竖一 啪2 圈- 1 h i x p i i ;黼嚣酽 2 2 2 功能部件介绍 2 2 2 1s t r o n g a r m 核心处理器 s t r o n g a r m 是标准的3 2 b i t r i s c 处理器核,除了采用了更高性能的低功耗、紧凑型设计 以外,其他的标准部件和通用的s a l l 0 0 系列蔫不多,都有协处理器、存储管理单元( m m u ) 、 上海交通大学硕士论文:网络处理器在下一代网络中的应用 指令缓存、数据缓存、读缓冲区、写缓冲区。s t r o n g a r m 中的读写缓冲区,不但软件可编 程,而且通过预读提高性能,且无需暂停流水线,这使得在进行数据搬移的性能大大提高。 2 2 2 2m i e r o e n g i n e 数据处理器 1 x p l 2 0 0 内嵌有六个可编程的3 2 b i t r i s c 处理器,称为数据处理器,主要用来处理底层 的高速数据。这六个数据处理器具备很多不同的特性,以区别s u o n g a r m 。他们具有针对 网络和通讯应用的3 2 b i t r i s c 指令集,以i x p l 2 0 0 的核心频率运行,而且每一个指令周期可 以执行一条指令。这六个数据处理器是完全并行的结构,共享内部3 0 g b p s 的总线带宽,对 所有的资源都具有相同的存取权利。 4 数据处理器的内部结构如图2 2 所示。 f i g 2 - 2m i c r o e n g i n eb l o c kd i a g r a m 图2 2m i c r o e n g i n e 结构图 数据处理器有一下几个特性: 多线程的硬件支持,多达4 个线程。 有1 k 的指令控制区,即程序空间。 上海交通大学硕士论文;网络处理器在下一代网络中的应用 1 2 8 个通用目的的3 2 b i t 寄存器。 1 2 8 个3 2 b a 的传输寄存器,用来讲数据传入和传出数据处理器。 强大的a l u 运算和移位操作部件,可以在一个周期内同时执行a l u 运算和移位 操作。 多线程的硬件支持,是一个多任务的突破,他在高效和多功能上获得了一个平衡点,可 以说是i x p l 2 0 0 强大功能中的一个亮点。他可以充分利用处理器资源完成尽可能多的任务, 当某个任务需要的资源暂时无法满足时可以让这个任务进入睡眠状态,把处理器资源让给其 他任务。这样使得i x p l 2 0 0 不但功能强大,而且非常的灵活 l 能满足不同需要。为了达到 硬件支持的多线程,每个数据处理器都有四套独立的程序计数密、事件信号、寻址寄存器。 而强大的a l u 和移位功能部件,就是汲取了数字信号处理器( d s p ) 的特性,达到了 能在个周期内同时执行a l u 运算和移位操作。 f b iu n i t 提供了在片的便笺式存储器、哈希索引生成部件、i xb u s 的接口、f b ic s r s 寄存器。s t r o n g a r m 和数据处理器都是通过f b i 的p u s h p u l l 引擎接1 7 1 来使用f b i 的这些资 源。f b i 结构如图2 - 3 所示。 上海交通大学硕士论文:网络处理器在下一代网络中的应用 s d i r a md a t ab u s f f r o ms d r a m p u s i v p u t le n g i n e s ) s r a md a t ab u s e t o ;f r o m m l c r o e n g l n es r a m t r a n s f e rr a g i s t e r s ) s t r o n g a r mr e a d o rw r i t e a m b a c o m m a n dn o ma t u l m i c r o e 1 9 i n oc o m m e n d i c o n l r n a l l db u s j “4 镦;船嚣鬻湍” 这个部件的设计使得s t r o n g a r v l 和数据处理器可以同等地使用i xb u s ,并最大限度的 利用i x b u s 本身的高带宽。从f i f o 和r e a d y b u s 的设计完全可以看出这一点。 2 2 3 小结 总之,为了结合a s i c 的高性能和通用r i s c 处理器的灵活性,1 x p l 2 0 0 独创性的设计 ( 一个s t r o n g a r a m 和六个并行的数据处理器结构) 很好的作到了这一点。 2 3m m cn p 7 1 2 0 网络处理器 2 3 1 简介 n p t l 2 0 ( 又称为g p i f 2 0 7 ) 是m m c 公司开发的双引擎网络处理器,可以连接四个g i g a b i t 的端口。m m c 公司的网络处理器就是典型的智能端日控制发展而来的一种设计思路,他是 套片结构,需要一整套芯片配合使用。整个网络处理平台包括网络处理器交换矩阵、网络处 理器、网络协处理器。交换矩阵主要用来提供无阻塞线速的连接交换,并利用其特殊的结构 1 8 上海交通大学硕士论文:网络处理器在下一代网络中的应用 提供增强的q o s 能力。网络处理器就是专门进行数据报处理j 转发决策、流程总控的智能 数据报处理器。而网络协处理器则是用来提供一些特殊的增强功能,比如安全功能、线速路 由查找等。 采用r i p 7 1 2 0 的系统框架结构如图2 - 4 所示。【5 】 f i g 2 - 4n p 7 1 2 0s y s t e mb l o c kd i a g r a m 图2 - 4n p 7 1 2 0 系统结构图 n p 7 1 2 0 的主要特性如下: 两个g i g a b i t 的线速通道。 为基于决策的网络算法特别优化的流水线。 多任务切换的零开销。 针对网络优化的指令集。 内嵌两个多任务的微控制器。 高速的协处理器接口。 内嵌的策略引擎。 支持内部通道的动态交换。 大量可用的内部寄存器和通道寄存器。 n p 7 1 2 0 的内部功能结构图如图2 - 5 所示。 1 9 上海交通大学硕士论文:网络处理器在下一代网络中的应用 2 3 2 功能部件介绍 2 3 2 1 核心模块 f i g 2 - 5n p 7 1 2 0f u n c t i o n a d i a g r a m 图2 5n p 7 1 2 0 功能结构图 n p 7 1 2 0 有两个n p c o r e ,每个n p c o r e 有一个数据报转换引擎( p t e ) 、一个微控制器、 一个数据统计引擎和一些相应的内存资源。 数据报转换引擎主要提供数据通道,并 以平滑数据的突发性。本质上,数据报转换b 对数据报进行控制转换。而在数据报转换引 的。 卜海交通大学硕士论文:网络处理器在下一代网络中的应用 微控制器则是n p c o r e 的核心控制器,专门为在多通道上并行的执行数据报处理而优化 的控制器。每个微控制器可以支持1 6 个任务,一黾有数据报到来,他就开始分析数据报内 容来决定采取那种处理方式,并用数据报内容中的部分作为转发查找的索引。 而数据统计引擎是基于硬件的统计部件,忠实的记录接收和发送的数据报个数。【6 2 3 2 2 接口模块 接口模块包括一个提供数据报和数据信元接口的切割器( s l i c e r ) 和一个提供通用的 g i g a b i t 接口的g g i 模块。 在s l i c e r 中,数据报被切割成一个个的信元,并用a t m 的a a l 5 协议封装,同时也将 一个个的a a l 5 协议封装的信元组装成完整的数据报。a a l 5 协议封装还提供额外的纠错和 保护功能。切割成信元是为了方便在交换矩阵中无阻塞的交换。 g g i 模块就是为了连接g i g a b i t 的m a c 接口模块,n p 7 1 2 0 的g g i 可以连接四个g i g a b i t 的m a c 。 2 3 2 3 多路转换磊( m u x ) m u x 是个s l i c e r 或g g l 与p t e 之间的接口,他可以按照设定好的配置把其他接口过 来的数据报分发给各个p t e ,并把多个p t e 的数据报整合起来发送给其他接口。而这一切 都是在微控制器的控制下进行的。 2 3 2 4 内存存取模块 在第三层甚至是第三层以上的处理中,微控制器就需要多次存取内部策略引擎和外部搜 索引擎。而对内部策略引擎和外部搜索引擎的存取就是通过这里的内存存取模块。n p 7 1 2 0 内部的策略引擎是为了进行数据报分类和一些轻量级的查找工作而设计的,对于1 0 以上的 第三层最长匹配查找就比较难以胜任。这时就需要外部搜索引擎。 同时这个接口还可以连接一些不同种类的内存,以弥补内部内存的不足。 上海交通大学硕士论文:网络处理器在下一代网络中的应用 2 3 2 5 管理控制模块 微控制器通过串行的m i i ( m e d i a i n d e p e n d e n ti n t e r f a c e ) 来控制g g i 设备。n p 7 1 2 0 作为 主控设备,g g i 设备是从设备。这样主控c p u 就可以通过这个接口获得g g i 的控制功能。 2 3 3 小结 从以上的介绍可以看出,m m c 的n p t l 2 0 是一种智能的端口控制设备,一种内嵌强大 的c p u 的接口控制芯片。但是,也同样达到了高度灵活的高潋网络处理器。 j ; 2 4性能特点比较 可以很显然的看出,i x p l 2 0 0 和m m cn p 7 1 2 0 是完全不同的两种网络处理器,源自不 同的设计思路。下面从几个具体的方面比较它们的异同点。 2 4 1 系统应用结构 i x p l 2 0 0 是一种单片式的网络处理器,因此在系统构建的时候只需要添加m a c 等外阐 器件就可以组建成一个系统,完成特定的功能。所有工作都捌耐络处理器内部完成,非常的 简洁方便。 i1 而n p 7 1 2 0 是一种套片式的网络处理器,在系统构建的时候不但需要添加m a c 等外围 器件,还需要交换矩阵、协处理器等配套使用的芯片,共同组成一个系统,完成特定的功能。 这里的网络处理器只处理一些核心的智能工作,通常还需要一个主控的c p u 来配合使用。 系统组建比较麻烦,但是如果精心设计,系统的性能会非常高,专用性比i x p l 2 0 0 这种单 片式网络处理器要强,灵活性稍差。 2 4 2 内部结构 i x p l 2 0 0 最显著的特点就是一个多c p u 核的网络处理器,它由多达7 个c p u 核构成 上海交通大学硕士论文:网络处理器在下一代网络中的应用 平等的存取所有资源,i x p l 2 0 0 的内部结构设计成对称的多女d 理架构,使得真正的多任务获 得实现的可能。为了使大量的数据能够在内存和处理器核之间通畅的流动,不但内存采用 s d r a m 的6 4 b i t 位宽,而且s d r a m 可以以c p u 核心频率的一半工作,这样按照1 7 7 m h z 的土频来算,理论上的内存带宽能达到5 6 g b p s ,基本上可以满足实际存取的需要。而为了 使物理端口和处理器核之间的线速传输,使用了i xb u s 这样高性能的总线架构( 6 6 g b p s 带宽) ,并利用f b i 的p u s h p u l l 引擎来存取。再加上其他一些总线结构的部件p c i 等,为整 个网络处理器内部的资源使用提供了传输干道,充分的利用了处理器的资源。 所以,i x p l 2 0 0 的内部结构就是以处理器核为核心,多种总线为传输干道的一种集中式 的网络处理器。 而n p 7 1 2 0 则完全不同。它是一种分布式的模块化的交换构架。整个网络处理器由多个 专用的处理模块组合而成,只有一个核心的处理器控制整个流程。比如专用的p t e 只对数 据报进行处理,s l i c e r 模块只对数据报进行拆帧和组帧t 作,接1 3 模块只和交换矩阵以及物 理接口连接。所有的一切都是遵循一种分工合作的模块设计思路,而且提前预留了协处理器 的接口,为加入特定的功能留有余地。因此,虽然核心的处理潞工作频率并不高,但是性能 却比较优异。它的内部没有通用的总线结构,只有在网络处理器和交换矩阵之间需要有某种 专用的总线,而且通过这样的总线可以提供级联,提高接个系统的容量。这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论