当负载均衡器未启用 SNAT 时,客户端从服务器丢弃数据包

网络工程 ip tcp 负载均衡 鼻涕虫
2022-02-28 03:22:54

我知道我们在负载均衡器上使用 SNAT 处理传入请求的一个原因是,来自服务器的响应数据包将通过负载均衡器,其中返回数据包的源 IP 被修改为负载均衡器 IP,以便客户端识别它并接受响应。

我的问题是,对于客户端从它无法“识别”的服务器丢弃数据包的机制,是网络层机制还是 TCP 机制?应该是TCP机制吧?由于 TCP 维护一个“连接”,客户端希望看到来自它想要与之交谈的 IP 的响应。

1个回答

无论何时使用 NAT,源地址和目标地址都必须与目标的期望相匹配。

当私有 IP 客户端发出请求时,NAT 路由器(或负载均衡器)将私有源 IP 地址转换为它自己的公共地址之一,转发请求,并在从服务器返回时将目标地址替换为原始地址客户的私有IP。如果由于非对称路由或策略而导致此过程不一致,则它将无法工作。

传输层协议从源/目标 IP/端口号元组形成套接字。如果任何一个参数不适合它就不是同一个套接字。