4层负载均衡的转发方式 系列一

37 阅读1分钟

最开始是学习lvs接触到这个概念,www.linuxvirtualserver.org/Documents.h…
这里写了DR,tunnel,NAT, 网站后面还提到了Full-nat。

最容易想到的是NAT(DNAT),因为RS集群对外有一个VIP,所以客户端访问的VIP,通过NAT转为RIP,我一度以为DNAT就可以实现负载均衡。

NAT转发模式下,回包目的IP是cip,就要求RS的默认路由是LB,也就是LB和RS要在同一网段,不能跨3层网络。tunnel和full-nat 都是为了解决这个问题。

tunnel在lvs语境里,使用的是ip in ip:

IP tunneling (IP encapsulation) is a technique to encapsulate IP datagram within IP datagrams,

实际应该不局限于这种tunnel,常见的隧道技术都可以, 比如vxlan。

full-nat会涉及到源ip和端口的分配。这个资源决定了并发量。

之前做防火墙的数据面,主要业务有查会话、acl和nat,都是查表。配置对象比较少,就不太重视控制面。负载均衡相对来说,配置就会多一些,四层负载均衡包括:vs,rs, 健康检查,snat等;7层更多,以至于nginx需要使用配置文件,vs监听端口,server 虚拟主机,location转发规则,ssl,upstream等。

笔记本身不重要,信息都在书籍,文档,源码中,学习本身也只是学习这些资料上的信息,笔记只是你困惑的地方,不断思考 求证 查阅资料等,从不确定到确定的过程。

参考资料:
[1] 《负载均衡:高并发网关设计原理与实践》 book.douban.com/subject/357…

[2] lvs www.linuxvirtualserver.org/Documents.h…

[3]AI