四七层负载均衡的区别

admin9个月前笔记95

学过计算机网络的同学都知道,我们工作、生活所使用的互联网,其实是通过一个网络模型来进行数据传输的,这个网络模型叫做:OSI 模型(Open Systems Interconnection model)。

而我们常说的四层负载均衡与七层负载均衡,指的就是在这个 OSI 模型的哪一层进行请求转发。因此要弄懂这个问题,我么你需要先弄懂 OSI 模型。

OSI 模型

计算机网络 OSI 模型(Open Systems Interconnection model)是一种概念模型,它将电信或计算系统通信功能标准化,而不考虑其内部结构或技术。OSI 模型可以分为七层,如下图所示。

u=3184518647,1864423048&fm=253&fmt=auto&app=138&f=JPEG.webp

通过 OSI 七层模型,我们就可以将数据从计算机的软件,通过网线发送出去,最终被另一台电脑接收。

四层负载均衡

四层负载均衡,指的是工作在 OSI 的第四层,即传输层,其通过 IP + 端口的方式进行路由转发。其具体实现方式为:通过报文中的 IP 地址和端口,再加上负载均衡设备所采用的负载均衡算法,最终确定选择后端哪台下游服务器。

以 TCP 为例,客户端向负载均衡发送 SYN 请求建立第一次连接。通过配置的负载均衡算法选择一台后端服务器,并且将报文中的 IP 地址信息修改为后台服务器的 IP 地址信息,因此 TCP 三次握手连接是与后端服务器直接建立起来的。

常见的四层负载均衡设备有:F5、LVS 等。

七层负载均衡

七层负载均衡,指的是工作在 OSI 的第七层,即应用层,其一般是基于请求 URL 地址的方式进行代理转发。七层服务均衡在应用层选择服务器,只能先与负载均衡设备进行 TCP 连接,然后负载均衡设备再与后端服务器建立另外一条 TCP 连接通道。因此,七层设备在网络性能损耗会更多一些。

常见的七层负载均衡设备有:Nginx 等。

总结

对比一下,它们之间主要的异同:

工作层级不同。四层负载均衡工作在传输层,七层负载均衡工作在应用层。

建立连接不同。四层负载均衡,客户端直接与后端服务器建立连接,七层负载均衡则作为中间用户与上下游建立连接。

效率不同。四层负载均衡相对效率较高,七层负载均衡效率较低。

灵活性方面。七层负载均衡可以做更多的改造,例如可以对流量进行清洗,避免 DDOS 攻击。而四层负载均衡,由于是客户端与后端服务器直连,负载均衡设备无法介入。


相关文章

RAID5工作原理介绍

RAID5工作原理介绍

RAID 5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。以四个硬盘组成的RAID 5为例,其数据存储方式如图4所示:图中,P0为D0,D1和D2的奇偶校验信息,P1为D3,D4,D5的奇偶校...

Java编译与反编译

Java编译与反编译

基本概念我们可以通过javac命令将Java程序的源代码编译成Java字节码,即我们常说的class文件,这是我们通常意义上理解的编译。但是,字节码并不是机器语言,要想让机器能够执行,还需要把字节码翻...

nginx反向代理以及过滤静态文件的常用配置

nginx反向代理以及过滤静态文件的常用配置

nginx有两个重要的功能,一个是静态资源服务器,另一个就是反向代理,本文主要对nginx作为反向代理功能的主要配置做一个讲解。下面先看一个nginx的完整配置.nginx配置一个nginx的完整配置...

Ubuntu16.04 用VNC链接 XFCE4 桌面

Ubuntu16.04 用VNC链接 XFCE4 桌面

介绍VNC或“虚拟网络计算”是一种连接系统,允许您使用键盘和鼠标与远程服务器上的图形桌面环境进行交互。 它使得对不熟悉命令行的用户更容易管理远程服务器上的文件,软件和设置。在本指南中,我们将在Ubun...

深入浅出操作系统

实验材料准备1,下载实验材料hit-oslab-linux-20110823.tar.gz(包含linux-0.11源码,bochs模拟器等)网址:http://www.ritchiehuang.cn...

GPT-5发布时间确定!全面训练、更强推理能力!

GPT-5发布时间确定!全面训练、更强推理能力!

在K-Startup-OpenAI Match Day活动上,OpenAI CEO萨姆·奥特曼(Sam Altman)首次公开肯定了GPT-5的潜力。他指出,GPT-5不仅会带来显著的进步,更将在高级...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。