最开始是学习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