阿里云的 SLB 负载均衡后端能获取客户的 IP 是怎么做到的?

2015-04-24 15:49:06 +08:00
 xdeng
阿里云的SLB负载均衡后端能获取客户的IP是怎么做到的? 配合路由器NAT转换?
6644 次点击
所在节点    问与答
10 条回复
zealic
2015-04-24 15:54:11 +08:00
LVS
seerhut
2015-04-24 15:55:55 +08:00
X-Forwarded-For
xdeng
2015-04-24 16:00:09 +08:00
@seerhut 忘了说 我问的是是tcp负载均衡
xdeng
2015-04-24 16:01:12 +08:00
刚看了下

可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份)。我们先分析实现虚拟网络服务的主要技术,指出IP负载均衡技术是在负载调度器的实现技术中效率最高的。在已有的IP负载均衡技术中,主要有通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为VS/NAT技术(Virtual Server via Network Address Translation)。在分析VS/NAT的缺点和网络服务的非对称性的基础上,我们提出了通过IP隧道实现虚拟服务器的方法VS/TUN (Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性。VS/NAT、VS/TUN和VS/DR技术是LVS集群中实现的三种IP负载均衡技术。

辣么 阿里云用的是三种的哪种技术?
zealic
2015-04-24 16:06:50 +08:00
LVS+DR
seerhut
2015-04-24 16:16:51 +08:00
4层能让backend看见客户IP只有三角传输了吧
Showfom
2015-04-24 16:19:46 +08:00
内网传输吧
xdeng
2015-04-24 16:35:03 +08:00
@seerhut 三角传输是?
seerhut
2015-04-24 16:51:23 +08:00
负载均衡不做NAT,不修改三层,只是在转包给backend的时候修改mac地址保证backend能收到,backend配一个和负载IP相同的loopback接口保证backend能处理这个包,回包的时候可能是将负载设为网关也可能是用路由器的源地址路由策略保证包可以会给客户。
seerhut
2015-04-24 16:54:58 +08:00
backend是云主机的话loopback可以由宿主机负责,宿主和客户机之间做一个nat,这样你不用做任何配置就能用三角传输了。这部分的实现我没有接触过,猜测实现方式而已。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/186034

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX