azure 内部负载均衡器 return 数据包如何路由返回

azure internal load balancer how does return packet route back

我对此做了一些测试。并对内部网络流程的工作方式感到困惑。

从Requester -> LB -> Backend 看起来没有提到的限制那样的SNAT。在后端做 TCP Dump...src IP 是 Requester

数据包是怎么回来的?貌似Backend -> Requester直接

但是,请求者会看到数据包来自 LB IP,这意味着在到达请求者之前,中间必须有一些 SNAT 将请求者 IP 转换为 LB IP?

这真是一个奇怪的设置....谁在做返回数据包 SNAT?

参考https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-internal-overview的评论部分。在那里问了同样的问题并在下面得到了有意义的答案

如果您假设 Load Balancer 是一个代理,那就很奇怪了:-)..

负载均衡器是 SDN 堆栈的一部分。它映射流(而不是终止它们),进而提供非常高的规模和性能。我们将目标从负载均衡器前端 (VIP) 重写为部署中的目标地址和目标端口。在 return 路径上,我们将源地址重写为负载均衡器(VIP)的前端,源端口成为前端的端口。 SDN 堆栈在进出过程中进行这些转换。

我们也来具体谈谈术语 SNAT。入站有目标地址转换,出站有源地址转换。但是,如果 SNAT 意味着端口伪装源地址转换,则这仅适用于来自 VM 的出站流量。

现在这样更有意义了吗?