我知道我们在负载均衡器上使用 SNAT 处理传入请求的一个原因是,来自服务器的响应数据包将通过负载均衡器,其中返回数据包的源 IP 被修改为负载均衡器 IP,以便客户端识别它并接受响应。
我的问题是,对于客户端从它无法“识别”的服务器丢弃数据包的机制,是网络层机制还是 TCP 机制?应该是TCP机制吧?由于 TCP 维护一个“连接”,客户端希望看到来自它想要与之交谈的 IP 的响应。
我知道我们在负载均衡器上使用 SNAT 处理传入请求的一个原因是,来自服务器的响应数据包将通过负载均衡器,其中返回数据包的源 IP 被修改为负载均衡器 IP,以便客户端识别它并接受响应。
我的问题是,对于客户端从它无法“识别”的服务器丢弃数据包的机制,是网络层机制还是 TCP 机制?应该是TCP机制吧?由于 TCP 维护一个“连接”,客户端希望看到来自它想要与之交谈的 IP 的响应。
无论何时使用 NAT,源地址和目标地址都必须与目标的期望相匹配。
当私有 IP 客户端发出请求时,NAT 路由器(或负载均衡器)将私有源 IP 地址转换为它自己的公共地址之一,转发请求,并在从服务器返回时将目标地址替换为原始地址客户的私有IP。如果由于非对称路由或策略而导致此过程不一致,则它将无法工作。
传输层协议从源/目标 IP/端口号元组形成套接字。如果任何一个参数不适合它就不是同一个套接字。