知识卡片

四层负载均衡三种转发模式的三角传输与代价对比

结构图卡

内容

四层负载均衡(实际多工作在二三层,只是习惯统称”四层”)都是”转发”而非 代理,请求和响应共用同一条TCP连接的性质不变。数据链路层负载均衡(DSR/ 三角传输模式)只改写以太网帧的MAC目标地址,IP层数据完全不动,因此响应 可以由真实服务器直接返回用户、不必经过均衡器绕一圈,效率最高;代价是 真实服务器必须和均衡器配置同一个虚拟IP,且只能在同一子网内工作(二层 可达)。网络层负载均衡的IP隧道模式把原始IP包整体套进一个新包(新Header 指向真实服务器),真实服务器需要支持拆包,好处是能跨VLAN、依然保留三角 传输的高效率,代价是封装/拆包带来额外开销,且同样要求虚拟IP一致。NAT 模式则直接改写目标IP,无须封装,配置最简单(真实服务器只需把网关指向 均衡器),但响应必须原路经过均衡器把源IP改回自己的地址才能被客户端 识别,均衡器因此成为所有响应流量的必经瓶颈,高流量下性能会有数量级的 下降。三种模式呈现出清晰的”效率-约束”梯度:约束越少(NAT不挑网络拓扑、 配置最简单),代价越大(均衡器带宽瓶颈)。

结构图

flowchart LR
    A["数据链路层 DSR<br/>改MAC地址, 三角传输"] -->|效率最高, 但要求同子网| A1[适合数据中心第一级均衡]
    B["网络层 IP隧道<br/>套新包, 三角传输"] -->|可跨VLAN, 但需拆包开销| B1[需真实服务器支持隧道协议]
    C["网络层 NAT<br/>改目标IP, 响应需原路返回"] -->|配置最简单, 但均衡器成瓶颈| C1[高流量下性能数量级下降]

参考来源

- 位置:《凤凰架构:构建可靠的大型分布式系统》第4章"透明多级分流系统" 4.5.1-4.5.2节"数据链路层负载均衡""网络层负载均衡"(源文件: _epub-src对应OEBPS/Text/chapter49.xhtml、chapter50.xhtml) - 结论依据:原文分别说明DSR因不修改IP层数据而效率最高但受限同子网、 IP隧道因跨VLAN能力而适用更广但有封装开销、NAT模式因响应需原路返回 导致均衡器带宽成为瓶颈,直接支撑本卡片的三方对比结构。 - 原始内容:数据链路层负载均衡的效率是相当高的……优势(效率高)和劣势 (不能跨子网)共同决定了数据链路层负载均衡最适合作为数据中心的第一级 均衡设备……在流量压力比较大的时候,NAT模式的负载均衡会带来较大的 性能损失。