LVS 负载均衡详解:四层转发原理与三种经典模式全面解析

发布于:2025-06-13 ⋅ 阅读:(25) ⋅ 点赞:(0)

文章目录

一、四层 vs 七层负载均衡:本质区别

       四层 LVS 的核心特点:

二、LVS 工作原理概述

三、LVS 三种工作模式对比

模式对比总览

1. LVS-NAT 模式(Network Address Translation)

2. LVS-DR 模式(Direct Routing)

3. LVS-TUN 模式(IP Tunneling)

四、LVS 实战建议

五、LVS 与其他方案对比

总结


专注性能与稳定的四层负载均衡解决方案


一、四层 vs 七层负载均衡:本质区别

在负载均衡系统中,根据 工作层次不同,常见分为:

类型 工作层 协议层次 举例 特点
四层负载均衡 传输层 TCP/UDP LVS、IPVS、HAProxy(TCP) 性能高、转发快、透明性强
七层负载均衡 应用层 HTTP/HTTPS Nginx、HAProxy(HTTP)、Traefik 可识别 URI、Host、Header,策略灵活

       四层 LVS 的核心特点:

  • 工作在 IP + 端口 层面,不解析内容

  • 快速转发,系统资源占用极低

  • 不支持内容规则路由(如按路径转发)


二、LVS 工作原理概述

LVS 使用的是 Linux 内核中的 IPVS 模块,作为一个虚拟服务器:

  • 前端调度器(Director) 接收客户端请求

  • 根据调度算法(如 RR、LC、SH)转发给后端 Real Server

  • 后端服务器直接响应或通过调度器转发

架构图示:

Client ---> LVS(DIP) ---> Real Server(RIP)
                       <--- 响应返回方式视模式而定

三、LVS 三种工作模式对比

模式对比总览

模式 请求路径 响应路径 要求 适用场景
NAT 模式 客户端 → LVS → RS RS → LVS → 客户端 LVS 做双向转发,压力大 局域网测试
DR 模式 客户端 → LVS → RS RS 直接回客户端 RS 与 LVS 必须同一网段 生产常用,高性能
TUN 模式 客户端 → LVS → RS(隧道) RS 回客户端 支持公网,RS 配隧道协议 异地服务器场景

1. LVS-NAT 模式(Network Address Translation)

请求响应都经过 LVS,LVS 成为通信瓶颈。

  • DIP:调度器地址

  • RIP:真实服务器地址

  • VIP:虚拟服务地址

流转路径:

Client --> VIP:80 --> LVS(DIP) --> RS(RIP)
Client <-- VIP:80 <-- LVS(DIP) <-- RS(RIP)

优点:

    后端服务器无特殊配置
    架构简单,测试友好

缺点:

      LVS 成为双向瓶颈
     不适合高并发生产环境


2. LVS-DR 模式(Direct Routing)

LVS 只负责请求转发,响应由 RealServer 直接返回客户端。

关键点:

  • RS 与 LVS 处于 同一二层网络

  • 所有 RS 配置 VIP 的 loopback 接口(不响应 ARP)

ip addr add 192.168.1.100 dev lo
arp_ignore = 1
arp_announce = 2

流转路径:

Client --> VIP:80 --> LVS(DIP) --> RS(RIP)
Client <-- VIP:80 <-- RS(RIP)

优点:

      高性能(仅转发请求)
      无数据回流,LVS 压力小

缺点:

 只能在同一局域网部署
RS 需特殊配置,不响应 ARP 抢答


3. LVS-TUN 模式(IP Tunneling)

LVS 通过 IP 隧道将请求封装传递给 RS,适合跨地域部署。

  • LVS 和 RS 可以位于不同网络

  • RS 需支持 IP-in-IP 解封装

配置:

ip tunnel add tunl0 mode ipip remote <DIP> local <RIP>

流转路径:

Client --> VIP:80 --> LVS --> IP隧道 --> RS(RIP)
Client <-- VIP:80 <-- RS(RIP)

优点:

      支持远程异地 RealServer
      响应回客户端无需 LVS

缺点:

      配置复杂(需隧道)
      安全性依赖底层网络环境


四、LVS 实战建议

场景 推荐模式 原因
测试环境 NAT 架构简单
同机房大并发 DR 性能高、部署灵活
异地容灾、公网混合云 TUN 跨网络部署灵活

负载调度算法:

  • RR(轮询):适用于性能一致服务器

  • LC(最小连接数):适合长连接场景

  • SH(源地址哈希):保持 session 粘性


五、LVS 与其他方案对比

项目 LVS Nginx HAProxy
工作层 四层 七层 4/7 层
性能 极高 中高
内容识别
配置复杂度
适用场景 TCP 转发,超大并发 HTTP 路由 综合场景

总结

  • LVS 是一个 轻量高性能的内核级四层负载均衡器,适用于高并发 TCP/UDP 应用场景。

  • 三种模式中,DR 是生产环境最常见选择TUN 适合跨网络环境NAT 更适合测试调试

  • 若业务需要按路径/内容分发,请结合 Nginx/HAProxy 构建七层方案。


如果你想继续深入学习:

  推荐阅读:

  • 《LVS-DR 模式的 ARP 粘滞配置详解》

  • 《从零搭建基于 LVS+Keepalived 的高可用集群》

  • 《Nginx vs LVS vs HAProxy 全面对比》