重庆通信学院机电教研室 汤小康
[摘要]:在Internet迅猛发展的今天,网民的剧增给网络教育站点带来巨大的挑战,可用性和容错性已成为对站点的关键要求。而负载均衡技术的出现,极大地保证了服务器的正常运转,大大提高容错性,为最终用户提供优质的服务质量。本文就几种常用的负载均衡技术展开讨论、进行了技术分析及性能比较,重点介绍了循环DNS技术。
[关键词]: TCP/IP、WEB服务器、DNS、负载均衡
1 前言
当前,我军正在开展网上教育、网上演练等科技大练兵活动,特别是利用Internet技术实现网络教育、远程教育。而这些活动在突破时空界限,通过灵活、富于变化的图像、声音、文字,让接受者轻松接受教育的同时,网络管理员都面临着同样一个问题:如何面对信息爆炸的世界?如何对流量进行负载均衡,防止某一服务器过载?
可以使用增加硬件性能的方法来提高Web 服务器的性能。但是单台服务器的性能总是有限的,尤其是服务器上需要运行大量的CGI程序时,不可能仅靠上面的调整服务器设置的方法来建立一个面向整个军事训练网的高负载Web站点。
如果网站负载超过了单个服务器的能力,就应该考虑使用一个以上的服务器,许多站点常常将数据在多个服务器阵列上进行复制。然而,使用的服务器越多,意味着管理的成本就越高,管理起来也更困难,并且服务器仍有可能出现过载,做出错误的响应。这就使我们需要一种智能程度更高的系统,它可以对传输流进行调节和管理,即所谓的负载平衡功能。在使用负载平衡技术的情况下,传输流可以被动态地分布到使用相同应用程序的一组服务器上,在多个服务器之间分配请求,使得这些服务器共同分担负载。对用户来说,这组服务器工作得就像一台服务器一样。
这种技术使传输流可以更有效地分布,并且大大提高容错性。负载平衡系统对这组服务器进行监控,并做出决策,选择性能最优、可用性最好的传输路由。这就保证了用户可以被接入到最可用的服务器上,从而为最终用户提供优质服务质量。
负载均衡方案
负载均衡技术方案中对多服务器的设计结构有对称结构、非对称结构之分。负载平衡系统的设计必须保证当发生服务中断情况下保证对用户的可用性。我们的关键是找到一种能够满足目前和未来应用需要的解决方案,保护当前和未来的投资。下面将介绍几种常用的均衡技术。
基于NAT的负载均衡技术
网络地址转换是Internet网关的一个重要功能,它能将内部地址和外部地址进行转换,以使具备内部地址的计算机能访问外部网络。同样外部网络访问网关拥有的某一外部地址时,地址转换网关能将其转发到该地址映射的内部地址的计算机上。
网络地址转换的另一功能是可以“屏蔽”内部IP地址,在IP地址较少的情况下非常有用。
对军事训练网来说,IP地址相当富余。因此,我们的重点在于:通过重新修改地址转换程序,使得地址转换网关能将请求均匀转换为内部的多个服务器的内部地址,此后外部网络中的计算机就各自与自己转换得到的内部服务器进行通信,从而达到负载均衡的能力。
基于第四层交换的负载均衡技术
当前,先进的局域网交换机开始支持第四层交换技术,就是按照IP地址和TCP端口进行虚拟连接的交换,可以在硬件MAC层(Layer2)和Layer3上实现负载平衡,直接将数据包发送到目的计算机的相应端口中。可以通过进一步增强它的功能,利用交换机就能将来自外部的初始连接请求,分别与内部的多个地址相联系,此后就能对这些已经建立的虚拟连接进行交换。因此一些具备第四层交换能力的局域网交换机,就能作为一个硬件负载均衡器,完成Web服务器的负载均衡。
由于第四层交换基于硬件芯片,因此其性能非常优秀,尤其是对于网络传输的速度,交换的速度远远超过普通的数据包转发。
这种结构也有不少局限性。例如,需要在应用层(Layer4)处理的每个数据包都必须被打开进行检查,以决定它们的目的端口。完成这种工作必须使用交换机上的中央处理器,因而降低了交换机的性能,不能充分发挥交换机带来的高网络带宽的优点。
再者,由于它是使用硬件实现的,因此也比较不灵活,仅仅能够处理几种最标准的应用协议的负载均衡,如HTTP 。
最后,交换机解决方案常常缺少SSL会话、ID跟踪、用户验证和应用安全检查等功能。
循环复用DNS负载均衡技术
循环DNS(Round-robin DNS)技术是负载平衡最常用的方法之一。最早的负载均衡技术是通过DNS服务中的随机名字解析来实现的。在DNS服务器中,可以为多个不同的地址配置同一个名字,这个数据被发送给其他名字服务器,而最终查询这个名字的客户机将在解析这个名字时随机使用其中一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,因此不同的客户访问的也就是不同地址的Web服务器,从而达到负载均衡的目的。
例如,如果希望使用三个Web服务器来回应对www.cqcc.com的HTTP请求,设它们的IP地址分别是:202.192.99.1,202.192.99.2,202.192.99.3。安装一个循环复用DNS软件,配置这个软件使得每次要求解析www.cqcc.com时返回所有三个IP地址。第一次解析结果中返回地址的次序与前面列出的相同,下一次请求则得到稍微不同的答案:202.192.99.2,202.192.99.3,202.192.99.1。再下一次则得到第三个答案:202.192.99.3,202.192.99.1,202.192.99.2。第一个客户将同202.192.99.1建立连接,因为202.192.99.1是它所看到的第一个IP地址。第二个客户看到的第一个IP地址是202.192.99.2,因此它将访问202.192.99.2。同样,第三个客户将访问202.192.99.3……
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。