`

四层和七层负载均衡的区别

阅读更多

负载均衡设备也常被称为"四到七层交换机",那么四层和七层两者到底区别在哪里?

第一,技术原理上的区别。

所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

以常见的TCP为例,负载均衡设备在接收到第一个来自客户端的SYN 请求时,即通过上述方式选择一个最佳的服务器,并对报文中目标IP地址进行修改(改为后端服务器IP),直接转发给该服务器。TCP的连接建立,即三次握手是客户端和服务器直接建立的,负载均衡设备只是起到一个类似路由器的转发动作。在某些部署情况下,为保证服务器回包可以正确返回给负载均衡设备,在转发报文的同时可能还会对报文原来的源地址进行修改。

所谓七层负载均衡,也称为“内容交换”,也就是主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

以常见的TCP为例,负载均衡设备如果要根据真正的应用层内容再选择服务器,只能先代理最终的服务器和客户端建立连接(三次握手)后,才可能接受到客户端发送的真正应用层内容的报文,然后再根据该报文中的特定字段,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。负载均衡设备在这种情况下,更类似于一个代理服务器。负载均衡和前端的客户端以及后端的服务器会分别建立TCP连接。所以从这个技术原理上来看,七层负载均衡明显的对负载均衡设备的要求更高,处理七层的能力也必然会低于四层模式的部署方式。那么,为什么还需要七层负载均衡呢?

第二,应用场景的需求。

七层应用负载的好处,是使得整个网络更"智能化", 参考我们之前的另外一篇专门针对HTTP应用的优化的介绍 ,就可以基本上了解这种方式的优势所在。例如访问一个网站的用户流量,可以通过七层的方式,将对图片类的请求转发到特定的图片服务器并可以使用缓存技术;将对文字类的请求可以转发到特定的文字服务器并可以使用压缩技术。当然这只是七层应用的一个小案例,从技术原理上,这种方式可以对客户端的请求和服务器的响应进行任意意义上的修改,极大的提升了应用系统在网络层的灵活性。很多在后台,(例如Nginx或者Apache)上部署的功能可以前移到负载均衡设备上,例如客户请求中的Header重写,服务器响应中的关键字过滤或者内容插入等功能。

另外一个常常被提到功能就是安全性。网络中最常见的SYN Flood攻击,即黑客控制众多源客户端,使用虚假IP地址对同一目标发送SYN攻击,通常这种攻击会大量发送SYN报文,耗尽服务器上的相关资源,以达到Denial of Service (DoS )的目的。从技术原理上也可以看出,四层模式下这些SYN攻击都会被转发到后端的服务器上;而七层模式下这些SYN攻击自然在负载均衡设备上就截止,不会影响后台服务器的正常运营。另外负载均衡设备可以在七层层面设定多种策略,过滤特定报文,例如SQL Injection等应用层面的特定攻击手段,从应用层面进一步提高系统整体安全。

现在的7层负载均衡,主要还是着重于应用广泛的HTTP协议,所以其应用范围主要是众多的网站或者内部信息平台等基于B/S开发的系统。 4层负载均衡则对应其他TCP应用,例如基于C/S开发的ERP等系统。

第三,七层应用需要考虑的问题。

1:是否真的必要,七层应用的确可以提高流量智能化,同时必不可免的带来设备配置复杂,负载均衡压力增高以及故障排查上的复杂性等问题。在设计系统时需要考虑四层七层同时应用的混杂情况。

2:是否真的可以提高安全性。例如SYN Flood攻击,七层模式的确将这些流量从服务器屏蔽,但负载均衡设备本身要有强大的抗DDoS能力,否则即使服务器正常而作为中枢调度的负载均衡设备故障也会导致整个应用的崩溃。

3:是否有足够的灵活度。七层应用的优势是可以让整个应用的流量智能化,但是负载均衡设备需要提供完善的七层功能,满足客户根据不同情况的基于应用的调度。最简单的一个考核就是能否取代后台Nginx或者Apache等服务器上的调度功能。能够提供一个七层应用开发接口的负载均衡设备,可以让客户根据需求任意设定功能,才真正有可能提供强大的灵活性和智能性。

 

(J.L.)

 

本文出自 “ADC技术博客 ” 博客,请务必保留此出处http://virtualadc.blog.51cto.com/3027116/591396

分享到:
评论

相关推荐

    lvs四层的负载均衡和七层负载均衡的区别

    个人理解的LVS负载均衡的区别

    四层和七层负载均衡的区别.docx

    四层和七层负载均衡的区别.docx

    四层和七层负载均衡的区别详细介绍

    负载均衡设备也常被称为"四到七层交换机",那么四层和七层两者到底区别在哪里,本为将详细介绍,需要的朋友可以参考下

    linux负载均衡总结性说明 四层负载和七层负载有什么区别

    负载均衡分为四层负载和七层负载,那么这两者之间有什么不同? 废话不多说,详解如下: 一、什么是负载均衡 1)负载均衡(Load Balance)建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和...

    使用Nginx进行四层负载均衡.doc

    HTTP负载均衡,也就是我们通常所说的"七层负载均衡",工作在第七层"应用层"。而TCP负载均衡,就是我们通常所说的"四层负载均衡",工作在"网络层"和"传输层"。例如,LVS(Linux Virtual Server,Linux虚拟服务)和F5...

    使用Nginx轻松实现开源负载均衡.rar

    于中、小型企业,如果没有资金去购买昂贵的四/七层负载均衡交换机,那么Nginx是不错的七层负载均衡选择,并且可以通过 Nginx Keepalived 实现 Nginx 负载均衡器双机互备,任意一台机器发生故障,对方都能够将虚拟IP...

    nginx七层负载

    nginx七层负载均衡详细说明配置;https的设置;nginx相关信息

    F5_BIG-IP_LTM_V9负载均衡器配书.doc

    负载均衡器通常称为四层交换机或七层交换机。四层交换机主要分析IP层及TCP/UDP层,实现四层流量负载均衡。七层交换机除了支持四层负载均衡以外,还有分析应用层的信息,如HTTP协议URI或Cookie信息。

    windows第四层负载均衡_基于NLB负载均衡详解

    上面有一篇文章说windows第七层负载均衡,这次讲讲第四层负载均衡 TCP/IP协议族,第七层是应用层,第四层是传输层。第四层负载均衡主要通过IP进行转化。 一些优秀的第四层负载均衡软件,速度可以接近硬件负载均衡的...

    Nginx轻松实现开源负载均衡

    对于中、小型企业,如果没有资金去购买昂贵的四/七层负载均衡交换机,那么Nginx是不错的七层负载均衡选择,并且可以通过 Nginx + Keepalived 实现 Nginx 负载均衡器双机互备,任意一台机器发生故障,对方都能够将...

    F5负载均衡器配置指导书

    F5负载均衡器配置指导书

    F5负载均衡器配置指导书v1r01

    随着业务与软件产品与IP网络关系愈加密切,业务平台提供的性能以及可靠性是电信级应用的关键因素。业务与软件产品中Portal...七层交换机除了支持四层负载均衡以外,还有分析应用层的信息,如HTTP协议URI或Cookie信息。

    麒麟天平负载均衡系统技术白皮书

    3.1.2 服务器七层负载均衡 5 3.1.3 链路负载均衡 6 3.2 应用集群高可用性 6 3.2.1 KLB系统高可用性 6 3.2.2 服务器与链路高可用性 7 3.3 远程网络管理与安全 7 3.3.1 远程网络管理 7 3.3.2 系统安全防护 8 3.4 KYLIN...

    负载均衡的基本知识以及使用nginx进行负载均衡的简单例子

    四层负载均衡 vs 七层负载均衡 经常会说七层负载均衡还是四层负载均衡,其实根据ISO的OSI网络模型的所在层的叫法而决定的,nginx因为在使用http协议在应用层进行负载均衡的操作,所以被称为七层负载均衡。而诸如LVS...

    F5_BIG-IP负载均衡器安装配置指导书

    随着业务与软件产品与IP网络关系愈加密切,业务平台提供的性能以及可靠性是电信级应用的关键因素。业务与软件产品中Portal...七层交换机除了支持四层负载均衡以外,还有分析应用层的信息,如HTTP协议URI或Cookie信息。

    负载均衡.xmind

    网上整理的资料,知识比较浅,算是一个科普汇总,自己的一个记录。求轻拍。内容来源于网络,如有侵犯,请及时告知。

    北京积水潭医院HIS系统WEB以及图像服务器负载均衡应用实例

    为了保证在积水潭医院目前的HIS系统关键图像服务器的高可用性,高性能和可扩展性,需要在关键图像服务器前部署四到七层负载均衡设备。Radware提供的解决方案为:通过冗余网卡连接在核心交换机上,两台WSD旁路部署在...

Global site tag (gtag.js) - Google Analytics