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

文章目录

[一、四层 vs 七层负载均衡:本质区别](#一、四层 vs 七层负载均衡:本质区别)

[四层 LVS 的核心特点:](#四层 LVS 的核心特点:)

[二、LVS 工作原理概述](#二、LVS 工作原理概述)

[三、LVS 三种工作模式对比](#三、LVS 三种工作模式对比)

模式对比总览

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

[2. LVS-DR 模式(Direct Routing)](#2. LVS-DR 模式(Direct Routing))

[3. LVS-TUN 模式(IP Tunneling)](#3. LVS-TUN 模式(IP Tunneling))

[四、LVS 实战建议](#四、LVS 实战建议)

[五、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 全面对比》


相关推荐
乘云数字DATABUFF3 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--5 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森5 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜6 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB7 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode8 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220709 天前
如何搭建本地yum源(上)
运维
大树8812 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠12 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质12 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务