我做了一些测试。并且对内部网络流如何工作感到困惑。
来自请求者 - > LB - >后端看起来像提到的限制没有SNAT。在后端执行TCP转储... src IP是请求者
数据包是如何回来的?看起来像Backend - >请求直接
但是,请求者会看到数据包来自LB IP,这意味着在到达请求者之前,必须在中间发生一些SNAT才能将Requester IP转换为LB IP?
这真是一个奇怪的设置....谁在做返回包SNAT?
答案 0 :(得分:0)
请参阅https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-internal-overview的评论部分。在那里问了同样的问题,并在下面得到了有意义的答案
如果你假设Load Balancer是一个代理,那就太奇怪了: - )..
Load Balancer是SDN堆栈的一部分。它映射流(而不是终止它们),从而提供非常高的规模和性能。我们将目标从Load Balancer前端(VIP)重写到部署中的目标地址和目标端口。在返回路径上,我们将源地址重写为Load Balancer(VIP)的前端,源端口变为前端的端口。 SDN堆栈正在进出这些翻译。
让我们也对SNAT一词具体说明。入站有目的地地址转换,并且在出口途中有源地址转换。但是,如果SNAT意味着端口伪装源地址转换,则仅用于来自VM的出站始发流。
这现在更有意义了吗?