LVS里Director本身不响应请求,只是接受转发请求到后方,Realservers才是后台真正响应请求。
LVS 工作原理基本类似DNAT,又不完全相像,它是一种四层交换,默认情况下来通过用户请求的的地址和端口,来判断用户的请求,从而转发到后台真正提供服务的主机,而判断这种请求的是通过套接字来实现,所以四层就可以实现。而且这个转发的过程对用户而言是透明的(简单的讲,就是用户访问的是DR的IP,而DR转发给RSS,而用户不知道这个过程)
LVS的工作模式:
1.DNAT
2.直接路由
3.隧道
提供的优点:
1.高并发
2.高冗余
3.适用性,扩展服务器,缩减服务器,方便服务器扩展和收缩
LVS 的IP地址类型
1.VIP:虚拟IP地址,并不提供服务,而是将用户的请求转发到后方
2 RIP:真正IP地址,客户端真正提供服务的IP地址
3.DIP:调度IP地址,通常是和RIP相连的LVS的IP地址
4.CIP:客户端IP地址,用户请求时,用户的IP
流程:如下图
===============================分 割 线==============================
LVS集群的类型:
1.LVS-NAT DNAT
2.LVS-DR 直接路由
3.LVS-TUN 隧道
下面我们详细说明这三种类型:
LVS-NAT模型原理
用户的请求和响应都需要经过Director
源地址,目标地址都需要经过转换,而目标地址转换是透明的
这种架构的扩展有限调度器,Director将处理所有的请求,压力比较大,扩展到10个结点就不行了
要求:
1.集群节点必须在同一个物理网络中,同一个子网或者VLAN
2.DIP和RIP只能在同一个网络(子网)中,不能跨越网段
3.RIP地址通常是私有地址
4.所有的RIP,必须以DIP为网关(地址转换)
5.NAT的地址可以做端口转换(比如80--à8080)
6.任何操作系统都可以做RIP
7.Director有可能成为整个系统的瓶颈
数据传输:
通过二层(数据链路层)转发(ARP)将DR的MAC地址转换成RIP的MAC地址(不是转变,而是转发),这样就实现了数据的传输,在RSS响应后,再将RSS的MAC地址转换成RIP的MAC地址。
===============================分 割 线==============================
LVS-DR模型原理
用户的请求必须经过Director,而realserver在响应的使用直接返回请求(图有问题,有可能设的网关不同,还存在一台路由器)
需要配置iptables规则,拒绝响应MAC地址转换,或者通过修改LINUX内核响应
优点:由于它比NAT少了一个地址转换,响应速度更快
特点
1.必须处于同一个物理网络中(连在同一个交换机上)
2.RIP可以使用公网地址(建议使用)
3.Director只转发请求,而realserver直接响应请求而不转发
4.集群节点的网关,不能指向DIP
5.不能做端口转换(不支持)
6.绝大多数的操作系统都可以实现realserver,而realserver需要同一个网卡配置多个Ip地址
7.DR模式的Director比NAT模式能够带动更多的节点
数据传输:
解决数据进入:
为了避免RS直接响应,给服务器的lo:0设置VIP地址,给本地网卡设置成CIP,这样RS就不会直接响应了,隐藏了RS
解决数据出去:
而默认情况下,Linux设置数据包从哪块网卡出去,源地址设为该网卡地址,通过添加一条特殊路由信息,如果目标地址是lo的VIP地址,那么出去的时候源地址设置为lo的地址。
路由信息的原理:
添加一条主机路由,将VIP的地址自己设置成一个网段,既子网掩码为255.255.255.255,这样VIP出去的时候没有比VIP更优的了,就成为最佳IP
在互联网上性能最佳的就是DR应用,但是有一个缺点,必须要求主机间距离比较近(比如一个机房),如果发生天灾人祸,集群就完了,所以我们为了实现异地分布,要采用隧道比如VPN
===============================分 割 线==============================
LVS-TUN模型原理:
虚拟隧道实现:
1.专线(加密)
2.二层:在MAC之外再加一层MAC
3.三层:源IP目标IP之外再加一层IP
隧道目的: 隐藏意图,通过转换来(ip套ip)隐藏目的
特征:
1.集群节点和Director不必在同一个网络
2.RIP必须使用公网地址
3.Director只需要处理进来的请求,不需要处理出去的请求
4.响应的请求一定不能经过Direcor.
5.Directory不支持端口映射
6.只能使用那些支持IP 隧道协议的操作系统做realserver
优点:LVS-TUN可以实现基于网络的集群,这样就脱离了LVS-DR的realserver之间的距离限制。
分享到:
相关推荐
### LVS原理与Linux+LVS+Keepalived负载均衡详解 #### LVS概念与原理 LVS(Linux Virtual Server)是一种开源的负载均衡技术,主要用于处理大规模的网络请求,通过构建一个虚拟服务器集群,将任务分发到多个后端的...
【企业级调度器LVS原理与实战】 LVS(Linux Virtual Server)是一种高效的企业级负载均衡解决方案,它基于Linux操作系统,能够实现网络流量的智能调度,以提高系统的可扩展性和高可用性。LVS主要利用Linux内核的...
【LVS原理与应用】 LVS,全称Linux Virtual Server,是一种开源的负载均衡解决方案,主要应用于构建高性能、高可用的服务器集群。它基于Linux内核的netfilter框架,通过修改数据包的路由路径,实现对网络流量的调度...
【负载均衡层设计方案(4)——LVS原理1】这篇文章主要介绍了LVS(Linux Virtual Server)的基本概念和三种工作方式,以及相关的网络协议基础知识。LVS是一个开源的负载均衡技术,由章文嵩博士领导的团队开发,它能...
LVS和Nginx针对负责均衡功能的详细比较
LVS在基本的生产环境中,都会同时运行在二台硬件相近的服务器上:LVS Router(主LVS),一个作为备份LVS(备份LVS)。 主LVS服务器在网站的前端起二个作用:(1.均衡负载压力到真实服务器(如apache)上.(2.检查后面真实...
1. **LVS原理**:LVS的工作模式包括DR(Direct Routing)、TUN(Tunneling)和NAT(Network Address Translation)。DR模式下,LVS调度器仅修改目标IP地址,而TUN模式则封装整个IP包,NAT模式会改变源IP地址。理解...
LVS原理与实现 - 实现篇 ARP协议与邻居子系统剖析 IP协议源码分析 UDP协议源码分析 TCP源码分析 - 三次握手之 connect 过程 Linux网桥工作原理与实现 其他 定时器实现 多路复用I/O GDB原理之ptrace 容器相关 docker...
### LVS-DR原理深入解析 #### 一、LVS-DR的工作机制 LVS-DR,即Linux Virtual Server-Direct Routing(直接路由),是一种高效、高性能的负载均衡技术,广泛应用于大型网络环境中的服务器集群管理。其核心优势在于...
【LVS基本原理】 LVS,全称Linux Virtual Server,是一种在Linux操作系统中实现的负载均衡技术。它的核心思想是通过虚拟IP(VIP)和虚拟端口,将来自用户的网络请求分散到一组真实的服务器上,使得外部用户无感知地...
第六部分深入讲解网络与负载均衡原理,包括TCP/IP、HTTP协议、负载均衡算法和LVS原理等。这些内容对于从事Web开发或云服务架构设计的开发者来说尤为关键,因为它们涉及到系统部署和性能优化的基础知识。 第七部分...
#### 二、LVS 的工作原理 LVS 的工作流程主要涉及以下几个步骤: 1. **请求接收**:用户通过网络向负载均衡器(Director Server, DS)发送请求。 2. **内核空间处理**:请求被路由到内核空间,在此过程中,...
LVS(Layout Versus Schematic)是集成电路设计中的一个重要环节,主要用于验证电路布局(Layout)与原理图(Schematic)的一致性。在反向整理电路时,LVS能够帮助设计师确保整理后的电路布局与原始电路或网表保持...
LVS-DR 模式原理、流程特点及搭建 LVS-DR 模式是 Load Balancer 的一种实现方式,它可以将incoming请求分配到多个 Real Server 上,以提高系统的可用性和性能。LVS-DR 模式的核心思想是使用 Director 服务器来分配...
**LVS(Linux Virtual Server)**,全称Linux Virtual Server,是基于Linux操作系统的一种网络负载...通过深入理解LVS的工作原理和配置技巧,可以有效地提升系统性能,降低单点故障的风险,保障服务的连续性和可靠性。
**LVS(Linux Virtual Server)相关原理和技术** LVS,全称Linux Virtual Server,是一种开源的负载均衡解决方案,用于构建高性能、高可用的网络服务集群。LVS支持三种主要的工作方式:NAT(Network Address ...