lvs的工作模式

LVS的工作模式

nat模式:

原理:把客户端发来的数据包的ip头的目的地址,在负载均衡器上换成其中一台的rs的ip地址,并发至次rs进行处理,处理完之后,将数据包交给负载均衡器,负载均衡器将源ip改为自己的vip,把目的ip改为客户端的ip。期间不论进来的流量和出去的流量都经过负载均衡器。

优点:集群中的物理服务器可以使用任何支持tcp/ip操作系统,仅负载均衡器需要一个合法ip

缺点:扩展性有限,当服务器节点增长过多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包都要经过负载均衡器。当服务器节点过多时,大量的数据包都交汇在负载均衡器那,速度就会变得很慢

DR模式

负载均衡器和rs使用同一个ip对外服务,但只有dr对ARP请求进行响应,所有的rs对本身这个ip的arp请求保持静默,也就是说网关会把对这个服务ip的请求全部定向给dr,dr根据调度算法找出对应的rs,把目的MAC地址改为rs的MAC地址(因为ip一致),并将请求转发到这台rs,rs收到数据包,处理完成后由于ip一致,直接将数据返给客户端,等于直接从客户端收到数据包无异,处理完直接返回给客户端。由于负载均衡器要对二层包头进行改换,所以负载均衡器和rs之间必须在同一个广播域,也可以理解为在同一台交换机上。

优点:和tun模式一样,负载均衡器只负责转发请求,应答包通过单独的路由方法返回给客户端,与tun模式相比,dr模式不需要隧道结构,因此可以使用大多数操作系统作为物理服务器

缺点:(不能说缺点,只能说是不足)要求负载均衡器的网卡必须与物理网卡在一个物理段上。

tun模式(隧道模式)

原理:首先要知道,互联网上的请求包一般都很小,而应答包却很大。那么隧道模式就是把客户端发来的数据包,封装一个新的ip头标记(仅目的ip)发送给rs,rs收到后先把数据包的头解开,还原数据包,处理后直接返回给客户端,不需要再经过负载均衡器,注意,由于rs需要对数据包进行还原,所以必须支持Iptunnel协议,所以在rs的内核中,必须编译支持Iptunnel这个选项

优点:负载均衡器只负责分发请求包,而rs直接返回给客户,减少了负载均衡器的大量数据流量,负载均衡器就能处理很大量的请求,这种方式一台负载均衡器能够为很多rs进行分发,而且跑在公网上就能对不同地域进行分发。

缺点:隧道模式的rs节点都需要合法ip,这种方式需要所有服务器支持IP tunneling协议,服务器可能只局限在部分linux系统上。

相关推荐
JZC_xiaozhong5 小时前
数据不互通、审批慢?企业多系统智能协同与流程自动化解决方案
运维·自动化·流程管理·流程自动化·数据集成与应用集成·流程监控·流程可视化设计
爱学习的小囧5 小时前
ESXi 8.0 原生支持 NVMe 固态硬盘吗?VMD 配置详解教程
linux·运维·服务器·esxi·esxi8.0
坚持就完事了6 小时前
Linux中的变量
linux·运维·服务器
hERS EOUS6 小时前
nginx 代理 redis
运维·redis·nginx
handler016 小时前
从源码到二进制:深度拆解 Linux 下 C 程序的编译与链接全流程
linux·c语言·开发语言·c++·笔记·学习
Cat_Rocky6 小时前
利用Packet Tracer网络实验
linux·运维·服务器
嵌入式×边缘AI:打怪升级日志6 小时前
Linux 驱动实战:SR501 人体红外传感器驱动开发与调试全记录
linux·运维·驱动开发
正点原子6 小时前
【正点原子Linux连载】第三章 U-Boot使用 摘自【正点原子】ATK-DLRK3568嵌入式Linux驱动开发指南
linux·运维·驱动开发
Qbw20047 小时前
【Linux】进程地址空间
linux·c++
忍冬行者7 小时前
MongoDB 三节点副本集离线部署运维手册
运维·数据库·mongodb