Tcp连接的释放

Posted 修心_666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tcp连接的释放相关的知识,希望对你有一定的参考价值。

Tcp连接的释放

​ TCP连接的释放过程通常称为 四次握手。

​   第一步:客户机打算关闭连接,向其TCP发送连接释放报文段,并停止发送数据,主动关闭TCP连接,该报文段的终止位FIN=1,序号seq=u,它等于前面已传送过的数据的最后一个字节的序号加1,FIN报文段即使不携带数据,也消耗一个序号。(TCP是全双工的,即可以想象为一条TCP连接上有两条数据通路,发送FIN的一端不能再发送数据,即关闭了其中一条数据通路,但对方还可以发送数据)。

​   第二步:服务器收到连接释放报文段后即发送确认,确认号ack=u+1,序号seq=v,等于他前面已传送过的数据的最后一个字节的序号加上1。此时,从客户机到服务器这个方向的连接就释放了,TCP连接处于半关闭状态。但服务器若发送数据,客户机仍要接收,即从服务器到客户机这个方向的连接并未关闭。

​   第三步:若服务器已没有要向客户机发送的数据,就通知TCP释放连接,此时其发送FIN=1的连接释放报文段。设该报文段的序号为w(在半关闭状态下服务器可能有发送了一些数据),还须重复上次已发送的确认号ack=u+1。

​   第四步:客户机收到连接释放报文段后,必须发出确认。把确认报文段中的确认位ACK置为1,确认号ack=w+1,序号seq=u+1。此时TCP连接还未释放,必须经过时间等待计时器设置的时间2MSL(最后时间段寿命)后,客户机才进入CLOSED状态。

​   释放连接总结:

​ ① FIN=1,seq=u

​ ② ACK=1,seq=v,ack=u+1

​ ③ FIN=1,ACK=1,seq=w,ack=u+1

​ ④ ACK=1,seq=u+1,ack=w+1

以上是关于Tcp连接的释放的主要内容,如果未能解决你的问题,请参考以下文章

TCP建立连接通过三次握手,释放连接通过四次挥手

TCP学习--TCP释放连接的过程(四次挥手)

TCP建立连接和释放连接过程

TCP建立连接与释放连接

tcp连接的建立与释放

Tcp连接的释放