四层负载和七层负载
四层:
所谓四层负载均衡,主要通过报文中的目标地址和端口,再加上负载均衡设置的服务器选择的方式,决定选择的内部服务器。
以常见的TCP为例,负载均衡设备在接收到第一个来自客户端的SYN请求时,即通过上述方式选择一个最佳的服务器,并对报文中的目标IP地址进行修改(改为后端服务器IP),直接转发给该服务器。TCP的连接建立,即三次握手是客户端和服务器直接建立的,负载均衡只是起到一个类似路由器的转发动作。在某些部署情况下,为保证服务器回包可以正确返回给负载均衡设备,在转发报文的同时可能还会对报文原来的源地址进行修改。
四层负载均衡在中间传输层执行,他处理消息的传递,但不考虑消息的内容。例如TCP是网络上HTTP流量的第四层协议。在这一过程中,四层负载均衡会将网络数据包转发到上游服务器,但不会检查数据包的内容,只能通过检查TCP流中的前几个包来做有限的路由决策。
七层:
所谓七层负载均衡,也称为“内容交换”,也就是主要通过报文中的真正有意义的应用层内存,再加上负载均衡设备的服务器选择方式,决定最终选择的内部服务器。
已常见的TCP为例,负载均衡设备如果要根据真正的应用层内存再选择服务器,只能先代理最终的服务器和客户端建立连接(三次握手)后,才可能接收到客户端发送的真正应用内容的报文,然后再根据该报文中的特定字段,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。聚在均衡设备在这种情况下,更类似于一个代理服务器。负载均衡和前端的客户端及后端的服务器会分别简历TCP连接。所以从这个技术原理上看