(信号与信息处理专业论文)基于ixp2400的forces路由器中lfb属性管理库的研究和实现.pdf_第1页
(信号与信息处理专业论文)基于ixp2400的forces路由器中lfb属性管理库的研究和实现.pdf_第2页
(信号与信息处理专业论文)基于ixp2400的forces路由器中lfb属性管理库的研究和实现.pdf_第3页
(信号与信息处理专业论文)基于ixp2400的forces路由器中lfb属性管理库的研究和实现.pdf_第4页
(信号与信息处理专业论文)基于ixp2400的forces路由器中lfb属性管理库的研究和实现.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(信号与信息处理专业论文)基于ixp2400的forces路由器中lfb属性管理库的研究和实现.pdf.pdf 免费下载

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

文档简介

浙江工商大学硕士学位论文 基于i x p 2 4 0 0 的f o r c e s 路由器中l f b 属性管理库的研究和实现 摘要 下一代网络的一个重要特点是丌放性。f o r c e s 是i e t f 路由领域的一个工作 组,它专门研究开放可编程l p 路由器的体系结构和协议问题。其基本思想是: 将路由器的转发件( f e ) 与控制件( c e ) 从物理上相分离,以改善路由器的可 扩展性和灵活性。而网络处理器既有专用集成电路的高速处理能力,又有完全的 可编程特性。当前,如何把网络处理器与f o r c e s 技术相结合已成为路由器研究 领域的一个方向。本文作者所在的课题组参与了i e t ff o r c e s 协议的制定。 本文主要研究了f o r c e s 路由器软件模型中l f b ( 逻辑功能块) 属性管理库 的设计和实现。l f b 属性管理库是对l f b 属性进行配置和管理的功能函数的集 合。它的设计和实现主要涉及到:根据f o r c e s 体系的相关规定,提取各l f b 逻 辑功能块中可配置的属性并定义动作类型;在分析i n t e l 网络处理器的i x a 可移 植性软件框架结构组成和基本原理的基础上,选用其开发工具包i x a - s d k 4 1 中 提供的有关i p v 4 应用开发例子以及一些功能函数,实现对l f b 属性管理库的开 发。此外,为了实现f o r c e s 路由器软件模型对s n m p 和路由协议的支持,论文 设计并实现了异常包处理模块。该模块获取微引擎上接收到的异常包( 包括 s n m p 和路由协议包) ,并对其作简单处理后,利用v x w o r k s 系统的消息队列机 制将异常包上报至f e 接口层,再由f e 接口层将异常包交付c e 处理。 最后,本文搭建了一个测试平台,在不同的测试环境对l f b 属性管理库中的 功能函数进行测试,测试结果验证了各函数的功能。本文的工作是f o r c e s 路由 器软件模型的重要组成部分。 关键词:网络处理器,f o r c e s ,路由器,l f b 属性管理库 浙江工商大学硕十学位论文 r e s e a r c h0 nt h el f bu b r a r yi nai x p 2 4 0 0 一b a s e d f o r c e sr o u t e ra n dt h ei m p l e m e 卜r i :a = 1 1 0 n a b s t r a c t o n eo ft h ei m p o r t a n tc h a r a c t e r i s t i ca b o u tt h en e x tg e n e r a t i o nn e t w o r ki so p e n i n g f o r c e si so n eo ft h et e t fw o r k i n gg r o u p si n r o u t i n ga r e a w h i c hp r i m a r i l y r e s e a r c h e so nt h ef r a m e w o r ka n dp r o t o c o l so fo p e np r o g r a m m a b l ei pr o u t e r t h em a i n i d e ai st oa c c e l e r a t et h eu p d a t eo fn e t w o r k sa n dt h ed e p l o y m e n to fn e wa p p l i c a t i o n s t h r o u g hs e p a r a t i n gt h ec o n t r o le l e m e n t sf r o mt h ef o r w a r d i n ge l e m e n t si nn e t w o r k e l e m e n t s n e t w o r kp r o c e s s o rc o m b i n e sa s i c sh i g h p e r f o r m a n c ea n dg e n e r a l p r o c e s s o r s sp r o g r a m m a b l ec h a r a c t e r i s t i c sa n ds u i t sw e l lf u rn e t w o r kp r o c e s s i n gt a s k s c u r r e n t l y , i t san e wt r e n dt oc o m b i n et h en e t w o r kp r o c e s s o ra n df o r c e st e c h n o l o g y t oi m p l e m e n tt h en e t w o r ke l e m e n ti nr o u t e rr e s e a r c ha r e a t h er e s e a r c ht e a mw ew o r k o np a r t i c i p a t e si nt h ef o r c e sp r o t o c o ld e s i g n t h i st h e s i sp r i m a r i l yr e s e a r c h e st h ed e s i g na n di m p l e m e n t a t i o no fl f bl i b r a r yi n f o r c e sr o u t e rs o f t w a r em o d e l l f bl i b r a r yi sa na g g r e g a t eo ff u n c t i o n s ,w h i c h c o n f i g u r ea n dm a n a g et h el f ba t t r i b u t e s i t sd e s i g na n di m p l e m e n t a t i o ni n c l u d e t h ef o l l o w i n gk e yp o i n t s :d i s t i l lt h ec o n f i g u r a b l ea t t r i b u t eo fl f ba n dd e f i n et h e o p e r a t i o nt y p e sa c c o r d i n gt ot h ef o r c e sa r c h i t e c t u r e ;a f t e rh a v i n gap l e n t i f u lr e s e a r c h o nt h es t m c t u r ea n dt h e o r yo fi n t e ln e t w o r kp r o c e s s o r si x a p o r t a b i l i t yf r a m e w o r k , t h el f bl i b r a r yi si m p l e m e n t e db a s e do nt h ei p v 4a p p l i c a t i o ne x a m p l e sa n dm a n y u s e f u l l yf u n c t i o no fi x a s d k 4 1 b e s i d e s ,i no r d e rt os u p p o r tt h es n m pa n dr o u t i n g p r o t o c o lo ft h ef o r c e sr o u t e rs o f t w a r em o d e l ,t h i st h e s i sd e s i g n sa n di m p l e m e n t sa b l o c k ,w h i c hp r o c e s s e st h ee x c e p t i o n a lp a c k e t s t h eb l o c kr e c e i v e s e x c e p t i o n a l i l 浙江丁商大学硕十学位论文 p a c k e t sf r o mm i c r o e n g i n e ,a n ds e n dt h e mt of ei n t e r f a c el a y e rt h r o u g hm e s s a g e q u e u eo fv x w o r k so p e r a t i n gs y s t e m a f t e rt h a t ,t h ef ei n t e r f a c el a y e rr e d i r e c tt h e s e e x c e p t i o n a lp a c k e t st oc e f i n a l l y , t h i st h e s i sd e s i g n sa n di m p l e m e n t sap l e n t yo ft e s tc a s e st ot e s tt h e f u n c t i o n so fl f bl i b r a r y t h et e s tr e s u l ts h o w st h a tt h e s ef u n c t i o n sc a l la c h i e v et h e c o n f i g u r a t i o na n dm a n a g e m e n to fl f b sa t t r i b u t e t h em a i nw o r k so ft h i st h e s i sm a k e ag r e a tc o n t r i b u t i o nt ot h ei m p l e m e n t a t i o no ff o r c e sr o u t e rs o f t w a r em o d e l k e y w o r d s :n e t w o r k p r o c e s s o lf o r c e s ,r o u t e r ,l f bl i b r a r y 1 1 1 浙江工商大学硕士学位论文 第一章绪论 第一节课题研究背景 i n t e m e t 的不断发展,对作为i n t e m e t 基础设施之一的路由器提出了越来越高 的要求,新一代路由器必须提供更高的吞吐量、服务质量保证、可靠性和更多的 网络管理功能i ”。在路由器技术的发展历程中,性能和业务这两个因素发挥着关 键作用。一方面,带宽和网络规模的增长推动着路由器在性能、容量方面不断提 升;另一方面,业务的发展驱动着路由器更加智能化,并具备更强的业务提供能 力。在这两项关键因素中,性能因素在路由器发展的前期起到主导作用,随着i p 网络和业务的迅猛发展,业务因素或者说是业务性能在网络中的价值将起到越来 越重要的作用。总的来说,路由器技术的发展历程大致可以划分为五代:集中转 发,总线交换;集中加分布转发,接口模块化,总线交换;分布转发总线交换; a s i c 分布转发,网络交换;网络处理器分布转发,网络交换1 2 i i 3 1 。 最初的路由器通常采用单一的通用c p u 来负责分组的处理和转发。这种结 构是在单一c p u 中通过软件来实现分组处理和转发,它的特点是实现简单,可 以通过修改软件来提供新的业务,缺点是单一c p u 处理能力有限,基于全软件 实现方式也难以完成高速分组转发。因此,在高速路由器中普遍采用了专用集成 电路来负责数据的处理和转发,采用通用c p u 来负责路由器的管理。高速的专 用集成电路,可以满足日益增长的带宽需求。但是由于专用集成电路的开发时间 长,并且在灵活性方面受到极大的限制,而不断出现的新业务却期望厂商能够在最 短时间内更新路由器的功能【1 j 。网络处理器( n p ,n e t w o r k p r o c e s s o r ) 集中了专 用集成电路的高速处理能力,同时还具有可编程、扩展性强的特点,能够很快适 应业务的发展变化。网络处理器通常由若干微处理器和一些硬件协处理器组成, 多个微处理器并行工作,通过软件来控制处理流程。对于一些复杂的标准操作( 如 内存操作、路由表查找算法、o o s 拥塞控制算法、流量调度算法等) 可采用硬件 协处理器来提高处理性能,实现业务灵活性与高性能的有机结合。因此基于网络 处理器的路由器得到了许多网络设备生产商和研究机构的重视。 此外,随着网络的发展,人们往往向网络中增加服务或者定制现有的网络来 浙江t 商大学硕士学位论文 满足新的应用需求。但是,向现有网络增加服务仍然是耗时、高成本的过程。在 下一代网络( n g n ) 的研究中,开放可编程( o p e np r o g r a m m a b l e ) 的网络结构 思想得到了广泛重视,它的目标是简化网络重组的过程,形成一个能够支持服务 增值和智能化的动态网络。开放可编程网络的基本观点为:网络通信节点组件( 如 交换机、路由器) 的资源通过标准化接口应该是开放可编程控制的,因此通过主 控器所编程配置的将是灵活的、智能化可重组的网络。开放可编程网络有以下优 点【4 l : 1 、允许网络功能的快速配置和重组,实现智能化的动态网络,可大大加快 和方便网络升级及服务层新业务的展开,并降低运营成本和风险: 2 、允许网络资源的综合、灵活利用,可为解决q o s 问题提供灵活的资源管 理环境; 3 、可使网络组件的控制器和转发器产品分离,有利于排除垄断、增强良性 竞争,专一化也可使产品进步加快,这在p c 业的发展中已得到验证; 4 、有利于构建多网合一( 如i p v 4 、i p v 6 、a t m 、m p l s 、f r 、p s t n 等合 一) 和多服务业务合一的多服务网络( m u l t i s e r v i c en e t w o r k s ) ,如多服务交换机。 f o r c e s ( f o r w a r d i n g a n dc o n t r o le l e m e n ts e p a r a t i o n ,转发件和控制件分离) 工作组【5 】是i e t f 路由领域( r o u t i n g a r e a ) 的一个工作组,它专门研究开放可编程 的i p 路由器的体系结构和协议问题,是当前开放可编程网络研究最受关注的研 究组织之一。f o r c e s 的基本思想是把l p 路由器分成转发件( f o r w a r d i n ge l e m e n t s , f e ) 和控制件( c o n t r o l e l e m e n t s ,c e ) ,认为m 路由器可由多个( 可达几百个) f e 、c e 和连接它们的f o r c e s 协议标准接口构成,c e 通过该协议接口控制和 管理f e 的资源。 第二节课题研究现状 一、f o r c e s 技术研究现状 i e t ff o r c e s 工作组已经完成了f o r c e s 需求1 6 1 和f o r c e s 框架【7 1 的制定。当 前的工作重点是制定f o r c e sf em o d e l 8 1 和f o r c e s 协议 9 】qf o r c e s 协议草案在 2 0 0 4 年初才由g r m p ( g e n e r a l r o u t e r m a n a g e m e n t p r o t o c o l ,通用路由管理协议) 、 浙江工商大学硕士学位论史 f a c t ( f o r w a r d i n ga n dc o n t r o le l e m e n tp r o t o c 0 1 ) 和n e t l i n k 2 ( n e t l i n k 2a sf o r c e s p r o t o c 0 1 ) 三个候选协议合并产生,因此之前的实现研究工作主要是实现f o r c e s 结构系统。由于f o r c e s 协议还在不断的变化之中,还没有出现专门介绍f o r c e s 协议实现的文献,稳定的f o r c e s 协议软件要等到f o r c e s 协议成为r f c 标准以 后才能出现。 f o r c e s 结构的典型代表是i n t e li x a s dk 【1 0 】,论文将在本节下文重点介绍其 4 1 版本的相关原理和技术1 1 1 】【1 2 j 。m h i d e l l 等人实现的路由器也是基于f o r c e s 结构【1 3 】。系统的控制器是基于u n i x 和z e b r a 路由软件,而转发器是采用通用l i n u x , 其实现主要是依靠n e t l i n k 来访问内核。r o b e r th a a s 等人正在开发的f l e x i n e t l l 4 】 也是使用f o r c e s 结构。该项目的转发件是基于网络处理器来实现,控制件采用 j a v a 作为编程语言。其他还有w a j d il o u a t i 等人开发的可配置型的软件路由器【1 5 】 和国防科学技术大学研制的i p v 6 路由器i “l 也是采用f o r c e s 结构。 本课题组一方面关注和参与f o r c e s 协议的制定,一方面开发基于f o r c e s 体系结构的路由器模型。我们在i n t e li x p 2 4 0 0 2 8 5 0 1 7 1 1 8 】网络处理器上实现转发 件,主要包括m i c r o e n g i n e 层和x s c a l e 层,m i c r o e n g i n e 层利用硬件线程并发的 实现快速路由查找和转发,而x s c a l e 层上实现了路由器内部的一个通信子系统, 负责转发层与控制层信息的交互传递等其它一些处理。在p c 机上以c c + + 作为 编程语言实现控制件,主要包括一个人机交互界面、路由引擎和s n m p 服务器。 二、i n t e li x a s d k4 1 为了满足灵活性、高性能、可扩展性和可移植性的特点,i n t e l 公司推出了 i n t e l i x a ( i n t e l i n t e m e t e x c h a n g e a r c h i t e c t u r e ,英特尔因特网体系架构) ,它包括 两个方面:在硬件平台方面,i n t e l 公司开发了1 x p 2 x x x 第二代网络处理器( 包 括i x p 2 4 0 0 、i x p 2 8 0 0 、i x p 2 8 5 03 款网络处理器产品) ;在软件平台方面i n t e l 开发了所谓的i x a s o f t w a r ep o r t a b i l i t yf r a m e w o r k ( i x a 软件可移植性框架) 1 1 9 l 。 i x a 软件可移植性框架引用了f o r c e s 协议中转发件和控制件分离的思想,将使 用f o r c e s 协议作为其接口标准。 i x a 软件可移植性框架将网络应用划分为3 个主要层面:控制层面、管理层 面和数据层面【1 2 】。控制层面主要负责协议消息处理以及配置和更新数据层面的 浙江丁商大学顾十学位论文 一些表,比如处理r i p 路由协议包,并更新1 p v 4 路由表。管理层面主要负责系 统配置,收集和报告统计信息等。数据层面负责高速处理和转发数据包,它包括 快速通道和慢速通道。快速通道运行在微引擎上,处理绝大多数的数据包,比如 处理1 p v 4 包;慢速通道运行在i n t e lx s c a l ec o r e 上,它负责处理小部分快速通道 上不能处理的数据包,比如需分割的数据包。 其数据层面的软件结构如图1 1 所示。 图1 - 1 数据层面的软件结构 图1 - 1 的下半部分表示运行在微引擎上的代码模块,称为微模块( m i c r o b l o c k s ) 。为了获得最高的性能,微引擎应该处理尽可能多的数据包。当一个微 模块处理数据包后,把包传送给其它微模块处理。图1 - 1 中的实线箭头代表包的 处理流程。微模块可分为以下两种类型: 1 、p a c k e tp r o c e s s i n gm i c r o b l o c k ( 数据包处理模块) :执行高层协议处理功能, 为网络数据提供高层处理,如i p v 4 转发( i p v 4f o r w a r d i n g ) 、n a t 等: 2 、d r i v e rm i c r o b l o c k s ( 驱动模块) :执行与底层硬件密切相关的处理功能。 如与m s f 硬件结构密切相关的r e c e i v e ( 接收) m i c r o b l o c k 、t r a n s m i t ( 发送) m i c r o b l o c k 。 图1 - 1 的上半部分表示运行在i n t e lx s c a l ec o r e 上的代码模块,称为核模块 ( c o r ec o m p o n e n t ) 。微引擎上的微模块都有一个核模块和它对应,图1 - 1 中的 虚线表示它们之间的关系。一个核模块协同微模块一起工作,它的主要任务有: 4 浙江工商大学倾十学位论文 1 、提供配置和管理微模块的机制,允许控制层面软件控制微模块的动作。 比如,1 p v 4 转发核模块要提供增加和删除路由的接口。 2 、提供异常包的处理。由于一些原因微模块不能处理的数据包,比如i p v 4 微模块将需要分割的数据包转送到i p v 4 核模块处理,而不是在微引擎上处理。 3 、管理微引擎和i n t e lx s c a l ec o r e 共享的数据结构。比如i p v 4 核模块按照更 新路由的要求,更新共享的路由表。 i n t e l 的开发工具包i x a s d k4 1 在可移植框架上实现了大量的微模块、核模 块以及基于i n t e l 第二代网络处理器的应用例子,极大的方便了基于i n t e l 网络处 理器的设备开发。但是到目前为止,由于f o r c e s 协议还没有正式成为r f c 标 准,i x as d k4 1 中只是表明控制层面和数据层面的通信是f o r c e s 信息,但没 有具体的消息定义。而在数据层面上没有f o r c e s 协议中l f b ( l o g i c a lf u n c t i o n b l o c k ,逻辑功能块) 的概念,以及对l f b 的设计,而表现为一些具有较高可移 植性的微模块和核模块。 第三节论文的研究内容、主要贡献和安排 一、论文的研究内容 本文介绍了路由器技术的发展历程、开放可编程网络的特点以及研究开放可 编程i p 路由器体系结构和协议的i e t ff o r c e s 工作组。分析了其中相关技术的 研究现状,在此基础引出了基于网络处理和支持开放可编程的口路由器。 通过对f o r c e s 协议草案和i x p 2 x x x 的综合介绍,分析了基于i x p 2 4 0 0 的 f o r c e s 路由器模型的硬件实现方式和软件模型。论文就“基于i x p 2 4 0 0 的f o r c e s 路由器中l f b 属性管理库的实现”这一课题进行需求分析,包括l f b 属性提取、 动作定义,这些工作都必须遵循f o r c e s 约定。 基于i n t e l 公司开发的i x as o f t w a r ep o r t a b i l i t yf r a m e w o r k 的软件平台,分析 其开发工具包i x a s d k 4 1 中有关i x d p 2 4 0 1 开发例子的实现原理。在此基础上 选用1 1 4 的应用开发例子和开发工具包中提供的一些功能函数,实现l f b 属性 管理库的开发。但是和i n t e li x a 框架不同之处在于:在核模块之上引入了l f b 属性管理库的概念,它是l f b 属性管理函数的集合,主要负责向下l f b 属性配 浙江t 商大学硕十学位论义 置、查询和异常包上报,具体表现为:向f e 接口层提供a p i ,从而实现c e 对 f e 的l f b 具体属性的管理。最后构建了一个测试平台,在不同的测试环境中对 l f b 属性管理库中的功能函数做了充分的测试和验证,这为实现c e 控制f e 的 l f b 属性奠定了基础。 本论文所依托的课题为“支持多服务交换的开放可编程路由器管理协议 g r m p ”国家8 6 3 计划项目。 二、主要贡献 基于i x p 2 4 0 0 的f o r c e s 路由器软件模型的实现工作具有一定的创新性。主 要研究了f o r c e s 路由器软件模型中l f b 属性管理库的设计和实现,包括各l f b 模块可配置的属性提取、配置、查询以及对异常包的处理。并且设计和实现了异 常包的处理模块,实现了浚路由器软件模型对s n m p 和路由协议的支持。在实 现上做了大量的测试工作,我们的测试为f o r c e s 协议的制定和实现提供了重要 的实验依据,并且基于f o r c e s 协议的模型实现将有助于推动该协议的标准化进 程。 三、论文安排 本文后续章节的安排如下: 第二章首先介绍了f o r c e s 体系结构、f em o d e l ( f e 模型) 和l f bm o d u l e ( l f b 模块) 等f o r c e s 协议的相关知识,以及i n t e li x a 模型的结构组成和基 本原理。在此基础上分析了基于i x p 2 4 0 0 的f o r c e s 路由器的硬件实现方式和软 件模型。 第三章首先简要描述了软件模型中的l f b 属性管理库,按照f o r c e s 协议的 约定描述l f b 属性。结合i n t e l 开发工具包i x as d k 4 1 ,设计和实现了对l f b 属性操作的函数,由这些函数构成l f b 属性管理库。 第四章设计了一个测试平台,在不同的测试环境中l f b 属性管理库中的功 能函数做了充分的测试和验证,并对测试结果做了必要的分析。 篇五章对论文进行了总结,并针对目前的实现提出了几点改进意见。 浙i 】= 工商大学硕士学位论文 第二章基于1 x p 2 4 0 0 的f o r c e s 路由器模型 第一节f o r c e s 体系机构 一、f o r c e s 协议框架 f o r c e sf r a m e w o r k 中定义了f o r c e s 的体系结构。一个满足f o r c e s 标准的 网络组件( n e t 、v o r ke l e m e n t ,n e ) 的核心具有如图2 - 1 所示的结构【刀。 f p :c e - f e 接口 f i :f e f e 接口 f r :c e _ c e 接口 f c :c e m a n a g c r _ c e 接口 f f f e m a l l a 舻r _ f e 接口 f 1 :c em a n a g e r - f em a g e r 接口 刚f :f e 外部接口 图2 - 1f o r c e s 体系结构图 图2 - 1 表示在f o r c e s 体系结构中各个逻辑部件以及它们之问的关系。在 f o r c e sn e 中有两种部件:c e 和f e 。每个f e 包含一个或者多个外部接口用来 接收和发送数据包。这些f e 外部接口的集合就构成了n e 的外部接口。在n e 中,除了外部接口,还必然存在大量的内部接口。例如:使c e 和f e 能够彼此 通信的f p ,使f e 能够转发数据包给另一个f e 的f i 等。图2 - 1 还给出了两个存 在于f o r c e sn e 之外的实体:c em a n a g e r ( c e 管理器) 和f em a i l a g e r ( f e 管 理器) 。它们能够在预连接阶段对相应的f e 和c e 进行配置。为了方便起见,为 7 淅扛丁商大学顶士学位论文 这些部件之间的逻辑连接节点加上标记:f p 、f c 、f f 、f r 、f 1 、f i ,各自所代表 的含义如图2 - 1 所示。所有这些节点对理解f o r c e s 体系结构非常重要,然而 f o r c e s 协议却只定义了一个节点f p 。 图2 1 中,一个f o r c e sn e 内有至少一个或多个冗余的c e 、有可多达几百 个的f e ,它们彼此之间的联系通过f o r c e s 协议完成,这个协议连接面称为f p 参 考点,注意f p 参考点可以经由- - 尉b ( s i n g l e h o p ) 也可以经由多跳( m u l t i h o p s ) l 稠络 实现。f i f 为各个f e 的网络接口参考点; f r 为冗余c e 连接参考点,当前 f o r c e s 暂不考虑该点的技术问题。 在以上f o r c e s 结构中,网络安全问题始终是f o r c e s - - 个至关重要的问题。 和传统路由器结构相比,f o r c e s 结构路由器需要考虑如下的特殊安全性要求: 1 、 f p 参考点可能的伪装攻击,尤其当f p 处于多跳网络中时; 2 、f i f 参考点进入的拒绝服务( d e n i a lo f s e r v i c e ,d o s ) 攻击;由于在许多 情况下,f e 需把来自于f i f 的l p 包传送至i c e 进行深触( h i g h - t o u c h ) 处理( 如网络 管理命令处理等) ,所以d o s 攻击可能导致f p 参考点瘫痪、进而使c e 失去对f e 的控制权: 3 、 伪装的f e 进行加入、离开泛滥( f l o o d ) 攻击,使c e 资源耗尽。 r f c 3 6 5 4 定义的f o r c e sr e q u i r e m e n t s 要求f o r c e s 协议必须有预防以上攻 击的解决方案。 二、f e m o d e l f e 内的体系结构主要由f e 模型定义,f e 基本结构如图2 2 所示【8 j 。一个 f em o d e l 必须满足f o r c e s 需求中f em o d e l 的需求,也就是必须定义:l f b 中 逻辑上可分离的、独立的包转发操作,不同的l f b 之间可能的拓扑结构连接, 每一种类型的l f b 的可操作的性能,每一种类型的l f b 的可能的配置参数和 l f b 之间交换的m e t a d a t a 。 f o r c e s 的基本协议被c e 和f e 用于保持它们之间的通信通道,f o r c e s 协 议终端点负责和c e 间的协议消息处理。f o r c e s 协议也用于询问和发现i n t e r - f e t o p o l o g y 。一个f e 中特殊d a t a p a t h 的实现细节,包括l f b t o p o l o g y 和每一个l f b 的属性、功能,都通过f o r c e s 协议传送到c e 。l f b 类的模型应该定义l f b 所 浙江工商大学硕士学位论文 有的配置和管理信息,这些信息需要在f e 和c e 之间交换。 图2 - 2f o r c e s f e 基本结构 其中f e 内的资源被表示成各种不同功能的逻辑功能块( l o g i c a lf u n c t i o n b l o c k ,l f b ) ,l f b 及它的属性都是可以由c e 通过f o r c e s 协议进行控制的, 各个l f b 之间通过数据通道( d a t a p a t h ) 相互连接,该连接关系也是由c e 经 过f o r c e s 协议定义,以形成不同的l f b 拓扑结构、进而实现动念资源配置以完 成各种不同的l p 类型服务。典型的l f b 如分类器( c l a s s i f i e r ) 、米表( t cm e t e r ) 、 调度器( s c h e d u l e r ) 、i p v 4 转发器( f o r w a r d e r ) 等。 三、l f b m o d u l e 当一个数据包经过一个l f b 的时候,l f b 会根据预先定义好的行为,对数 据包进行处理。经过处理后的数据包要么被修改( 例如d e c a p s u l a t o r ,m a r k e r ) , 要么有一些结果产生或者存储( 例如c l a s s i f i e r ) 。每一个l f b 都会完成一个典型 的行为。c l a s s i f i e r s ,s c h e d u l e r 都是l f b 的示例。l f bm o d u l e 允许我们用很少的 l f b 来准确的描述f e 的功能( 例如i p v 4f o r w a r d e r ) ,而且能够描述更加复杂的 网络功能。 每个l f b 有一个或多个输入,每个输入都可以接收一个数据包p 并附带数 据元m ;还要有一个或者多个输出,每个输出都传送一个数据包p 并附带数据 元m 。数据元是在网络处理设备( 例如路由器,交换机等等) 中与数据包有关 9 浙江工商大学硕十学位论文 的数据,它从一个l f b 传送到下一个l f b ,但它并不通过网络传送。一般情况 下,一个f e 会包含多个l f b 。 一个如图2 2 所示的l f b 会有输入、输出和属性,这些都能够被c e 通过 f p 参考点和f o r c e s 协议终端点来询问和处理。l f b 操作必须在l f bm o d u l e 中 被定义,从而使c e 能够理解转发的行为。例如c e 必须知道在数据链路的哪一 点上i p v 4 报头中的1 t r l 域应该减1 。另外,c e 必须知道f e 应该在哪里对何种 类型的报头进行修改。最后,c e 必须确定f e 中连接在一起的不同类型的l f b 是兼容的。 第二节网络处理器技术与i n t e li x a 体系架构 一、网络处理器技术【1 9 j 网络处理器是新一代用来执行数据处理和转发的高速可编程处理器。它既有 a s i c 的高速处理能力,又有完全的可编程特性,是高速网络设备支持业务管理、 安全与网络监控、q o s 等网络功能必不可少的元件。 从功能上讲,网络处理器主要是完成数据处理和转发任务。它可以广泛地应 用在因特网的核心层、边沿层和局域网企业网中。在核心网中,网络处理器可 以用于实现核心路由器:在边沿网中,它可以应用于i s p 接入设备和数据中心, 提供对新型业务和网络汇接的支持:在局域网中,则可以用于用户管理和接入控 制,实施安全和网络监控,以及i n t r a n e t 防火墙等。 网络处理器的高速处理能力主要是通过一个芯片内集成多个微处理器以及 一个微处理器包含多个硬件线程实现的,当然也采用了其他一些硬件加速技术; 而网络处理器的灵活性则主要是通过智能协处理单元与网络处理单元的完全可 编程能力实现的。 从图2 3 中可以看出,网络处理器主要包括两个功能模块,即网络处理单元 和专用的智能协处理单元。其中,智能协处理单元是网络处理器的核心,它一般 需要嵌入式操作系统的支持,用于对网络处理单元和其他硬件单元进行控制;通 过运行操作系统之上的路由协议软件包,完成路由信息的接收、处理和发送,生 成并维护路由表等。网络处理单元( 一般有多个) 通常采用多线程结构,可以完成高 浙江工商大学邱! 士学位论文 速、大容量的智能数据处理功能,如数据包的收发、包头处理和路由查询等。 i 。蕃储单元l 1,一 图2 - 3网络处理器的硬件结构 网络处理器的这种硬件结构,大大提高了其处理速度;多个处理器并行工作 的结构可以提高网络处理器的处理能力;处理器内部的硬件多线程结构可以降低 数据处理时访问存储器所需的平均时间,提高芯片的效率;实时性要求不同的任 务交由不同的处理器完成,从一定程度上可以减少数据包的处理延迟。从系统灵 活性的角度看,智能协处理单元是可编程的,网络处理单元一般由多个r i s c 芯 核组成,而r i s c 芯核也是可编程的。这就充分保证了网络处理器的灵活性。 二、i n t e li x a 概述 为了满足网络中对灵活性、高性能、可扩展性和可移植性的要求,i n t e l 公司 推出了i n t e li x a ( i n t e li n t e r n e te x c h a n g ea r c h i t e c t u r e ,英特尔因特网体系架构) 。 如图2 - 4 所示,i x a 中有如下3 个重要组成部分。 1 、m i c r o e n g i n e ( m e ,微引擎) :微引擎是i x p 2 x x x ( i n t e l 公司开发的第二代 网络处理器) 的核心部件,在其它硬件功能单元的支持下,执行快通道( f a s tp a t h ) 上的数据包处理任务; 2 、x s c a l ec o r e ( x s c a l e 核) :x s c a l ec o r e 是i x p 2 x x x 网络处理器的高层控 制、管理单元,是与i x p l 2 0 0 中s t r i n ga r m 兼容的- - 9 十微处理器。x s c a l e 上面 运行v x w o r k s ,e m b e d e dl i n u x 等实时操作系统,它接收来自c e 端的f o r c e s 消息,对整个i x p 2 x x x 系统进行控制和管理; 3 、i x a p o r t a b i l i t y f r a m e w o r k ( i x a 可移植性框架) :i x a p o r t a b i l i t y f r a m e w o r k 为基于i x p 2 x x x 的软件开发提供应用编程接口( a p i ) 和硬件抽象层( h a l , 浙江丁商大学硕十学位论文 h a r d w a r ea b s t r a c t i o nl a y e r ) ,使得运行在x s c a l ec o r e 和m e 上的软件具有良好的 可移植性和可重用性。 图2 - 4i n t e li x a 模型示意图 三、i n t e li x a 可移植性框架 基于运行在核心处理器和协处理器的不同硬件之上,网络处理器可分成数据 平面与控制平面。数据平面主要运行在微引擎处理之上,是实现输入端口和输出 端口间高速转发数据包的处理功能,具有线速执行特点,并充分利用数据包的无 关性,采取并行处理方式。控制平面一般运行在网络处理器核上,处理路由表更 新、管理数据平面任务与状态、完成高层的q o s 控制等。这些操作的性能要求 低于数据层面,因此通常采用高性能通用处理器硬件平台。为了有效支持网络处 理功能,控制平面与数据平面之间存在复杂的信息交互与依赖关系。 为了方便开发人员开发,消除平面之间通信等一些细节,i n t e l 提出了它的网 络处理器开发模型,称为i x a 可移植性框架。利用此框架,可开发模块化的、 可重复利用的网络数据包处理软件,使得i x p 2 x x x 可应用于o c 一3 o c 一1 9 2 多 种线速下的v o l p 、m o b i l ei p v 6 、q o s 等复杂多样的网络业务。ap o r t a b i l i t y 1 2 浙扛t 商大学硕卜学位论史 f r a m e w o r k 的结构如图2 5 所示。 i n t e li x a 可移植框架中最重要的组成部分就是在微引擎上和x s c a l e 核上开 发的代码模块。基于不同硬件上开发的代码模块分别称为微模块和核模块。每一 个模块都代表了一个进行包处理的代码单元。这里实际上引入了构件的思想,开 发人员将各种模块以一定的顺序组织在一起,组成一个特定的应用。下面分别对 框架中的各个层次进行讨论【2 0 1 。 数据面库( d a t e p l a n e l i b r a r i e s ) 图2 - 5i n t e li x ap o r t a b i l i t yf r a m e w o r k 的结构组成 ( 一) 微模块 数据平面的微引擎在逻辑上分成一个或多个微模块。每一个微模块都是一个 宏或者一个微引擎或由i n t e l 提供的一些底层库写成的函数。微模块之间彼此独 立,这样就提高了代码的可重用性,同时也简化了微引擎上代码的编写。微引擎 与i n t e lx s c a l e 核共享一部分内存,大部分网络包的处理都通过微引擎来进行, 一些例外的包将传递给i n t e lx s c a l e 核模块来处理。微模块从功能上一般包括与 一些高层协议相关包的处理微模块和与硬件紧密相关的微模块。前者包括i p v 4 转发、网桥、网络地址转换f n a t ) 等;后者包括包的接收和发送模块及分组队列 管理模块等。 ( 二) 核模块 核模块运行在x s c a l e 核上,实现了相关微模块的配置、管理和例外处理等工 浙江工商大学硕士学位论文 作。一个核模块可能管理着多于一个微模块。具体来讲,核模块主要完成以下一 些功能:配置微模块( 通过引入变量的静态配置和控制模块的动态配置) ;初始 化并维护一些可能被其它应用程序修改的数据结构;提供了一个例外处理和控制 消息处理机制来处理微模块发送过来的包和消息。 ( 三) 微模块基础框架库 微模块基础框架库( m i c r o b l o c ki n f r a s t r u c t u r el i b r a r y ) 提供了访问暂存包描述 符的a p i

温馨提示

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

评论

0/150

提交评论