LVS 代理会创建TCP连接吗?

Nginx 在代理时 ss 可以查看出与用户端和服务端分别创建了一个TCP连接。
请求 LVS 在代理到服务端的时候会创建 TPC 连接吗?

阅读 5.4k
1 个回答

研究了一天,最后得出的结论是,客户端会与 LVS 集群(包括LVS、real server)进行 TCP 连接,但是 LVS 服务器不会与 real server 再建立一次 TCP 连接,只会转发 TCP 报文

NAT 模式: 原理是修改 IP 报文的地址和 TCP 报文的端口,然后转发数据包,没有 TCP 连接行为,但是客户相信它们连接一个IP地址,而不同 IP 地址的服务器组也认为它们是与客户直接相连的
FULLNAT 模式: 原理也是修改 IP 报文的地址和 TCP 报文的端口,然后转发数据包,没有 TCP 连接行为,但是转发的时候更既改了源地址也改了目标地址,所以从客户端看是和LVS建立的连接,从后端看也是和LVS建立了连接
DR 模式: 原理是修改请求的 mac 地址(二层),然后转发数据包,没有 TCP 连接行为
IP 隧道模式: LVS 和 real server 走的是 IP 隧道技术, 没有与 real server 建立 TCP 连接

如果理解有误,欢迎讨论

LVS集群中的IP负载均衡技术
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进