当前位置:   article > 正文

负载均衡

负载均衡

流量负载均衡介绍

1 负载均衡产生的背景

LB(Load Balance,负载均衡)是一种集群技术,它将特定的业务(网络服务、网络流量等)分担给多台网络设备(包括服务器、防火墙等)或多条链路,从而提高了业务处理能力,保证了业务的高可靠性。

负载均衡技术具有一下优势:

(1)高性能:负载均衡技术将业务较均衡的分担到多台设备或链路上,从而提高了整个系统的性能;

(2)可扩展性:负载均衡技术可以方便的增加集群中设备或链路的数量,在不降低业务质量的前提下满足不断增长的业务需求;

(3)高可靠性:单个甚至多个设备或链路法神故障也不会导致业务中断,提高了整个系统的可靠性;

(4)可管理性:大量的管理共组都集中在使用负载均衡技术的设备上,设备集群或链路集群只需要维护通过的配置即可;

(5)透明性:对用户而言,集群等于一个或多个高可靠性、高性能的设备或链路,用户感知不到,也不关心具体的网络结构,增加或减少设备或链路数量都不会影响正常的业务。

负载均衡技术分类:

(1)             服务器负载均衡:在数据中心等组网环境中,可以采用服务器负载均衡,将网络服务分担给多台服务器进行处理,提高数据中心的业务处理能力;

(2)             链路负载均衡:在有多个运营商出接口的组网环境中,可以采用出方向多链路动态负载均衡,实现链路的动态选择,提高服务的可靠性;

(3)             防火墙负载均衡:在防火墙处理能力成为瓶颈的组网环境中,可以采用防火墙负载均衡,将网络流量分担给多台防火墙设备,提高防火桥的处理能力;

1.1 服务器负载均衡

随着Internet的快速发展和业务量的不断提高,基于网络的数据访问流量迅速增长,特别是对数据中心、大型企业以及门户网站等的访问,其访问流量甚至达到了10Gb/s的级别;同时,服务器网站借助HTTP,FTP,SMTP等应用程序,为访问者提供了越来越丰富的内容和信息,服务器逐渐被数据淹没;另外,大部分网站(尤其电子商务等网站)都需要提供不间断24小时服务,任何服务中断或通信中的关键数据丢失都会造成直接的商业损失。这些都对应用服务提出了高性能和高可靠性的需求。

但是,相对于网络技术的发展,服务器处理器速度和内存访问速度的增长却远远低于网络带宽和应用服务的增长,网络带宽增长的同时带来的用户数量的增长,也使得服务器资源消耗严重,因而服务器成为了网络瓶颈;传统的单机模式,也往往成为网络故障点。

1.1.1 服务器负载均衡解决方案

多台服务器通过网络设备相连组成一个服务器集群,每台服务器都提供相同或相似的网络服务。服务器集群前端部署一台负载均衡设备,负责根据已配置均衡策略将用户请求在服务器集群中的分发,为用户提供服务,并对服务器可用性的维护。

该方案的优势:

(1)低成本:按照业务量增加服务器个数即可;已有资源不会浪费,新增资源无需选择昂贵的高端设备。

(2)可扩展性:当业务量增长时,系统可通过增加服务器来满足需求,且不影响已有业务,不降低服务质量。

(3)高可靠性:单台服务器故障时,由负载均衡设备将后续业务转向其他服务器,不影响后续业务提供,7 × 24小时业务不中断。

1.2 链路负载均衡

就互联网接入来说,众所周知,由于国内的两大运营商---电信与网通之间的瓶颈问题,导致电信网通用户互访时出现延迟较,响应缓慢,更有甚者会直接导致用户正常的业务无法运行。而且单条链路存在单点故障的隐患,当互联网链路DOWD掉时,可能引起的直接问题就是用户所有依赖互联网的业务及对互联网的访问都会因此而无法使用,这对于一个用户来说是无法想象的。

目前在互联网接入时存在的主要问题:

(1)电信网通瓶颈问题

(2)单条链路存在单点故障

(3)主备链路需要人工切换

1.2.1 链路负载均衡解决方案

通过接入电信网通两条(或多条链路)来保障网络的连通性,持续性以及快速访问。并提供各链路间的智能备份,实现链路级别的快速高可用。

1.2.1.1 outbound方向链路负载均衡(从内到外的链路负载均衡)

通过电信、网通双链路的接入,并使用静态和动态相结合的多链路负载均衡功能,使内部用户无论是访问网通资源还是电信资源,都可以从相应的线路进行访问.解决了从内到外的电信网通的互访瓶颈。

1.2.1.2 inbound方向链路负载均衡(从外到内的链路负载均衡)

解决外部用户访问内部服务器时所遇到的不同ISP的互访瓶颈.当ISP A的用户访问内部的www.abc.com时把ISP A接口的地址解析给用户,使其通过ISP A线路来访问www.abc.com. 当ISP B用户来访问内部的www.abc.com时,再把ISP B接口的地址解析给用户,使其通过ISP B的线路来访问www.abc.com.

1.2.1.3 多条链并行使用以及智能备份

多链路负载均衡还提供了链路的自动探测及备份功能,当某条链路断掉时,自动将流量切换到正常链路上,同时对外提供的访问,也将只解析正常链路的地址,使访问人员通过当前正常的链路来访问内部的服务。从进出双向来保障链路的正常工作。

1.3 网关负载均衡

SSL-VPN网关,IPSec网关,防火墙网关等网关设备,因为业务处理的复杂性,往往成为网络瓶颈,以防火墙网关为例:防火墙作为网络部署的“警卫”,在网络中不可或缺,但其往往不得不面临这样的尴尬:网络防卫越严格,需要越仔细盘查过往的报文,从而导致转发性能越低,成为网络瓶颈。

在这种情况,如果废弃现有设备去做大量的硬件升级,必将造成资源浪费,随着业务量的不断提升,设备也将频繁升级。频繁升级的高成本是相当可怕的。因此将网关设备等同于服务器,组建网关集群的方案应运而生:将多个网关设备并联到网络中,从而形成集群处理能力,提高网络处理能力。

1.3.1 网关负载均衡解决方案

防火墙负载均衡包括以下几个基本元素:

(1)      集群:提供网络流量负载均衡的群体,包括LB、Fireall;

(2)      LB:负责分发请求发起方的网络流量到多台Firewall设备,LB又分为一级和二级,如果请求发起方的流量方向为Host A-àHost B,则LB A为一级,LB B为二级;方向类似;

(3)      Firewall:正常处理数据的防火墙。

2 负载均衡调度算法

负载均和产品中的关键技术是调度,目前常用的调度算法有

轮询(Round Robin

 

加权轮询(Weighted Round Robin

 

 

 

最少连接(Least Connections

 

 

 

加权最少连接(Weighted Least Connections

 

 

 

随机(Random

 

 

 

加权随机(Weighted Random

 

 

 

源地址散列(Source Hashing

 

 

 

源地址端口散列(Source&Port Hashing

 

 

2.1 负载均衡算法介绍

(1)轮询算法

新的连接被依次轮询分发到各个实服务上,比如第一个连接分发到第一台服务器,第二个连接分发到第二台服务器上;

轮询算法适用于服务器集群中所有服务器都有相同的软硬件配置,并且平均服务器请求相对均衡的情况;

 

(2)加权轮询算法

 

根据服务器不同的处理能力,给服务器分配不同的权值,使其能接受相应权值的服务器请求;

加权轮询算法能确保高性能的服务器能得到更多的使用率,避免低性能的服务器过载过重;

 

(3)最少连接数算法

 

最少连接数算法对内部需要负载的每一台服务器上的连接数都一个记录,记录当前该服务器正在处理的连接数,当有新的服务连接请求时,把请求分发给连接数最少的服务器,使均衡更加符合实际情况,负载更具啊均衡;

最少连接数算法适合长时间处理的请求,例如:FTP。

加权最少连接数算法,即将加权与连接数配合使用,根据连接数与加权的比例计算出当前请求应该分发给哪个具体的服务器;

 

(4)随机算法

将新连接请求随机分发给各个服务器;

加权随机算法,即将加权与随机算法配合使用,根据随机数与加权的比例计算出当前请求应该分发给哪个具体的服务器;

 

(5)源地址散列

根据新连接请求的源IP地址进行散列HASH的结果,决定将请求分发给具体的服务器;

来在相同客户端的连接会被分发到相同的服务器上;

 

2.2 持续性

将多个连接持续重定向到同一个服务器的策略,就是持续性功能。根据持续性原则,建立会话表项,保证后续业务报文都送往同一个服务器处理。比如使用源地址建立持续性表项,保证持续性。

u  基于源IP地址的持续性功能:

负载均衡设备接收到某一客户端的某一业务的首次请求时,建立持续性表项,记录为该客户分配的服务器情况,在会话表项生存周期内,后续该业务报文都将发往该服务器处理。基于源IP地址持续性功能的特点是:实现简洁快速。

u  Cookies保持

Cookies持续性利用客户机存储的cookies信息来吧客户机连接到合适的服务器上,其原理如下:

(1)      首次命中Http请求(不带cookes)进行LB,此时LB任选一台服务器,将请求转发至该服务器;

(2)      来自该服务器的Http回复报文此时包括一个空白的cookies,LB重写cookies,并再粘贴一个特殊的cookies后将http报文发送回去;

(3)      再次命中Http请求(带有与上面形相同的cookies)进入LB,LB设备借助cookies信息确定合适的服务器;

3 服务器负载均衡技术介绍

3.1 概念介绍

u  虚服务:负载均衡设备对外提供的服务称为虚服务,虚服务由VPN实例,虚服务IP地址、服务协议、服务端口号唯一标识,配置负载均衡设备上,客户的访问请求通过公关网络或私有网络到达负载均衡设备时,匹配到虚服务后,由负载均衡设备按照既定的策略分发给实服务;

u  实服务:实服务器是真实服务器提供一种服务,该服务含义比较广泛,可以是传统的FTP,HTTP等业务,也可以是广泛的转发服务,如防火墙网关负载均衡中,实服务只是报文的转发路径;

u  实服务组:为了便于对实服务进行管理,将多个实服务的一些共有属性提取出来形成实服务组,一个虚服务对应一个实服务组,一个实服务组对应多个实服务,相同的实服务组不能属于不同的虚服务;

3.2 服务器负载均衡工作机制

服务器负载均衡有两种工作方式:

u  NAT(Network Address Translation,网络地址转换)方式

u  直接路由(DirectRouting,简称DR)方式

(1)NAT方式

NAT方式组网灵活,后端服务器可以位于不同的物理位置,不同的局域网内。

1、实现原理

客户端将到VSIP的请求发送给服务器群前端的负载均衡设备,负载均衡设备上的虚服务接收客户端请求,通过调度算法,选择真实服务器,再通过网络地址转换,用真实服务器地址重写请求报文的目标地址后,将请求发送给选定的真实服务器;真实服务器的响应报文通过负载均衡设备时,报文的源地址被还原为虚服务的VSIP,再返回给客户,完成整个负载调度过程。

2、技术特点

组网灵活,对服务器没有额外要求,不需要修改服务器配置,适用于各种组网。

步骤

说明

源IP

目的IP

1

Host发放请求报文

Host-IP

VIP

2

LB收到请求报文后,根据调度算法计算出请求报文分发给哪台服务器

-

-

3

LB使用DNAT技术分发报文

Host-IP

Server IP

4

Server接收并处理请求,返回相应报文

Server IP

Host-IP

5

LB接收相应报文,转换源IP后转发

VIP

Host-IP

 

(2)DR方式

相对于NAT 组网方式,DR 组网方式,只有客户端的请求报文通过LB,服务器的响应报文不经过LB,从而减少了LB的负载,有效的避免了LB成为网络瓶颈。

1、实现原理

DR方式的服务器负载均衡时,除了LB设备上配置了VSIP,真实服务器也都配置了VSIP址,配置的VSIP要求不能响应ARP请求,例如在环回接口上配置VSIP。发送给VSIP的报文,由LB分发给相应的真实服务器,从真实服务器返回给客户端的报文直接通过交换机返回。

2、技术特点

只有单边报文经过负载均衡设备,负载均衡设备负担小,不易成为瓶颈,转发性能更强。

步骤

说明

源IP

目的IP

1

Host发放请求报文

Host-IP

VIP

2

General device收到请求后转发给LB,Server上的VIP不能发送和相应ARP报文,因此General device只能将报文转发给LB

Host-IP

VIP

3

LB使用调度算法决定将报文分发给哪台服务器,在封装报文时目的IP为VIP,目的MAC为Server的目的MAC(根据ARP请求Server IP获取)

-

-

4

LB转发报文给Server服务器

Host-IP

VIP

MAC=Server-MAC

5

Server接收并处理请求,返回相应报文给General device

VIP

Host-IP

6

General device收到报文后,直接转发给Host

VIP

Host-IP

3.3 服务器状态检查

所谓状态检查就是指负载均衡设备定期对真实服务器运行状态进行探测,收集相应信息,及时隔离工作异常的服务器。健康检查的结果除标识服务器能否正常工作外,还可以统计出服务器影响时间,作为选择服务器的依据。负载均衡技术支持丰富的健康状态检查算法,可以有效地探测和检查服务器的运行状态。

ICMP:向服务器发送ICMPEcho报文,若收到ICMP Reply,则服务器正常;

TCP:向服务器的某端口建立TCP连接,若成功,则服务器正常;

HTTP:和服务器的80端口建立TCP连接,然后发出HTTP请求,若所收到的HTTP应答内容争取,则服务器正常;

FTP:和服务器21端口建立连接,然后获取一个服务器相关目录放置的文件,若所收到的文件内容正确,则服务器正常;

 

4 链路负载技术介绍

链路负载均衡根据业务流量方向可以分为outbound链路负载均衡和inbound链路负载均衡两种情况。

4.1 outbound链路负载均衡

内网用户和外网之间存在多条链路时,通过outbound链路负载均衡可以实现在多条链路上分担内网用户访问外网服务器的流量。

1、  实现原理

Outbound链路负载均衡中VSIP为内网用户发送报文的目的IP,用户将访问VSIP的报文发送到负载均衡设备上后,负载均衡设备依次根据持续性、ACL策略、就近性、调度算法选择最佳的物理链路,并将内网流量分发到该链路上。

2、  技术特点

可以和NAT应用网关共同组网,不同的链路使用不同的源地址,从而保证往返报文穿过同一条链路;

通过健康性检查,可以检查链路内任意节点的连通性,从而有效保证整条链路上的可达性;

通过调度算法,在多条链路间均衡流量,并支持按照带宽进行负载均衡;

利用就近性算法动态计算链路的质量,将流量分发到当前最优链路上。

步骤

说明

1

LB设备接收到内网流量

2

LB设备依据就近性,ACL策略,持续性,调度算法选择链路

3

LB设备将流量分发到选择出的链路上

4

LB接收外网用户流量

5

LB将外网用户流量转发给设备

4.2 inbound链路负载均衡

内网和外网之间存在多条链路时,通过inbound链路负载均衡可以实现在多条链路上分担外网用户访问内网服务器的流量。

1、  实现原理

Inbound链路负载均衡中,负载均衡设备作为权威服务器记录域名与内网服务器IP地址的映射关系,一个域名可以映射多个IP地址,其中每个IP地址对应一条物理链路;

外网用户通过域名方式访问内网服务器时 ,本地DNS服务器将域名解析请求发送给权威名称服务器——负载均衡设备,负载均衡设备依据持续性、ACL策略、就近性等算法选择最大的链路,并将通过该链路与外网接口的IP地址作为DNS解析结果反馈给外网用户,外网用户通过该链路访问内网服务器。

2、  技术特点

可以和服务器负载均衡配置使用,实现外网用户访问内网服务器的流量在多条链路间均衡的同时,也实现了流量在多台服务器间均衡;

通过健康检查,可以检查链路内任意节点的连通性,从而有效保证整条链路的可达性;

利用就近性算法动态计算链路的质量,保证转发流量的链路时当前最佳的链路。

步骤

说明

1

外网用户通过域名访问内网服务器时,首先要进行DNS解析,向本地DNS服务器发送DNS解析请求

本地DNS服务器将DNS请求转发给权威的名称服务器——LB

2

LB设备根据请求的域名,持续性,ACL策略,就近性等算法选择最用的物理链路,并将给物理链路与外网连接的接口IP地址作为域名解析结果

3

LB设备将解析结果返回给本地DNS

4

本地DNS将结果返回给Host

5

用户使用返回的结果对内网发起访问

5 网关负载均衡

LB Device负载分发请求发起方的网络流量到多个网关设备,LB又分为一级和二级,如果请求发起方的网络流量为Host A->Host B,则LB Device A为一级,LB Device B为二级;

网络设备:正常处理数据的网络设备;

1、  实现原理

防火墙是基于会话开展业务的,即一个会话的请求和应答报文必须通过同一个防火墙,为了保证防火墙业务正常进行,内部组网不受影响,需要采用双侧防火墙,即防火墙三明治。在这种组网环境中,对于流入流量一级LB设备做防火墙负载均衡,二级LB设备保证从哪个防火墙进来的流量,还要从哪个防火墙返回;流出链路正好相反。

2、  技术特点

服务对象为防火墙,提高防火墙组网灵活性。没有特殊要求,适用于任何组网环境。

步骤

说明

1

LB A接收网络流量

2

LB A根据调度算法将流量转发给某台Firewall

3

Firewall将流量转发给LB B

4

LB B记录转发流量的防火墙,并把流量转发到目的地

5

LB B接收来自目的地的回应流量

6

LB B根据记录将流量转发给相应的防火墙

7

Firewall将流量转发给LB A,LB A将流量转发回源地址

防火墙负载均衡也可以服务器负载均衡配置使用:

Cluster A为防火墙负载均衡的集权,ClusterB为服务器的负载均衡集群,综合组网的工作流程就是防火墙和服务器负载均衡的叠加,这种组网方式避免了防火墙称为网络中的瓶颈,也提高了网络服务的性能和可用性。

6 智能选路

智能选路系统——不仅仅是一项功能

智能选路系统——是一系列功能组成的解决方案

6.1 关键用户走某条优质链路——默认路由+策略路由

选路原理

关键用户走某条优质链路

普通用户按照流量在出口设备被均衡分配

优势

实现简单,业内路由器均可支持

缺点

优质链路跑满,关键用户业务受影响

存在跨运营商现象,影响用户上网体验

 

6.2 从运营商下载IP列表——静态路由+默认路由

选路原理

从运营商下载ISP的IP地址列表

通过静态路由的方式静态选路,访问电信的走电信,访问联调的走联调

其余流量走大带宽链路(默认路由)

优势

解决了跨运营商问题,

选择正确的IPS链路,保证用户体验

实现简单,业内标准路由器都可以支持

缺点

1、ISP列表变化频繁,第一次实施后不易更新和维护

2、若链路跑满,路由策略无法自动变更,例如:

(a)电信链路跑满,联调链路空闲,若用户命中电信地址,仍然会选择电信链路,从而造成丢包

(b)电信链路空闲,默认路由链路跑满,后续命中默认路由的数据仍会现则满载链路,造成丢包

6.3 智能选路

链路健康监测优先级最高,若链路失效,则链路上所有路由策略都会失效

策略路由高于过载保护,即使某条链路负载已经超过设定的保护阀值,通过策略路由仍可使用该链路

若应用路由、静态路由、地址库路由、默认路由中,存在等价路由,则可以通过MLLB进行负载

 

6.4 链路过载保护

链路负载超过设置的阈值,后续流量切换到其他链路

切换的前提是NPE自动探测到链路到目的IP地址可到

策略路由不受过载保护的影响

6.5 应用路由

首包识别数据流的应用,根据应用做选路,传统应用路由的难点:

u  基于应用的路由,首先要把应用识别出来;

u  目前应用的识别无外乎DPI,DFI等;

u  DPI识别是通过7层特征识别,需要等待流的连接建立完成,7层协议开始传出后才能识别出来,简单的说,DPI的是被落后与连接的建立,当DPI识别出该应用的时候,连接已经建立起来,这时如果再做选路,必须首先要断掉之前建立的流连接;

6.5.1 大流量协议识别

技术点

协议识别:

大容量传输的应用通常有控制流量和传输流量,比如:FTP,迅雷,BT,电驴,QVOD等

原理

控制流量不做应用路由

识别传输流量做应用路由

 

6.5.2 DNS识别

技术点

特定网站,只需要截获DNS报文,就可以知道其类型。

如:优酷、土豆、奇艺、新浪视频等

原理

监测DNS报文,发现URL请求是特定网站,记录DNS回应报文(即该网站的IP)进行路由,影响IP流量通过设备时会被路由到特定的链路上;

若门户网站包含视频,则只监控视频类。如新浪,只监控video.sina.com.cn

 

6.5.3 主动控制


技术点

P2P协议,如果断流,双方会发起重传机制

原理

对于P2P,在初期通过DPI、DFI识别后,主动将其切断;

通过NPE记录的流信息,根据应用路由重传请求;

用户端不会有任何感知;

 

6.5.4 地址库

技术点

某些应用的目的IP固定,且流量大,如网盘、移动终端应用下载等

原理

人工收集此类应用的目的IP

 

6.6 DNS代理

u  DNS代理不属于路由体系,但能影响选路结果;所有的路由体系的选路都是目的IP通过DNS确认后,才开始工作的;而DNS代理是帮助用户获得更合理IP的技术,所以其生效是在路由体系之前;

u  适用范围:目标URL拥有多个ISP的服务器(一般大型网站都如此);

u  用户价值:在链路负载过高时,提升用户体验,合理分配目的IP所属运营商,结合地址库,使链路利用更均衡。(如,不开此功能,用户DHCP分配电信DNS,则10个网站解析出9个电信+1个联通,电信链路压力大;开启该功能后,解析出5个电信+5个联通,减小电信链路压力);

6.6.1 DNS代理实现原理

 

原理

u  设备上开启DNS代理功能;

u  配置电信和联调的DNS服务器;

u  当有DNS请求到达设备时,设备会根据链路负载情况决定向电信DNS服务器或联调DNS服务器发送DNS请求报文;

u  DNS回应报文到达设备后,设备透传给Host

 

6.7 智能选路实现效果

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/820475
推荐阅读
相关标签
  

闽ICP备14008679号