(电路与系统专业论文)网络处理器中帧处理技术研究.pdf_第1页
(电路与系统专业论文)网络处理器中帧处理技术研究.pdf_第2页
(电路与系统专业论文)网络处理器中帧处理技术研究.pdf_第3页
(电路与系统专业论文)网络处理器中帧处理技术研究.pdf_第4页
(电路与系统专业论文)网络处理器中帧处理技术研究.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

网络处理器n p 4 g x 帧处理技术研究 中文摘要 随着网络带宽需求的不断提高以及阿络服务类型的多样化,以前以c p u 为核 心的网络系统结构框架已经在针对众多帧处理这一重要环节上明显不能胜任如,而 以a s i c 配上c p u 为核心的网络系统结构框架在网络服务类型不断涌现的大浪前 也难以抵挡,因为a s i c 往往针对某种具体类型的协议,难以支持多种协议,即使 在处理具体协议时,往往也不大考虑应用上的可配置性和可扩展性,所以难以满足 新的网络服务类型的需求,另外a s i c 芯片的研发大致需要两年的设计周期又足以 让网络系统出现了青黄不接的尴尬局面。此时具有灵活性的网络处理器的出现恰恰 可以缓解此,网络处理器是面向网络应用领域的应用特定指令处理器,它具有面向 数据分组处理、具有体系结构特征和特定电路、以及软件可编程等特性,其中通过 灵活的软件体系提供硬件级的处理性能是网络处理器的关键特性。 目前,全球市场上有一些网络处理器,它们在组成网络系统结构上都大致相 当,但在网络处理器芯片内部却往往采用不同的体系结构和设计理念。像i n t e l1 x p 采用微引擎流水线结构,h i f nn p 4 g x 采用微引擎并行结构,a g e r e 采用快速通 道和慢速通道分叉结构等等。它们都各有千秋,互有利弊。我所研究的n p 4 g x 有 精简的帧处理指令集,可以处理i p v 4 和i p v 6 等多种协议,能够对帧进行流控制和 管理、流量检测和控制、数据纠错。它可以支持组成6 4 颗芯片的网络系统,通过 中央控制器对系统内的芯片进行控制和配置,做到实时监测、实时汇报,是4 g b p s 上的最强力竞争者。本文介绍网络处理器发展史以及 其优越性、e e d s ( e g r e s s e n q u e u e d e q u e u e s c h e d u l e r ) 对帧分片重组,帧分类,帧存储控制,流管理与控制, 流量控制与整形,排队调度策略,帧校验和纠错等等。 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fn e t w o r kb a n d w i d t hr e q u i r e m e n ta n dt h ev a r i e t yo f n e t w o r ks e r v i c e ,t h en e t w o r kp r o c e s s o ri sg r o w i n gf r o mt h ea r c hb a s e do nc p uw h i c h h a st h ei n c a p a b i l i t yo fh a n d i n gt h o u s a n d so ff r a m e s s oi ts h i f t st ot h ea r c hb a s e do n a s i cw i t ht h es h o r t c o m i n go fh a n d i n gt h ef i x e dn e t w o r ks e r v i c eb e c a u s ei tu s u a l l y h a n d l e st h eg i v e np r o t o c 0 1 e v e nw eu s ei ta san p u ,w ef i n di ti sv e r yh a r dt oc o n f i g u r e i tw h e nw o r k i n ga td i f f e r e n te n v i r o n m e n t u s u a l l yi t i sv e r ya w f u lt oc o n n e c tt h e m t o g e t h e r b e s i d e s ,a s i cu s u a l l yt a k e s2y e a r st od e v e l o p i ti sl o n gt i m ef o r t h en e t w o r k v e n d o rp r o v i d e rt ob e a r t h en p ui sc o m i n gu pa tt h er i g h tt i m e i tc a nb o t hh a n d l et h e f l a m ep r o c e s s i n gp e r f o r m a n c ea n da r c he x t e n s i o n ,u s u a l l yt h en p uh a sas p e c i a ls e to f i n s t r u c t i o n sw h i c hc a r lh a n d l et h es p e c i f i e df r a m e a n di th a st h ef e a t u r eo ff r a m e o r i e n t e dc l a s s i f i c a t i o na n ds p e c i a lc i r c u i ta n ds o f t w a r ep r o g r a m m i n g ,a m o n gt h e mi th a s t h ek e yf e a t u r eo ff l e x i b i l i t y n o w , t h e r ea r er n a n yn p ui nt h ew o r l d t h e yh a v et h es a m es y s t e ma r c h b u tt h e y d i f f e ral o ti nt h ei n t e r n a la r c ha n dd e s i g ns t y l e s u c ha si n t e li x p , i tu s e sm i c r oe n g i n e p i p e - l i n ea r c h w h i l en p 4 g x o f h i f nu s e st h et h r e a dp a r a l l e l i s m ,a g e r ei m p l e m e n t sf a s t p r o c e s s i n g t r a f f i ca n ds l o w p r o c e s s i n gt r a f f i c t h e y h a v eb o t ha d v a n t a g ea n d d i s a d v a n t a g e t h en p 4 g x 1r e s e a r c h e dh a sr e f i n e di n s t r u c t i o ns e t ,s u p p o r ti p v 4a n di p v 6 , f l o wc o n t r o la n dm a n a g e m e n t ,f l o wm e a s u r e m e n ta n dc o n t r o l ,e r r o rd a t ac o r r e c t i o n a n d i tc a l ls u p p o r t6 4c h i p sw o r k i n go nt h es a m es w i t c hf a b r i c e a c ho ft h ec h i p sc a nb e c o n f i g u r e db yc o n t r o lp o i n t i ta l s oc a nd or e a ld e t e c t i o na n dr e p o r t i n g i t sb i r t hw i l l a s t o n i s ht h ec h i pv e n d o r sa t4 g b p s t h i s p a p e r i n t r o d u c e s t h en e t w o r k p r o c e s s o rh i s t o r y a n di t s a d v a n t a g e d i s a d v a n t a g e ,e e d s ( e g r e s se n q u e u e d e q u e u e s c h e d u l e r ) p r o c e s s i n gf r a m e s l i c i n gr e a s s e m b l i n g ,f l a m ec l a s s i f i c a t i o n ,f r a m es t o r a g ea n dc o n t r o l ,f l o wc o n t r o la n d m a n a g e m e n t ,f l o wb a n d w i d t hc o n t r o la n dm a n a g e m e n t ,q u e u es t r a t e g y ,f r a m eb i te r r o r d e t e c t i o i la n dc o r r e c t i o ne t c 差二重缝监1 1 绪论 1 i 网络处理器研究目的 第一章绪论 网络处理器是面向网络应用领域的应用特定指令处理器,它具有面向数据分组 处理、具有体系结构特征和特定电路、以及软件可编程等特性。其中通过灵活的软 件体系提供硬件级的处理性能是网络处理器的关键特性。网络处理器主要用于网络 接入、网络骨干设备,开发从第2 层到第7 层的各种网络服务和应用。在网络接入设 备中,支持各种新业务、服务安全接入,进行质量控制,其中包括:v p n ( v i r t u a l p r i v a t en e t w o r k ) 、入侵检测、网络监控、防火墙等安全控制、进行分组分类, 识别关键业务流、保证q o s 、执行协议转换、支持多种传输媒体接入、记费和负载 均衡等。在网络骨干设备中,用于在o c 一4 8 到o c 一1 9 2 甚至更高速率下实现聚合流 的分类识别和转发,支持流量工程和q o s 控制。并将传统的网络接入设备3 层以上防 议处删功能引入到核心网中,如对骨干网的入侵检测。 在网络发展初期,网络传输的速率比较低,业务量比较少,关于网络的研究主 要集中在完善网络协议利构建服务体系结构上。这个时期的网络设备一般基于 c p u ,g7 通过在c p u 上运行相关软件来实现各种网络功能。其好处是具有很高的灵活 性,即通过更新软件,可以很方便地完善原有功能或加入新的功能和服务特性。但 其缺点是处理速度慢、吞吐率低。不过这种性能在当时是可以接受的,因为路由器 转发分组的速度完全可以跟上线路的传输速度。然而,随着各种传输技术的进步, 网络带宽的增长速度逐渐超过了c p u 处理能力的增长速度,而且这种差距有着进一 步加大的趋势。这使得带宽不再是网络的瓶颈,而基于软件的节点设备则逐渐变成 了网络的瓶颈。因此,需要想办法提高网络设备的性能。在这种情况下,网络设备 开始更多地采用a s i c ( a p p l i e a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t ,特定用途集 成电路) 技术。a s i c 仍然是当前网络设备的丰流处理核心技术。它通过把指令或计 算逻辑固化到硬件中。可以获得很高的处理速度,因而能够很好地满足网络设备对 簋= 重缝i 盘 5 性能的要求,适应了网络带宽不断增长的发展趋势。然而,a s i c 最大的缺点是缺乏 灵活性。一旦指令或计算逻辑固化到硬件中,就很难修改升级、增加新的功能或提 高性能,使得资源重用率很低。另外,设计和制造复杂的a s i c 一般需要花费1 2 1 8 个月的时间,因此a s i c 的设计者们必须能够对未来很长时间内的市场需求和技术趋 势做出准确的预测。这也使得a s i c 的研发费用一般比较高。除此之外,当前网络的 应用范围在不断扩大( 从商用、教育到家庭和个人) 、新的业务不断涌现( 电子商 务、多媒体应用和视频会议等等) ,网络的发展也不仅仅是带宽的不断提高,而更 多地表现为对“智能化处理”( i n t e l l i g e n tp r o c e s s i n g ) 的要求,例如服务质量 ( q o s ) 、控制安全( s e c u r i t y ) 等服务都需要分组分类( c l a s s i f i c a t i o n ) 和深 层数据处理( 处理到第4 层或第7 层) 。而这些服务功能既需要处理的高速度,又要 求实现的灵活性,因此网络设备必须能够灵活地满足各种服务和应用的不同需求, 这点却是a s i c 技术也难以满足的。 当前和未来的网络设备处理部件既需要高性能,又需要高灵活性。正是在c p u 和a s i c 技术都无法满足的这种双重要求下,出现了网络处理器技术。网络处理器通 过良好的体系结构设计和专门针对网络处理优化的部件,为上层提供了一个可编程 控制的环境,可以很好地解决硬件加速和软件可扩展的折衷问题。由此看来,有人 把网络处理器看作是推动下一代网络发展的项核心技术是情由可原的。在网络处 群器与c p u 、网络处辞器与a s i c 的“面对面”较量中,网络处理器的价值被阐述得 更为清晰可见。 c p u 作为通用处理器,由于考虑了各种应用的需要,具有一般化的通用体系结 构和指令集,以求支持复杂的运算并容易添加( 开发) 新的功能。但是处理速度一 般相对较慢,可扩展性差,很难满足网络高速发展的需求。 a s i c 作为硬件集成电路,具有高速处理能力,因而容易获得高性能。但其编程 能力非常有限,灵活性差,只能支持有限的应用和服务,很难满足网络业务多样化 的发展需要。而且其研制周期长,成本较高,市场存活时间短。 网络处理器专门为进行网络分组处理而开发,具有优化的体系结构和指令 集,有专门的指令集和配套的软件开发系统,比c p u 有着更高的处理性能,两且具 有更强的编程能力,从而改变其灵活性差的缺点:另外也可实现不同级别的并行处 理,既可通过流水线实现指令级的并行,又可通过硬件线程实现线程级的并行,还 可通过片内多处理器结构实现处理器级的并行:此外它还具有强大的线处理速度的 能力,以避免节点设备成为瓶颈:另外它还可以根据不同的服务要求,对分组 ( 帧) 进行不同深度的处理:最后它能够很方便地开发各种应用,支持可扩展的服 务,从而能够很好地满足网络业务多样化的发展趋势。而且其研制周期短,成本较 低,市场存活时间长。 从2 0 0 0 年初到现在整体看来,网络处理器已经被许多网络设备制造商选作新 一代高端路由设备的核心处理器。而且在这段时间里,能够开发出成熟的n p u 芯片 的公司也从开始的两三个迅速增加到了十几个,而且n p u 的处理能力也从2 5 g b p s 扩 展到l o g b p s 。这些都说明网络处理器技术在网络产品的市场中越来越占用重要的位 置。尤其在高端路由器和防火墙市场,网络处理器以其杰出的帧处理性能及可编程 性已经成为构成路由转发引擎不可替代的部分。它正影响着网络设备和安全设备的 架构,为网络设备和安全设备的研发带来变革。n p 一方面能够大大缩短设备的研发 周期,另一方面为设备提供商提供了广泛的二次开发空间。 1 2 国内外研究现状及发展趋势 目前,网络处理器已受到国内外许多公司、大学的普遍关注,其产品型号已 有上百种,而且设计理念也各有千秋,比如说i n t e l 采用微引擎流水线结构,h i f n 采用 微引擎并行结构,a g e r e 采用快速通道和慢速通道结构。其中比较典型的产品如下 带宽公司 型号 v i t e s s ei q 2 0 0 0 ,i q 2 0 0 m o t o r 0 1 a c - 5 ,c - 5 e 2 5 g b p si b mn p 4 g s l ,n p 4 g s 3 i n t e l i x p 2 4 0 0 a g e r e a p p 5 5 0 4 g b p s i n t e l i x p 2 4 0 0 a m c c n p 7 2 5 0 簋= 童鸶监! h i f nn p 4 g x 5 g b p sa g e r e p a y l o a d p l u s a p p 5 4 0 i n t e li x p 2 8 0 0 1 0 g b p s a m c c n p 7 5 i 0 a g e r e a p p 7 5 0 n p t m 表1 公司网络处理器产品表 可以说,网络处理器的研究方兴未艾,众多的芯片厂商纷纷提出了自己的设 计理念和产品。但在未来的几年内,当技术和市场趋于成熟稳定之后,适者才会生 存,所以估计会有许多产品被淘汰。到底谁将是赢家,也许只有到了未来才会知 道。在这个即将充满竞争的市场培育过程中,网络处理器技术自身的发展将大概呈 现如下趋势。 1 性能不断提高 网络对性能的要求是在不断提高的,因此网络处理器也必须满足这一需求。 随着生产工艺的提高和体系结构的进一步优化( 比如高速缓存的使用和片内组件功 能的进一步专业化) ,网络处理器将会有更高的处理速度、更小的尺寸和功耗、更 高的可扩展性、更方便实用的开发工具。 1 9 9 0 s _ _ _ _ _ f 墨_ 一 一- 一- 誓i l , 1 9 8 0 s - _ _ _ l 灵活性 图l 网络处理器性能需求 2 标准化 各个j 。家的网络处理器虽然都有大致相同的基本结构和特点,但在具体的硬 件实现和软件开发工具上还是各有不同。为了解决产品互连互通和软件可移植性等 问题,亟待解决标准化问题。网络处理器论坛( n p f ) 肩负着这一使命。该组织由 c s i x s h c p i x 这2 个组织于2 0 0 1 年2 月共同创建,c s i x 主要制订网络处理器与交换机构 之间的标准硬件接口,而c p i x 则肯u 定网络处理器应用开发的标准软件接口 ( a p i ) 。c s i x 目前已制订出相关规范c s i x l 1 。 图2 网络处理器的应用 3 产品系列化 网络不同位置的应用( 边缘和核心) 对网络处理器的性能和灵活性的要求各 不相同,一般很难找到一种能够全面顾及性能、分组分析能力和低成本的“通用” 网络处理器。因此针对完全融合的i p 网络而言,最现实的解决方案是具备一系列的 网络处理器,其中每一款分别针对不同的应用。 4 多种技术并存 必须看到,网络处理器也不是万能的,更不会完全取代c p u 和a s i c 在网络设备 中的应用。尤其是在对处理性能需求很高的高端设备中,a s i c 仍然有着很强的生命 箍= 重蟹监! 力。在未来的设备中,可能形成一种以网络处理器为核心,协处理器、c p u $ i j a s i c 为辅助处理单元的格局。 5 形成庞大的第三方队伍 随着标准化工作的深入,再加上网络处理器本身具有模块化结构的特点,将 出现一支庞大的第三方队伍,分别在硬件组件、软件应用、开发工具和其他予系统 方面推出自己的产品,并形成一种以网络处理器为核心和起点的价值链。 1 3 研究项目的内容简介 我研究的是基于n p 4 g s 3 上的下一代网络处理器n p 4 g x , 它支持多种协议,支持 第二、第三乃至更高层的帧处理,支持多线程并行处理,支持无需现场状态保护的 线程切换,支持0 c 4 8 线速度,支持v l a n ( v i r t u a ll o c a la r e an e t w o r k ) 的插入与删 除,支持m p l s ( m u l t ip r o t o c o ll a b e ls w i t c h ) 等操作。 它主要包括以下几个基本模块: i ) p h y s i c a lm a cm u l t i p l e x e r ( p m m ) 2 ) i n g r e s se n q u e u e d e q u e u es c h e d u l e r ( i e d s ) 3 ) s w i t c hi n t e r f a c e ( s w i ) 4 ) e g r e s se n q u e u e d e q u e u es c h e d u l e r ( e e d s ) 5 ) e m b e d d e dp r o c e s s o rc o m p l e x ( e p c ) 6 ) e m b e d d e dp o w e r p c ( e p p c ) 蕴= 重缝监l q 图3n p 4 g x 系统结构图 p 蛳主要为网络处理器提供外部接口。它由十个d a t am o v e ru n i t s ( d m u s ) 组 成,五个作接收用,五个作发射用。每个d m u 有十个f a s te t h e r n e t 端口,所以可以 支持四十个f a s te t h e r n e t ,共4 g b p s 带宽,也支持0 c 4 8 传输模式。 i e d s 主要负责接收从d m u 来的帧,将之放置到数据存储单元,然后向e p c 申请处 理,e p c 根据调度策略来安排将这些帧分别发往目的地。 s w i 由接收和发送两个大模块组成,提供了一个以信元为基础的通讯协议来连接 多个网络处理器。 e e d s 主要负责帧重组,帧数据的符删,帧内顺序性检测,帧类型检测,帧流 量检测与控制,流管理,q o $ ( 带宽,均匀性及非均匀性) 的控制等等。它同时可 支持3 0 7 2 不同帧的重组,2 0 4 8 个不同的流。 e p c 是网络处理器的核心,有1 6 个微引擎,每个微引擎有两个寄存器组,两个 p c ,同时运行2 个线程,硬件支持两个线程之间无需现场保护下做动态线程切换, 因此一共可以同时运行3 2 个线程,处理3 2 个帧。此外它还有1 1 个硬件协处理器, 它们将一些原本软件实现的复杂处理用硬件来实现,并且提供一套协处理器指令给 用户使用,提高了帧处理性能。 e p p c 是一个嵌入式的p o w e r p c 处理器,可以用来作为中央控制处理器运行操作 系统来控制和管理整个系统。一般来说,只在一个或者两个网络处理器的简单系统 中才用此作为中央控制处理器。在大的网络系统中,往往采用专门的中央控制器来 配置和管理整个系统,比如给系统中每个网络处理器芯片进行初始化代码和工作模 式配置,给系统中每个端口进行路由表的维护并且为每个网络处理器芯片进行及时 更新。 1 4 网络处理器论文的工作和编排 此文主要介绍了网络处理器的发展的历史背景和发展现状,着重于研究n p 4 g x 网络处理器的结构原理以及e g r e s s 端的信元重组、帧处理、流控制和管理、流量控 制和整形等等。具体的安排如下所述: 第一章介绍研究网络处理器的目的以及其发展历史,分析业界的发展状况和发 展趋势,着重介绍n p 4 g x 的体系结构和特性: 第二章介绍网络处理器的帧服务类型,它主要包括地址查找和帧转发、帧检错 和纠错、分片分段和重组、帧和协议多路分解、巾贞分类、排队和帧丢弃、调度和分 时、认证和保密、流量检测和控制、流量整形; 第三章丰要分析网络系统的体系结构和n p 2 g x 中帧处理流程: 第四章详细介绍n p 4 g x 中的信元格式利其在n p 4 g x 中的重要应用: 第五章详细n p 4 g x 中e e d s 模块的结构框架,帧存储结构模式,流控制和管理, 流量整形、排队策略和码校验纠错: 第六章对网络处理器技术的总结 箍三重圈终丕缠生蚣矬堡 ! 1 2 帧处理 第二章网络系统中帧处理 随着网络带宽需求的日益增加,网络中传输的帧数量亦迅速猛增,网络处理器 组成的系统需要对大量的帧数据进行处理,帧处理的类型大致可以分为以下十大类 地址查找和帧转发 帧检错和纠错 分片分段和重组 帧和协议多路分解 帧分类 排队和帧丢弃 调度和分时 安全:认证和保密 流量检测和控制 流量整形 2 1 地址查找和帧转发 在以太网中,m a c 地址的查找发生在以太网网桥决定是否转发一个帧拷贝时; i p 地址的查找发生在i p 路由器中。在每一种情况下,系统都将维护一张表,弗且 使用它在帧中查找目的地址。在其他情况下,也可能发生地址查找,比如,a r p 协议维护一个小的高速缓存,当发送i p 数据帧时就必须搜索此缓存。 地址查找通常和转发有关,转发是指将帧发送给其目的地址的过程。对网桥来 说,通过从输入帧中抽取首部信息就自动形成了转发表,查找需要精确匹配表中的 一项。j c 寸i p 路由器来说,转发表就需要一项一项的建立;每个表项包含一个地址掩 码,它不能从帧中直接获得。更为重要的是,i p 查找使用最长前缀匹配,而不是精 确匹配。i p 多播地址转发引入了另外一种地址查找( 散列匹配查找) 的形式,因为 在转发过程中输出路径的选择不仅依赖于数据帧的源地址,而且也依赖于目的地 蓥三童塑缝嚣统虫蠛熊堡1 3 址。这样,这种转发使用几种形式的地址查找可以总结为:尽管在很多层上都有帧 转发,多种地址查找模式并存。 2 2 帧检错和纠错 在网络中,检错通常都是需要的,当帧通过网络时,可能由于电磁波的影响导 致帧数据中有位错误,其中,帧内的一位或多位被破坏。为了检测到错误,发送方 在发送帧时附上额外的错误检测信息,接收方使用这个信息来检查帧的正确性。纠 错时代统计性质的;最常用的是循环冗余校验( c y c li cr e d u n d a n c y c h e c k , c r c ) 或者检验和( c h e c k s u m ) 。尽管检错信息比帧小很多,并且也不会增加很多 的传输开销,但错误检查可能导致很多的计算开销。如果注意到校验利或c r c 需要 发送方和接收方处理涉及的数据,就不难理解其中的原因。特别是,那种覆盖帧中 的所有位的检错模式必须处理整个帧。为了降低硬件计算代价,检错通常需要经过 优化。校验和计算提供一种可选择的优化方式:增量更新。如果中间系统改变了帧 头部中的一个字段,该系统就可以不需要扫描所有数据而更新校验和。 检错还有另一种变体称为纠错,它提供额外的冗余,可用于纠正被破坏的数据 位。由发送方发送的用于执行纠错的值称为纠错码( e r r o rc o r r e c t i n gc o d e , e c c ) ,接收方根据纠错码可以反运算来恢复错误的数据位。但是此纠错码需要相 当大的开销,计算开销也相当大。 2 3 分片,分段和重组 i p 协议允许发送方将一个大帧分割成适合于传输的小单元,而后接收方重组这 些单元重新产牛原始的帧,这就是i p 的分片和重组机制。尽管在网络系统中分片和 分段即消耗时间,又消耗空间,但它们不难做到,因为系统开始提供所需的信息: 分割帧和每一个分片的最大长度。系统可以限定使用的存储容量和时延。但是重组 更复杂一些,因为帧的分片并非同时到达。在接收系统等待所有的分片到达的过程 中,它必须在存储器中暂存这些分片。而且,当一个或多个分片丢失时,接收系统 筮三童圆鳖垂箕虫虹丝堡 ! ! 必须实现一种用于处理这种情况的机制。最后,执行重组的系统通常只有在重组完 毕后才知道帧的完整数据大d 、。因此,如果以系统不使用链接缓冲,他就需要分配 一个最大容量的缓冲区来暂存每个被重组的帧。这样,重组就可能需要消耗大量的 系统资源。 2 4 帧和协议多路分解 多路分解指的是从若干个可能的协议中选择一个协议来处理一个给定的帧。这 个概念遍及于帧处理过程中,并且它出现在协议栈的每一层。比如说,一个i p 帧在 i p 模块处理时,它就会被帧中的类型信息在多个传输协议( t c p ,u d p ) 中多路分 解。为了实现多路分解,帧必须在每一层上包含类型信息,因此,在输入端所输入 的类型信息与输出端的多路分解紧密相关。 2 5 帧分类( 静态分类和动态分类) 帧分类是指将一个帧映射到一个有限的流集合或者类别集合的过程。静态和动 态分类的区别仅仅在于分类的标准随不随时间变化。例如,考虑一个i p 路由器,它 将所有流量分层四股流- - t c p ,u d p ,i c m p 和其他流,其中每个流均被路由到一个独 立的网络中。通过指定分配到每一个流上的帧可以具体描述如下: 1 ,帧是一个属于t c p 协议的i p 数据 2 ,帧是一个属于u d p 协议的i p 数据 3 ,帧是一个属于i c m p 协议的i p 数据 4 ,帧不属于以上任何一种 分类在以下几方面不同于多路分解:首先,多路分解通常是无状态的操作,这意味 着可能的选择集是固定的,并且对于一个给定的帧的选择仅依赖于帧的内容。其 次,多路分解使用一个全聚的类型系统,也就是说,在对各个字的解释上,发送方 和接收方都必须参与且达成一致意见一发送方在类型字段中存入一个值,而接受方 使用该值来决定帧的处理。最后,多路分解每次仅仅在一层上进行操作。 箍三童壁鳖丕统生蟪处堡! 与多路分解不同,分类系统通常并不能保证是无状态的。如果系统在为帧确定 一个流时仅使用帧中的内容,则分类是无状态的;如果系统在从到达的帧中导出信 息时,同时使用帧中的内容和状态信息,则称分类是有状态的。有状态的分类系统 都有这样的特性:帧的重排序可能导致流的变化( 也就是说,帧的分类依赖于在它 之前的帧) 。在最简单的情况下,帧的重排序仅仅影响流的数量;在其他情况下, 每个流中的帧都会受到影响。 与多路分解不同,有状态的分类系统不需要使用一个全局类型的系统,而且它 不需要发送方的参与。如在上面的源地址的例子中看到的,流的数量可以根据帧的 项目动态的决定,发送方可能完全不知道分类的存在。此外分类器还可以使用源 地址来决定流。 最后,分类不同于多路分解还有。点原因:分类可能跨越协议栈中的多个层 次。也就是说,分类器可以将整个帧作为输入,它检查头部中各种协议层的字段, 然后产牛一个分类。 2 6 排队和帧丢弃 基本排队 帧处理系统的特点之一是“存储转发”,因为这些系统通常将等待处理的帧暂 存在存储器中,然后按照先进先出的原则来进行帧处理。 优先级机制 在实际网络系统中,排队会更复杂一些。一种优先级策略偏向于其中的一些 帧;优先级可能依赖于帧的内容,发送方的标识或者帧的大小。优先级处理通常用 多个队列实现一每一个进入的帧都被置于相应的优先级队列中。对输出处理作这样 的安排:高优先级的队列得到高优先等级的服务。 排队规则由算法和用于根据优先级选择帧的数据结构组成。网络系统设计师通 常使用的排队规则有: 优先级排队 加权轮转法 加权公平排队 在每一种情况下,系统均维护一组队列,对每个队列指定一个优先级。当系统 准备处理一个帧时,它调用排队规则来选择一个头队列给予服务。 优先级排队是最直接的规则。对队列按严格的优先级顺序服务:规则从具有最 高优先级的非空队列的头部选择帧。尽管这种规则容易实现,但严格优先级具有 “饥饿”的缺点:只要高优先级的队列中还有帧,低优先级队列就根本得不到服 务。 加权轮转法试图避免饥饿的发生。为了实现这一点,加权轮转法顺序通过队列 集合,服务完一个队列后转到下一个队列。为了实现优先级,在移到一个队列之 前,w r r 可能选择不只一个帧:选择帧数量依赖于队列的优先级以及帧的平均长 度。当然,一个指定的队列不一定含有足够的帧。因此,如果在目标数量的帧来选 完之前队列就变空的话,加权轮转法将移向下一个队列。与优先级不同,加权轮转 法将队列彼此分开一单个队列中过多的流量不会排除对另一个队列的服务。尽管有 着这样的优势,加权轮转法也存在着源于平均帧长度估计的缺陷:如果帧的长度不 同于估计的平均长度,队列能够接受的服务就可能比理想中的更多或者更少。 加权公平队列也为了避免饥饿,同时试图比加权轮转法更准确的分配服务。为 了实现这一点,w f q 模拟一种称为广义处理器共享( g e n e r a l i z e dp f o c e s s o r s h a r i n g ,6 p s ) 的c p u 时间片分片规则。g p s 对一给定的c p u 的分配可用的时间片p t ,其中p 代表该处理器的优先级,t 代表所有处理器优先级的总和。但是_ l v f q 和 g p s 之闻存在着一些差别,主要的原因是在于时间是连续的,而帧是离散的:系统 必须在移动到下一个帧之前处理完整个帧。因此,w f o 不能指定部分帧的处理。但 w f o 可以为每个帧分配一个完成数,它的值等于g p s 给c p u 分配的时间片,这个完成 数的大小代表了c p u 处理此帧所花时间的多少。 噩三童匦鳖丕煎主蜮丛垄1 2 2 7 帧丢弃 由于网络系统中只有有限的缓冲区容量,他不能接受任意数量的帧。帧丢弃指 的是用于处理这个问题的策略和机制。最简单的帧丢弃是尾丢弃:当存储器未满 时,接收输入的帧;当存储器已满时,丢弃到达的帧。另外一种是随机早期检测丢 弃,它使用概率方法将帧丢弃的概率随存储器使用程度的增加而不断增加。对于 t c p 来说,随机早期检测丢弃的效果比尾部丢弃更好,因为它可以避免重传的整体 同步化。 2 8 调度和分时 调度用于描述网络系统中的并发和并行任务的协调。调度与计时器管理,流量 整形和排队有关。如果帧可在多个接口上到达,而且为了确保有多个可用的输出端 口,就需要对帧进行调度。如果网络系统实现了协议栈的多个层次,调度就可能需 要对实现个别协议或分层的线程进行管理。在大多数网络系统中,调度显得尤为重 要,因为调度机制必须确保公平性。比如,低优先级的通信也应有一定的带宽,而 不应当被高优先级的通信完全阻塞。 2 9 安全:认证和保密 像防火墙和安全连接终端这样的网络系统需要安全协议和安全机制,安全协议和安 全机制的保障得益于安全认证和保密,这些都依赖于一种底层的基本技术:加密。 加密和保密之间的关系是明显的。发送方在发送数据之前加密数据,然后接收方解 密数据重新生成源消息。加密方案以一种自由接收方才能执行解密的方式来传输消 息中的位码。这样,即使加密后的消息被第三方拦截,他们也不能理解其内容。 认证机制同样依赖于加密。首先,有关发送方和包的信息被加密,并于认证信 息与帧数据一并发送给接收方。接收方解密附加的信息,并使用它来验证发送方的 身份以及帧中的信息在传输过程中没有被修改。 差三童匦鳖丕统生噬丝理! 尽管帧携带的用于认证的额外信息量相对很小,但认证或者保密需要的处理是 很大的。这是由于两方面的原因:首先,每一种机制都需要大量的数据( 例如整个 帧) 进行计算;其次,加密协议需要比校验和这样的机制更大的计算。这样,实现 安全机制的网络系统通常需要额外的处理能力。 2 i 0 流量测量和控制 流量测量一般都源于服务级协定,通常以流量来定义不同类型的服务。而流量 控制则是根据流使用的情况做出动态的操作,比如在流量超过协定量时,可以将当 前流中的所有后来的帧标记为丢弃或者直接丢弃。 2 1 1 流量整形 流量整形指的是使流量和标明的统计界限相一致的过程。整形可应用于聚合流 量,它同控制相关,但两者在总体目标和使用的机制上有所不同。控制往往包含严 格的界限一当流量超过规定时,帧就会被控制器丢弃。整形通常包含软的界限。因 此,流量整形器总是试图改变流量直到它满足期望的界线为止,而且它一般不丢弃 帧。 整形是必需的,因为帧交换往往产生的十分均匀的流量。问题的明确:帧交换 系统倾向于生成突发的帧序列,而不是稳定的流。从网络供应商的角度看,流量的 突发性对评估容量需求或者提供服务保证造成困难。最早应用于流量整形的一种机 制称为漏桶,它会将收到的帧均匀的发送出去,保证了任何一个时刻的服务质量。 另外一种经过修正的称为令牌桶的整形技术,它不是每n 个时间单位转发一个帧, 雨是每个时间单位转发最多k 个8 位组的数据。实质上,这种整形器通过检查队列中 下一个帧的大小来决定转发前缓存该帧的时间。 箍三重围缝丕箕量矬理墨基苤1 2 第三章网络系统与处理器技术 3 网络系统与处理器技术 3 1 网络系统技术概述 在9 0 年代初,第一代基于软件的路由器还是很流行,几乎所有的帧分类和转发 都是a c p u 来完成。就是在当时,另一种新的技术f d d i ( f i b e rd i s t r i b u t e dd a t a i n t e r f a c e ) 出现了,它运行在i o o m h z 。此外,像a t m 这样使用小信元的技术也出现 了。更高的数据速率和更小的帧尺寸提高帧的传输速率,这意味着处理帧需要更少 了时间。虽然常规的计算机系统可以满足于较低的帧速率,但是设计者意识到基于 软件的系统和多路分解技术不能满足正在建立的新的网络需要。 为了适应更高的帧速率,工程师们设计出使用专用协处理器硬件的第二代网络 系统,它具有以下三个显著特性: 使用分类代替多路分解来处理大多数帧 每块接口卡上具有分类与转发能力的分散型体系结构 高速的内部互连机制为了在接口之间传输数据提供快速数据通路 这三种特性都允许扩展。分类的使用允许设计者增加连接网络的数据速率,因 为分类可以获得比传统的多路分解更高的帧处理速率。分散性体系结构和高速的瓦 联机制的使用可以比集中式的体系结构加入更多的网络连接。因为每个接口都包含 独立的分类设备,所以可以并行的运行帧分类和转发。为了实现各接口的并行操 作,体系结构必须包含高速的瓦联机制,使得帧可以从一个接口传送到另一个接 口。 第二代网络系统包括常规的c p u 用以管理和控制系统,并为系统管理员提供一 个接口,同时运行路由传播| 办议。因此,通过c p u 进行路由表的更新,并且接口通 过路由表来转发帧。除了更新路由表之外,常规c p u 还要控制错误和异常的处理, 包括到来的i c m p ( i n t e r n e tc o n t r o lm e s s a g e sp r o t o c 0 1 ) 消息不符合分类条件的 帧。在实际中,并不需要对错误和异常进行特别的检测。相反,在各个接口上的分 差三重匦缝丕统皇缝垄墨堇苤垫 类与转发机制被配置成一个被转发到本地c p u 的默认流。那些与分类法不匹配的帧 都会自动的放入这个默认流中。下图说明了常规c p u 和每一个对接口问具有快速数 据的第二代网络系统概念上的组织结构。 图4 第二代网络系统概念上的组织结构 为了进一步减轻c p u 的负担,工程师们设计了第三代网络处理系统第三代系统使 用专用的硬件分散协议处理任务:设计时选择每个协议处理任务的硬件,并将这种 硬件复制到每个网络接口卡中。这样做可以使得协议处理任务从c p u 中分离出来, 并且允许网卡处理异常和高层的协议。下图描述了这种体系结构,它在每块网络接 口网卡中使用嵌入式处理器荠加入a s i c 硬件,交换矩痒接口为其互联提供快速数据 通路,它可以处理第一至第四层协议中的大部分任务。 接口i 接口2 第四层嵌人 其他处理 第四层嵌入 式处理器 式处理器 第1 ,2 层 网络流量管理( a s i c 第1 2 层 ( 建立帧) 第三层和 缓缓辚 第三层和 ( 建立帧) 井娄a s l f 讣豢a s i c 圈5 第三代网络系统组织结构 簋三重匦堡丕箍皇处理墨拉盔 2 1 3 2 网络处理器技术概述 网络处理器不是专门为某种特定的协议或者一种协议的一部分设计的,因此, 设计者应当考虑各种涛议来寻求它们之间的共同特性,从而设计出一种最小的指令 集满足高速的处理任意协议的任务。在第三代网络系统中,为了有助于降低设计的 复杂度,硬件设计者通常采用”分而治之”的方法,将一个帧处理过程分层两个 组,第一组为入口( i n g r e s s ) 组,指的是帧第一次通过交换矩阵之前,负责处理 到达的帧;第二组为出口( e g r e s s ) 组,指的是帧第一次通过交换矩阵之后,负责 处理帧离开。在入口组中,主要的帧操作可概括为,检错和安全认证,分类或多路 分解,流量测量与控制,地址查找与帧转发,帧头修改,重组和流终止,转发,排 队与调度。在出口组中,主要的帧操作可概括为,添加检错码,地址查找与帧转 发,流量整形,定时与调度,排队与缓冲,帧头修改,输出安全性处理 由多个网络处理器组成的网络系统中,为了避免底层硬件产生瓶颈,设计者往 往将设计重点放在其可扩展性上。目前来说有三种技术能取得最大化规模的扩展。 第一,典型的网络处理器有各种不同的硬件部件组成,每个部件针对某种特定的功 能,这样,帧处理功能就可以由其中最合适的硬件来完成;第二,为了提高聚合处 理速率,复制网络处理器关键部件,使得这些部件可以并行或者流水线操作:第 三,将典型的网络处理器设计成可在分布式环境下工作,也就是说当多个处理器互 连时,它们之间可以协调工作来获取聚合吞吐量。 3 3n p 4 g x 处理器体系结构 n p 4 g x 是由h i f n 在i b m 的n p 4 g s 3 基础上开发研究的网络处理器,以下是它的结构框架 图 差三重嗵垒丕缝生丝堡器挂盔2 2 图6n p 4 g x 结构图 n p 4 g x ,可以支持多种协议第二、第三乃至更高层帧的修改与传送,支持 0 c 4 8 线速度,支持v l a n ( v i r t u a ll o c a la r e an e t w o r k ) 的插入与删除,支持m p l s ( m u l t ip r o t o c o ll a b e ls w i t c h ) 等操作。它丰要包括以下几个基本模块: 1 ) p h y s i c a lm a cm u l t i p l e x e l r ( p m m ) 2 ) i n g r e s se n q u e u e d e q u e u es c h e d u l e r ( i e d s ) 3 ) s w i t c hi n t e r f a c e ( s w l ) 4 ) e g r e s se n q u e u e d e q u e u es c h e d u l e r ( e e d s ) 5 )e m b e d d e

温馨提示

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

评论

0/150

提交评论