如果负载均衡器 (LB) 使用端口地址转换 (PAT),真实服务器、直接返回服务器 (DRS) 如何回复客户端?

如果负载均衡器 (LB) 使用端口地址转换 (PAT),真实服务器、直接返回服务器 (DRS) 如何回复客户端?

直接返回服务器概述:

DRS 允许真实服务器直接回复客户端,而无需通过负载均衡器 (LB)。LB ip (VIP) 配置为真实服务器的环回 (localhost) ip。LB 和真实服务器都安装在第 2 层 OSI 模型上。当客户端向 VIP 发送请求时,LB 将流量转发到其中一个真实服务器。LB 仅更改目标 MAC 并转发到真实服务器。真实服务器直接向客户端发送响应,因为环回 IP 是公共的并且与 VIP 相同。

问题:

让一个在端口 4001 上运行 Web 服务器的真实服务器,客户端向 VIP 和端口 80 发出请求。LB 将流量转发到真实服务器端口 (4001)。LB 不会更改数据包中的任何内容,除了 MAC 地址。

Q1:服务器回复客户端时源端口号(80,4001)是多少?

Q2:假设 TCP 连接仍处于活动状态,后续客户端请求是否会绕过 LB?请解释原因和原因。

Q3:如果使用 DRS LB 并且 Web 服务器在端口 4001 上运行,TCP 握手会是什么样的?

答案1

使用直接返回时,负载均衡器无需进行转换。您需要注意将请求路由到负载均衡器,然后负载均衡器将根据其 MAC 地址(从其接口 IP 地址派生)将这些请求平衡地路由到集群服务器。

从网络角度来看,LB 只是服务器的网关,它将当前选定的服务器(按负载)视为其环回/VIP 地址的网关。

让一个在端口 4001 上运行 Web 服务器的真实服务器,客户端向 VIP 和端口 80 发出请求。LB 将流量转发到真实服务器端口 (4001)。LB 不会更改数据包中的任何内容,除了 MAC 地址。

那是对的。

Q1:服务器回复客户端时源端口号(80,4001)是多少?

服务器将从其端口 80(在 VIP/环回接口上)回复。其他任何方式都无法与客户端配合使用。

Q2:假设 TCP 连接仍处于活动状态,后续客户端请求是否会绕过 LB?请解释原因和原因。

来自客户端的后续数据包将像初始数据包一样通过负载均衡器进行路由。负载均衡器位于客户端和服务器之间,因此该方向始终经过 LB。

Q3:如果使用 DRS LB 并且 Web 服务器在端口 4001 上运行,TCP 握手会是什么样的?

TCP 握手发生在客户端(发起方)和服务器(侦听方)之间,完全正常。只是路由不对称:客户端→服务器通过 LB,服务器→客户端绕过 LB。

即使没有任何转换,负载平衡器也必须跟踪每个会话,以便选定的服务器不会改变。

相关内容