TCP三次握手和四次挥手

Posted chhgamwork

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP三次握手和四次挥手相关的知识,希望对你有一定的参考价值。

参考资料: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三次握手和四次挥手的主要内容,如果未能解决你的问题,请参考以下文章

TCP的三次握手和四次挥手

TCP三次握手和四次挥手

TCP三次握手和四次挥手

TCP-三次握手和四次挥手简单理解

图解TCP的三次握手和四次挥手(简单明了)

关于TCP的三次握手和四次挥手及其衍生问题