首先提一个缩写OSI,这个学计算机网络的再熟悉不过了,不过时间已久可能就不是那么有印象了,可能这个缩写都已经不认识了。
OSI:Open System Interconnection,开放系统互联。它是国际化标准组织制定的计算机互相联络的协议模型,也就是说要想通过计算机互相连接,那么请按照这个标准来进行。
那这个标准是什么?也就是我们常说的七层协议,即
物理层、数据链路层、网络层(这三层主要负责建立网络连接)
传输层(负责上三层、下三层的连接,俗称中介)
会话层、表示层、应用层(这三层主要负责终端之间的通信,展示信息给你看)
负载均衡的分层
二层负载均衡,通过MAC地址互联,请求到虚拟MAC再分配到真实MAC,就MAC到MAC两层。
三层负载均衡,通过IP互联,请求到虚拟IP,然后通过中间层转发到真实IP。
四层负载均衡,通过IP+端口,请求到IP+端口,发布到三层然后加四层的端口号,决定哪些流量到哪个地方,然后对流量做网络地址转换,发布到后台服务器,并记录下这个TCP、UDP的流量是发向哪个服务器的,后续也继续转发的改服务器。
七层负载均衡,通过URL,即通过URL请求连接,它在四层负载的基础上再对应用层进行分析,比如这个URL的HTTP协议URI和cookie等信息。
四层和七层的区别
四层交换:L4 Switch,即在传输层,也就是通过TCP或者UDP进行传输流量的一层。在这一层负载均衡设备在接收到请求之后根据报文中的IP地址和端口,分发到后端服务器。进行一次TCP连接就可以进行建立通信。‘
七层交换:L7 Switch,即在应用层,我们看OSI的分层知道是在最顶层,也就是说负载均衡设备需要跟客户端建立连接也要跟服务器建立连接,这时候这个负载均衡设备就相当于一个代理服务。
应用场景
四层:主要用于基于CS场景的TCP连接等。
七层:主要用于基于HTTP请求的服务,比如各种BS的网站等。