




已阅读5页,还剩69页未读, 继续免费阅读
(计算机科学与技术专业论文)基于ip的网络集群负载优化系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院学位论文 摘要 随着社会的发展,网络或者说因特网( i n t e m c t ) 在人们的生活中的地位显得日益重要, 很多人都开始把网络作为人类赖以生存的基础设旌,如同水、电等。i n t e r a c t 的流行促进互 联网使用的指数级增长,很多站点收到前所未有的访问负载,系统经常需要被扩展来满足 不断增长的性能需求,同时系统需要保持2 4 x 7 的可用性。未来的应用将需要更高的吞吐 率、更好的交互性、更高的安全性,这要求服务平台具有更强的处理能力和更高的可用性。 所以,如何给出合理的框架和有效的设计方法,来建立高性能、高可伸缩、高可用的网络 服务,这是放在研究者面前极富挑战性的任务。 l v s 提供了一个解决上诸问题的框架,在这个框架的基础上本文实现了主动自调度负 载优化系统( a s a s ) 。该负载优化系统继承了l v s 的所有特点。a s a s 实现了n a t 、d r 、 t u n 3 种调度方式,9 种调度算法,并对d o s 攻击做了一定的处理。在3 种调度方式中, 着重分析了实现的机理并对比各自的优劣点。在9 种算法中,包含了8 种静态调度,1 种 动态调度,分别给出了算法的详细内容。为了达到近似最优化的负载,在动态调度算法中, 使用了综合负载计算,取了计算机中的5 项指标。在文中也分析了些主动自调度负载优 化系统的实现时出现的问题以及解决的办法,特别是a r p 问题给出了如何利用n d i s 实现 特定的包过滤,并在最后给出了一个d o s 攻击检测的模型。 最后给出了测试的数据,从测试结果中来看可以看到动态算法的结果比静态算法要更 好一些,更能够符合服务器实际的处理能力来分配负载。论文的结尾给出了可以进一步研 究的内容。 主题词:集群,a s a s ,主动自调度,综合负载,动态反馈 第1 页 国防科学技术大学研究生院学位论文 a b s t r a c t t h eh u m a ns o c i e t yh a sb e e ne n t e r i n gan e t w o r k c e n t e r e di n f o r m a t i o ne r a , i nw h i c hu s e r s n e e da c c e s sf a s t e r ,m o r er e l i a b l ea n df u n c t i o n a ln e t w o r ks e r v i c e s t h ei n c r e a s i n gp o p u l a r i t yo f t h ew o r l dw i d ew e bl e a d st oa l le x p o n e n t i a lg r o w t hi nt h ei n t e r n e tu s a g e m o r ea n dm o r e n e t w o r ks i t e sh a v ea t t r a c t e dt r a f f i ca ta nu n p r e c e d e n t e ds c a l e ,t h e yo f t e nw o r r ya b o u th o wt o s c a l eu pt h e i rs y s t e m so v e rt i m et om e e tt h i si n c r e a s i n gd e m a n d ,a n dh o wt h e i rs y s t e m sr e m a i n 2 4 x 7a v a i l a b l e f u t u r ea p p l i c a t i o n sw i l ln e e dh i g h e rt h r o u g h p u t , i n t e r a c t i o na n ds e c u r i t y ,w h i c h r e q u i r e ss e r v i c ep l a t f o r mp r o v i d em o r ep r o c e s s i n gp o w e ra n dh i g h e ra v a i l a b i l i t y t h e r e f o r e ,t h e i n t e m e tr e s e a r c hc o m m u n i t yf a c e san u m b e ro f c h a l l e n g e sa tp r o v i d i n gaf e a s i b l ef r a m e w o r ka n d d e s i g nm e t h o d o l o g i e sf o rc o n s t r u c t i n gh i g h - p e r f o r m a n c e ,h i g h l ys c a l a b l ea n dh i g h l ya v a i l a b l e n e t w o r ks e r v i c e s t h es c a l a b l en e t w o r ks e r v i c ea d d r e s s e di nt h i st h e s i sr e p r e s e n t sas t e pt o w a r d s a m e l i o r a t i n gt h i ss i t u a t i o n l v si saf r a m e w o r kt os o l v et h ep r o b l e m sa l la b o v e w eh a v er e a l i z e dt h ea u t o m a t i c s e l f - a l l o c a t i n gs y s t e mb a s e do nl v s s o i ti n h e r i t e da l lt h et r a i t sf r o ml v s t h es y s t e mc o n t a i n s 3a l l o c a t i n gm o d e sn a m e dn a t ,d rt u na n d9a l l o c a t i n ga l g o r i t h m s t h e r ea r e8s t a t i c a l g o r i t h m sa n d1d y n a m i ca l g o r i t h mi nt h ep a p e rw h i c hw eh a v ea l r e a d yg a v et h ep r o c e s si n d e t a i l i no r d e rt oa c h i e v et h eb e s tp e r f o r m a n c e ,w eu s et h ei n t e g r a t e dl o a dr u l eb yc o l l e c t i n g5 k i n d so fd a t a i nt h ep a p e r , m o s to fp r o b l e m sw em e th a v eb e e na n a l y s e da n dp r o p o s e dt h e s o l u t i o n s ,e s p e c i a l l yt h ea r pp r o b l e mc o p e db yn d i s a tt h ee n d ,w ec r e a t e dam o d e lt od e t e c t t h ea t t a c ko fd o s a tl a s t ,w ec o n c l u d e dt h a tt h ed y n a m i ca l g o r i t h mi sb e t t e rt h a nt h es t a t i ca l g o r i t h mi n p e r f o a m c et h r o u g ht h et e s tr e s u l t , b e c a u s ei tc a na l l o c a t et h et a s k se q u a lt ot h es e r v e r sc a p a b i l i t y t h ee n do fp a p e ri sa b o u tt h ef u r t h e rr e s e a r c h k e yw o r d s :c l u s t e r ,a s a s ,a u t o m a t i cs e l f - a l l o c a t i n g ,i n t e g r a t e dl o a d ,d y n a m i c f e e d b a c k 第1 i 页 国防科学技术大学研究生院学位论文 表目录 表3 1n a t 配置实例2 0 表3 2n a t 访问实例2 0 表3 3n a t 后的地址2 0 表3 4 响应报文的地址。2 0 表3 5 响应报文n a t 之后的结果2 0 表3 6 负载均衡技术比较2 4 表5 1h a s h 表连接分布4 8 表5 2w l c 与a s a s 流量测试对比5 5 表5 3w l c ( l v s ) 与a s a s 包丢失率及响应时间、新建连接数测试。5 5 表5 4 不同的显著性水平下的测试精度5 6 表5 5 主动自调度负载优化系统负载优化的结果5 6 第1 i i 页 国防科学技术大学研究生院学位论文 图 图 图 图 图2 3 图2 4 图2 5 图2 6 图3 1 图3 2 图3 3 图3 4 图3 5 图3 6 图3 7 图4 1 图4 2 图4 3 图4 4 图4 5 图5 1 图5 2 图5 3 图5 4 图5 5 图目录 1 9 9 5 至2 0 0 0 年i n t e r n e t 主机数的变化。l 基于r r d n s 的可伸缩w e b 服务器【4 a s a s 集群的体系结构1 0 基于a s a s 的可伸缩w e b 和媒体集群1 2 基于a s a s 的可伸缩c a c h e 集群1 3 基于a s a s 的可伸缩邮件集群1 4 地理分布a s a s 集群的体系结构1 5 基于b g p 的地理分布服务器集群调度例子1 2 。1 6 n a t 的体系结构1 9 n a t 的例子2 0 t u n 的体系结构2 l t u n 的工作流程2 2 半连接的t c p 有限状态机2 2 d r 的体系结构2 3 d r 的工作流程2 4 动态反馈运行环境31 服务器权值衰退图3 3 p a s s t h r u 接收包过程3 9 p a s s t h r u 发送包过程3 9 综合负载主要程序结构图4 2 5 个网络报文处理的插入点的位置。4 6 系统的主要功能模块4 7 i p i p 封包结构51 测试环境网络拓扑5 4 攻击流量测试与确认攻击时间5 4 第页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意 学位论文题目:笪基王! 呈煎圆鳖篡登鱼裁位垡丞缝滏 学位论文作者i i 擀:蜱堕。日期:唧年, 月加 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存、汇编学位论文 ( 保密学位论文在解密后适用本授权书) 学位论文题目:堡基王! 里盟圆终篡登鱼越盐丝歪统滏。 学位论文作者签名:苎翌鳖一 作者指导教师签名:分士乜 日期:加口7 年1 2 - 月冶日日期:硼年月冶日 日期:硼年d - 月2 6 日 国防科学技术大学研究生院学位论文 第一章绪论 在过去的十几年中,i n t e r a c t 从几个研究机构相连为信息共享的网络发展成为拥有大量 应用和服务的全球性网络,它正成为人们生活中不可缺少的一部分。虽然i n t e r a c t 发展速 度很快,但建设和维护大型网络服务依然是一项挑战性的任务,因为系统必须是高性能的、 高可靠的,尤其当访问负载不断增长时,系统必须能被扩展来满足不断增长的性能需求。 由于缺少建立可伸缩网络服务的框架和设计方法,这意味着只有拥有非常出色工程和管理 人才的机构才能建立和维护大型的网络服务。 针对这种情形,本文主要研究了可伸缩网络服务的体系结构、实现技术和相关算法, 并实现了一个在l v s 1 】基础上的w e b 集群优化系统即主动自调度集群负载优化系统。 1 1 研究背景 当今计算机技术已进入以网络为中心的计算时期。由于客户服务器模型的简单性、易 管理性和易维护性,客户服务器计算模式在网上被大量采用。在九十年代中期,万维网 ( w o r l dw i d ew e b ) 【3 】的出现以其简单操作方式将图文并茂的网上信息带给普通大众,w e b 也正在从一种内容发送机制成为一种服务平台,大量的服务和应用( 如新闻服务、网上银 行、电子商务等) 都是围绕着w e b 进行。这促进i n t e r a c t 用户剧烈增长和i n t e m e t 流量爆 炸式地增长,图1 1 显示了1 9 9 5 至2 0 0 0 年与i n t e r n e t 连接主机数的变化情况【2 】,可见增长 趋势较以往更迅猛。 i n t e r n e th o s t s1 9 9 孓2 0 i “鼬一 i i = = 鬈2 葛:暑= = = 掣 7 2 , 3 9 s , 0 9 2 i d 口c a n u 瞳聃i i , $ 口u c e d n l l ? i - i k i _ o t o r i - _ _ 嘲十 产 , r 啪 s i f f v e y d 蕾a 一,t j r i u u ,i c q 口q l u r v e yd a t a ii 8 0 , 0 0 0 , 0 g o 7 0 , 0 0 0 , 0 0 0 6 0 ,o o o , o o o , o o o , o o o , o o o , o o o 3 0 ,0 0 0 , o o o 2 0 , o o o , o o o 1 0 ,0 0 0 , 0 0 0 o j l n d wj n - j a l l p i f d a n 4 嘻j a l m mj n o 图1 1 1 9 9 5 至2 0 0 0 年i n t e r a c t 主机数的变化f 1 】 i n t e m e t 的飞速发展给网络带宽和服务器带来巨大的挑战。从网络技术的发展来看,网 第1 页 国防科学技术大学研究生院学位论文 络带宽的增长远高于处理器速度和内存访问速度的增长,如1 0 0 me t h e m e t 、a t m 、g i g a b i t e t h e m e t 等不断地涌现,1 0 g i g a b i te t h e m e t 即将就绪,在主干网上密集波分复用将成为宽 带i p 的主流技术1 3 1 ,l u c e n t 已经推出在一根光纤跑8 0 0 g i g a b i t 的w a v e s t a r t mo l s8 0 0 g 产 品【l6 。所以,我们深信越来越多的瓶颈会出现在服务器端。很多研究显示g i g a b i t e t h e m e t 在服务器上很难使得其吞吐率达到1 g b s 的原因是协议栈( t c p 口) 和操作系统的低效, 以及处理器的低效,这需要对协议的处理方法、操作系统的调度和i o 的处理作更深入的 研究。在高速网络上,重新设计单台服务器上的网络服务程序也是个重要课题【1 5 】。 比较热门的站点会吸引前所未有的访问流量,例如根据y a h o o 的新闻发布,y a h o o 已 经每天发送6 2 5 亿页面1 2 0 1 。一些网络服务也收到巨额的流量,如a m e r i c a no n l i n e 的w e b c a c h e 系统每天处理5 0 2 亿个用户访问w e b 的请求,每个请求的平均响应长度为5 5 k b y t e s 。 与此同时,很多网络服务因为访问次数爆炸式地增长而不堪重负,不能及时处理用户的请 求,导致用户进行长时间的等待,大大降低了服务质量。如何建立可伸缩的网络服务来满 足不断增长的负载需求成为迫在眉睫的问题。 大部分网站都需要提供每天2 4 小时、每星期7 天的服务,对电子商务等网站尤为突 出,任何服务中断和关键性的数据丢失都会造成直接的商业损失。例如,根据d e l l 的新闻 发布【2 ,d e l l 现在每天在网站上的交易收入为一千四百万美元,一个小时的服务中断都会 造成平均五十八万美元的损失。所以,这对网络服务的可靠性提出了越来越高的要求。 现在w e b 服务中越来越多地使用c g i 、动态主页等c p u 密集型应用,这对服务器的 性能有较高要求。未来的网络服务会提供更丰富的内容、更好的交互性、更高的安全性等, 需要服务器具有更强的c p u 和i o 处理能力。例如,通过h t t p s ( s e c u r eh 1 瞪) 取一个 静态页面需要的处理性能比通过h r r r p 的高一个数量级,h t t p s 正在被电子商务站点广为 使用。所以,网络流量并不能说明全部问题,要考虑到应用本身的发展也需要越来越强的 处理性能【l o j 。 因此,解决网络服务的可伸缩性和可靠性已是非常紧迫的问题。通过高性能网络或局 域网互联的服务器集群正成为实现高可伸缩、高可用网络服务的有效结构。服务器集群系 统的优点: 性能 网络服务的工作负载通常是大量相互独立的任务,通过一组服务器分而治之,可以获 得很高的整体性能。 性能价格比 组成集群的p c 服务器或r i s c 服务器和标准网络设备因为大规模生产,价格低,具有 很高的性能价格比。若整体性能随着结点数的增长而接近线性增加,该系统的性能价格比 接近于p c 服务器。所以,这种松耦合结构比紧耦合的多处理器系统具有更好的性能价格 比, 可伸缩性 第2 页 国防科学技术大学研究生院学位论文 集群中的结点数目可以增长到成千上万个,其伸缩性远超过单台超级计算机。 高可用性 在硬件和软件上都有冗余,通过检测软硬件的故障,将故障屏蔽,由存活结点提供服 务,可实现高可用性。 用集群系统来提供可伸缩网络服务的难点: 透明性( t r a n s p a r e n c y ) 如何高效地使得由多个独立计算机组成的松藕合的集群系统构成一个虚拟服务器;客 户端应用程序与集群系统交互时,就像与一台高性能、高可用的服务器交互一样,客户端 无须作任何修改。部分服务器的切入和切出不会中断服务,这对用户也是透明的。 性能( p e r f o r m a n c e ) 性能要接近线性加速,这需要设计很好的软硬件的体系结构,消除系统可能存在的瓶 颈。将负载较均衡地调度到个服务器上。 高可用性( a v a i l a b i l i t y ) 需要设计和实现很好的系统资源和故障的监测和处理系统。当发现一个模块失败时, 要这模块上提供的服务迁移到其他模块上。在理想状况下,这种迁移是即时的、自动的。 可管理性( m a n a g e a b i l i t y ) ; 要使集群系统变得易管理,就像管理一个单一系统一样。在理想状况下,软硬件模块 的插入能做到即插即用( p l u g & p l a y ) 。 可编程性( p r o g r a m m a b i l i t y ) 在集群系统上,容易开发应用程序。 1 2 研究现状 下面简述当前用服务器集群实现高可伸缩、高可用网络服务的几种负载调度方法,并 列举几个在这方面有代表性的研究项目。 在网络服务中,一端是客户程序,另一端是服务程序,在中间可能有代理程序。由此 看来,可以在不同的层次上实现多台服务器的负载均衡。用集群解决网络服务性能问题的 现有方法主要分为以下四类。 基于r r - d n s 的解决方法 n c s a 的可伸缩的w e b 服务器系统就是最早基于r r - d n s ( r o u n d r o b i nd o m a i n n a m es y s t e m ) 的原型系统1 2 2 。它的结构和工作流程如下图所示: 有一组w e b 服务器,他们通过分布式文件系统a f s ( a n d r e wf i l es y s t e m ) 来共享所有 的h t m l 文档。这组服务器拥有相同的域名,当用户按照这个域名访问时,r r - d n s 服务 器会把域名轮流解析到这组服务器的不同口地址,从而将负载分到各台服务器上 第3 页 国防科学技术大学研究生院学位论文 图1 2 基于r r - d n s 的可伸缩w e b 服务器1 2 】 这种方法带来几个问题: 第一,域名服务器是一个分布式系统,是按照一定的层次结构组织的。当用户就域名 解析请求提交给本地的域名服务器,它会因不能直接解析而向上一级域名服务器提交,上 一级域名服务器再依次向上提交,直到r r - d n s 域名服器把这个域名解析到其中一台服务 器的i p 地址。可见,从用户到r r - d n s 间存在多台域名服器,而它们都会缓冲已解析的 名字到i p 地址的映射,这会导致该域名服器组下所有用户都会访问同一w e b 服务器,出现 不同w e b 服务器间严重的负载不平衡。为了保证在域名服务器中域名到p 地址的映射不 被长久缓冲,r r - d n s 在域名到d 地址的映射上设置一个t t l ( t i m et ol i v e ) 值,过了这 一段时间,域名服务器将这个映射从缓冲中淘汰。当用户请求,它会再向上一级域名服器 提交请求并进行重新影射。这就涉及到如何设置这个t t l 值,若这个值太大,在这个t t l 期间,很多请求会被映射到同一台w e b 服务器上,同样会导致严重的负载不平衡。若这 个值太小,例如是0 ,会导致本地域名服务器频繁地向r r - d n s 提交请求,增加了域名解 析的网络流量,同样会使r r - d n s 成为系统中一个新的瓶颈。 第二,用户机器会缓冲从名字到i p 地址的映射,而不受t t l 值的影响,用户的访问 请求会被送到同一台w e b 服务器上。由于用户访问请求的突发性和访问方式不同,例如 有的人访问一下就离开了,而有的人访问可长达几个小时,所以各台服务器间的负载仍存 在倾斜( s k e w ) 而不能控制。假设用户在每个会话中平均请求数为2 0 ,负载最大的服务器 获得的请求数额高于各服务器平均请求数的平均比率超过百分之三十。也就是说,当t t l 值为0 时,因为用户访问的突发性也会存在着较严重的负载不平衡。 第4 页 国防科学技术大学研究生院学位论文 第三,系统的可靠性和可维护性差。若一台服务器失效,会导致将域名解析到该服务 器的用户看到服务中断,即使用户按“r e l o a d ”按钮,也无济于事。系统管理员也不能随 时地将一台服务器切出服务进行维护,如进行操作系统和应用软件升级,这需要修改 r r - d n s 服务器中的i p 地址列表,把该服务器的p 地址从中划掉,然后等上几天或者更 长的时间,等所有域名服器将该域名到这台服务器的映射淘汰,和所有映射到这台服务器 的客户机不再使用该站点为止。 基于客户端的解决方法 基于客户端的解决方法需要每个客户程序都有一定的服务器集群的知识,进而把以负 载均衡的方式将请求发到不同的服务器。例如,n e t s c a p en a v i g a t o r 浏览器访问n e t s c a p e 的主页时,它会随机地从一百多台服务器中挑选第n 台,最后将请求送往 w w w n n e t s c a p e t o m 。然而,这不是很好的解决方法,n e t s e a p e 只是利用它的n a v i g a t o r 避 免了r r - d n s 解析的麻烦,当使用m 等其他浏览器不可避免的要进行r r - d n s 解析。 s m a r tc l i e n t l 2 5 】是b e r k e l e y 做的另一种基于客户端的解决方法。服务提供一个j a v a a p p l e t 在客户方浏览器中运行,a p p l e t 向各个服务器发请求来收集服务器的负载等信息, 再根据这些信息将客户的请求发到相应的服务器。高可用性也在a p p l e t 中实现,当服务器 没有响应时,a p p l e t 向另一个服务器转发请求。这种方法的透明性不好,a p p l e t 向各服务 器查询来收集信息会增加额外的网络流量,不具有普遍的适用性。 基于应用层负载均衡调度的解决方法, 多台服务器通过高速的互联网络连接成一个集群,在前端有一个基于应用层的负载均 衡调度器。当用户访问请求到达调度器时,请求会提交给作负载均衡调度的应用程序,分 析请求,根据各个服务器的负载情况,选出一台服务器,重写请求并向选出的服务器访问, 取得结果后,再返回给用户。 应用层负载均衡调度的典型代表有z e u s 负载调度器【2 6 】、p w e b p 7 1 、r e v e r s e 脚【2 研 和s w e b 【2 9 】等。z e u s 负载调度器是z e u s 公司的商业产品,它是在z e u sw e b 服务器程序 改写而成的,采用单进程事件驱动的服务器结构。p w e b 就是一个基于a p a c h e1 1 服务器 程序改写而成的并行w e b 调度程序,当一个h ”四请求到达时,p w e b 会选出一个服务器, 重写请求并向这个服务器发出改写后的请求,等结果返回后,再将结果转发给客户。 r e v e r s e p r o x y 利用a p a c h e1 3 1 中的p r o x y 模块和r e w r i t e 模块实现一个可伸缩w e b 服务 器,它与p w e b 的不同之处在于它要先从p r o x y 的c a c h e 中查找后,若没有这个副本,再 选一台服务器,向服务器发送请求,再将服务器返回的结果转发给客户。s w e b 是利用 h t t p 中的r e d i r e c t 错误代码,将客户请求到达一台w e b 服务器后,这个w e b 服务器根 据自己的负载情况,自己处理请求,或者通过r e d k e c t 错误代码将客户引到另一台w e b 服 务器,以实现一个可伸缩的w e b 服务器。 基于应用层负载均衡调度的多服务器解决方法也存在一些问题。第一,系统处理开销 第5 页 国防科学技术大学研究生院学位论文 特别大,致使系统的伸缩性有限。当请求到达负载均衡调度器至处理结束时,调度器需要 进行四次从核心到用户空间或从用户空间到核心空间的上下文切换;需要进行二次t c p 连 接,一次是从用户到调度器,另一次是从调度器到真实服务器;需要对请求进行分析和重 写。这些处理都需要不小的c p u 、内存和网络等资源开销,且处理时间长。所构成系统的 性能不能接近线性增加的,一般服务器组增至3 或4 台时,调度器本身可能会成为新的瓶 颈。所以,这种基于应用层负载均衡调度的方法的伸缩性极其有限。第二,基于应用层的 负载均衡调度器对于不同的应用,需要写不同的调度器。以上几个系统都是基于h r r r p 协 议,若对于f t p 、m a i l 、p o p 3 等应用,都需要重写调度器。 基于p 层负载均衡调度的解决方法 用户通过虚拟地址( v i r t u a li pa d d r e s s ) 访问服务时,访问请求的报文会到达虚拟服 务器主机,由它进行负载均衡调度,从一组真实服务器选出一个,将报文的目标地址v i r t u a l i pa d d r e s s 改写成选定服务器的地址,报文的目标端口改写成选定服务器的相应端口,最 后将报文发送给选定的服务器。真实服务器的回应报文经过虚拟服务器主机时,将报文的 源地址和源端口改为v i r t u a li pa d d r e s s 和相应的端口,再把报文发给用户。b e r k e l e y 的 m a g i c r o u t e r f 3 3 1 、c i s c o 的l o c a l d i r e c t o r l 3 4 1 、a l t e o n 的a c e d i r e c t o r 3 s 1 和f 5 的b i g i p t 3 6 】等都 是使用网络地址转换方法。m a g i c r o u t e r 是在l i n u x1 3 版本上应用快速报文插入技术,使 得进行负载均衡调度的用户进程访问网络设备接近核心空间的速度,降低了上下文切换的 处理开销,但并不彻底,它只是研究的原型系统,没有成为有用的系统存活下来。c i s c o 的l o c a l d i r e c t o r 、a l t e o n 的a c e d i r e c t o r 和f 5 的b i 虮p 是非常昂贵的商品化系统,它们支 持部分t c p u d p 协议,在i c m p 处理上存在问题【37 1 。 i b m 的t c pr o u t e r 3 9 j 使用修改过的网络地址转换方法在s p 2 系统实现可伸缩的w e b 服务器。t c pr o u t e r 修改请求报文的目标地址并把它转发给选出的服务器,服务器能把响 应报文的源地址置为t c pr o u t e r 地址而非自己的地址。这种方法的好处是响应报文可以直 接返回给客户,坏处是每台服务器的操作系统内核都需要修改。i b m 的n e t d i s p a t c h e r 3 s l 是t c pr o u t e r 的后继者,它将报文转发给服务器,而服务器在n o n - a r p 的设备配置路由 器的地址。这种方法与l v s 中的d r 类似,它具有高可伸缩性,但一套在i b ms p 2 和 n e t d i s p a t c h e r 需要上百万美金。 在贝尔实验室的o n e i p j 中,每台服务器都独立的i p 地址,但都用i pa l i a s 配置上 同一v i p 地址,采用路由和广播两种方法分发请求,服务器收到请求后按v i p 地址处理请 求,并以v i p 为源地址返回结果。这种方法也是为了避免回应报文的重写,但是每台服务 器用i pa l i a s 配置上同一v i p 地址,会导致地址冲突,有些操作系统会出现网络失效。通 过广播分发请求,同样需要修改服务器操作系统的源码来过滤报文,使得只有一台服务器 处理广播来的请求。 微软的w i n d o w sn t 负载均衡服务( w i n d o w sn ti x ) a db a l a n c i n gs e r v i c e ,w l b s ) 【4 l 】 第6 页 国防科学技术大学研究生院学位论文 是1 9 9 8 年底收购v f l e n c e 研究公司获得的,它与o n e - i p 中的基于本地过滤方法一样。 w l b s 作为过滤器运行在网卡驱动程序和t c p i p 协议栈之间,获得目标地址为v i p 的报 文,它的过滤算法检查报文的源m 地址和端口号,保证只有一台服务器将报文交给上一层 处理。但是,当有新结点加入和有结点失效时,所有服务器需要协商一个新的过滤算法, 这会导致所有有s e s s i o n 的连接中断。 1 3 主要研究的问题 本文研究的主要问题是在l v s 的基础上实现基于层的主动自调度负载优化系统, 主要研究了如下几方面的内容: 可伸缩网络服务体系结构的研究和设计。 研究提高网络服务可伸缩性的实现技术 负载均衡调度算法 综合负载计算 d o s 检测以及控制 1 4 论文的结构 第一章为绪论。本章首先分析了i n t e r n e t 的飞速发展对网络带宽和服务器处理性能 带来巨大的挑战,和利用服务器集群提高服务处理能力的优点和难点。简述了服务器集群 系统的研究现状,最后介绍了本文的研究内容及主要贡献。 第二章分析了现在和将来网络服务的需求,提出可伸缩网络服务的体系结构a s a s ,提 供了负载均衡、可伸缩性和高可用性,可以应用于建立很多可伸缩网络服务。在此基础上, 我们提出了地理分布的a s a s 系统,它可以节约网络带宽,改善网络服务质量,具有很好 的抗灾害性。 第三章讲述了三种i p 负载均衡技术。在分析n a t 的缺点和网络服务非对称性的基础 上,我们提出通过i p 隧道实现虚拟服务器的方法t u n ,和通过直接路由实现虚拟服务器的 方法d r ,它们可以极大地提高系统的伸缩性。 第四章描述了i p 虚拟服务器在内核中的各种连接调度算法。针对请求的服务时间变 化很大,提出一个动态反馈负载均衡算法,结合内核中的加权调度算法,根据动态反馈回 来的负载信息来调整服务器的权值,来避免服务器间负载不平衡。 第五章主要讲述了i p 负载均衡技术和连接调度算法在l i n u x 内核中的实现,以及实 现中遇到的相关问题和优化。对i p 虚拟服务器软件进行性能测试,并列举该软件的应用 情况。 第六章对本文的工作进行总结,并对下一步工作进行展望。 第7 页 国防科学技术大学研究生院学位论文 1 5 本文的研究成果 本文的主要贡献及创新工作包括以下几个方面: 在分析l i n u xv i r t u a ls e r v e r ( l v s ) 基础上实现了主动自调度负载优化系统。负载调度器 采用i p 负载均衡技术。a s a s 集群提供了负载均衡、可伸缩性和高可用性,可以应用于建 立很多可伸缩网络服务。实现了地理分布的a s a s 集群系统,它可以节约网络带宽,改善 网络服务质量,具有很好的抗灾害性。 在i p 负载均衡技术上,针对网络服务非对称性的特点,为克服n a t 伸缩能力差的缺 点,通过i p 隧道实现虚拟服务器的方法t u n ,和通过直接路由实现虚拟服务器的方法d r , 极大地提高系统的可伸缩性。在负载调度研究中,针对请求的服务时间变化大,提出一个 动态反馈负载均衡算法,结合内核中的加权连接调度算法,根据反馈回来的负载信息来调 整服务器的权值,来调整服务器间处理请求数的比例,有效地避免服务器间的负载不平衡。 经过分析并设计a s a s 的体系结构,为了充分发挥负载调度器的计算性能以及入口网 关的特点,在负载调度器上实现了抗d o s 攻击的模块,该模块在检测d o s 攻击时,考虑 流量、连接对称性、负载三个指标,能够起到较好的承压能力。 第8 页 国防科学技术大学研究生院学位论文 第二章主动自调度集群负载优化系统体系结构 针对网络服务的可伸缩性、高可用性、可维护性和价格有效性需求,本章提出了主动 自调度集群负载优化系统的体系结构以及实现方法,它提供了负载均衡、可伸缩性和高可 用性。 2 1 可伸缩服务定义 可伸缩性( s c a l a b i l i t y ) 是在当今计算机技术中经常用到的词汇。对于不同的人,可伸 缩性有不同的含义。 现在,给出可伸缩网络服务的含义。 可伸缩网络服务是指网络服务能随着用户数目的增长而扩展其性能,如在系统中增加 服务器、内存或硬盘等;整个系统很容易被扩展,无需重新设置整个系统,无需中断服务。 换句话说,系统管理员扩展系统的操作对最终用户是透明的,他们不会知道系统的改变。 可伸缩系统通常是高可用的系统。在部分硬件( 如硬盘、服务器、子网络) 和部分软 件( 如操作系统、服务进程) 的失效情况下,系统可以继续提供服务,最终用户不会感知 到整个服务的中断,除了正在失效点上处理请求的部分用户可能会收到服务处理失败,需 要重新提交请求。c a c h i n g 和复制是建立高可用系统的常用技术,建立多个副本会导致如 何将原件的修改传播到多个副本上的问题。 实现可伸缩网络服务的方法一般是通过一对多的映射机制,将服务请求流分而治之 ( d i v i d ea n dc o n q u e r ) 到多个结点上处理。一对多的映射可以在很多层次上存在,如主机 名上的d n s 系统、网络层的t c p i p 、文件系统等。虚拟( v i r t u a l ) 是描述一对多映射机 制的词汇,将多个实体组成一个逻辑上的、虚拟的整体。例如,虚存( v i r t u a lm e m o r y ) 是现代操作系统中最典型的一对多映射机制,虚存建立一个虚拟内存空间,将它映射到多 个物理内存上 4 2 j 。 2 2 主动自调度集群负载优化系统体系结构 l v s 基于i p 层的负载均衡调度解决方法,并在l i n u x 内核中实现了这些方法,将一组 服务器构成一个实现可伸缩的、高可用网络服务的服务器集群,称之为l i n u x 虚拟服务器 ( l i n u xv i r t u a ls e r v c r ) 。基于l v s 实现的a s a s 集群,继承了服务器集群的结构对客户 是透明的的特点。客户程序不受服务器集群的影响不需作任何修改。系统的伸缩性通过在 服务机群中透明地加入和删除一个节点来达到,通过检测节点或服务进程故障和正确地重 置系统达到高可用性。 2 。2 。1 主动自调度集群的通用结构 第9 页 国防科学技术大学研究生院学位论文 a s a s 集群采用了和l v s 相同的i p 负载均衡技术。调度器具有很好的吞吐率,将请 求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服 务器构成一个高性能的、高可用的虚拟服务器。 图2 1a s a s 集群的体系结构 为此,考虑到系统的透明性、可伸缩性、高可用性和易管理性。a s a s 集群的体系结 构如图2 1 所示,它有三个主要组成部分: 负载调度器( 1 0 mb a l 觚c e r ) ,它是整个集群对外面的前端机,负责将客户的请求发送 到一组服务器上执行,而客户认为服务是来自一个p 地址上的。它可以是用i p 负载均衡 技术的负载调度器,也可以是基于内容请求分发的负载调度器,还可以是两者的结合。 服务器池( s e r v e rp 0 0 1 ) ,是一组真正执行客户请求的服务器,执行的服务有w e b 、 m a i l 、f t p 和d n s 等。 后端存储( b a c k e n ds t o r a g e ) ,它为服务器池提供一个共享的存储区,这样很容易使 得服务器池拥有相同的内容,提供相同的服务。 调度器采用p 负载均衡技术。在i p 负载均衡技术中,需要服务器池拥有相同的内容 提供相同的服务。当客户请求到达时,调度器只根据负载情况从服务器池中选出一个服务 器,将该请求转发到选出的服务器,并记录这个调度;当这个请求的其他报文到达,也会 被转发到前面选出的服务器。 服务器池的结点数目是可变的。当整个系统收到的负载超过目前所有结点的处理能力 时,可以在服务器池中增加服务器来满足不断增长的请求负载。对大多数网络服务来说, 结点与结点间不存在很强的相关性,所以整个系统的性能可以随着服务器池的结点数目增 加而线性增长。 后端存储通常用容错的分布式文件系统,如a f s t 4 4 1 、g f s l 4 7 1 、c o d a 【4 9 】和i n t e m e z z o 【5 4 】 等。分布式文件系统为各服务器提供共享的存储区,它们访问分布式文件系统就像访问本 地文件系统一样。同时,分布式文件系统提供良好的伸缩性和可用性。然而,当不同服务 第1 0 页 国防科学技术大学研究生院学位论文 器上的应用程序同时访问分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年2月山东领取济宁市份普通话水平测试等级证书考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025年上海市宝山区罗店中心校实习生招募模拟试卷附答案详解(考试直接用)
- 2025春季福建华南女子职业学院人才招聘20人模拟试卷及完整答案详解一套
- 大学课件醛酮
- 2025第二人民医院肿瘤内科医师规范化培训结业考核
- 保定市人民医院透析患者液体管理专项考核
- 北京市中医院重症患者放射检查考核
- 2025金华市金投集团有限公司招聘7人考前自测高频考点模拟试题含答案详解
- 大学课件教学
- 邢台市中医院代谢评估在结石防治中应用考核
- 我的家乡延安
- 各种奶茶配方资料
- 八年级语文下册-专题08-语言表达与运用-(中考真题演练)(原卷版)
- 《机械制图识图培训》课件
- 物流班组长年终总结
- 2024年计算机软件水平考试-中级系统集成项目管理工程师考试近5年真题附答案
- 新能源汽车充电站建设项目 投标方案(技术方案)
- 留置针静脉血栓形成的原因及预防措施
- 隧道工程技术标完成版
- 甲方现场管理基础手册
- 2024版合伙人退出合伙协议书书
评论
0/150
提交评论