负载均衡的技术原理及应用1概述1.1负载均衡产生背景1.1.1服务器负载均衡产生背景随着Internet的快速发展和业务量的不断提高,基于网络的数据访问流量迅速增长,特别是对数据中心、大型企业以及门户网站等的访问,其访问流量甚至达到了10Gb/s的级别;同时,服务器网站借助HTTP、FTP、SMTP等应用程序,为访问者提供了越来越丰富的内容和信息,服务器逐渐被数据淹没;另外,大部分网站(尤其电子商务等网站)都需要提供不间断24小时服务,任何服务中断或通信中的关键数据丢失都会造成直接的商业损失。所有这些都对应用服务提出了高性能和高可靠性的需求。但是,相对于网络技术的发展,服务器处理速度和内存访问速度的增长却远远低于网络带宽和应用服务的增长,网络带宽增长的同时带来的用户数量的增长,也使得服务器资源消耗严重,因而服务器成为了网络瓶颈。传统的单机模式,也往往成为网络故障点。图1现有网络的不足针对以上情况,有以下几种解决方案:(1)服务器进行硬件升级:采用高性能服务器替换现有低性能服务器。该方案的弊端:·高成本:高性能服务器价格昂贵,需要高额成本投入,而原有低性能服务器被闲置,造成资源浪费。·可扩展性差:每一次业务量的提升,都将导致再一次硬件升级的高额成本投入,性能再卓越的设备也无法满足当前业务量的发展趋势。·无法完全解决现在网络中面临的问题:如单点故障问题,服务器资源不够用问题等。(2)组建服务器集群,利用负载均衡技术在服务器集群间进行业务均衡。多台服务器通过网络设备相连组成一个服务器集群,每台服务器都提供相同或相似的网络服务。服务器集群前端部署一台负载均衡设备,负责根据已配置的均衡策略将用户请求在服务器集群中分发,为用户提供服务,并对服务器可用性进行维护。该方案的优势:·低成本:按照业务量增加服务器个数即可;已有资源不会浪费,新增资源无需选择昂贵的高端设备。·可扩展性:当业务量增长时,系统可通过增加服务器来满足需求,且不影响已有业务,不降低服务质量。·高可靠性:单台服务器故障时,由负载均衡设备将后续业务转向其他服务器,不影响后续业务提供,保证业务不中断。图2负载均衡技术1.1.2网关负载均衡产生背景SSLVPN网关、IPsec网关、防火墙网关等网关设备,因为业务处理的复杂性,往往成为网络瓶颈。以防火墙网关为例:防火墙作为网络部署的“警卫”,在网络中不可或缺,但其往往不得不面临这样的尴尬:网络防卫越严格,需要越仔细盘查过往的报文,从而导致转发性能越低,成为网络瓶颈。在这种情况,如果废弃现有设备去做大量的硬件升级,必将造成资源浪费,随着业务量的不断提升,设备也将频繁升级。频繁升级的高成本是相当可怕的。因此将网关设备等同于服务器,组建网关集群的方案应运而生:将多个网关设备并联到网络中,从而形成集群,提高网络处理能力。1.1.3链路负载均衡产生背景信息时代,工作越来越离不开网络,为了规避运营商出口故障带来的网络可用性风险,和解决网络带宽不足带来的网络访问问题,企业往往会租用两个或多个运营商出口(如:电信、网通等)。如何合理运用多个运营商出口,既不造成资源浪费,又能很好的服务于企业?传统的策略路由可以在一定程度上解决该问题,但是策略路由配置不方便,而且不够灵活,无法动态适应网络结构变化,且策略路由无法根据带宽进行报文分发,造成高吞吐量的链路无法得到充分利用。链路负载均衡技术通过动态算法,能够在多条链路中进行负载均衡,算法配置简单,且具有自适应能力,能很好的解决上述问题。1.1.4全局负载均衡产生背景随着社会各领域全球化进程的日益深化,实现各方面信息的全球共享成为人们的迫切需求。然而,无论用户的数据中心内部采用多么完善的冗余机制、安全的防范工具以及先进的负载均衡技术,单个数据中心的运行方式仍然不能保证关键业务的7×24小时不间断运行。此外,单一的数据中心也无法使广域范围内全球各地用户在访问应用时具有相同的快速访问感受。通过在不同物理位置构建多个数据中心,并利用全局负载均衡技术在多个数据中心间实现协调工作,引导用户访问最优的站点,当某个站点出现灾难性的故障后依然可以让其他站点为用户提供服务,这样便能有效解决上述问题。1.2负载均衡技术优点负载均衡提供了一种廉价、有效、透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力,提高网络的灵活性和可用性。负载均衡技术具有如下优点:·高性能:通过调度算法,将客户端请求合理地均衡到后端各台服务器上,消除系统可能存在的瓶颈。·可扩展性:当服务的负载增长时,系统能被扩展来满足需求,且不降低服务质量。·高可用性:通过健康性检测功能,能实时监测应用服务器的状态,保证在部分硬件和软件发生故障的情况下,整个系统的服务仍然可用。·透明性:高效地使由多个独立计算机组成的松耦合的服务系统构成一个虚服务器;客户端应用程序与服务系统交互时,就像与一台高性能、高可用的服务器交互一样,客户端无须作任何修改。部分服务器的切入和切出不会中断服务,而用户觉察不到这些变化。2技术实现2.1概念介绍1.虚服务负载均衡设备对外提供的服务称为虚服务。虚服务由VPN实例、虚服务IP地址、服务协议、服务端口号唯一标识,配置在负载均衡设备上。客户的访问请求通过公共或私有网络到达负载均衡设备,匹配到虚服务后,由负载均衡设备按照既定策略分发给真实服务。2.实服务实服务是真实服务器提供的一种服务。该服务含义比较广泛,可以是传统的FTP、HTTP等业务应用,也可以是广义的转发服务,如防火墙网关负载均衡中,实服务只是报文转发路径。3.OAAOAA即开放应用架构,是华三通信技术有限公司(以下简称H3C)提出的一个开放的软硬件体系,它以路由器或以太网交换机这样的传统网络设备为基础,并在此基础上,提供一套完整的软、硬件标准接口。任何厂商只要按照这样的接口来生产软件或硬件,这些新开发的软硬件就可以和H3C系列路由器或以太网交换机等构成一个完整的系统,为客户创造更大的价值。4.持续性功能持续性功能将属于同一个应用层会话的多个连接定向到同一服务器,从而保证同一业务由同一个服务器处理(或链路转发),并减少LB设备对服务和流量进行分发的次数。5.负载均衡调度算法负载均衡设备需要将业务流量根据某种算法分发给不同的实服务(实服务对应服务器负载均衡中的服务器、网关负载均衡中的网关设备和链路负载均衡中的链路),这个分发算法就是负载均衡调度算法。6.就近性功能在链路负载均衡中,就近性功能是指,实时探测链路的状态,并根据探测结果选择最优链路,保证流量通过最优链路转发。7.健康性检测功能健康性功能是指负载均衡设备对真实的服务器是否能够提供服务进行探测。依据不同的探测方法(即健康性检测方法)可以探测出服务器是否存在,以及是否可以正常提供服务。8.ISP表系统内置的ISP表描述了不同运营商拥有的地址段信息。链路负载均衡可以基于报文的源或目的地址(Outbound链路负载均衡基于目的地址,Inbound链路负载均衡基于源地址)查找ISP表,得到对应的运营商信息,根据运营商信息为该流量选择一条物理链路。9.GLB设备GLB设备是具有全局负载均衡功能的LB设备,可以是一台独立的设备,也可以与本地负载均衡在同一台设备上提供服务。10.全局服务多个数据中心协作对外提供服务的描述。例如,通过分布在全球的多个站点对外提供服务,但使用相同的域名。为了便于管理,不同设备间配置的全局服务名称应一致。11.虚服务器虚服务器是全局负载均衡中为了便于管理而抽象出来的概念,是用户能够直接访问的主机。例如,一个数据中心对外提供一个IP地址,则可以抽象出一台服务器;一个数据中心对外有多个链路,配有多个访问的IP地址,则可以抽象出多台服务器。虚服务器分为本地虚服务器和远程虚服务器,不需要专门配置,是从本地虚服务和远程设备上动态获取的。12.全局就近性功能全局就近性是全局负载均衡中用于选取虚服务器的一种调度算法,是指通过探测虚服务器与用户之间的网络状态,以及虚服务器本身的负载情况,根据探测结果选取最优的虚服务器来为用户提供服务。13.全局LB交互协议GLB设备之间会进行信息交互,例如获取其它GLB设备上对应全局服务的虚服务器状态信息、通知其它GLB设备进行就近性探测等,承载此类信息的协议为全局LB交互协议。2.2服务器负载均衡服务器负载均衡,顾名思义就是对一组服务器提供负载均衡业务。这一组服务器一般来说都处于同一个局域网络内,并同时对外提供一组(或多组)相同(或相似)的服务。服务器负载均衡是数据中心最常见的组网模型。服务器负载均衡分为四层(L4)服务器负载均衡和七层(L7)服务器负载均衡两种:·L4服务器负载均衡支持IPv4协议和IPv6协议,是基于流的服务器负载均衡,对报文进行逐流分发,将同一条流的报文分发给同一个服务器。L4服务器负载均衡对基于HTTP的7层业务无法做到按内容进行分发,限制了负载均衡业务的适用范围。依据转发方式,L4服务器负载均衡分为NAT方式和DR方式。·L7服务器负载均衡只支持IPv4协议,是基于内容的服务器负载均衡,对报文的承载内容进行深度解析,包括HTTP协议、RTSP协议等,根据其中的内容进行逐包分发,按既定策略将连接导向指定的服务器,实现了业务使用范围更广泛的服务器负载均衡。L7服务器负载均衡仅支持NAT方式。2.2.1NAT方式L4服务器负载均衡NAT方式L4服务器负载均衡的组网灵活,后端服务器可以位于不同的物理位置,不同的局域网内。NAT方式下,LB设备分发服务请求时,进行目的IP地址转换(目的IP地址为实服务的IP),通过路由将报文转发给各个实服务。NAT方式L4服务器负载均衡的典型组网如图3所示。图3NAT方式L4服务器负载均衡NAT方式L4服务器负载均衡包括以下几个基本元素:·LBDevice:负责分发各种服务请求到多个Server的设备。·Server:负责响应和处理各种服务请求的服务器。·VSIP:对外提供的虚拟IP,供用户请求服务时使用。·ServerIP:服务器的IP地址,供LBDevice分发服务请求时使用。1.实现原理客户端将到VSIP的请求发送给服务器群前端的负载均衡设备,负载均衡设备上的虚服务接收客户端请求,依次根据持续性功能、ACL策略、调度算法,选择真实的服务器,再通过网络地址转换,用真实服务器地址重写请求报文的目标地址后,将请求发送给选定的真实服务器;真实服务器的响应报文通过负载均衡设备时,报文的源地址被还原为虚服务的VSIP,再返回给客户端,完成整个负载调度过程。2.工作流程NAT方式L4服务器负载均衡的工作流程图如图4所示。图4NAT方式L4服务器负载均衡流程图流程简述请参见表1。表1NAT方式L4服务器负载均衡流程描述步骤说明备注(1)Host发送服务请求报文源IP为HostIP、目的IP为VSIP(2)LBDevice接收到请求报文后,借助持续性功能或调度算法计算出应该将请求分发给哪台Server-(3)LBDevice使用DNAT技术分发报文源IP为HostIP、目的IP为ServerIP(4)Server接收并处理请求报文,返回响应报文源IP为ServerIP、目的IP为HostIP(5)LBDevice接收响应报文,转换源IP后转发源IP为VSIP、目的IP为HostIP从以上一系列的说明可以看出——在负载均衡时使用网络地址转换技术,NAT方式因此而得名。3.技术特点组网灵活,对服务器没有额外要求,不需要修改服务器配置,适用于各种组网。2.2.2DR方式L4服务器负载均衡相对于NAT方式,DR方式L4服务器负载均衡中只有客户端的请求报文通过LB,服务器的响应报文不经过LB,从而减少了LB的负载,有效的避免了LB成为网络瓶颈。DR方式下,LB设备分发服务请求时,不改变目的IP地址,而将报文的目的MAC替换为实服务的MAC后直接把报文转发给实服务。DR方式L4服务器负载均衡的典型组网如图5所示。图5DR方式L4服务器负载均衡DR方式L4服务器负载均衡包括以下几个基本元素:·LBDev