一文详解负载均衡和反向代理的区别_第1页
一文详解负载均衡和反向代理的区别_第2页
一文详解负载均衡和反向代理的区别_第3页
一文详解负载均衡和反向代理的区别_第4页
一文详解负载均衡和反向代理的区别_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

一文详解负载均衡和反向代理的区别一、SLB产生背景SLB(服务器负载均衡):在多个提供相同服务的服务器的情况下,负载均衡设备存在虚拟服务地址,当大量客户端从外部访问虚拟服务IP地址时,负载均衡设备将这些报文请求根据负载均衡算法,将流量均衡的分配给后台服务器以平衡各个服务器的负载压力,避免在还有服务器压力较小情况下其他服务达到性能临界点出现运行缓慢甚至宕机情况,从而提高服务效率和质量。因此对客户端而言,RS(realserver实际服务器)的IP地址即是负载均衡设备VIP(虚拟服务地址IP)地址,真正的RS服务器IP地址对于客户端是不可见的。二、SLB的三种传输模式七层SLB和四层SLB的区别:四层SLB:配置负载均衡设备上服务类型为tcp/udp,负载均衡设备将只解析到4层,负载均衡设备与client三次握手之后就会和RS建立连接;七层SLB:配置负载均衡设备服务类型为http/ftp/https等,负载均衡设备将解析报文到7层,在负载均衡设备与client三次握手之后,只有收到对应七层报文,才会跟RS建立连接。在负载均衡设备中,SLB主要工作在以下的三种传输模式中:反向代理模式透传模式三角模式根据不同的模式,负载均衡设备的工作方式也不尽相同,但无论在哪种模式下,客户端发起的请求报文总是需要先到达负载均衡设备进行处理,这是负载均衡设备正常工作的前提。模拟网络拓扑环境:Client:0负载均衡设备:3VIP:4RS1IP:2RS2IP:5在整个报文交互过程中,采用Tcpdump和Wireshark分别在RS和Client处抓包,然后使用Wireshark进行报文解析。三、反向代理模式反向代理:普通的代理设备是内网用户通过代理设备出外网进行访问,而工作在这种模式下的负载均衡设备,则是外网用户通过代理设备访问内网,因此称之为反向代理。在反向代理模式下:当负载均衡设备收到客户端请求后,会记录下此报文(源IP地址、目的IP地址、协议号、源端口、目的端口,服务类型以及接口索引),将报文目的地址更改为优选后的RS设备的IP地址,目的端口号不变,源地址修改为负载均衡设备下行与对应RS设备接口的IP地址,源端口号随机发送给RS;当RS收到报文后,会以源为RS接口IP地址,目的IP设备地址回复给负载均衡设备,负载均衡设备将源修改为VIP,目的端口号修改为客户端的源端口号,目的IP修改为Client的源IP回复报文。查看报文解析结果:配置完成后,Client访问RS服务器,返回成功,整个报文交互过程如下:

Client和负载均衡设备之间的报文交互过程

RS和负载均衡设备之间报文交互过程结果分析分析整个报文交互过程:TCP握手过程:首先Client向负载均衡设备发送TCPSYN报文请求建立连接,源IP为Client的IP0,源端口号50894,目的IP为VIP地址4,目的端口号80;收到请求报文后,负载均衡设备会以源IP为VIP地址4,端口号80,目的IP0,目的端口号50894回应SYNACK报文;Client收到报文后回复ACK报文,TCP三次握手成功。HTTP报文交互过程:当负载均衡设备与client完成三次握手后,因为配置的七层SLB,如果收到HTTP请求,就会根据负载均衡算法和服务器健康状态优选出对应的RS(在这次过程中选择的RS设备为2),然后与RS建立TCP连接:负载均衡设备发送TCPSYN报文请求连接,源IP为负载均衡设备与RS相连接口IP3,源端口号随机4574,目的IP为RS的IP2,目的端口号80;RS收到报文后,以源IP2,端口号80,目的IP3,目的端口号4574回复SYNACK报文,负载均衡设备回复ACK报文建立三次握手;之后,负载均衡设备再将收到的HTTP报文源IP修改为与RS相连下行接口IP地址3,源端口号为随机端口号,将报文发送给RS;当RS收到报文后,使用源为本地IP2,目的IP为3进行回复,所以报文直接回复给负载均衡设备;当负载均衡设备收到RS的回应报文后,将报文的源修改为VIP地址4,目的IP为0发送回Client,再将目的端口号修改为HTTP请求报文中的源端口号,服务器访问成功。由上述的过程可以看出,在RS端上,client的真实IP地址被负载设备修改成与RS相连接口的IP地址,所以RS无法记录到Client的访问记录,为了解决这个问题,可以采用在HTTP报文头中添加X-Forwarded-For字段,本文不做赘述,可以自行查询。四、透传模式当负载均衡设备工作在透传模式中时,RS无法感知到负载均衡设备的存在,对于Client来说,RS的IP地址就是负载均衡设备的VIP地址。在这种模式下,当负载均衡设备收到源为Client的IP,目的IP为本地VIP地址的报文时,会将报文根据负载均衡策略和健康状况发送给最优的RS设备上,继而RS设备会收到目的为本地IP,源为Client实际IP的请求报文;然后RS将会直接回应此请求,报文的目的IP地址为Client的IP地址,当负载均衡设备收到此报文后,将源IP地址修改为VIP地址,然后将报文发送给Client。报文解析结果:同样在RS端和Client端抓取交互报文:Client和负载均衡设备之间的报文交互过程

RS和负载均衡设备之间的报文交互过程结果分析:TCP握手过程:同反向代理模式交互过程HTTP报文交互过程:Client向负载均衡设备的VIP地址4以源IP0发送HTTP请求,当负载均衡设备收到报文后,与优选后的RS进行TCP三次握手,过程同反向代理模式,然后将收到的HTTP报文,不改变报文的源IP地址和源/目的端口号,只修改目的IP修改为优选后的RS地址2;当RS收到源来自IP0的报文后,回复报文给IP地址0,此时要注意,必须在RS上配置回复报文经过负载均衡设备,负载均衡设备会将源IP修改为VIP地址4,然后转发给Client,否则Client将会收到源IP为2的HTTP报文,服务器访问失败。五、三角模式在三角模式下,当客户端发送请求到负载设备上时,负载均衡设备会计算出最优RS,然后直接根据MAC地址将报文转发给RS,在RS上配置报文的源IP为VIP地址(一般配置在loopback口上),因此在这种情况下,RS会直接将报文发送给Client,即使回复报文经过负载均衡设备,此设备不做任何处理。由于报文在整个过程中传输途径类似于三角形,因此称之为三角模式。报文解析结果分别在Client端和RS端抓包,内容如下:Client和负载均衡设备之间的报文交互过程RS和负载均衡设备之间的报文交互过程结果分析TCP握手过程:由于采用了4层SLB,所以在TCP握手过程中与上述的7层SLB有些不同,当Client和RS完成三次握手之后,此时负载均衡设备会直接选择RS,然后跟RS建立TCP三次握手;在三角模式环境中,由于RS的Loopback口和负载均衡设备上都存在着VIP地址4,当负载均衡设备经过负载均衡算法选择出对应的RS后,会根据实际配置的RS的IP地址对应的mac地址,将报文以目的mac为RS,目的IP为VIP的方式建立TCP连接。HTTP报文交互过程:首先Client向负载均衡设备的VIP发送HTTP请求,源为0,当负载均衡设备收到报文后,将报文直接转发给RS,当RS收到源IP为0,目的IP为本地Loopback口IP地址4的报文后,直接将报文回复给0,同样源为IP地址4,由此访问服务器成功。在三角模式中,由于回复报文负载均衡设备不做任何处理,所以非常适合于RS到Client方向流量较大或者连接数目较多的组网环境。采用三角模式时,必须注意RS有路由可以到达Client,并且在RS的Loopback接口上必须有负载均

温馨提示

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

评论

0/150

提交评论