第一次
客户端会超时重传
客户端发给服务端的SYN报文丢失
- 客户端认为服务端没有收到,会超时重传
第二次
比较特殊,客户端和服务端都会超时重传
服务端给客户端的SYN+ACK丢失
- 客户端认为服务端没有收到他第一次握手中发的SYN,于是超时重传
- 服务端没有收到客户端的ACK,于是超时重传
第三次
服务端会超时重传
客户端给服务端的ACK丢失
- 服务端认为客户端没有收到第二次握手中发的SYN+ACK,于是超时重传
补充:第三次握手中,客户端发送ACK后已进入ESTABLISHED状态,可能开始发送数据。若客户端发送数据,数据包中的隐式ACK会让服务端收到ACK响应(“捎带确认”机制),避免服务端重传。