7层负载均衡与4层负载均衡区别

先说结论:

4 层负载均衡本质是转发,而 7 层负载本质是内容交换和代理

一、OSI 7层模型与TCP/IP 4层模型

OSI: open system interconnection 开放式系统互联参考模型

OSI 7层模型TCP/IP 4层模型
应用层应用层
表示层应用层
会话层应用层
传输层传输层
网络层传输层
数据链路层数据链路层
物理层数据链路层

网络七层模型是一个标准,而非实现。
网络四层模型是一个实现的应用模型。
网络四层模型由七层模型简化合并而来。

二、7层负载均衡与4层负载均衡

在OSI 7层模型中,从下往上,应用层属于第七层,而传输层属于第四层,
所谓四层即运输层,就是基于 IP + 端口的负载均衡;
七层即应用层,就是基于 URL 等应用层信息的负载均衡;
同理,还有基于 MAC 地址的二层负载均衡和基于 IP 地址的三层负载均衡。
在这里插入图片描述
4 层负载均衡本质是转发,而 7 层负载本质是内容交换和代理

以常见的 TCP 为例:

  • 4 层负载均衡转发
    负载均衡设备在接收到第一个来自客户端的 SYN 请求时,即通过上述方式选择一个最佳的服务器, 并对报文中的目标 IP 地址进行修改(改为后端服务器 IP),直接转发给该服务器。 TCP 的连接建立,即三次握手是客户端和服务器直接建立的,负载均衡设备只是起到一个类似路由器的转发动作。

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

三、7层负载均衡与4层负载均衡的对比

7层负载均衡相较于4层负载均衡在更耗费性能的同时,也获得了更加智能的优点,由于在应用层进行识别,所以7层负载均衡可以基于不同的协议(如http、radius、dns等)进行负载,也可以根据应用层协议中有意义的内容来进行负载,如:除了根据IP加端口进行负载外,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。

而4层负载均衡基本就是基于 IP + 端口进行负载均衡了。

四、常用负载均衡工具

Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件。

  • LVS
    LVS(Linux Virtual Server),也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目。使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能、高可用的服务器群集,它具有良好可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的服务性能。

LVS主要用来做四层负载均衡。

  • Nginx
    Nginx(发音同engine x)是一个网页服务器,它能反向代理HTTP, HTTPS, SMTP, POP3, IMAP的协议链接,以及一个负载均衡器和一个HTTP缓存。

Nginx主要用来做七层负载均衡。

  • HAProxy
    HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。

Haproxy主要用来做七层负载均衡。

参考资料:
四层、七层负载均衡的区别

  • 10
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值