深入理解 OSI 模型与网络转发原理
理解四层/七层负载均衡,先理解 OSI 模型。点击任意层查看详情。
因为它工作在 OSI 模型的第 4 层(传输层),基于 IP 地址 + 端口号 进行转发决策。它只关心"数据包要发到哪个 IP:Port",不解析数据包的具体内容。就像快递员只根据收件地址(IP:Port)送货,不关心包裹里是什么。
因为它工作在 OSI 模型的第 7 层(应用层),需要解析 HTTP/HTTPS 等应用层协议。它可以读取 URL 路径、请求头、Cookie 等信息,就像快递员不仅看地址,还会拆开包裹看看里面的物品清单(URL),然后决定送到哪个部门(后端服务)。
传输层 · 基于连接
基于 TCP/UDP 协议的 IP 地址和端口号进行流量分发。不解析应用层数据,只负责建立连接并转发。
应用层 · 基于内容
解析 HTTP/HTTPS 等应用层协议,基于 URL、Header、Cookie 等信息进行智能路由。
| 对比维度 | 🟢 四层 (L4) | 🟠 七层 (L7) |
|---|---|---|
| OSI 层级 | 第 4 层 - 传输层 | 第 7 层 - 应用层 |
| 转发依据 | IP 地址 + 端口号 | URL、Header、Cookie |
| 数据解析 | 不解析应用层数据 | 解析 HTTP/HTTPS |
| 性能 | 极高(百万级 QPS) | 较高(数万级 QPS) |
| 延迟 | 极低(微秒级) | 较低(毫秒级) |
| 资源消耗 | 低 | 较高 |
| 路由能力 | 简单(端口区分服务) | 灵活(按路径/Header) |
| SSL 终结 | 不支持(透传) | 支持(可解密 HTTPS) |
| 缓存能力 | 无 | 可缓存静态资源 |
| 会话保持 | IP Hash | Cookie、Session |
| 典型场景 | 数据库、游戏、IoT | Web 应用、API 服务 |
| 代表产品 | LVS、AWS NLB | NGINX、Kong、AWS ALB |
高性能反向代理服务器,支持四层/七层负载均衡
L4L7Linux 内核级负载均衡,性能极高
L4AWS 网络负载均衡器
L4AWS 应用负载均衡器
L7API 网关,支持四层/七层
L4L7阿里云/腾讯云四层负载均衡
L4| 产品 | 四层转发 | 七层转发 | SSL 终结 | 健康检查 | 性能 |
|---|---|---|---|---|---|
| NGINX | ✓ | ✓ | ✓ | ✓ | 极高 |
| LVS | ✓ | ✗ | ✗ | ✓ | 极高 |
| AWS NLB | ✓ | ✗ | ✗ | ✓ | 极高 |
| AWS ALB | ✗ | ✓ | ✓ | ✓ | 高 |
| Kong | ✓ | ✓ | ✓ | ✓ | 中高 |
四层:客户端 → LB(只看IP:Port) → 后端 | 速度快,不关心内容
七层:客户端 → LB(解析HTTP) → 根据URL路由到不同后端 | 功能丰富
SLB 和 NGINX 在宣传时强调"四层/七层",是因为这决定了产品的能力边界和适用场景。选错层级,可能导致性能浪费或功能缺失。
四层 SLB(入口):处理海量连接,SSL 终结,基础负载均衡
七层网关(内部):URL 路由、认证授权、限流熔断、API 管理
这样既能保证高性能,又能实现精细化的业务控制。