osi 负载均衡

火烧云 2015-10-01

1.什么是四层和七层负载均衡?

所谓四层就是基于IP+端口的负载均衡,七层就是基于URL等应用层信息的负载均衡。

同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 

换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;

三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;

四层通过虚拟IP+端口接收请求,然后再分配到真实的服务器;

七层通过URL或主机名接收请求,然后再分配到真实的服务器。

2.四层负载均衡和七层负载均衡的区别?

所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,

再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

四层负载均衡在接收第一个来自客户端的SYN请求时,选择一个最佳的服务器

并对报文中目标IP地址和端口进行修改(改为后端服务器IP和端口),直接转发给该服务器。

TCP的连接建立,即三次握手是客户端和服务器直接建立的,

负载均衡设备只是起到一个类似路由器的转发动作。

所谓七层负载均衡,也称为内容交换,也就是主要通过报文中的真正有意义的应用层内容,

再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

负载均衡设备如果要根据真正的应用层内容再选择服务器,只能先代理最终的服务器和客户端

建立连接(三次握手)后,才可能接受到客户端发送的真正应用层内容的报文,

然后再根据该报文中的特定字段,再加上负载均衡设备设置的服务器选择方式,

决定最终选择的内部服务器。负载均衡设备在这种情况下,更类似于一个代理服务器。

负载均衡和前端的客户端以及后端的服务器会分别建立TCP连接。

所以从这个技术原理上来看,七层负载均衡明显的对负载均衡设备的要求更高,

处理七层的能力也必然会低于四层模式的部署方式。

3.常见的软件负载均衡方案

软件四层负载均衡代表作品是LVS,支持四层以上的所有应用。

软件七层负载均衡大多基于HTTP反向代理方式,代表作品有Nginx,HAProxy。

HAproxy也支持四层的负载均衡。

点击复制链接 与好友分享!

http://www.2cto.com/os/201403/285850.html

相关推荐