LVS四层负载均衡原理解析

clghxq
发布于 2020-9-25 10:45
浏览
0收藏

一、网络层协议


网络协议是由七层ISO协议定义,自底向上分为物理层、数据链路层、网络层、传输层、会话层、表现层和应用层。

 

四层负载均衡主要工作在网络七层ISO协议的第四层,即传输层。传输层的代表协议为TCP。相对于网络层,传输层对于数据包的区分,除了包含IP地址外,还包含端口号,并且TCP实现的是通过在不同机器的两个进程之间建立连接来进行通信。

 

二、集群节点选择与连接建立

 

所以四层负载均衡主要是基于IP和端口号来进行请求转发。由于传输层可以实现两个不同机器进程的连接建立,所以在四层负载均衡的实现当中,负载均衡器接收到一个请求报文时,具体为接收到TCP的第一次握手报文时,可以根据一定的负载均衡算法选择一个集群节点。

 

集群节点的选择过程为:将这个握手报文的目标IP地址和端口号修改为,通过负载均衡算法从集群中选中的某个节点的IP地址和运行于其上的服务进程所对应的端口号,从而可以将该请求转发给这个节点。由于是在TCP层完成负载均衡,所以客户端是直接与集群的这个节点建立TCP连接的,而不是与负载均衡器建立TCP连接。负载均衡器只是起到了一个中转的作用,后续该客户端的请求是直接发送给这个节点的。具体工作过程如下图所示。
LVS四层负载均衡原理解析-鸿蒙开发者社区
三、请求处理与数据传输


在四层负载均衡实现当中,由于是在客户端和服务集群节点之间直接建立连接进行数据传输的,负载均衡器只是在连接建立阶段进行一个中转,不需要处理该连接之后的请求和响应的相关数据,所以该负载均衡器的负载较低,性能较高,可以处理更多请求的转发。

 

其中四层负载均衡的典型实现是LVS,具体可以查阅相关资料了解LVS的详细设计与使用。

 

 

作者:服务端开发

来源:CSDN

分类
收藏
回复
举报
回复
    相关推荐