码迷,mamicode.com
首页 > 其他好文 > 详细

TCP四次分手过程

时间:2017-11-21 00:59:10      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:close   ack   数据   消失   关闭   出现   序号   seq   最大的   

  1. A发送FIN包(FIN = 1,seq = u = 上次传输的最大的字节序号+1,进入FIN-WAIT-1状态)
  2. B收到FIN包,回复ACK包(ACK = 1,ack = u + 1,进入CLOSE-WAIT状态)
  3. A收到ACK包,进入FIN-WAIT-2状态

此时TCP连接处于半关闭状态,B若还有数据发给A,A仍可接收.

  1. 若B没有数据要发给A,发送FIN包(FIN = 1,seq = v = 上次传输的最大的字节序号+1,进入LAST-ACK状态)
  2. A发送ACK包(ACK = 1,ack = v + 1,进入TIME-WAIT状态)
  3. B收到ACK包后关闭连接
  4. A等待两个最长报文段寿命时间后,关闭

发现:A先提出的关闭,但是最终B先关闭的.第三次握手后,A没直接关闭,而是等待两个最长报文段寿命才关闭,原因如下:(1)如果第三次握手发送的ACK包失效,B无法关闭.(2)两个最长报文段寿命内,能使当前即将关闭的连接运输的报文段全部从网络中消失,不会造成本次的报文段出现在A的下一次连接中.

TCP四次分手过程

标签:close   ack   数据   消失   关闭   出现   序号   seq   最大的   

原文地址:http://www.cnblogs.com/joyeehe/p/7868602.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!