热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:反向代理和负载均衡有何区别?

篇首语:本文由编程笔记#小编为大家整理,主要介绍了反向代理和负载均衡有何区别?相关的知识,希望对你有一定的参考价值。 反向代理,是把一些静态资源存储在服务器上,当用户有请求的时候,就直接返回反向

篇首语:本文由编程笔记#小编为大家整理,主要介绍了反向代理和负载均衡有何区别?相关的知识,希望对你有一定的参考价值。




反向代理,是把一些静态资源存储在服务器上,当用户有请求的时候,就直接返回反向代理服务器上的资源给用户,而如果反向代理服务器上没有的资源,就转发给后面的负载均衡服务器,负载均衡服务器再将请求分发给后端的web服务器。 区别就是:反向代理服务器是需要存储资源的,让用户更快速的接收到资源 负载均衡就是,为了保证后端web服务器的高可用,高并发,是不需要要存储资源,只需要转发用户的请求。




一、SLB产生背景:

二、SLB的三种传输模式:

七层SLB和四层SLB的区别:

四层SLB:配置负载均衡设备上服务类型为tcp/udp,负载均衡设备将只解析到4层,负载均衡设备与client三次握手之后就会和RS建立连接;

七层SLB:配置负载均衡设备服务类型为http/ftp/https等,负载均衡设备将解析报文到7层,在负载均衡设备与client三次握手之后,只有收到对应七层报文,才会跟RS建立连接。

在负载均衡设备中,SLB主要工作在以下的三种传输模式中:

反向代理模式

透传模式

三角模式

根据不同的模式,负载均衡设备的工作方式也不尽相同,但无论在哪种模式下,客户端发起的请求报文总是需要先到达负载均衡设备进行处理,这是负载均衡设备正常工作的前提。模拟网络拓扑环境:

Client:10.8.21.40

负载均衡设备:172.16.75.83

VIP:172.16.75.84

RS1IP:172.16.75.82

RS2IP:172.16.75.85

在整个报文交互过程中,采用Tcpdump和Wireshark分别在RS和Client处抓包,然后使用Wireshark进行报文解析。

三、 反向代理模式:

反向代理:普通的代理设备是内网用户通过代理设备出外网进行访问,而工作在这种模式下的负载均衡设备,则是外网用户通过代理设备访问内网,因此称之为反向代理。

在反向代理模式下:



  • 查看报文解析结果:


配置完成后,Client访问RS服务器,返回成功,整个报文交互过程如下 :


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



  • 结果分析


分析整个报文交互过程:

TCP握手过程:

Client收到报文后回复ACK报文,TCP三次握手成功。

HTTP报文交互过程:

当负载均衡设备与client完成三次握手后,因为配置的七层SLB,如果收到HTTP请求,就会根据负载均衡算法和服务器健康状态优选出对应的RS(在这次过程中选择的RS设备为172.16.75.82),然后与RS建立TCP连接:

负载均衡设备发送TCP SYN报文请求连接,源IP为负载均衡设备与RS相连接口IP 172.16.75.83,源端口号随机4574,目的IP为RS的IP 172.16.75.82,目的端口号80;

RS收到报文后,以源IP 172.16.75.82,端口号80,目的IP 172.16.75.83,目的端口号4574回复SYN ACK报文,负载均衡设备回复ACK报文建立三次握手;

当RS收到报文后,使用源为本地IP 172.16.75.82,目的IP为172.16.75.83进行回复,所以报文直接回复给负载均衡设备;


四、透传模式:



  • 报文解析结果:


同样在RS端和Client端抓取交互报文:


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

反向代理和负载均衡有何区别?

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



  • 结果分析:


TCP握手过程:

同反向代理模式交互过程

HTTP报文交互过程:

反向代理和负载均衡有何区别?

五、 三角模式:



  • 报文解析结果:


分别在Client端和RS端抓包,内容如下:


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


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



  • 结果分析:


TCP握手过程:

由于采用了4层SLB,所以在TCP握手过程中与上述的7层SLB有些不同,当Client和RS完成三次握手之后,此时负载均衡设备会直接选择RS,然后跟RS建立TCP三次握手;

HTTP报文交互过程:



在三角模式中,由于回复报文负载均衡设备不做任何处理,所以非常适合于RS到Client方向流量较大或者连接数目较多的组网环境。

六、总结




推荐阅读
author-avatar
姓陈的女青年
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有