(计算机系统结构专业论文)基于主动网络的缓存技术研究.pdf_第1页
(计算机系统结构专业论文)基于主动网络的缓存技术研究.pdf_第2页
(计算机系统结构专业论文)基于主动网络的缓存技术研究.pdf_第3页
(计算机系统结构专业论文)基于主动网络的缓存技术研究.pdf_第4页
(计算机系统结构专业论文)基于主动网络的缓存技术研究.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 网络缓存能降低网络负荷,减少用户等待时间,以及降低服务器负载。目前 通用的网络缓存机制在效能及运作上常有以下几类缺点,如人工管理不便、缓存 服务器间协作时的通信量过大、以及未考虑负载均衡等问题。 本文在分析已有的传统网络缓存技术基础上,结合主动网络的特征,提出一 种基于主动网络的自适应网络缓存机制。即在自动构建层次拓扑的基础上,采用 了缓存摘要技术进行通信协作,通过集中式管理缓存摘要的方法来减少协作通信 量;并建立了缓存负载均衡替换策略的数学模型,据此提出了一种缓存负载均衡 替换策略,依照缓存服务器的负载和缓存数据的缓存综合价值对数据进行迁移替 换,从而实现了缓存服务器之间的负载均衡和缓存替代的最优化效果。最后,本 文使用t r a c e - d r i v e n 模拟方法,以n e t w o r ks i m u l a t o r 仿真器作为模拟工具,模拟结 果显示本文设计的系统相较于层式结构缓存系统在缓存命中率,字节命中率以及 响应时间方面都有较优表现。 关键词:主动网络网络缓存自适应缓存负载均衡 a b s t r a c t a b s t r a c t n e t w o r kc a c h i n gc a nr e d u c en e t w o r kb u r d e n , d e c r e a s eu s 嚣p e r c e i v e dl a t e n c i e s ,a n d r e d u c et h eo r i g i n a ls 科w e rl o a d a tp r e s e n t , s e v r a ld i s a d v a n t a g e se x i s ti nt h ew e b c a c h i n gm e c h a n i s m , s u c ha s :t h e 协l 饪i ca r et o oh e a v y , w h e nt h ew e b c a c h es e v e r sa r e e o o p e r a t i o n i n gw i t he a c ho t h e r , i ti s t o od i s c o m m o d i o u s n e s st om a n a g et h es e v e r s m a n u a l l ya n dt h el o a db a l a n c eh a v en o tb e e nt a k e n i n t oa c c o u n t b a s e do na n a i y z 证gt h ee x i s t e dw e bc a c h i n gt e c h n o l o g ya n dt h ec h a r a c t e r i s t i co f t h ea c t i v en e t w o r k as e l f - o r g a n i z i n gc o o p e r a t i v ew e bc a c h i n gm e c h a n i s mi sp r o p o s e d b a s e do nc o n s t r u c t i n gg r a d es w a c t u r ea u t o m a t i c a l l y , at e c h n o l o g yc a l l e dc a c h ed i g e s ti s u s e dt oc o m m u n i c a t ea n dc o o p e r a t e + a i s o ,i no r d e rt or e d u c et h ec o m m u n i c a t ec o s t s ,a l l o ft h ec a c h ed i g e s t sa r cm a n a g e dc e n t r a l l y m e a n w h i l e ,t h es y s t e mc a l la l s ol o a d b a l a n c eb e t w e e ns e v e l sa c c o r d i n gt oac a c h er e p l a c e m e n ta r i t h m e t i c ,c a c h i n gd a t aa r c : m i g r a t e dt ot h es e v e rw h o h a st h es m a l l e s ti n t e g r a t i o nc a c h ev a l u e t h e r e f o r e ,t h el o a d b e t w e e ns e v e f si sb l a n c e d , c a c h er e p l a c e m e n ta l s og e ti t sb e s te f f o r t t r a c e - d r i v e n s i m a l a t i o nt e c h n i q u ea n dn e t w o r ks i m u l a t o r 戤u s e dt os i m u l a t et h em e c h a n i s m t h e r e s u l ts h o w st h a tt h em e c h a n i s mh a sm u c hm o r ea d v a n t a g e st h a nt h ec o n v e n t i o n a l s y s t e m s k e y w o r d s :a c t i v en e t w o r kw e bc a c h i n g a c t i v ec a c h i n gl o a db l a n c e 声明 创新性声明 秉承学校严谨的学分和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果:也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:日期:竺兰! :! 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。( 保密的 论文在解密后遵守此规定) 本学位论文属于保密,在年解密后适用本授权书。 本人签名:煮皇兰! 塾日期:竺! :! : 导师签名: 羔垄:凰 日期: :a 7 - ,、r 第一章绪论 第一章绪论 1 ,1 研究背景 随着互联网的普及,网络应用的蓬勃发展使互联网己成为不可或缺的重要的 信息平台和业务平台,网络己经深入到人们生活中,人们也越来越依赖网络来获 取信息。同时,在i n t e m e t 上传输的数据量也随之与日俱增,不仅包括文字图片, 还有声音、视频等,这些大量的信息访问也突出了i n t e r n e t 目前存在的问题:虽然 随着电信业的发展以及国家骨干网带宽的增加,用户可以得到的网络带宽也正在 增加,但这些硬件设施的发展速度远远跟不上网络用户爆炸式增长造成网络流量 激增,以及网络应用对带宽的巨大需求。导致在有限的带宽条件下,为了获取w e b 服务器上的数据,用户不得不忍受严重的时间延时和更多的通信费用,网络服务 质量受到了严重的影响。 网络缓存将用户以前数据请求的响应缓存在缓存服务器上,当用户再次发出 相同的数据请求时,该请求实际上并没有发送给w e b 服务器,缓存服务器直接将 其缓存的缓存副本响应给用户,从而在一定程度上缓解了对网络带宽的滥用,同 时也减少了用户访问w e b 服务器的延迟。 网络缓存是解决网络拥塞问题,提高网络整体性能的一种切实可行的有效方 案。概括地讲,它具有如下优点: 首先,网络缓存减少了数据在网络中重复传输的次数,大大地降低了带宽消 耗,减轻了网络负荷,从而减少了网络拥塞的可能; 其次,降低了用户的访问延迟。一方面是因为频繁访问的数据由附近的缓存 代理服务器取回,而不是远程的w e b 服务器,从而降低了传输延迟;另一方面是 由于减少了网络流量和降低了w e b 服务器负载。使取回尚未缓存的数据的时间也 相对减少。 第三,降低w e b 服务器的工作负载。由于在网络上缓存数据的存在,在缓存 服务器中缓存命中的数据请求不会产生向w e b 服务器的数据请求和响应,从而减 少了直接访问w e b 服务器的次数,降低了w e b 服务器负载,降低了w e b 服务 器成为瓶颈的可能性,使w e b 服务器有能力提供更好的服务,提离了系统的可扩 展性。 因此,网络缓存已经成为网络中的重要组成部分。当然,网络缓存也有许多 负面影响。首先,最大的弊病就是用户获取的数据可能是过时的。再者,对于那 些缓存中没有的数据来说,缓存的查找过程是额外的工作,不仅没有减小时延反 两还增加了时延。还有,由于缓存的存在,远端w e b 服务器不能获得准确的用户 2 基于主动网络的网络缓存技术研究 访问记录。 为了充分发挥网络缓存提高网络性能的积极作用,克服网络缓存的弊端,各 国学者很早就就己经开始大力研究网络缓存技术,并针对不同时期的网络特性设 计了各种结构的缓存系统及相应的算法和协议。但是网络技术也在日新月异的发 展,目前的网络现状对网络缓存提出了新的要求,其中比较迫切的有三点: 第一,网络规模的急速膨胀要求网络缓存系统必须易于部署、易于扩展,稳 定可靠; 第二,网络缓存服务器的不断增多迫切要求网络网路缓存具有自组织的能力; 第三,随着网络及网络应用的发展,如何使缓存服务器之间能更好的协作, 摆脱手工配置的模式,并在缓存系统中均衡缓存服务器的负载。对此,现有的网 络缓存机制就显得有些无能为力了。所以,如何设计自适应网络缓存机制是一个 迫在眉睫的问题。 因此,研究自适应网络缓存机制具有重大意义。 1 2 目前国内外的研究现状 网络缓存技术是一个发展非常迅速的热门研究领域,无数学术界和工业界的 研究团队正致力于网络缓存相关课题的研究,如缓存的体系结构、缓存协议及算 法。 虽然h a v e s t 和s q u i d 缓存系统已经被广泛实现并应用,但是更深入的研究仍 然在不断进行。现已比较著名、成熟的缓存协议有:因特网缓存协议0 c p ,l n t e r n e t c a c h ep r o t o c 0 1 ) 、超文本缓存协议( h t c eh y p c rt e x tc a c h ep r o t o c 0 1 ) 、缓存阵列路 由协议( c a r p ,c a c h ea r r a yr o u t i n gp r o t o c 0 1 ) 和缓存控制协议( w c c p ,w e bc a c h e c o n t r o lp r o t o c 0 1 ) 。然而,主动网络的出现给缓存技术的发展提供了新的思路,它 使动态在网络中部署新的网络缓存协议成为可能。目前基于主动网络缓存技术研 究的主要有如下缓存服务器协作、最佳缓存位置计算、动态数据缓存三大方向: 1 缓存服务器协作 g e o r g i a t e c h 1 提出了在服务器和客户机之间指定的一系列缓存服务器中,对 缓存数据的大小进行分层缓存,每个缓存服务器都只能缓存一定大小的缓存数据, 每个缓存服务器同时通过指针来记录附近缓存服务器所缓存的数据。 p o v e y 和h a r r i s o n 2 1 提出了一种缓存协作体系结构,该结构使用低层缓存服务 器缓存数据,而高层节点并不缓存数据,只记录了一系列指向真正缓存了数据的 低层缓存服务器的指针,缓存服务器缓存的内容根据它所在缓存体系结构中的位 置不同而各异。 l i - d e rc h o u l 3 1 根据用户可以接受的最长响应时间和网络环境来决定是否对经 第一章绪论 过其中的数据进行缓存。并把存储网络分为不同的缓存区域,缓存区域的半径由 用户可以接受的最长响应时间动态决定。 m i t 4 1 通过缓存服务器之间相互交换缓存内容信息,由此来确定附近缓存服务 器所缓存的内容,并对数据请求进行相应的转发。 l l e f e v r e 5 】在两层的层次结构上,低层子节点的利用缓存摘要算法生成缓存摘 要,高层把子节点摘要信息收集起来,当请求未能在一个子节点命中时,将请求 发给父节点,父节点如果查到它的予节点中缓存有该数据,则向它转发请求,否 则向w e b 服务器转发请求。 2 最佳缓存位置计算 k a z e m n a j a f i 6 在他的博士论文中提出了一个基于价值的数学模型,并用该模 型来动态选择放置缓存服务器的最佳位置。 b a c k xp e t e r 7 提出一种名为i l p 的算法。用以计算数据缓存在哪个缓存服 务器最佳,但计算都较为复杂。 3 动态数据缓存 m r r l 8 】设计了一种可以用来缓存动态数据的协议,每个缓存数据都和一个时间 戳关联,缓存在客户机和服务器之间的缓存服务器中,但是它并没有提供相应的 缓存服务器协作的机制,导致相同的数据可能因为在网络中传输的延时等因素, 而被缓存在不同的缓存服务器中。 x ud u l 9 】1 3 4 坛缓存内容分类,生成不同的广播树,处于根节点的缓存服务器负 责按其文中设计的算法检查w e b 服务器的数据变化情况,当发现w e b 服务器中 数据有变化的时候,主动把数据广播到处于缓存树叶子节点的缓存服务器中。 c h o y uc l l i a n g i 删针对动态缓存的未命中转发,解决了存储的服务器的转发表 设计问题,以及采用了混合启发式和金字塔式的混合模型来解决转发的目的服务 器问题。 v a n e tg a 【1o 】在主动网络中自组织生成一个层次结构的拓扑,其层次结构按照 时间变化范围来区分,每一层上的缓存服务器只能缓存其对应时间变化范围内的 数据,并对同一层次内的缓存数量进行控制。不足之处是需要统计每个热点动态 数据变化的大概时间。 目前通用的网络缓存机制在功能及运作上没有综合考虑这几个问题:如人工 管理不便、缓存服务器间协作时的通信量过大、以及如何对数据进行迁移,实现 负载均衡替换最优化等。 本文深入研究已有缓存技术的优点,对上述几个问题进行解决,从而提出一 种基于主动网络的自适应网络缓存机制。 4 基于主动网络的网络缓存技术研究 i 3 论文研究的内容及创新点 传统网络中的缓存服务器一般都由手工部署在网络的边缘上,而主动网络可 以使网络中的任意一个主动节点通过代码服务器自动下载代码,部署成网络缓存 服务器,自动加入到附近的网络缓存服务器组中,和周围的网络缓存服务器进行 协作,本文提出的基于主动网络的自适应网络缓存架构可以随系统中的缓存服务 器数目的增多和网络需要,灵活的进行部署和扩展。本文所做的工作主要包括: 1 介绍了主动网络的基本理论概念。 2 介绍了传统网络缓存技术中的通信协议,替换策略和一致性维护技术,对 传统网络技术存在的问题的不足之处进行了总结分析。 3 提出一种基于主动网络的自适应网络缓存机制。主要包括三方面:第一、 当主动网络中加入或者移除缓存代理服务器时,再无需手工做复杂的设定,缓存 代理服务器群组会自动调整拓扑并维护组成员列表;第二、采用了缓存摘要技术 进行通信协作,并在缓存服务器群组中设置了一个管理服务器专门收集缓存摘要, 缓存服务器之间无需再相互交换缓存摘要,从而极大的降低了网络通信量;第三、 建立了缓存负载均衡替换策略的数学模型,据此提出了一种缓存负载均衡替换策 略,依照缓存服务器的负载和缓存数据的缓存综合价值对数据进行迁移替换,从 而实现了缓存服务器之间的负载平衡和缓存替代的最优化效果。上述内容是本文 的创新之处。 4 通过使用n s 网络模拟器,结合网络缓存的仿真模型对自适应网络缓存系 统的性能进行了细致的分析。结果表明,与层次结构缓存系统、基于单机的缓存 系统相比,自适应主动网络缓存系统的平均响应时延较小,节省的网络带宽较大, 整体性能提高较大。通过模拟对该缓存协议进行评估,证明了其相对于传统的网 络缓存协议有较大优势。 1 4 论文结构 本文主要分为五部分: 第一章绪论。提出论文研究的背景以及国内外相关研究发展现状,介绍本文 所做工作及其创新点。 第二章介绍主动网络的概念、结构及其优点。 第三章主要介绍现有传统网络种的网络缓存技术,包括通信协议,替换策略 和一致性维护策略,并指出其不足之处。 第四章基于主动网络的自适应网络缓存机制设计。本章首先讨论了基于主动 第一章绪论5 网络的自适应网络缓存机制的设计要求,结合主动网络的特征,针对自适应网络 缓存机制中的激活监控,通信协作和负载均衡三个功能分别进行详细的算法描述。 第五章基于主动网络的自适应网络缓存机制的模拟。对上一章提出的自适应 网络缓存机制和用n s 软件进行模拟,通过与单机的缓存服务器以及层次结构的缓 存协作机制的比较,证明主动网络的自适应网络缓存机制具有一定的优越性。 第六章总结。对本文工作的总结,并提出需要改进之处以及进一步研究方向。 第二章主动网络技术 7 第二章主动网络技术 2 1 传统网络存在的问题 计算机网络是目前发展非常迅速的一个领域。在最近的十几年中,新的技术 与应用不断涌现,网络方面的理论和技术已日趋成熟,但是网络体系结构和处理 模型却一直没有发生大的改变。具体地说,传统网络的功能就是将数据包从网络 的一端发送到另一端,网络不必考虑所传递的数据包的具体内容。数据包在网络 内的处理被限制在路由选择、拥塞控制以及实施服务质量控制这几个方面。随着 新兴的网络服务不断涌现,特别是最近出现了一些要求在网络内完成计算控制的 服务,如防火墙、网络代理,多播路由器等,传统网络的局限性日渐暴露出来。 现有的网络体系结构没有提供这方面的支持,应用程序必须在专门的网络节点上 提供所需的服务以执行用户控制的计算。改进网络体系结构,允许用户对网络进 行编程控制,己成为一种迫切的需要。 在这种背景下,人们认为需要在传统i n t e m e t 体系结构的基础上研究新的网络 体系结构,即具有自适应、动态和智能化特性的网络。主动网络的提出为解决这 一问题开辟了新的思路。主动网络是美国国防部高级研究计划局于1 9 9 4 1 9 9 5 年在 关于未来网络系统发展方向的讨论中提出的,主动网络的命名是相对于现有的网 络比较而言的。现有的网络由于不对报文进行处理或计算,虽然现有的网络中的 路由器和交换机也可以改变报文的报头,但它们对真正的用户数据却不做任何处 理,原封不动地转发用户数据是它们的宗旨,即使对报头的改变和相关路由处理 也是独立于用户处理和产生这些报文的应用程序。相对于传统的网络技术而言, 主动网络技术是一种全新的解决方案,旨在解决传统网络中存在的闫题,构造具 有高度灵活性和动态可扩展性的网络体系结构【1 3 】。 2 2 主动网络的概念与特点 主动网络是一种允许用户对网络中间节点进行编程的新型网络结构,它由一 组主动节点构成,每个主动节点是一台路由器或交换机,它们具有处理主动包的 能力。主动网络中的分组称为主动包,它可以携带代码,到达主动节点时代码被 执行,其结果可能会改变主动包的内容或转发路径,或者导致发送新的主动包, 或者改变主动节点的环境状态,因此主动网络具有快速部署新的网络服务的能力。 与传统网络的存储一转发机制相比较,主动网络增加了对主动包的计算处理,从 8 基于主动网络的网络缓存技术研究 而其工作机制为存储一计算一转发。主动网络的可编程性和可扩展性是它区别于 当前网络的重要特征 1 5 1 。 主动网络具有很强的自适应性,它能引导数据报主动避开受到破坏的节点; 当主动节点尚未部署某种服务时,它能自动从相邻主动节点或指定主动节点获取 服务代码并进行自动部署;注入网络的移动代码能自动扩散和消失;当主动节点 受到攻击时能自动启动保护程序等等。可见,主动网络的结构和行为不再取决于 静态的设置,而是能够根据情况动态改变。主动网络的“主动性”主要表现在两 个方面,一是路由器可对流经它的用户数据包的内容执行计算,甚至改变数据包 的内容:二是用户可将程序注入网络以剪裁主动节点对应用特定数据的处理。传 统网络中的节点对数据包的计算能力是非常有限的,尽管路由器也能对数据报头 进行一些修改( 如修改t t l 、重新计算校验和等) ,但路由器对数据包的内容不作任 何检查和修改,只是透明地转发,并且对数据报头的计算及路由器转发行为与产 生数据包的用户进程或应用无关。利用主动网络技术,可以使得网络具有自组织 性。将不同的缓存策略注入到网络主动节点中去。 主动网络具有以下特点【1 】: 可编程性:主动网络的报文、体系结构、服务等可以用一种或多种语言描述, 其网络基础结构具有存储一计算一转发的功能,这是它的最大特色。 移动性:主动网络能够传送携带程序的报文( 主动报文) ,主动报文能在不同的 平台上流动,流经的主动节点可以执行主动报文中的程序,所以主动网络可以成 为移动计算、a g e n t 技术通信的基础。 可扩展性:主动网络的可编程性使它具有灵活扩展功能的能力,从而可以加 快网络革新的步伐,从传统的面向供应商驱动的网络服务向面向用户驱动的网络 服务转变。 可互操作性:主动网络必须能够与口世界的网络交换信息,互操作性是开放 网络体系结构有发展前途的基础。 安全保密性:网络的可编程性同时带来新的安全保密问题,因为每个主动报 文中都可携带程序,这是十分危险的。由主动网络引入的安全问题必须在主动网 络内部解决。 2 3 主动网络的体系结构 目前美国国防高技术研究计划局是当前最主要的主动网络研究组织。经过多 年努力对主动网络体系结构总体框架己达成共识,即大体上主动节点包括三个部 分,即节点操作系统( n o d eo p e r a t i n gs y s t e m ,n o d e o s ) 、执行环境( e x e c u t i o n e n v i r o n m e n t ,e e ) 和主动应用( a c t i v ea p p l i c a t i o n ,h a ) 。 第二章主动网络技术9 主动网由一组互联的主动节点组成,在主动网络中,不再区分端系统与中间 节点( 此处不考虑包含常规节点的混合网络) ,中间节点能够提供直到应用层的计 算处理能力,并向用户提供编程接口。主动网络节点和主动网数据包是构成主动 网络的主要功能实体,以下部分对主动节点的体系结构和主动网络数据传输处理 进行介绍。 2 3 1 主动网络节点的体系结构 主动网工作组提出了主动节点的体系结构框架【l 卯,类似于传统网络的体系结 构,主动节点的功能实体由三个层次构成:节点操作系统( n o d eo p e r a t i n gs y s t e m , n o d e o s ) 、执行环境( e x e c u t i o ne n v i r o n m e n t ,e e ) 和主动应用( a c t i v ea p p l i c a t i o n , a a ) 。每个主动节点可以有多个执行环境,各个执行环境相互独立。其结构如下图 2 1 所示。主动节点的三层机构并不与传统网络的任何一层相对应。在这个体系结 构中存在着两个接口。网络用户通过与执行环境交互作用获取网络服务,e e 运行 于中间节点和端系统之上,提供用户与网络之间所有交互功能的接口,这一接口 称为网络应用编程接口( n a p i ) 。在同一个节点上可能会运行多种e e ,节点操作系 统必须处理资源管理和资源竞争的问题。 主动应用 ( a a ) 执行环境 ( e e ) 节点操作系 统( n o d e o s ) 入信道 出信道 状态存储空问 ( i n c l m a e l ) ( o u t c h a n e l ) 图2 1 :主动节点结构模型“2 为了保证这种控制,所有e e 都通过n o d e o s 访问主动节点资源,n o d e o s 协 调所有对主动节点资源的访问。此外,主动节点资源系统还提供保证主动节点安 全的机制以及提供其他通用资源的抽象,e e 通过主动节点操作系统编程接口获取 各种功能【1 2 】瞄l l 【3 。 1 主动节点操作系统( n o d c o s ) 1 2 】 n o d e 0 s 类似于一般的操作系统,为主动节点资源提供最基本的调度和管理功 l o 基于主动网络的网络缓存技术研究 能( 如c p u 管理、存储器管理、文件管理、网络带宽的使用等资源管理功能) 。 此外,主动节点操作系统还为执行环境提供了一个固定接口。这个接口提供 了一系列的底层的基本函数,上层的执行环境可以利用这些底层基本函数产生更 高层次的网络应用程序接口n e t w o r ka p i 。n o c l e o s 向e e 提供三种主要节点资源 的访问控制,三种资源分别是线程( t r e a d ) 、缓存( c a c h em e m o r y ) 和通信通道 ( c h a n n e l ) 的抽象。线程和缓存分别对应于主动节点中的计算处理和存储资源,通 道则对应于节点底层提供的收发数据包的通信能力。主动节点中的通信资源被 n o d e o s 抽象成c h a n n e l ,c h a n n e l 标识着网络主动节点中特定物理接口以及与其 相关的协议处理功能实体。n o d e o s 能够支持不同类型的c h a n n e l 如t c p i p , i p a t m 等。n o d e o s 进行数据处理的基本单元是数据流( f l o w ) ,它针对不同的数 据流进行不同的线程、缓存及通道的分配和调用。也就是说,n o d e o s 通过流将当 前主动节点中有关线程、缓存区以及输入输出通道联系起来。通过这些网络应用 程序接口,主动节点操作系统为执行环境( e e ) 屏蔽了资源管理及其它细节问题,从 而使得执行环境不必关心底层实现。同时它也为不同的e e 和a a 分配可支配的独 立的资源份额,以保证系统的基本安全。其中信道用于发送和接收主动包,当包 到达主动节点时,将首先根据它所携带的信息( 一般在头域) 对它进行分类,以送 给对应的e e 进行处理。n o d e o s 针对不同的用户或其他实体动态或静态的制定不 同的安全策略。当e e 向n o d e o s 提出系统服务请求时,在请求中带有申请用户的 标识,n o d e o s 首先会将此信息发送给相应的安全执行机s e e ( s a c u d t ye n f o r c e m e n t e n g i n e ) ,s e e 然后依据主动节点中的安全策略数据库对这一请求信息的安全性和 可靠性进行检查验证,最后确定是否向用户提供请求的服务或执行相关操作。关 于主动节点操作系统的研究具有代表性的有j a v aa c t i v en e t w o r k so s ( j a n o s ) 和 s c o u t ,a m p 等1 1 6 1 1 2 8 1 。 2 执行环境( e e ) 执行环境( e e ) 和下层的n o d e o s 接口,同时为上层的a a 层提供服务。e e 是 一组编程语言和程序运行环境,它定义了一个虚拟机v m 和基于主动技术的网络 用户可编程接口,类似于u n i x 操作系统中的s h e l l 命令解释程序。一个主动网络 节点可以具有多个e e ,每一个e e 完成一种特定的功能e e 为上层的a a 层提供 可编程的网络接口a p i 或者一种虚拟机,当主动网络的应用和主动包到达时,完 成必要的处理。e e 一般由e e 开发商开发完成。每一个主动节点都具有一个拥有 很高权限的e e ,它是来管理所有e e 的。利用它可以方便地对其他e e 进行加载、 修改和删除等操作,并可以方便地在主动网络体系结构中开发新的技术和协议, 而不必需要复杂的标准化过程;普通网络用户也可以通过设计和开发自己的e e 来 对网络编程,这样用户就可以设置个性化网络。 3 主动应用程序( a 第二章主动网络技术 主动应用程序通过主动数据包加载到主动网络节点。在主动网络节点的执行 环境中对主动数据包中的有效载荷进行计算和转发,实现用户定制的网络服务功 能。主动应用程序不仅是指通常意义的高层应用,更为重要的是还可以涵盖传输 层,网络层甚至是数据链路层中所涉及的各种算法、策略以及协议等。主动应用 程序可以运行在数据层厩上,实时地处理数据包,也可以运行在控制层面或管理 层面上,进行设置或查询控制状态。主动应用程序可以在主动网络节点之间相互 传输,从而具有移动性,也可以在主动网络节点中长期驻留,创建永久的主动网 络节点状态耻“。 、 2 3 2 主动网络节点中的数据传输与处理 a n e p 为主动网络封装协议( a c t i v en e t w o r ke n c a p s u l a t i o np r o t o c 0 1 ) 。执行环境 负责数据包的接受和发送,它会使用信道( c h a n n e l ) 来完成这项工作,而信道的定 义由节点操作系统完成。当主动节点从物理链路上接收到报文分组时,它首先根 据报文所携带的信息对报文进行分类,然后根据分类将其送入相应的信道。每个 信道具有其相应的协议处理,安全认证也可能在信道中完成。报文进入信道后, 进行相应的信道处理,如计算校验和,或者去掉包头,对p 网络一般是完成链路 层的工作。然后,报文被送到特定的e e ,完成处理后输出。需要指出的是,从任 何一个信道输出的报文可以由不同的e e 处理,这由用户定义:而且,每一个e e 也可以处理来自不同的信道的报文,然后可以输出到一个或者多个信道中去,在 同一个信道中也可以输出多个报文。e e 也可能产生源数据包并将其放入输出信道 中进行处理。 而在主动网络中,由于主动节点能够计算,数据包在输入和输出链路中就可 能是不同的,这在提供了网络的灵活性的同时,也使网络交得更不稳定,所以e e 必须提供相应的机制保证网络的稳定性和安全性,而n o d e o s 则保证e e 之间的独 立性。 2 4 主动网络的优点 主动网络为网络节点提供了可编程接口,它通过公开网络节点底层的资源 和策略来增强其功能,并为构建和优化网络服务提供机制。因此,相比传统的 网络模式,主动网络有以下优点: 1 在传统网络中,仅仅只有网络边缘的一些节点可以执行应用层的计算,中 间节点的一些简单路由器只能执行网络层以下的计算;主动网络是中问路由器也 可执行直到应用层计算的网络,主动网络增加了路由器或交换机等网络中间结点 基于主动网络的网络缓存技术研究 的计算能力和可编程能力,使得网络能够根据应用和用户需要定制分组转发的行 为。 2 主动网络为用户提供了标准的结点处理模型和编程模型,而不是某个标准 的协议,用户通过编写主动的应用程序代码,定制网络结点的处理行为,从而可 以方便地构造满足用户特定应用需求的新型服务,避免了新协议必须经历的漫长 的标准化过程。 主动网络为网络用户、服务提供商和第三方厂商创建和部署新型的网络服务 提供了极大的灵活性和可扩展性,通过定制特定用户或应用的协议和服务,实现 灵活、高效的网络协议处理。 第三章传统网络的网络缓存技术 第三章传统网络的网络缓存技术 3 1i c p 通信协议 缓存服务器间的通信协议是分布式缓存系统中的核心部分,分布式缓存系统 中的缓存服务器通过互相交换缓存信息可以很大程度地提高整个系统的请求命中 率,有效地减少用户的等待时间,减少网络流量。现有的分布式缓存系统的后端 服务缓存服务器大多采用s q u i d ,由于s q u i d 中已经封装i c p 协议,可以说i c p 协 议是目前最流行的代理合作机制。下面对i c p 协议和m i c r o s o f t 提出的缓存阵列路 由协议( c a c h e a r r a yr o u t i n gp r o t o c 0 1 ) 进行介绍。 i c p 协议【1 4 1 1 3 0 1 是目前最成功、最流行的分布式缓存服务器通信协作协议,它 由h a r v e s t 项目组提出,在缓存服务器之间通信使用,并首先在著名的s q u i d 缓存 软件中实现。它允许一组代理服务器共享彼此的缓存数据,用来在一个缓存层次 系统的邻居节点之间交换u r l 存在性信息。代理节点之间通过交换i c p 查询和应 答消息,收集足够的信息用来定位最合适索取对象的位置。i c p 协议提供了代理节 点之间快速有效的通信方法,并提供建立复杂缓存层次系统的机制。以实现把代 理服务器扩展到单个系统之外。一个简单的共享缓存系统的层次模型如下图所示: 图3 1 层次缓存关系的w e b 缓存层次系统模型h 一个单独的w e b 缓存可以减少用户产生的网络流量。同样,一组w e b 缓存也 能够以相同的方式从共享彼此的缓存数据中获益。h a r v e s t 项目的研究人员提出这 样的构想:将各个单独的w e b 缓存按层次的方式连接起来。在一个缓存层次系统 中,一个缓存服务器与它的邻居缓存服务器建立同伴关系。同伴关系有两种:“双 亲( p a r e n t ) ”和“兄弟( s i b l i n g ) ”。双亲缓存服务器事实上是缓存层次系统中的上一 级缓存服务器。兄弟缓存服务器是同级缓存服务器。术语“邻居( n e i g h b o r ) ”和 “同伴( p e e r ) ”指的是这两种关系中的任意一种。 1 4基于主动网络的网络缓存技术研究 在层次系统中请求w e b 数据的流程是向上的。当一个缓存服务器没有用户请 求的对象,它就查询是否它的邻居缓存服务器拥有该对象。如果某个邻居缓存服 务器有,那么该缓存服务器就会向拥有该对象的邻居缓存服务器发请求。如果所 有的邻居缓存服务器都没有,那么该缓存服务器就会把该请求向w e b 服务器或双 亲缓存服务器转发。双亲缓存服务器与兄弟缓存服务器的本质不同在于:它们都 可以服务“邻居命中”情况,但是兄弟缓存服务器不能服务“邻居缺失”情况。 换句话说,一个缓存服务器只能向兄弟缓存服务器索取该兄弟缓存服务器己存的 那些对象,而它可以向双亲缓存服务器索取任何对象。不管该双亲缓存服务器是 否缓存该对象。双亲缓存服务器的作用是在必要时为请求提供一个出口,因此相 应地双亲缓存服务器都被放置在i s p 的出口处。理想状况下,缓存系统的层次要 与i n t e r a c t 的拓扑结构相一致。比如,i s p 控制双亲缓存。而它的用户控制子缓存。 一个i c p 消息由固定的2 0 个字节首部加上长度可变的有效负载组成。i c p 首 部的格式如下面图3 2 所示: o p c o d e v e r s l o nf a c k e tl e n g t h q e q u e s tn u m b e r o p l l o n s p a d d i n g s e n d e rh o s ta d d r e s s 图3 2i c p 首部格式刚 其中各域的含义如下: o p c o d e 域:表明消息类型。 v e r s i o n 域:指明协议版本。 m e s s a g el e n g t h 域:指明整个i c p 消息的大小。i c p 消息的长度不得超过1 6 3 8 4 字节。 r e q u e s tn u m b e r 域:是一个模糊标识符,用来匹配查询和响应。 o p t i o n s 域:长度为4 个字节的任选项,用来支持扩展本版本的协议的功能。 o p t i o nd a t a 域:长度为4 个字节,用来支持o p t i o n s 域的可选特性。 s e n d e rh o s ta d d r e s s 域:最初用于记录发送者口v 4 地址。然而,发送者i p v 4 地址能够从s o c k e t 的a p i 中得到,因此这个字段是多余的,一般没有使用。 p a y l o a d 域:该域的内容由o p e o d e 决定,一般该域的内容为以n u l l 结束的 u r l 字符串。 i c p 可以使用t c p 或u d p 作为底层传输协议。然而,由于两个原因,它目前 只使用u d p :第一,u d p 版本实现简单;第二,i c p 有意作为一个不可靠的协议, 因此t c p 的重传机制并不适用于i c p 。i c p 的查询应答交换应当尽可能快,要在 第三章传统网络的网络缓存技术 一两秒钟内完成。缓存服务器在开始获取请求对象之前不可能等待超过2 秒。超 过2 秒没有接受到应答消息很可能就意味着网络路径拥塞或中断,无论是哪种情 况都不再需要选择这个缓存服务器。 当分布式缓存系统中合作- 的缓存数目不是很多,并且在网络条件良好的情况 下,i c p 缓存系统的性能是很好的,并且当请求数据在本地缓存中命中率很高时, i c p 缓存的缺陷都不会暴露出来,但是这种高效率是建立在对构建缓存系统的相 关条件高要求的基础上的。换句话说,如果想要构建个高效率的i c p 缓存系统 需要的开销代价也比较大,当本地缓存未命中时,必须要向所有相邻同伴缓存广 播该i c p 查询请求,而且要等到所有的缓存都返回未命中的应答之后,才可以向 w e b 服务器请求数据。这样在缓存服务器数量较多的情况下,这些i c p 询问请求 反而会加重网络的负载,造成网络拥塞,增加相应时间的延迟。另外,i c p 缓存 系统的可扩展性较差。 3 。2 缓存替换算法 缓存的替换算法是影响缓存代理服务器性能的重要一方面。当缓存空间已满 或者将近满的时候,若有数据需要加入到缓存中,需要以某种策略来替换出原有 的数据。通常使用的算法有四种【3 1 1 3 2 3 3 】刚1 3 5 : 1 l r u ( l e a s tr e c e n t l yu s e d ) :最近最少使用算法。l r u 算法从缓存文件中把 最长时间没被使用的文件取出。当最近被引用到的文件在不久的将来很可能再次 被使用时,l r u 算法工作得很好。l r u 算法经常在计算机系统中使用,如内存缓 存、文件系统缓存、指令数据缓存等。 2 l f u ( l e a s tf i e q u e n c yu s e d ) :最少使用算法。l f u 算法是一个经典的缓存替 换算法。它以缓存对象的使用次数作为缓冲区清理的依据,优先清除那些使用次 数较低的对象。对于缓存中的每一个文件维持一个引用记数。在每个缓存命中时 候,这个被请求文件的引用记数值就增加。在每一个缓存没命中( 如果这里有不够 的空间增加被请求的文件) 时候,最低引用记数的文件将被替换。 3 l f u - a g i n g ( l e a s tf r e q u e n c t l yu s e dw i t ha g i n g ) :带有时间变化的最不经常 使用算法。类似l f u ,当拷贝新数据进入缓存需要空间时,最少使用的数据被替 换。但是,该算法尝试去修正l f u 中的问题。即使这些数据将永远再不被使用, l f u 中一些数据的引用数目却可以达到非常高,以致它们几乎不可能被替换。通 过限制和变老引用数目,l f u - a g i n g 算法试图确保这种情况不会发生。 4 f b r ( f r e q u e n c yb a s e dr e p l a c e m e n t ) :以频率为基础的替换算法。f b r 算法 使用引用频率和年龄的联合来决定替换。f b r 把缓存分成三部分,新的一部分, 中间的一部分,旧的一部分。当文件刚被加入缓存,首先把它放在新部分的开始。 1 6 基于主动网络的网络缓存技术研究 当文件变旧,以l r u 为基础,它将被从新部分中取出,而移进中间部分。如果文 件持续存放时间持续增大,r 例如仍然在缓存中,但不会被再引用) ,它最终将从中 间部分移至旧的部分。只有旧的部分里的文件是从缓存替换策略的后选者。在每 一个命中时,被引用的文件被放入新部分的开始。如果文件在旧或中间部分,那 么它的引用数目增加。如果文件己经在新部分,它的引用数目不增加。当发生缓 存没命中时,需要缓存替换决定。旧的部分里最少使用的就被替换( 可以选择有最 低引用数目的最久没被使用的文件) 。f b r 也可以作为一个时间增加算法。 此外还有以大小为基础的替换算法,比较著名的是g d s i z e 算法,该类算法 的通常目标是从缓存中移出大文件,以便让出空间给许多小文件。 3 3 一致性维护技术 缓存数据的替换算法和一致性算法都是缓存服务器的重要技术,前者按照某 个标准将最有价值的缓存数据保留在缓存中,后者保证响应给用户的缓存数据是 有效的。缓存服务器的一致性算法和替换算法的研究一直是提高缓存服务器系统 性能的两个研究方向。缓存数据的一致性算法研究的是缓存中数据的生存期问题, 数据的生存期就是数据相邻两次修改相隔的时间。当w e b 服务器上的数据进行了 更新而缓存中的数据仍是老数据,在访问该数据时就会产生数据版本不一致的问 题。 有关缓存服务器的一致性算法的研究很多,可将这些一致性算法分为两类: 弱一致性机制和强一致性机制。弱一致性机制是可能将灰本响应给用户的缓存一 致性模型,它的实现比较简单,现在绝大多数代理服务器都使用这种机制来维护 一致性;强一致性机制是每次都将鲜本响应给用户的缓存一致性模型,它的实现 比较复杂,还会增加服务器负载和访问延迟。 3 3 1 基于副本生命期的弱一致维护技术” 弱一致性维护技术包括r r l ( t u n e - t o - l i v e ) 、自适应性t t l ( a d a p t i v er r l ) 和用 户查询( ( p o l l i n g b y u s

温馨提示

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

评论

0/150

提交评论