TCP三次挥手四次握手

三次握手:

          客户端发起:

         1、向服务器端发送报文SYN=1,ACK=0;客户端进入SYN-SEND状态。

         2、服务端收到SYN=1,ACK=0的请求报文,向客户端返回确认报文SYN=1,ACK=1,服务端进入SYN-REVD状态。

         3、客户端接收确认报文,需再向服务端发送一个确认收到的报文ACK=1;客户端进入ESTABLISHED状态。

四次挥手:

       客户端和服务端均可以发起

        1、客户端发起、请求断开链接。发送报文FIN=1,当FIN=1的时候,表明此报文的发送方已经完成了数据的发送,没有新的数据要传送,并要求释放链接。客户端进入FIN-WAIT-1状态。


2、  服务器收到客户端的请求断开链接的报文之后,返回确认信息。ACK=1,服务器进入CLOSE-WAIT状态。此时客户端不能给服务器发送信息报文,只能接收。

3、  当服务器也没有了可以传的信息之后,给客户端发送请求结束的报文。FIN=1,ACK=1,服务器进入LAST-ACK状态。

4、  客户端接收到FIN=1的报文之后,返回确认报文,ACK=1,发送完毕之后,客户端进入等待状态,等待两个时间周期。链接关闭。

注意:为什么要等两个时间周期:超时重传机制

        客户端最后一个确认收到的ACK=1的报文如果在传输的过程中丢失,服务端没有收到确认报文,就会超时重传,重新发送FIN=1的报文,如果不等两个时间周期,重新发的FIN=1的报文客户端不会收到。

posted @ 2019-01-14 10:17  已七年  阅读(159)  评论(0编辑  收藏  举报