三次握手的原因: 网络不稳定的重复分组的问题:如果A发送连接请求SYN包1给B,但是这个包1丢失了,这个时候A重新发送SYN包2,B收到过后和A正确建立连接传输数据关闭连接后,这个时候包1莫名的出现了,由于两次握手就建立了一个TCP连接,A却没有任何数据,到时空连接产生,浪费资源。三次握手的话,A会忽略B的ACK。 四次握手的原因: 由于TCP全双工的原因。收到FIN意味着不会再收到数据,但是自己仍然可以发送数据。