TCP如何处理三次握手过程中的丢包?

How TCP handle packet loss during three-way handshake?

建立连接时,TCP 使用三次握手。

step 1: client send SYN to server
step 2: server send SYN/ACK to client
step 3: client send ACK to server

但是,在步骤1、2或3中,数据包可能会丢失。
我有3个问题,请帮助我。

  1. TCP 如何处理三次握手过程中的数据包丢失?
  2. 有什么方法可以模拟丢包问题吗?
  3. TCP 自动处理问题还是开发人员也必须处理?

感谢任何建议。

How TCP handle packet loss during three-way handshake ?

重传,与任何其他类型的数据包丢失一样。这就是为什么你在握手中有 ACK。

Is there any ways to simulate the packet loss issues ?

当然可以,但这取决于您的知识。例如,在 Linux 中可以创建 iptables(防火墙)规则,它会丢弃一些但不是所有的 SYN 数据包。另见 Simulate delayed and dropped packets on Linux

TCP handle the problem automatically or developer must also handle it ?

这对开​​发者来说是透明的。最多应用程序连接失败(超时)。