一、三次握手
syn(client)---syn+ack(server)---ack(client)
二、四次挥手
fin(client)-ack(server)-fin(server)-ack(client)
三、问题
1. 为什么握手3次就可以了,挥手要4次
Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,”你发的FIN报文我收到了”。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。