TCP三次握手、四次挥手

TCP三次握手:

先看如何建立

首先:客户端发送SYN 建立链接请求报文。客户端确认链接后回复ACK确认报文,并为这次连接分配资源。客户端接收到ACK报文后也向服务器端发送报文,并分配资源,这样TCP连接就建立了。

4次挥手  断开连接:

为什么连接的时候是三次握手,关闭的时候却是四次握手?

因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

参考:https://www.jianshu.com/p/9968b16b607e

原文地址:https://www.cnblogs.com/shunyu/p/8529616.html