[分享]关于四层转发
四层转发(Layer 4 Forwarding)是网络传输中基于传输层(OSI模型的第4层,如TCP/UDP)的数据包转发技术,主要依据IP地址和端口号进行流量分发。下面讲述的是四层转发的核心原理、工作机制和典型应用场景:
四层转发的原理
工作层级
作用于传输层(TCP/UDP),只解析数据包的源/目标IP地址与端口号,不关心应用层内容(如URL、HTTP头部等)。
###2.关键组件
- 会话保持:通过哈希算法(如源IP哈希)将同一用户的请求定向到同一后端服务器。
- 负载均衡器(如F5、HAProxy、LVS):维护转发规则表,匹配IP和端口。
3.转发方式
- NAT模式:修改数据包的IP/端口后转发给后端,回包经过负载均衡器返回到客户端。
- TUN模式:通过IP隧道封装转发,后端服务器解封装后响应。
- DR模式(直接路由):负载均衡器仅修改目标MAC地址,后端服务器直接响应客户端。
工作流程示例
- 1.客户端发送请求到负载均衡器(IP:Port,如 11.4.51.4:80)。
- 2.负载均衡器根据规则(如轮询)选择后端服务器(如 191.9.8.10:360)。
- 3.转发请求并可能修改包头(TUN/NAT/DR)。
- 4.后端服务器处理请求并返回响应(TUN/DR模式直接返回客户端)。
核心特点
- 高性能:只处理传输层头部,转发效率高(一般来说硬件加速可以达到百万级TPS)。
- 低延迟:不解析应用层数据,减少处理开销。
- 弱感知性:无法根据HTTP内容(如Cookie、URL)做精细路由。
应用场景
高流量负载均衡
- Web服务(TCP 80/443端口)、游戏服务器(UDP)。如:电商网站用LVS分发海量TCP连接。
会话保持需求
- 基于源IP哈希保证用户始终访问同一后端(如FTP)。
大规模服务集群
- Kubernetes的Service通过四层(NodePort/LoadBalancer)暴露服务。
DDoS防护
- 清洗设备在四层过滤恶意流量(如SYN Flood攻击)。
##缓存集群/数据库 - MongoDB/Redis集群通过四层代理分发请求。
与七层转发的对比
| 特性 | 四层转发 | 七层转发(如HTTP) |
|---|---|---|
| 性能 | 更高(仅IP+端口) | 较低(需要解析应用层协议) |
| 灵活性 | 低(无法基于内容路由) | 高(可识别URL、Cookie等) |
| 典型协议 | TCP/UDP | HTTP/HTTPS、SMTP |
| 使用场景 | 高并发基础流量分发 | 精细化路由 |
常见工具
- 开源方案:Nginx(Stream模块)、LVS(Linux Virtual Server)、HAProxy(TCP模式)。
- 商业方案:Citrix ADC、F5 BIG-IP。
总结
四层转发是一个复杂度、高性能的流量分发方案,非常适用于需要用于快速处理大规模连接但是又不需要内容感知的场景,经常用作为基础设施的底层负载均衡手段。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 桉南的小窝!
评论

![[分享]关于四层转发](https://qn.cdn.yll14.cn/layer4forward/layer4forward_0.webp)

![[教程]从源码安装Umami](https://qn.cdn.yll14.cn/umami/umami_0.webp)
![[教程]宝塔面板设置哈基面板主题](https://qn.cdn.yll14.cn/哈基BT/哈基面板_0.webp)