为什么不是两次握手的原因:
假定出现一种异常情况,即发送方A发出的第一个连接请求报文段并没有丢失,而是在某些网络结点长时间滞留,以致延误到连接释放以后的某个时间才到接收端B,本来这是一个早已失效的报文段,但接收方B接收到后误认为是发送方A又发出了一次新的连接请求,于是就向A发出确认报文段,同意建立连接。假定不采用报文握手,那么只要B发出确认,新的连接就建立了。由于A并没有发出建立连接的请求,因此不会对B的确认进行反应,也不会向B发送发送数据,但是B却认为新的运输连接已经建立了,并一直等待A发来数据,B的许多资源就会白白浪费
为什么不是三次挥手的原因:
与握手的情况相似,即发送方A发出的第一个释放请求报文并没有丢失,而是在某些网络结点长时间滞留,以致延误到下次TCP连接的某个时间才到接收端B,本来这是一个早已失效的报文段,但接收到后误认为是发送方A请求释放连接,如果没有最后一次发送方发送确认报文,那么接收方就会在结束当前发送的报文后立即断开连接,那么就会影响当前的TCP连接