【计算机网络】TCP三次握手和四次挥手
创始人
2024-12-17 19:34:00
0

  • 客户端–发送带有 SYN 标志的数据包–一次握手–服务端

  • 服务端–发送带有 SYN/ACK 标志的数据包–二次握手–客户端

  • 客户端–发送带有带有 ACK 标志的数据包–三次握手–服务端

为什么是三次握手而不是两次握手?

在不可靠的网络中,可能会出现包传输延迟变化大,存在重传的报文段、存在保温重排序等现象,三次握手可以防止因为已经失效的请求报文突然又传到服务器引起错误。

三次握手的目的是建立可靠的通信信道,说到通讯,简单来说就是数据的发送与接收,而三次握手最主要的目的就是双方确认自己与对方的发送与接收是正常的

第一次握手:客户端什么都不能确认;服务端确认了对方发送正常,自己接收正常

第二次握手:客户端确认了:自己发送、接收正常,对方发送、接收正常;服务端确认了:对方发送正常,自己接收正常

第三次握手:客户端确认了:自己发送、接收正常,对方发送、接收正常;服务端确认了:自己发送、接收正常,对方发送、接收正常

所以三次握手就能确认双发收发功能都正常,缺一不可。

第2次握手传回了ACK,为什么还要传回SYN?

接收端传回发送端所发送的ACK是为了告诉客户端,我接收到的信息确实就是你所发送的信号了,这表明从客户端到服务端的通信是正常的。而回传SYN则是为了建立并确认从服务端到客户端的通信。

为什么要四次挥手?

客户端和服务端都可以发起关闭连接请求,此时需要四次挥手来进行连接关闭。这里以客户端主动发起连接关闭请求:

第一次挥手:他需要向服务端发起FIn包表示要关闭连接,自己进入终止等待1状态

第二次挥手:服务端收到FIN包发送一个ACK包,表示资金进入关闭等待状态,客户端进入终止等待2状态。服务端此时还可以发送未发送的数据,客户端还可以接受数据。

第三次挥手:待上述服务端发送完数据后,发送一个FIN包,进入最后确认状态

第四次挥手:客户端收到FIN包后,回复ACK包,进入超时等待状态,经过超时时间后关闭连接。而服务端收到ACK后,立即关闭连接。

为什么客户端需要等待超时时间?为了保证接收端已收到ACK包。假设客户端发出ACK包后就释放连接,万一ACK包在网络上丢失,服务端会停留在最后确认状态。而等待时间内,服务端没有接收到ACK包,会重发FIN包,客户端响应FIN包重发ACK包并刷新超时时间,保证在不可靠的网络中进行可靠的断开连接确认。

相关内容

热门资讯

一分钟教你!广东雀神外 挂(一... 一分钟教你!广东雀神外 挂(一贯真的是有挂)详细透视辅助教程1.广东雀神外 挂 ai辅助创建新账号,...
微扑克辅助器ios!微扑克网页... 微扑克辅助器ios!微扑克网页版辅助,微扑克真的有挂存在(都是真的是有挂);无聊就玩这款微扑克真的有...
重大来袭!都莱罗松(本来真的是... 重大来袭!都莱罗松(本来真的是有挂)详细透视辅助教程1、打开软件启动之后找到中间准星的标志长按。2、...
微扑克辅助软件!微扑克有挂(透... 微扑克辅助软件!微扑克有挂(透明挂)好像是有挂1、微扑克系统规律教程、微扑克辅助透视等服务,为用户提...
玩家必知教程!金州水鱼辅助工具... 玩家必知教程!金州水鱼辅助工具(一贯是真的有挂)详细辅助教程所有人都在同一条线上,像星星一样排成一排...
最新技巧!!福建众娱软件有没有... 最新技巧!!福建众娱软件有没有辅助(透明挂)透明挂透视辅助脚本(2023已更新)(哔哩哔哩);福建众...
科普分享!心悦填大坑总输怎么回... 科普分享!心悦填大坑总输怎么回事(确实有挂)详细透视辅助教程1、心悦填大坑总输怎么回事系统规律教程、...
分享认知!柳州天天爱麻将有挂吗... 分享认知!柳州天天爱麻将有挂吗(透视)透明挂透视辅助脚本(2023已更新)(哔哩哔哩);1、金币登录...
记者揭秘!衢州都莱十三道辅助器... 记者揭秘!衢州都莱十三道辅助器(切实是有挂)详细辅助教程1、衢州都莱十三道辅助器ai机器人多个强度级...
玩家必知教程!!卡农斗牛辅助最... 玩家必知教程!!卡农斗牛辅助最新版本(透视)透视脚本辅助插件(2021已更新)(哔哩哔哩)运卡农斗牛...