首页 > 自动化运维 > > 四层、七层负载均衡最基础的认识
本文主题是让大家了解四层、七层负载的最基本的认识,不对涉及的知识做深层分析。如果本文所表达的观点有不足或是有错误,欢迎大家纠正!

做WEB应用时,我们会接触到负载均衡,那就会涉及到四层七层负载均衡的概念。这里简单的理清一下什么是四层负载均衡,什么是七层负载均衡?这里就要提到另外一个知识点:就是OSI。 OSI就是开放系统互联(Open System Interconnection),网络七层协议,自下而上有:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。下图是来自百度百科的内容(https://baike.baidu.com/item/OSI/5520):

那四层负载的“四层”是指传输层,七层负载的“七层”是指应用层。大家不要理解为有四层负载或有七层负载的意思。
我们应用比较多或是讲的比较多的就是四层和七层负载。除了4和7,还有其他层吗? 答案是有的:负载共有二层、三层、四层、七层。 - 二层负载:在数据链路层做负载。在百度百科中数据链路层DATALINK的描述是这样的:
在物理层上建立、撤销、标识逻辑链接和链路复用 以及差错校验等功能。通过使用接收系统的硬件地址或物理地址来寻址
注意“通过使用接收系统的硬件地址或物理地址来寻址”这句话。所以在数据链路层做负载,是通过MAC地址来寻址的,对外提供一个虚拟IP/虚拟MAC地址,请求数据包发送到该虚拟IP的Load Balancer上,再由该Load Balancer通过算法找到后端计算机的MAC地址,将数据包发送到目标计算机。 - 三层负载:在网络层做负载。在百度百科是这样描述的:
基于网络层地址(IP地址)进行不同网络系统间的路径选择
简单来说,三层跟二层负载相似。二层跟三层负载的不同,可以思考下,IP地址跟MAC地址的特性有什么 不同。比如,一个服务器,可以配置多个浮动IP。对外提供一个虚拟IP,请求数据包发送到该虚拟IP的Load Balancer上,再由该Load Balancer通过算法找到后端计算机的IP地址,将数据包发送到目标计算机。
四层和七层做的负载所基于的协议是不同的,四层是基于TCP/UDP的传输协议,而七层是基于应用协议(如proxy,http/https等)。




1、深入理解二层负载均衡和三层负载均衡的区别 2、一篇读懂分布式架构下的负载均衡技术:分类、原理、算法、常见方案等 3、网络理论知识1(四层、七层网络模型)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537575/viewspace-3145483/ ,如需转载,请注明出处,否则将追究法律责任。