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

TCP三次握手和四次挥手

时间:2020-05-21 23:46:27      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:挥手   二次   max   一个   服务端   成功   syn   seq   返回   

参考资料:https://blog.csdn.net/qq_38950316/article/details/81087809

三次握手

1.客户端向服务端发送SYN包,syn标志位置为1,seq=x,此时进入SYN_SENT状态。SYN:同步序列编号(Synchronize Sequence Numbers)。

2.服务端收到SYN包后,ack标志位置为1,seq=y,同时也发一个SYN包,syn标志位置为1,ack=x+1。 此时发送的包等于ACK+SYN包,服务器进入 SYN_RECV 状态。

3.客户端收到服务端返回的包后,向服务端发送ACK包,ack标志位置为1,ack=y+1。此时进入连接成功状态 ESTABLISHED

四次挥手

1. (第一次)主动关闭方发送FIN包。FIN=1,seq=u,。主动关闭方进入FIN-WAIT-1状态。

2. (第二次)被动关闭放发出确认报文,ACK=1,ack=u+1,seq=v。被动关闭放进入CLOSE-WAIT状态。

3. 关闭发起方接收到确认报文后就进入FIN-WAIT-2状态。

4. 此时被动关闭方可能还有数据要传递给主动关闭方。

5. (第三次)当被动关闭方发送完所有数据,向主动关闭方发送FIN包。ACK=1,ack=u+1,FIN=1,seq=w。此时被动关闭方进入LAST-ACK状态。

6. (第四次)当主动关闭方收到报文之后,向被动关闭方发送ACK包。ACK=1,ack=w+1,seq=u+1。然后进入TIME-WAIT状态,2MSL【两倍的MSL(Maximum Segment Lifetime)】后进入CLOSED状态。如果2MSL内再次接收到FIN包,会重发ACK并重新等待。

7. 当被动关闭方收到确认报文后,立即进入CLOSED状态。

 

TCP三次握手和四次挥手

标签:挥手   二次   max   一个   服务端   成功   syn   seq   返回   

原文地址:https://www.cnblogs.com/chhgamwork/p/12934203.html

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