当前位置:   article > 正文

TCP协议的三次握手、四次挥手(详解)_四次挥手服务器发送给客户端的两次挥手,时间间隔是多少

四次挥手服务器发送给客户端的两次挥手,时间间隔是多少

TCP协议的三次握手、四次挥手、超时重传

     传输层定义了主机应用程序之间端到端的连通性,而TCP(传输控制协议)就是传输层常用的一种协议。
  • 1

TCP为应用程序提供一种面向连接的、可靠的服务。
TCP的可靠性:

  1. 面向连接的传输
  2. 最大报文段长度
  3. 传输确认机制
  4. 首部和数据的检验和
  5. 流量控制

TCP协议的报文结构
在这里插入图片描述

TCP协议三次握手、四次握手、超时重传
在这里插入图片描述

三次握手是指建立TCP连接协议时,需要在客户端和服务器之间发送三个包,握手过程中传送的包里不包含数据,三次握手完毕之后,客户端与服务器才正式开始传送数据。

第一次握手:客户端发送第一个包,其中SYN标志位为1(表示请求连接),seq=0,ACK=0(针对SYN的确认应答).此时客户端进入SYN发送状态,等待服务器的确认。
第二次握手:服务器收到这个包之后发送一个回应包,其中SYN=1,seq=0,ACK=1,此时服务器进入SYN接收状态。
第三次握手:客户端接收到服务器的回应包之后,向服务器发送第三个包,SYN=0(招呼已经打完),seq=1(确认收到服务器发来的seq=0的数据,接下来请求发1),ACK=1(seq+1).此包发送完毕,客户端和服务器进入ESTABLISHED成功建立状态,完成三次握手。

四次挥手是指终止TCP连接协议时,需要在客户端和服务器之间发送四个包
第一次挥手:客户端向服务器发送第一个请求关闭连接的包,其中FIN=1,seq=x,ACK=y。
第二次挥手:服务器收到客户端发来的FIN包后,向客户端发送一个FIN=0,seq= y,ACK=x+1的包,确认客户端发来的FIN请求。
第三次挥手:服务器向客户端发送FIN=1,seq=y,ACK=x+1的包请求切断连接。
第四次挥手:客户端向服务器发送FIN=1,seq=x+1,ACK=y+1的包。至此,完成四次挥手。

在这里插入图片描述
超时重传指的是,发送数据包在一定时间周期内没有收到相应的ACK,等待一定时间后,就认为这个数据包丢失,就会重新发送。

为什么建立连接协议是三次握手,而关闭连接却是四次握手?
建立连接时,ACK和SYN可以放在一个报文里来发送。而关闭连接时,被动关闭方可能还需要发送一些数据后,再发送FIN报文表示同意现在可以关闭连接了,所以它这里的ACK报文和FIN报文多数情况下都是分开发送的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/148992
推荐阅读
相关标签
  

闽ICP备14008679号