1 因为两次握手会导致第三次客户端的ACK消失,这样服务器是不知道第二次握手有没有成功的,一旦失败了,服务器依旧会把连接开着,造成资源浪费
2 同步序列号,一个SYN-ACK负责同步一次序列号,第一次握手和第二次握手能够使服务端同步客户端,第二次握手和第三次握手能够使客户端同步服务端
3 防止旧连接(主要原因),客户端如果在短时间内发送了两次SYN请求,但是实际上只希望开一个tcp连接,那么就可以通过第三次握手的序列号来明确自己要开启的是哪个连接(对第二次握手响应),而又需要废弃掉哪个连接(不对第二次握手响应)