收藏 分享(赏)

华为 USG6000V虚拟综合业务网关 技术白皮书 服务器负载均衡技术.docx

上传人:nanchangxurui 文档编号:8579667 上传时间:2022-10-10 格式:DOCX 页数:16 大小:1.13MB
下载 相关 举报
华为 USG6000V虚拟综合业务网关 技术白皮书 服务器负载均衡技术.docx_第1页
第1页 / 共16页
华为 USG6000V虚拟综合业务网关 技术白皮书 服务器负载均衡技术.docx_第2页
第2页 / 共16页
华为 USG6000V虚拟综合业务网关 技术白皮书 服务器负载均衡技术.docx_第3页
第3页 / 共16页
华为 USG6000V虚拟综合业务网关 技术白皮书 服务器负载均衡技术.docx_第4页
第4页 / 共16页
华为 USG6000V虚拟综合业务网关 技术白皮书 服务器负载均衡技术.docx_第5页
第5页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、HUAWEI USG6000V系列NFV防火墙技术白皮书之-服务器负载均衡技术白皮书华为技术有限公司Huawei Technologies Co., Ltd.服务器负载均衡技术白皮书公开目 录1背景和概述22全局服务器负载均衡(GSLB)33本地服务器负载均衡(LSLB)43.1使用目的MAC地址转换的服务器负载均衡(DR)43.2使用网络地址转换实现的服务器负载均衡(L4 SLB)53.3使用轻量代理和网络地址转换的服务器负载均衡(L4 lwProxy SLB)73.4使用全量Socket 代理的服务器负载均衡(L7 Socket Proxy SLB)93.4.1socket代理加业务会话关

2、联保持93.4.2根据URL类型不同的分担,静态资源访问和动态计算访问分开多种服务器103.4.3SSL卸载103.4.4链路优化:压缩、协议优化、本地cache、多路复用113.5业务保持技术134华为USG防火墙支持的SLB功能列表14Copyright 2016 华为技术有限公司 版权所有,侵权必究iCopyright 2016 华为技术有限公司 版权所有,侵权必究151 背景和概述随着互联网的快速发展,用户访问量的快速增长,使得单一的服务器性能已经无法满足大量用户的访问,企业开始通过部署多台服务器来解决性能的问题,由此就产生了服务器负载均衡的相关技术方案。在实际的服务器负载均衡应用中,

3、由于需要均衡的业务种类以及实际服务器部署场景的不同(比如是否跨地域、跨ISP数据中心等),存在多种负载均衡的技术。如下典型的组网方式如图所示: 服务提供方为了支撑大批量的用户访问,以及跨不同地域、不同接入ISP的用户都能够获得高质量的业务访问体验,其已经在不同地域、不同ISP数据中心搭建了服务器,这样就带来一个需求,也就是客户的访问能够就近、优先选择同一个ISP数据中心的服务器,从而获得高质量的业务访问体验。同时,基于单台服务器能够提供的业务访问并发是有限的,那么就自然想到使用多台服务器来形成一个“集群”,对外展现出一个业务访问服务器,以满足大量用户访问、而且可以根据业务访问量的上升可以动态的

4、进行业务能力扩容的需要。归纳一下,我们将前一种定义为全局服务器负载均衡(GSLB: Global Server Load Balance),而把后面一种定义为本地服务器负载均衡(LSLB: Local Server Load balance),在实际使用中,这两种技术既可以结合起来使用,也可以单独只使用某一种技术。2 全局服务器负载均衡(GSLB)全局服务器负载均衡一般通过干预DNS域名的查询的返回值,来决定客户访问服务器的优选路径。服务器提供方会申请DNS域名,比如,并将该域名的IP解析委托在服务提供方自己来解析,这里就是GSLB设备来替代的功能。如图所示:1、 在客户接入网侧,客户需要访问

5、诸如时,会向本地DNS服务器发起域名查询2、 本地DNS服务器在本地查询是否有的IP记录,因为该域名为委托到GSLB来解析,所以其将发起向GSLB的域名查询3、 GSLB收到查询请求后,会根据一定的判据(比如查询的来源方、距离哪个IDC路径更优等),将选定的最优站点的IP地址返回给客户接入侧的域名服务器4、 客户接入网侧的域名服务器将该结果返回给客户机侧5、 客户方获得域名对应的经过优选过的IP地址,向该IP发起业务访问此种方式的优点是在一个全局的域名委托查询点即可以完成负载均衡,但也有明显的缺点,一旦某个服务器出现故障,1、GSLB并不能及时感知到故障,将其IP地址排除在返回的IP地址列表外

6、,这样就会造成仍旧会有客户不断去访问已经故障的服务器,造成业务中断;2、客户侧以及本地ISP的DNS服务器均存在缓存,在缓存有效期内不会再向GSLB去发起查询,所以即使服务器故障被GSLB及时感知,也无法避免客户端仍旧访问已经故障的服务器。为了解决上述问题,并且也由于存在单台服务器无法满足高性能并发的需要,引入了多台服务器做“集群”,实现对外一个业务访问的LSLB相关技术。3 本地服务器负载均衡(LSLB)当部署一个服务器“集群”来提供一个业务访问服务器功能时,最为关键的节点就是业务分发节点,这个就是本地服务器负载均衡设备的功能和核心价值所在。这里主要的价值点在于:大并发高性能、故障探测和自愈

7、、性能可以动态扩展、其他增值特性(比如本地缓存加速、SSL卸载等);主要的技术点包括:负载均衡算法、业务保持算法、业务可用性探测技术、业务流量分担技术、缓存技术、加密卸载技术等。3.1 使用目的MAC地址转换的服务器负载均衡(DR)相对于网络地址转换方式的服务器负载均衡方式,DR方式服务器负载均衡中只有客户端的请求报文通过SLB设备,服务器的响应报文不经过SLB设备,从而减少了SLB设备的负载,有效的避免了SLB设备成为网络瓶颈。DR方式下,SLB设备分发服务请求时,不改变目的IP地址,而将报文的目的MAC替换为真实服务器的MAC后直接把报文转发给真实服务器。DR方式服务器负载均衡的典型组网如

8、图所示。负载均衡设备将客户端的业务访问通过修改目的MAC地址的方式将其分担到内部的服务器上,但是服务器的回应请求不再返回给负载均衡设备,而是绕过负载均衡设备,直接返回给客户端,因此负载均衡设备只负责接受并转发请求,其网络负担就减少了很多,并且给客户端提供了更快的响应时间。这种部署模式,因为只是更改了客户端请求报文的目的MAC地址,因此必然会要求负载均衡设备到内部服务器二层可达,即必须处在同一个VLAN内;同时,虚拟的MAC地址必须能够响应来自客户端侧网络的二层ARP请求等;并且,内部服务器“集群”内成员的IP地址是同一个,为避免报IP地址冲突,相同的IP地址所在的服务器,必须对ARP采取静默模

9、式,即不响应ARP请求,也不发送ARP请求和免费ARP通告。3.2 使用网络地址转换实现的服务器负载均衡(L4 SLB)使用网络地址转换方式实现的服务器负载均衡,工作在第四层,其主要概念是将一个虚拟IP地址映射到内部多个服务器的IP地址上,客户的访问均是首先到达虚拟IP地址,然后由负载均衡设备将其访问的目的IP地址替换为内部服务器的实际IP地址,多条业务的访问可以根据一定的分担算法到达不同的内部服务器上,从而达到负载均衡的目的。如图,服务器“集群”对外提供一个虚拟IP地址供业务访问,SLB设备将业务对虚拟IP地址的访问根据均衡算法分担到内部的实际服务器上。此种工作模式下,负载均衡策略的优劣及其

10、实现的难易程度有两个关键因素:一、负载均衡算法,二、服务器业务可用性探测技术。考虑到服务请求的不同类型、服务器的不同处理能力以及随机选择造成的负载分配不均匀等问题,为了更加合理的把负载分配给内部的多个服务器,就需要应用相应的能够正确反映各个服务器处理能力及网络状态的负载均衡算法,业界常用的负载均衡算法包括: 轮询均衡(Round Robin)算法:即每一次来自网络的请求轮流分配给内部服务器,从1至N然后重新开始。此种均衡算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。 权重轮循均衡(Weighted Round Robin)算法:根据服务器的不同处理能力,给

11、每个服务器分配不同的权值,使其能够接受相应权值数的服务请求。例如:服务器A的权值被设计成1,B的权值是3,C的权值是6,则服务器A、B、C将分别接受到10%、30、60的服务请求。此种均衡算法能确保高性能的服务器得到更多的使用率,避免低性能的服务器负载过重。 随机均衡(Random)算法:把来自网络的请求随机分配给内部中的多个服务器。 权重随机均衡(Weighted Random)算法:此种均衡算法类似于权重轮循算法,不过在处理请求分担时是个随机选择的过程。 最小响应速度均衡(Response Time)算法:负载均衡设备对内部各服务器发出一个探测请求(例如Ping),然后根据内部中各服务器对

12、探测请求的最快响应时间来决定哪一台服务器来响应客户端的服务请求。此种均衡算法能较好的反映服务器的当前运行状态,但这最快响应时间仅仅指的是负载均衡设备与服务器间的最快响应时间,而不是客户端与服务器间的最快响应时间。 最少连接数均衡(Least Connection)算法:客户端的每一次请求服务在服务器停留的时间可能会有较大的差异,随着工作时间加长,如果采用简单的轮循或随机均衡算法,每一台服务器上的连接进程可能会产生极大的不同,并没有达到真正的负载均衡。最少连接数均衡算法对内部中需负载的每一台服务器都有一个存活连接数量的计数,当有新的服务连接请求时,将把当前请求分配给连接数最少的服务器,使均衡更加

13、符合实际情况,负载更加均衡。此种均衡算法适合长时处理的请求服务,如FTP Server。为了避免服务器故障而引起的客户访问失败,负载均衡设备需要探测服务器是否故障从而避免将客户访问继续分配到已经故障的服务器上,这就是服务器业务可用性探测技术,业界常用的探测技术包括: icmp探测:也就是ping探测,即通过ping的方式检测服务器及网络系统状况,此种方式简单快速,但只能大致检测出网络及服务器上的操作系统是否正常,对服务器上的应用服务检测就无能为力了。 tcp探测:通过检测服务器上某个TCP端口(如Telnet的23口,HTTP的80口等)是否开放来判断服务是否正常。 http探测:通过向HTT

14、P服务器发出一个对某个页面文件的访问请求,根据是否能获得该页面文件来判断服务器是否出现故障。3.3 使用轻量代理和网络地址转换的服务器负载均衡(L4 lwProxy SLB)纯粹的网络地址转换型的SLB,由于不解析应用层的内容,因此无法根据应用层信息做业务会话关联保持。注:业务会话关联保持,是指将属于同一个应用层会话的多个连接定向到同一真实服务器,从而保证同一业务由同一个服务器处理(或链路转发),这样可以避免同一应用层会话访问多台服务器时,多台服务器需要做相关业务数据的热同步(比如在一台真实服务器上认证,再访问另一台真实服务器时,就必须将认证信息同步过来,以避免用户的再次认证)。使用轻量代理和

15、网络地址转换的服务器负载均衡,1、是SLB需要对客户端发起的TCP做三次握手代理;2、对TCP传输的第一个报文做关联保持功能;3、对后续报文做网络地址转换。下面以一个例子来举例说明基于http cookie或URL负载分担的业务会话关联保持下的轻量代理和网络地址转换SLB的实现:如图所示:1、 客户端发起tcp三次握手,SLB设备对其代理,建立TCP全连接2、 客户端发起tcp payload,也就是http get/post报文,如果之前客户端已经和服务器建立过连接,那么会在该报文中携带cookie等信息,SLB设备对该信息做分析,以保持该客户端仍旧访问同一台真实服务器3、 SLB设备做NA

16、T地址转换,将目的地址替换为真实服务器地址,并发起向该真实服务器的tcp三次握手4、 SLB设备将tcp payload报文(包括第一个http get/post报文)做完tcp sequence、offset、checksum调整后,直接发往真实服务器注:为什么说是轻量代理?因为相对于socket代理,此处仅做了tcp三次握手代理,而后续报文仅对tcp sequence、offset、checksum做了调整,而无需进入tcp/ip协议栈处理,所以是轻量代理。此种方案的优点在于有一定的应用层的业务会话保持能力,而且因为是轻量代理,性能会比较高;但也有一定的限制,如必须是tcp三次握手之后的第

17、一个报文即能带有做会话保持的判据信息(如http cookie),如果不是第一个报文,则这种方案无法应用。3.4 使用全量Socket 代理的服务器负载均衡(L7 Socket Proxy SLB)为解决单纯L4网络地址转换方式或者轻量代理方式下无法针对某些应用做业务会话保持的问题,那么就引入了全量socket代理的服务器负载均衡方式。在全量socket代理的框架下,一些更精细化的业务访问优化就有了实现的基础,比如根据url类型做访问路径的优化、ssl的代理加速、报文压缩、协议优化、cache缓存、多路复用等,下面就这些内容做进一步的说明。3.4.1 socket代理加业务会话关联保持如图所示

18、,客户端与SLB之间建立tcp会话后,客户端将payload全部发往SLB设备,SLB设备根据应用层信息解析,根据应用层业务会话保持算法,选择正确的目的服务器,SLB设备向真实目的服务器发起并建立tcp会话,将来自客户端的payload信息转发给真实的目的服务器(根据需要,也可以针对payload内容做一定修改),完成业务访问。此种场景下,两侧是独立的socket连接,因此payload可以理解为是两侧完全独立的,这种优点就在于可以灵活地根据应用层协议的不同而分别开发不同的应用层业务保持算法,并可在此基础上扩展出应用优化、加速的各种方案。但这种方案的性能是不如直接的网络地址转换方案或者轻量代理

19、的方式的。3.4.2 根据URL类型不同的分担,静态资源访问和动态计算访问分开多种服务器我们知道,对于大型的Web服务器来讲,其承载的内容既包括静态页面(如html,图片等),也包括动态页面(如各种asp、CGI脚本),一般来讲,静态和动态资源的处理对于服务器来讲,其处理的有效性能是不一样的,处理动态资源的响应时间大大超过处理静态资源的响应时间。有了socket的全代理,再根据不同url类型来部署单独的服务器资源,将不同资源的访问动态分配到不同的服务器资源,让更多的服务器资源来响应较为复杂的动态资源访问请求,可以大大改善客户访问的体验。3.4.3 SSL卸载随着越来越多的网站考虑到传输的安全性

20、,使用加密的https来替代传统非加密的http的访问,正在成为一种趋势,而https加密会消耗大量的服务器处理性能;而作网关类设备来讲,在硬件设计之初就考虑了加解密的高性能,其可以使用硬件协处理的能力提升加解密的性能。因此使用硬件SLB设备来卸载服务器的https加解密处理,是保证https业务访问的高性能的一种可行方案。SSL代理,也叫SSL反向代理,其基本的方案流程如下:服务器部署时,需要预先将服务器证书导入到SLB设备中,客户端与SLB设备进行SSL协商并建立SSL Socket,SLB设备再与真实服务器建立非加密的Socket连接,客户端发往服务器的payload信息首先在SLB设备

21、进行SSL解密,SLB将解密后的payload发往后端的真实服务器,以卸载真实服务器需要处理SSL协商、加解密的处理,达到业务访问的高性能。3.4.4 链路优化:压缩、协议优化、本地cache、多路复用在全Socket代理的SLB服务器负载均衡部署方式下,可以针对客户端与服务器之间的传输链路做相关的链路优化,以提升业务访问性能和减少带宽的占用,以下对此类优化做一些简单的描述: 压缩:可以将服务器传输给客户端的页面内容等做压缩,以减少客户端到服务器之间的带宽消耗; 协议优化:SLB设备通过TCP优化技术,如改进TCP的拥塞控制算法,来优化客户端到SLB设备的TCP传输链路,达到减少带宽,提高传输

22、效率的效果; 本地Cache:SLB设备提供本地缓存的能力,将客户端频繁访问的(特别是静态页面、大文件等)资源缓存在本地,就近提供给客户端,可以大大减少服务器的处理压力; 多路复用:SLB设备可以将客户端对多个资源的持续访问合并成一条到服务器的访问,可以降低服务器对于并发响应的要去,提升业务访问整体体验。3.5 业务保持技术在大多数电子商务的应用系统或者需要进行用户身份认证的在线系统中,一个客户与服务器经常经过好几次的交互过程才能完成一笔交易或者是一个请求的完成。由于这几次交互过程是密切相关的,服务器在进行这些交互过程的某一个交互步骤时,往往需要了解上一次交互过程的处理结果,或者上几步的交互过

23、程结果,服务器进行下一步操作时需要这就要求所有这些相关的交互过程都由一台服务器完成,而不能被负载均衡器分散到不同的服务器上。而这一系列的相关的交互过程可能是由客户到服务器的一个连接的多次会话完成,也可能是在客户与服务器之间的多个不同连接里的多次会话完成。不同连接的多次会话,最典型的例子就是基于http的访问,一个客户完成一笔交易可能需多次点击,而一个新的点击产生的请求,可能会重用上一次点击建立起来的连接,也可能是一个新建的连接。会话保持就是指在负载均衡器上有这么一种机制,可以识别做客户与服务器之间交互过程的关连性,在作负载均衡的同时,还保证一系列相关连的访问请求会保持分配到一台服务器上。常见的

24、业务保持技术包括简单会话保持(源地址会话保持)、HTTP Header的会话保持,基于SSL Session ID的会话保持、基于 HTTP Cookie的会话保持、以及基于特定应用的业务保持技术,比如SIP会话Call-ID保持等。 简单会话保持:即通过源地址会话进行保持,同一个源IP来的业务访问,将其HASH到同一个服务器上,这种方式实现简单,不需要解析应用层信息,但对于源IP复用比如有源NAT转换后的业务访问不能生效,最坏的情况会导致负载分担失效; 应用层的会话保持:此种方式下,SLB设备需要解析对应的应用层协议从而根据不同的应用层协议进行对相应应用信息字段进行处理,根据这些信息字段来标

25、记是否为同一个客户端的访问,这种方式的好处是业务支撑地较好,缺点就是协议解析需要耗费SLB设备的性能;上面所述的HTTP Header、SSL SessionID等都属于该类技术。4 华为USG系列防火墙支持的SLB功能列表USG6000USG6000VGSLBLSLBDRL4 SLBL4 lwProxy SLBL7 Socket Proxy SLB健康检查ICMPTCPDNSRadiusHTTP负载分担算法简单轮询加权轮询最小连接算法加权最小连接算法源IP哈希加权源IP哈希HTTP URL分担HOST分担HTTP Referer分担会话保持算法源IP保持HTTP CookieSSL Session ID高级特性SSL卸载HTTP压缩TCP协议优化本地Cache多路复用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 地理文化 > 中国地理

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报