tcp三次握手

Posted ring2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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三次握手的主要内容,如果未能解决你的问题,请参考以下文章

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

一文搞懂TCP的三次握手和四次挥手

Wireshark浅析Tcp三次握手

TCP三次握手在服务器端是由哪个函数完成的?

HTTP中的TCP三次握手-详细解析(TCP ConnectionTCP的三次握手介绍为什么创建TCP三次握手)

TCP三次握手和四次挥手