当前位置: 代码迷 >> 综合 >> 三次握手和四次挥手一点自己理解
  详细解决方案

三次握手和四次挥手一点自己理解

热度:35   发布时间:2024-01-31 05:21:59.0

TCP三次握手是,通讯的双方(客户端和服务端)建立连接的过程。

TCP是可靠的传输协议,为什么说可靠呢?因为在建立连接以后,客户端和服务端都得知道自己和对方都能正常的发送和接收报文。

第一次握手:客户端发送连接报文(syn:表示建立连接)给服务端,服务端收到报文以后。

这个时候,服务端能得出的结论是:客户端能够正常发送和自己能够正常的接收报文。

第二次握手:服务端对第一次报文的确认和连接的请求,客户端收到报文以后。

这个时候,客户端能得出结论是:服务端可以正常的接收和发送报文,自己也能正常的发送报文。(但是服务端还不确定客户端能不能正常的接收自己的报文)

第三次握手:客户端对服务端建立连接的报文进行确认。服务端收到以后。

这个时候,服务端就知道了客户端能正常接收自己的报文。

最后,建立连接。

 

 

四次挥手:等数据包传完以后,TCP关闭连接,为了确保可靠,就是客户端都需要知道对方的报文已经传输完成了。

第一次挥手:客户端发送(FIN:断开连接)断开连接的报文,服务端收到以后。

这个时候,服务端能得出的结论是:客户端的数据报文传完了,客户端也知道自己的数据传完了。

第二次挥手:服务端客户断开连接的请求发送响应报文,客户数收到以后。

这个时候,客户端只能得出结论是:服务端知道自己数据传完了,但是还不能关闭连接,因为不知道服务端还有没有其他的数据包要传。

第三次挥手:等到服务端的数据传完以后,也发起一个断开连接的报文,客户端收到以后。

这个时候,客户端就能得出结论是:服务端数据传完了,我也传完了,可以断了

第四次挥手:给服务端发送确认第三次请求的报文,断开(为了可靠,通知服务端,我收到了断开连接的报文了)。

  相关解决方案