TCP 三次握手(SYN,SYN-ACK,ACK)

Posted

tags:

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

参考技术A TCP三次握手是在TCP / IP网络中用于在服务器和客户端之间建立连接的过程。这是一个三步过程,需要客户端和服务器在真实数据通信过程开始之前交换同步和确认数据包。

三次握手过程的设计方式是,两端都可以帮助您同时启动,协商和分离TCP套接字连接。它允许您同时在两个方向上传输多个TCP套接字连接。

TCP通信以三次握手开始。在此TCP握手过程中,客户端需要通过请求与服务器的通信会话来发起会话:

</center>

这是三次握手过程的一个简单示例,包括三个步骤:

数据传输过程结束后,TCP自动终止两个单独端点之间的连接。

What Is TCP Three-Way HandShake?

tcp三次握手

  tcp三次握手位于OSI七层协议(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)中的传输层,用于建立主机间可靠的连接。

连接中用于交互和确认是通过seq、ack等序号以及SYN、ACK等标志位。

  三次握手:

第一次握手:客户端发送SYN(seq=j)包请求服务器连接,同时进入SYN-SENT状态,并等待服务器回应。

第二次握手:服务其接受到SYN包,并发送一个ack=j+1的ACK包和SYN包,即SYN+ACK包回复客户端,此时服务器进入SYN-RECV状态。

第三次握手:客户端接收到SYN+ACK包,此时再发送ACK包到服务器,发送完毕进入连接状态,完成三次握手。

  四次挥手:

 第一次挥手:客户端发送FIN报文和seq序列号,进入FIN-WAIT-1状态

 第二次挥手:服务器收到请求,发出ACK报文,ack序号和seq序号,此时服务器进入CLOSE-WAIT状态。TCP需要通知高层应用客户端的断开连接请求,做出相应的处理或回传数据。

 第三次挥手:客户端收到ACK确认请求后,进入FIN-WAIT-2状态,等待服务器发送连接释放报文。服务器做出相关处理后发送最后的连接FIN释放报文,此时服务器进入LAST-ACK(最后确认状态)

 第四次挥手:客户端收到FIN报文后必须发送最后的ACK报文,此时进入TIME-WAIT状态。服务器收到后进入CLOSED状态。

 

以上是关于TCP 三次握手(SYN,SYN-ACK,ACK)的主要内容,如果未能解决你的问题,请参考以下文章

TCP SYN-Cookie的原理和扩展

三次握手四次挥手,重传机制

TCP三次握手和四次挥手的全过程

TCP三次握手和四次挥手的全过程

《转载》TCP三次握手中SYN,ACK,Seq三者的关系

tcp三次握手