面试官:为什么tcp握手三次而不是两次
如果只有前两次握手,客户端没有影响,收到服务端的应答后进入ESTABLISHED状态。但是对服务端有影响。比如当前网络拥塞,客户端发出去的SYN到不了服务端,客户端会超时重传,假如服务端响应了重传的syn,那么链路正常建立,用完之后释放链路。如果此时之前的SYN报文来了,由于只需要两次握手,那么服务端就进入ESTABLISHED状态,但是客户端并没有这个链路,所以也不会断开,于是服务端一直占用一个无效的资源。
面试官:为什么tcp握手三次而不是两次
如果只有前两次握手,客户端没有影响,收到服务端的应答后进入ESTABLISHED状态。但是对服务端有影响。比如当前网络拥塞,客户端发出去的SYN到不了服务端,客户端会超时重传,假如服务端响应了重传的syn,那么链路正常建立,用完之后释放链路。如果此时之前的SYN报文来了,由于只需要两次握手,那么服务端就进入ESTABLISHED状态,但是客户端并没有这个链路,所以也不会断开,于是服务端一直占用一个无效的资源。