(计算机科学与技术专业论文)网络服务负载均衡技术的研究与实现.pdf_第1页
(计算机科学与技术专业论文)网络服务负载均衡技术的研究与实现.pdf_第2页
(计算机科学与技术专业论文)网络服务负载均衡技术的研究与实现.pdf_第3页
(计算机科学与技术专业论文)网络服务负载均衡技术的研究与实现.pdf_第4页
(计算机科学与技术专业论文)网络服务负载均衡技术的研究与实现.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机科学与技术专业论文)网络服务负载均衡技术的研究与实现.pdf.pdf 免费下载

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

文档简介

嘲蒴科学技术夫掌蜒究生院学髓论文 摘要 人擞社会丁f 在进入以网络为中心的信息时代,人们需要熙快捷、更可靠、功能更书寓 的网络服务。万维网的流行促使互联网的使用璺指数级增长,现在很多站点收到莳所来蠢 懿访溺负载,天翻经裙撞心系统应如旃蔹扩震柬满是不瑟髦妖兹性麓嚣求,同时繇持系统 的2 4 x 7 可用性。未来的应用将需疆更高的吞吐率、更好的交互性、更高的安全性,这臻 求服务平台具有更强的处理能力和更高的可用性。所以,如何给出合理的框架和有效的殴 诗方法,来建立高瞧熊、高可伸镶、高可用的妫络服务,这趋摆在磺究学灏翦摄富挑战瞧 的任务。本文酪究的网络簸务负载均衡技术使憝溺绕这一 壬务展歼的。 在分析现在和将来网络服务需求的基础上,本文提出基于集群的可伸缩网络服务体系 结构f r e e g s ds u p e rs e r v e r ,其为负载调度器帮服务器集群的二层结构。负载调度器采用 基予l p 静受载均鬻救术。f s s 系绞实现了i p 单皎象赘访阐方式、负载平衡、可 牵维性帮 高可用性,并可以应用于建立很多个i p 映象的可伸缩网络服务。而且,f s s 具有全局负裁 平衡的熊力,可节约网络带宽,改蹲网络服务质量,同时易十管理且具有良好的抗灾害性。 箕阕,我饲捷爨了寝掇臻垂毅零,设诗了受裁浮嵇窝鼹蠢度量算法,并提塞了对予网 络瓶颈问题的解决方法。最后,对f s s 系统进行了性能测试,其结果显示f s s 系统负载分 配合理、转发效率商、调度丌销小,实现了线性可伸缩。 关键词服务器集辩,可伸缩性,负载平衡,趱拟路由,负裁评佶,路韵度量 筑【蚝 国防科学技术人学研究生院学何论文 a b s t r a c t t h eh u m a ns o m 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 dl 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 r 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 yt h e r e f o r e ,t h e i n t e r n 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 fc 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 曲一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 el o a db a l a n c et e c h n i q u ef o rn 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 s r e p r e s e n t sas t e pt o w a r d sa m e l i o r a t i n gt h i ss i t u a t i o n o nt h e a n a l y s i s o fp r e s e n ta n df u t u r en e t w o r ks e r v i c e r e q u i r e m e n t s ,w ep r e s e n tt h e a r c h i t e c t u r eo fc l u s t e r - b a s e ds c a l a b l en e t w o r ks e r v i c e sc a l l e df r e e b s ds u p e rs e r v e r ,w h i c hh a s t w ot i e r so fl o a db a l a n c e ra n ds e r v e rc l u s t e r t h el o a db a l a n c e rs u p p o r t si pl o a db a l a n c i n g t h e f s ss y s t e mp r o v i d e ss i n g l ei pa c c e s s i n gm a n n e r ,l o a db a l a n c i n g ,s c a l a b i l i t ya n da v a i l a b i l i t y , w h i c hc a nb ed e p l o y e dt ob u i l dm a n ys c a l a b l en e t w o r ks e r v i c e s f u r t h e r m o r e ,f s sc a nd ol o a d b a l a n c i n gb e t w e e ng e o g r a p h i c a l l yd i s t r i b u t e df s ss y s t e m ,w h i c hc a ns a v eb a n d w i d t h ,i m p r o v e q u a l i t yo fn e t w o r ks e r v i c e sa n db ed i s a s t e r - t o i e r a n t m e a n t i m e ,w ep u tf o r w a r dav i r t u a lr o u t et e c h n i q u e ,d e s i g nal o a dm e a s u r e m e n ta l g o r i t h m a n dar o u t em e a s u r e m e n ta l g o r i t h m ,g i v eas o l u t i o nf o r t h eb o t t l e n e c kp r o b l e mo fn e t w o r k f i n a l l yt h ep e r f o r m a n c eo ff s si st e s t e d b a s i n go nt h er e s u l t s ,w ed r a wac o n c l u s i o nt h a tf s s h a st h ec h a r a c t e r i s t i c ss u c ha sr e a s o n a b l el o a db a l a n c i n g 、h i g hp e r f o r m a n c ef o r w a r d i n g 、l o w s p e n d i n go nd i s p a t c h i n g 、a n dl i n e a rs c a l a b i l i t y k e y w o r d s :s e r v e r c l u s t e r ,s c a l a b i l i t y ,l o a db a l a n c i n g ,v i r t u a l r o u t e ,l o a d m e a s u r e m e n t ,r o u t em e a s u r e m e n t 国防科学技术人学研究生院 位论文 图目录 图1 i1 9 9 5 至2 0 0 0 年i n t e r n e t 主机数的变化 图2 1l v s 的典型配置图, 图2 2l v s 的列络瓶颈问题,。 图2 3 使用虚拟路由技术缓解网络瓶颈 图2 4 虚拟路由技术的扩展应用示例, 图2 + 5 拓羚上多个子鞭务系统麓= 聚到同一路由器 图2 6 拓扑上一个子服务系统与多个路由器相连接 蚕3 1 艘的蕊数图像 图3 2 服务器的吞吐量与服务延时关系图 图3 3 路国度量蕊修歪函数f ( z ) 的图像 图3 4f ( z ) 在不同参数值下的图像 图4 1f s s 使用虚拟路由方式的基本体系结构 图4 2f s s 不使用虚拟路由方式的基本体系结构 图4 3 在广城范围肉分布豹f s s 集群体系结构。 图4 4f s s 支持多单映象i p 网络服务的体系结构图 图5 1f s s 软传系统的组成关系,+ + , 图5 2f s s 的主要功能模块问关系 图5 3 输入报文在负载调度器中的处理流程 图i 4f s s 中主要的表。, 图5 5 服务客户数表和服务器维护表:, 图6 1 使用廉拟路由方式的实验环境。 圈6 2 不使用虚拟路由方式的实验环境, 图6 3 测试调度器调度性能的环境 图6 4 溺试程序关键代码。,。, 图6 5 可伸缩性与网络瓶颈缓解的测试环境 图6 6f s sl = i j 伸缩性测试结粜图。 1 7 。8 9 1 0 1 1 1 2 1 4 1 5 1 6 1 7 ,2 3 2 4 2 5 ,2 7 :3 3 3 4 3 5 。3 6 3 7 4 0 。4 1 4 2 唾3 4 5 4 6 国防科学技术人学研究生院学位论文 表目录 表6 i 客户枫的统计数据。 表6 2 调度器的统计数据1 , 表6 3 调度器雏统计数据2 , 表6 4 服务器1 和服务器2 的统计数据 表6 5 客户机与调度器通过千兆的光口网卡直连时调度器的统计数据 表6 6 带宽测试表。, 4 3 4 4 4 4 4 4 4 5 4 6 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特爨加载标注和致谢纳遣方外,论文中不包含 蕊他人已经发袋和撰写过的研究成果,也不包含为获得圈防科学技术大学或其它 教育撬稳戆学位或证书甭旋鞠造戆嚣睾毒。与我一弱王箨戆羁恚露奉磷究巍簸爨经 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题器:塑垒鍪歪塞夔望鳖燕蕉夔壁塞兰塞整 日期:上( 形午午7 2 月3 f 日 学位论文版权使用授权书 本入完全了解国防稃学技术大学有关保留、谈蕉学位论文曲规定。本人援救 圆防科学技术大学可以保留并向国家有关部门或机构遥交论文的复印件和电子 文整,竞诲论文效查阅秘偌舞;可淡稳学位论文戆全部或部分蠹寥缓入有关数器 库进行检索,可以呆用影印、缩印或扫描等复制手段保存、汇编学位论文 ( 保密学位论文在簇密后适周奉授权书。) 学位论文题目: 学位论文作老签 作者指导教师签 满防秘学童蔓术天学研究生院学能论文 第一章绪论 在过去豹凡 年中,i n t e r n e t 从凡令磅究孛晁稳为信怠共摩两稳连躲阚络,发震畿为穗 有大量应用和服务的全球性网络,它正成为人们生活中不可缺少的一部分。由于i n t e r n e t 发展速度很快,这就使得建设和维护大型网络服务成为一项长期的具有挑战性的任务,这 样的系绫必须是高技糍驰、高霹爨瓣,尤其当谤涟受载不断蠓长时,系统岿颁l 被扩骚袁 满足不断增长豹性髓需求。 针对这种情形,本文主要研究了网络服务负载均衡技术、相关算法、实现技术,和可 伸缩网络服务的体系结构,并实现了一个可伸缩网络服务的椴架。并对系统进行了性能测 试。 1 1 研究背景 髓凑弱终援术熬发爱襄计算枫熬蓄及,大鬃楚应委鄙在露绕羞滔终送行。这藏键使 i n t e r n e t 用户数和 i n t e r n e t 流擞爆炸式地增长,网络的规模币在呈指数级增长。图1 1 显示了1 9 9 5 至2 0 0 0 年与i n t e r n e t 连接主机数的变化情况“1 ,可以想象如今的增长趋势较 以往必要为迅猛。 l r i t e r n e th o s t s1 9 9 5 2 0 0 0 器翼? 然。 7 2 ,3 9 8 ,0 9 2 l c h o t c o m n k d d f d一 f 产 , 一n e w 瑟:叫 扩 - ,一r 一一 - 伽u s t e ao l d s u r v e yd a t a j = n - 9 5j a n 母gj a 辛7j a 8j a n - o j 3d a m o o 8 0 ,c 0 0 0 0 。 7 0 ,0 0 0 ,0 0 0 6 0 , 0 0 0 ;0 0 0 5 0 0 0 00 ( 7 3 4 0 ,0 0 0 0 0 0 3 0 e0 0 0 2 00 0 0 0 0 0 1 0 ,0 0 0 ,0 0 0 0 图1 1 9 9 5 至2 0 0 0 年ln t e r n e t 主机数的变化 i n t e r n e t 鲍飞遮发展给网络带宽和服务器带柬巨大的挑战。扶网络技术鲍发羼柬看, 璃终带宽静鬻长远离子处理器速j 羔 ! 和内存谤阀造度的增氏,闲丽越束越多的瓶颈会出现在 服务器端。很多f i f 究鼹示之所以g i g a b i te t h e r a e t 在服务器上很难使其吞l i i 率达到1 g b s 的原因是协议栈( t c p i p ) 和操f 巾系统的低效以及处理器的熙效。特5 ) j 足在网络服务的 接心部分隧羞l 务整数箍高、涛瓣量嚣l 鼗攥嚣瓮遗的快速氆氏,其所需的处理缝力和魂。箕缓 第l j 阉防车萼学技术夫学研究生陵学柱迨文 度也棚增大,这种矛盾也就表蛾的愈加激烈。 对r 上述矛盾,在踟议的处理方法、操作系统的调度种i o 处理的性能提高有限的惰 凝下,零一弱鞭务器投本羲无法滚足疆豢翡王佟要求。嚣纛,采震鞭务器蔟蒜亲捷 盐瓣终 服务就成为目前解决逸一问题的普遍方法。所谓服务器集群就是指,将多台单独的服务器 作为一个统一的系统向用户提供服务,大量的涞自不同用户豹服务请求将会被分配到集群 内邦不雕的鼹务器上遴行处理,从两使蟹嬲终骚务系统昀处鼹疑力获得接近线性翰增鼹。 用集群系统柬提供嗣络服务的难点主要在了: 透明性( t r a n s p a r e n c y ) 客户与松藕合的集群系统交互时,就像与一台商性能服务器交互一样,在察 户端无须传任侮修改。 可静缩瞧与往链( s c 越a b i l i t ya n dp e r f o r l i l a r l c e ) 随着集群规模的伸缩,服务系统的性能要接近线性增减。 高可用性( a v a i l a b i l i t y ) 有效系统资源探测、动态维护、故障监测与处理予系统。可以在不中断服务 熬凑况f ,动态瑟将蒸一疆务器翅浚塞集餮系统送孪亍维护;受发瑷菜台瑕务 ,器不能正常提供服务时,能够自动且及时的将其切换出集群系统。 可管理性( m a n a g e a b i l i t y ) 要使集群系统易于管理和配置,对于在集群中增加服务器能做到即插即用 ( p l u g p l a y ) 。 由此可觅如何在服务器集群中进行流量负载均衡,以及躲俺提高整个服务器集群的可 用性和可伸缩性,就成为了影响集群整体性能和升级潜力的主要问题。丽前者又通常趣着 决定性的作用,因为熬解决的好坏直接影响系统性能的优劣和可用性的高低,解决的方式 方法妻缓决定善系绞爵诤绣载程攫鞫系统管瑾豹方式。 m p p 系统可以通过其内部网络进行处理器,存储和1 0 资源的共享,但是其栈元间进行 上下文切换的丌销较大,所以一股要求尽量能在接收请求的栈冗处理该请求。此时,血u 似 将嘲络请求送给相对空阑的栈元裁成为了问题瓣关键所在。麟甄盎x , i p ,系统。p 同样存在如 何送 亍溺络请求负载均衡的问题。 对于提供大规模计算的网络服务,可能客户的一条请求虢会给其处理器带来相对较大 的负载,因而使用传统的依据连接进行负载调腰的方法就有最得欠妥当。此时就需要个 含理憋受裁度量算法,以及稠应的受载灞度繁旗。 1 2领域研究现状 f 磊麓述当翦瘸子拇建藤终暇务翰,l 静受载均麓技术,剪歹举,l 拿东这方瑟有代袭 豹产晶和研究项目。 第2 硬 国防科学技术人学研究p 院学位论文 1 2 1 现有的负载均衡技术分析 在现有的负载均衡解决方案中,主要有硬件和软件两种实现方式。硬件方式就是采用 专用的负载均衡设备,其优点是速度快,但是造价很高,配置的灵活性和可扩展性较软件 方式差很多,本文提出的解决方案立足于软件方式。 按照负载的调度方式,可分为集中式调度和分布式调度。 集中式调度通常有前端的凋度节点,用户只能看到前端凋度节点的i p 地址,调度节 点不参与实际的服务工作,只进行后端服务器集群的状态收集、系统一致性维护和负载分 配的工作。后端的每一台服务器都有自己单独的i p 地址,其对于客户而言是透明的。这 样做的优点是可以获得额外的安全性,但是在网络流量很大的情况下,前端调度节点就可 能会成为系统的瓶颈。 分布式调度没有调度节点,一般不进行整个系统的一致性维护工作,因而实现相对简 单,但是在可靠性和均衡效果力面存在问题。如果进行一致性的维护,则由于维护所带来 的开销可能很大,甚至是不可满足的。 按照负载调度的范围可分为全局调度和局部调度。全局调度是指在广域范围内分布的 服务器问进行负载调度的均衡技术,局部调度相对于全局调度,指在管理员可操控的小范 围内进行负载调度,通常是对于同处于个局域网中的服务器。 现有的负载均衡技术主要有“”“: 1 2 1 1 基于d n s 轮询技术的负载均衡 d n s 轮询技术就是利用域名服务器实现服务器间负载均衡。其优点是实现简单、适用 范围广,但是这种方法的均衡粒度过大。若一个网段内负责域名解析的d n s 向服务器集群 的d n s 进行了一次域名解析,它就会缓存该结果,在该缓存项有效的时间内,对于所有对 浚域名的解析请求它都会返回缓存中的i p 地址,而不会再度查询,因而在此时r q 段内所 有来自该网段的服务请求就会发送到同一台服务器上。如果缩短d n s 缓存项的有效期,那 么就会因域名解析请求频繁而占用大量的网络带宽,而且还可能带来其它的一些问题。更 为危险的是如果其中一台服务器意外宕机,d n s 却会对此毫无所知所以就仍然会对其 地址进行解析,造成客户的服务请求不能得到正常响应。 1 2 1 + 2 基于i p 隧道技术的负载均衡 当集群中一台服务器发现其负载过重n 、f ,可以通过i p 隧道技术将请求转发给其他的 服务器处i b 。i t - e h 、j 要求所有的服务器都支持i p 隧道妓术,同叫山会带术额外的劓包,解包 的丌销,而且当整个集群系统的负载部比较虱时,甚至可能出现报文环路现象, x l 【阿其性 筑: 页 国防科学技术人学研究生院学位论文 能和可靠性都不高。 1 2 1 3 依赖于具体的协议( 匕如f i t t p ) 的第七层负载均衡 此种方法的使用受到了很大的限制,而且由于每次均衡都要检查高层协议的报文头 部,这样就会带来大量的系统开销,特别是当流量很大情况下,均衡设备本身容易成为系 统的瓶颈。 1 2 1 _ 4 基于n a t 的负载均衡 n a t 负载均衡将一个外部的i p 地址( 用户可见的i p 地址) 映射为多个内部i p 地址( 服 务器地址) ,从而将请求分发给各个服务器,实现负载均衡。这种方式可以很好的完成均 衡任务,但是此时中心负载均衡设备的工作非常繁重,到达的服务请求和服务器发送的响 应报文都需要经过它的处理,因而该设备很容易成为系统的瓶颈。 1 2 1 5 反向代理负载均衡 就是将来自网络的服务请求以反向代理的方式动态转发给内部的服务器进行处理,从 而实现负载均衡。此方法也是处于第七层的,所以就必须为每一种应用服务丌发一个反向 代理服务器,这样就限制了其应用的范围。同样进出系统的报文都要由中心负载均衡设备 处理,这样它的工作负载就会很重,进而可能成为系统的瓶颈。 1 2 1 6 通过直接路由实现负载均衡 中心负载均衡器根据各个服务器的负载情况,动态地选择一台服务器,将数据帧的姒c 地址改为选出服务器的m a c 地址,再将此数据l 侦通过局域网发送到服务器。此方法要求中 心负载均衡设备;f l l n 务器组都必须在物理上有一个网卡通过不分断的局域网相连。v i p 地 址( 用户看到的i p 地址) 为中心设备年t j n 务器组共享,所有的服务器把v i p 地址配置在 各自的n o n - a r p 网络设备上。服务器处理报文后将响应报文直接返回给客,。其速度在上 述所有的方法中是最快的,但是限制条件较多,有其局限性。 为了合理且有效地将负载分配给内部的服务器,就需要一个可以恰当地反映当前各个 服务器和网络状态的负载均衡算法,中心负载均衡设备将根据此算法选出最适合处理当前 服务请求的服务器。现有的负载调度算法主要有“3 : ( 1 ) 轮询,适用于所有服务器的处理能力相同且各个服务请求的外销丛奉相同的情 况; ( 2 ) 权重轮询,可确保处理能力强的服务器获得更多的服务请求; 第4 炙 国防科学技术人学研究生院学位沦文 ( : ) 随机均衡,将到达的服务请求随机的发送给内部的服务器; ( 4 ) 权重随机,类似于权重轮询,但分配处理过程为一随机选择过程; ( 5 ) 响应速度均衡,根据各服务器与中心负载均衡设备问的响应时间决定负载分配; ( 6 ) 处理能力均衡,负载分配给内部处理负荷最轻的服务器,尤其适用于第七层均衡 ( 7 ) 最4 , 最大链接数,适用于服务请求需要长时问处理的应用; ( 8 ) i ps o u r c e p o r t d e s t i n a t i o n u r lh a s h i n g ,适用于环境相对确定的环境。 1 2 2 成熟的产品和正在开展的研究项目 i b m e d g ec o m p o n e n t s c i s c od i s t r i b u t e dd i r e c t o r a 1 t e o na c e d if e e t o r f 5 b i g l p m i c r o s o f tc 1 u s t e rs e r v i c e i n t e ln e t s t r u c t u r e l i n u xv i r t u a ls e r v e rp r o j e c t 1 3本文的研究目标和内容 本文研究的目标是:研究负载均衡技术,构建网络服务系统。使之同时可以适用于集 群系统和m p p 系统,而且对一般的和提供大规模计算的网络服务都有良好的支持。具体的 指标丰要有: 1 实现服务器的单i p 映象访问方式 2 无瓶颈设应 3 系统可线性增长 4 负载分配合理、分配开销小 5 实现相对简单 6 适用范围广 7 可用性高、易维护 主要涉及了如下几方面的研究内容: 1 负载均衡技术的研究 2 可伸缩网络服务体系结构的研究和设计+ 3 负载调度算法的研究 4 系统高可用性的研究 5 一一个可f j 缩网络服务系统的实现 毓5 龃 国防科学技术人学研究生院学位论文 6 缓解网络瓶颈问题的研究与实现 1 4研究工作的主要贡献 本文在分析和比较现有的网络服务负载均衡解决方案的基础上,提出了虚拟路由负载 均衡技术。为了更好的适应大规模计算网络服务的特点设计了动态的负载评估和路由度量 算法。最后综合虚拟路由技术和直接路由技术,利用本文设计的算法,设计并实现了一套 可伸缩网络服务系统。该系统具有可伸缩性强、维护简便、应用范围广、负载动态分配合 理的特点;且可通过可行的配置方法缓解集中式调度中普遍存在的输入瓶颈问题,从而使 整个系统达到了高性能的和可线性增长的要求。 i 5 论文结构 第一章为绪论。首先描述了课题的应用背景,然后概括并分析了本领域的研究现状, 最后介绍了本文的研究内容及主要贡献。 第二章为负载均衡技术的研究。提出了一种新的负载均衡技术一一虚拟路由技术,并 分析了其技术特色和适用范围。 第三章进行了负载调度算法的研究。针对大规模计算网络服务的特点,提出了一种更 为恰当的负载评估算法,并为虚拟路由技术设计了相应的路由度量算法。 第四章我们利用前面的研究成果,设计了一套可伸缩网络服务系统,并详细讨论了该 系统的运作方式,及功能特点。最后研究了在使用该f s s 系统时,缓解网络输入瓶颈问题 和支持多个单映象i p 网络服务的方法。 第五章重点描述了f s s 系统的实现过程。其中详细介绍了f s s 与操作系统的接口、实 现的基本框架以及实现中的具体问题。如依据实时状态的动态调度算法实现等。 第六章介绍了系统的试验环境及实际的运行效果。给出了系统的测试方案和测试的性 能参数。 第七章对本文的工作进行总结,并对下一步工作进行展望。 第6 页 国防科学技术人学研究生院学何论文 第二章基于lp 的负载均衡方法研究 在现有的局部负载均衡技术中,基本都是采用集中式的调度方法。采用集中式的调度 不可避免的就是瓶颈问题,而瓶颈主要来自于调度器的处理能力和网络带宽的限制。本章 中我们针对缓解网络带宽限制的问题提出了虚拟路由技术,同时该技术保证了网络服务的 单i p 映象访问方式,为网络服务提供了更高的可靠性,几乎没有调度丌销,并且在条件 允许的情况下可以扩展为一种全局的负载调度方法,弥补了现有全局负载调度技术的不 足。 2 1网络瓶颈问题的分析 在使用集中式的负载调度方法中,至少是所有输入的请求报文都经调度器处理,这样 调度器的网络带宽和报文处理能力就可能成为制约整个系统可伸缩性的瓶颈,电就是所谓 的网络瓶颈问题。网络带宽不足带来的瓶颈可能是由于调度器的网络接口速度不足,或者 是与调度器相连的其它网络设备本身的问题。至于报文处理能力的瓶颈,一般与处理器能 力、i o 能力、操作系统的调度方式、协议栈相关。这里我们着重讨论由于调度器本身网络 接口速度不足所带来的网络瓶颈问题。 以l v s 为例,下图是其一个典型的配置图: router i i s g w = 1 9 2 1 6 8 1 2 5 4 ( e t h o ) r i p = 1 9 2 1 6 8i 11 ( e t h o ) ( v i p - t 9 2 1 6 81 1 1 0 1 0 :o ) ( v i p = 1 9 2 1 6 8 1 11 0 e t h o :l1 0 ) d i p = 1 9 2 1 6 8 1 9 ( e t h 0 ) r i p = 1 9 2 1 6 8 i 1 2 ( el h o ) ( v i p = 1 9 21 6 8 i i i 0 ,i o :o ) 图2 1l v s 的典型配置图 由图中我们可以看到,在调度器上需要将vt p ( 单映象的i p 地址) 绑定剑一个其与路 由器年h 连接的 圳络接ii 卜。这样仆h 蚓所_ j 的虾境- 就叫能会发牛刚络靴h 题。 国防科学技术人学研究生院学化论文 服务器1服务器2服务器3 图2 2l v s 的网络瓶颈问题 由于其基本原理的限制,在图2 2 所示环境下该l v s 系统的调度器依然只能将v i p 绑 定到其唯一的一个网络接口上,并通过此接口与路由器1 和路由器2 通信。可以预见,若 路由器l 、路由器2 与该调度器相连的网络接口的带宽总和大于调度器上绑定v i p 的网络 接口的带宽,则当路由器1 与路由器2 满负荷的转发报文时,网络带宽的瓶颈将在调度器 上出现,进而可能造成报文的丢失。 2 2虚拟路由技术 针对上述情况,我们提出了虚拟路由技术。所谓虚拟路由技术就是利用现有的网络路 由协议和路山设备实现网络服务系统的负载调度。其主要思想为: 整个网络服务系统对外只表现为一个单一的i p 地址( s i p ) 供客户使用,系统内所有 与外部路由器相连接的负载调度器都有各自独立的i p 地址,它们采取类似于路由器的工 作方式,向与之相连的外部路由器通过路山 j _ j 议通告其到达陔s i p 地址的路山度量值,同 叫实时的根据其负责的服务器集群( 了服务系统) 的负载状况凋市其所发送的路由度量值。 当客户对该s i p 发送的服务请求到达路由器时,路由器会自动选择路由度量值最短的路径 进行转发。我们只需当服务器集群( 子服务系统) 的负载力f i 重时增大相麻通告的5 | 由度最 值,负载减轻时相应减小之即可。 在图2 2 所示的情况下,使用虚拟路由技术可构造如下环境缓解网络瓶颈问题。 第8 页 国防科学技术人学研究生院学位论文 图2 3 使用虚拟路由技术缓解网络瓶颈 出图中可见,使用虚拟路由技术后,对来自两个路由器的流量进行了分流,从而缓解 了调度器由于网络带宽不足而带来的瓶颈。而这对于l v s 来讲是不可能实现的。 2 3虚拟路由技术的扩展 一个提供大规模应用的网站为了满足分布在全球各处的用户的服务请求,就必然会在 地理上有多个子服务系统,以便为用户提供就近的访问。其中一个子服务系统既可以是一 台服务器,也可以是一个服务器集群。经过上一章对现有负载均衡技术的分析,适用于全 局负载均衡的技术只有d n s 轮询和基于i p 隧道的技术。其中,d n s 轮询技术山于其实现原 理的问题所以可靠性不高,且没有实现单i p 映象的访问方式。基于i p 隧道的技术实现起 来较为复杂、丌销较大,特别是在负载较重的情况下其负载调度的效率也不高。因此目前 存在的两种主流技术都不能很好的满足系统应用背景的要求。 而在条件允许的情况下,使崩虚拟路由技术后路e i 器就会根据其选路原理自动地为我 们实现全局的负载均衡。这样我们通过利用现有的路e b 朗议和路由设备就同时实现了服务 器集群( 子服务系统) 间的全局负载均衡和客户的就近访问,由此客户就可以获得全局最 优的访问。一个可能的虚拟路技术的扩展应用如下蚓所示: 第9 页 国防科学技术大学研究生院学位论文 图2 4 虚拟路由技术的扩展应用示例 子服务系统1 向路由器1 通告其到达s i p 的距离度量值为1 ,子服务系统2 向路由器 3 通告其到达s i p 的距离度量值为2 。所有的路由器根据路由协议生成其到s t p 的路由表。 当客户1 对于s i p 的服务请求到达路由器2 后,路由器l 根据自己的路由表将该请求转发 给路由器1 ,路由器1 再将其转发到子服务系统l 进行处理。对于来自客户2 的请求,路 由器3 根据其路由表将请求转发到子服务系统2 进行处理。 由上文的描述可见,虚拟路由技术的扩展方式实现了整个网络服务系统单映像的访问 方式,由于综合考虑了实时负载状况和地理距离的因素,因而均衡后的性能较好,客户可 以获得最佳的访问;另外由于利用了现有路山协议和路由设备,因而实现的代价也相对较 小,几乎没有负载调度的丌销。若某负载调度器宕机,则与其相连的路由器会自动识别, 并为目的为该s i p 的报文另外选择可用的路径,因此使用虚拟路由技术的系统的可靠性也 得到了保证。 但是在扩展的工作力式下还存在一些问题,首先就是网络管理者的支持问题;其次见 下图所示的环境。 篼l ( ) 豇 国防科学技术大学研究生院学位论文 子服务系统1 子服务系统2 图2 5 拓扑上多个子服务系统汇聚到同一路由器 此时路由器3 从收到的路由信息中选取路由度量值最短的路径作为转发目的为s i p 的 报文路径。当其收到客户的目的为s i p 的报文后,根据其当时的路由表转发报文。此时可 能由于路由的改变而导致来自同一客户的连续的流被转发到了不同的子服务系统,这样一 来那些要求保持持续连接的服务就可能中断。此时由于各个子服务系统间没有连接状态的 一致性维护,所以不能完全的避免这一现象的发生,但是可以采取对路由度量值变更的通 告频率加以限制的办法来减少发生这一问题的几率。即指定一最小时间间隔l ,若一个 子服务系统当n 口要通告的路由度量值和上次通告的不同,则至少要等待l ,的时f 叫j 可以 发出通告。通过合理的瓦,取值就可以避免由于路由振荡而带来的无馏的错误,另外地坪 上的距离因素可以减少上述问题的发生。 另外如下图所示环境 第【1 页 国防科学技术人学研究生院学位论文 一。 j ; i n t e r n e t t 、重虱寓目 。、路e d 带l g f 服务系统 图2 6 拓扑上一个子服务系统与多个路由器相连接 此时来自客户的请求可以由任何一台路由器到达子服务系统,响应报文通过基中某台 路由器返回给客户,可能出现返回报文路径不是最优的情况。 2 4 虚拟路由技术对于拒绝服务式攻击的防御 拒绝服务式的攻击就是利用互联网上大量的主机对某一服务器发起的目的为阻塞其 网络或占用其处理能力的攻击手段。利用虚拟路由技术可以动态调节路由度量值的特点, 结合地理选路策略可以有效的分流和屏蔽部分主机的攻击,从而达到保护系统的目的。 2 5 本章小结 本章在前面分析和比较现有负载均衡技术的基础上,为了克服现有技术的缺陷,结合 应用背景的实际要求,提出了虚拟路由技术。陔技术为缓解网络瓶颈刚题提供了支持,同 时实现了单i p 映象,且负载调度,1 :销小,可靠性高。接下来又详细的讨论了该技术的扩 展工作方式,指出了在条件允许的情况下该技术可以完成全局的负载调度,且可以为单个 客户提供全局最优的访问,而且儿乎没有调度丌销;同时也指出了应用中应注意的问题, 说明了该扩展方式特别适用于面向无持续连接的网络服务。最后简要地介绍了使用该技术 防御拒绝服务式攻击的原理和方法。 筑1 2 页 田防科学技术大学研究生院学位论文 第三章负载调度算法研究 通过第一章对现有负载调度算法的分析,不难看出现有的算法主要是基于连接的调度 方式,对于提供大规模计算的网络服务单纯的基于连接的调度方式显然是不合适的,为了 更为真实地反映系统实时的负载状况,我们进行了负载评估算法的研究。在应用虚拟路由 技术时,需要一个合适的根据系统实时的负载状况计算路由度量值的算法,本章在第二小 节中设计了这样一种算法,该算法比较恰当地体现了系统处理能力与响应延时的规律,而 且在很大程度上避免了路由振荡,以及随之而来的问题。 3 1负载评估算法 为了更好地进行负载的调度,满足大规模计算网蛰服务的要求,就需要一个司以真实 地反映服务器实时负载状况的算法,称为负载评估算法。该算法在网络服务系统中的每台 服务器上独立运行,根据收集到的本地的负载状况进行负载评估,继而以便负载调度器利 用该评估值进行负载调度。 这里若对服务器i 负载状况进行评估需要用到以下参数:当前的处理器负载厶m ,、处 理器总负载能力s i 。、当前的网络负载三一。、网络的总负载能力s 。、当前连接 + r 的客户数n i c l m n ,、当前的处理器负载修正值c i ,= 笪生,当前的网络负载修正值 4 i c l i d 4 t c 。,。= _ i 。i n _ e t w o r k 、前一次的处理器负载修f 值c j 。”前一次的网络修丁f 值厶。 i c l i e n t 服务器i 在子服务系统内的处理器能力权重p ( 该权重代表泼服务器在予服务系统内处理 请求的相对能力,越大随明处理能力越强) ,若予服务系统内的服务器数为。,则 挈# = 1 。每一服务器的权重p = 粤。服务器,在子服务系统内的网络负载能力 s 权重q ,“i = ”1 “q = 1 。每一服务器的权重为q c 生盟塑! ! 一。服务器i 的当前剩余处理 ,x “t 一r s 。 器能力为s ,。= s 。一b c 。+ 妒。t 。) n 。:。,其中p 乖妒分别为一j h 干 j u 一次处 第l : 呃 国防科学技术人学研究生院学位论文 理器修正值的权重,且妒+ 妒一l ;当前网络剩余负载能力为 s k 。= s i n e 。一白c i n e 。+ c :。) ,。,其中和妒。分别为当前和前一 次网络修f 值的权重,且矿+ 庐。= 1 。服务器f 的处理器能力通告修乖值为q = 簧= ;网络 负载能力通告修正值屈= i o i n e t w o r k 。则服务器i 的综合负载能力值 u i n e t w o r k c o i :口i 屈只s 0 。+ y q s k 。) ,其中卢、! i 表示服务器i 中的处理器和网 络的相对权重,且“+ y i = l ,q 越大表示服务器的综合处理能力越强。令 a = “p i s 。、b = v 。q ,s 。e t 。o r k ,可见当子服务系统结构相对稳定后a 。与b ,可 以当作常量处理,因此有c o i = q 屈( a ;+ b 屈) 。当a 。= 1 9 0 0 ,b 。= 1 0 0 0 时0 ) i 的图 像如图3 1 所示: 图3 1 的函数图像 由此图像可见,当口;斗0 或卢。斗0 时,斗0 。其物理意义为当一服务器的处理器或 网络的负载,其扣任意一项接近极限时,此服务器当时的负载能力计估值接近1 可零。 由于本负载评估算法综合考虑了服务器的处理器能力和网络的负载情况,其中任何一 项过载都会使蟮评估值急剧变小所以l 亥评仙值就史力符合宴盼隅况的婴求:纠外由十 考虑了链接的后效性,所以就增大了评估值的合理性衣l 预见性,促进了系统的合理利用, 国防科学技术人学研究生院学位论文 特别是对于提供大规模计算的网络服务,本评估算法克服了以往调度算法中的不足,提高 了网络服务系统的效率和稳定性。 3 2路由度量算法 在使用虚拟路由技术的系统中,负责与外部路由器进行通信的负载调度器,需要根据 收集到的本地子服务系统的负载状况,计算出合理的路由度量值,以便路由器根据该度量 值作出合理的负载调度。但是由于一般的路由协议中的距离度量值都是一个有限范围内的 整数,因而其全局负载调度的粒度相对于利用负载评估算法进行的局部调度也就相对较 大。此时就需要一个可以恰当的将由负载评估算法得到的结果转化为路由度量值的算法, 我们称之为路由度量算法。 经研究对于如今的服务器,其吞吐量与服务延时的关系如图3 2 所示: 图3 2 服务器的吞吐量与服务延时关系图 由图中曲线的走势我们可以看到:当服务器的吞吐量较小时,其服务延时增加的速率 也较缓慢;在实际的使用中存在一吞i 吐量的极限g ,当服务器的吞吐量接近g 时,其延 时值急剧增大;此时如继续有网络服务请求到达,则此服务器的吞吐量将减小,服务延时 将增大,直至服务器的吞吐量接近于0 。可见g 为服务器负载能力的分界点,当负载超过 g 时,服务器整体的性能急剧下降。 针对上述情况,一种理想的负载调度方法应该是使服务器的吞吐量仪持在g 。之1 - ,凶 第1 5 页 国防科学技术人学硼 究生院学位论文 而路由度量算法应该具有以f 的特点:当服务器的负载较小时,其路由度量值的变化速度 应较缓慢,存在一负载的极限值而,当服务器的负载接近而时,其路由度量值急剧增大, 在而处达到最大。这样该算法就很好的符合t n 务器的实际情况,既最大限度的利用了服 务器的负载能力,又很好的避免了服务器过载,以及相关的问题。因此我们对路由度量算 法作如下设计: 设r 。为可能的最大通告值,该值表示子服务系统对于目标s i p 不可达,即系统已经 ”器。“摹。 过载:令z 2 j 寺一。善( 只。q ) + j 。善( q 屈) ,n - - 。g 值表

温馨提示

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

评论

0/150

提交评论