【计算机网络】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、决战卡...
最新技巧!小程序功夫川科技(辅... 最新技巧!小程序功夫川科技(辅助挂)开挂透视辅助神器(都是存在有挂)-哔哩哔哩;1、许多玩家不知道小...
目前来看!奇迹免费自动挂机脚本... 目前来看!奇迹免费自动挂机脚本,填的那款辅助视频,攻略方法(一直有挂)-哔哩哔哩1、目前来看!奇迹免...
实测教程!腾威互娱破解辅助工具... 实测教程!腾威互娱破解辅助工具(辅助挂)开挂透视辅助神器(一贯有挂)-哔哩哔哩腾威互娱破解辅助工具是...
网友热议!四川蜀山辅助软件下载... 网友热议!四川蜀山辅助软件下载,传送屋辅助k,wpk教程(确实存在有挂)-哔哩哔哩1、许多玩家不知道...
盘点一款!河洛杠次胜率辅助器(... 盘点一款!河洛杠次胜率辅助器(辅助挂)开挂透视辅助攻略(本来是真的挂)-哔哩哔哩1、该软件可以轻松地...
更值得关注的是!丽水跑得快辅助... 更值得关注的是!丽水跑得快辅助工具,友友联盟辅助脚本,总结教程(切实是有挂)-哔哩哔哩更值得关注的是...
2024教程!新九方科技(辅助... 2024教程!新九方科技(辅助挂)开挂透视辅助攻略(一贯是有挂)-哔哩哔哩该软件可以轻松地帮助玩家将...
受玩家影响!皮皮跑子胡子,蜀山... 受玩家影响!皮皮跑子胡子,蜀山四川小程序破解版,2025新版教程(一贯是真的挂)-哔哩哔哩1、实时蜀...
一分钟教你!新星游辅助软件(辅... 一分钟教你!新星游辅助软件(辅助挂)开挂透视辅助神器(切实真的是有挂)-哔哩哔哩一分钟教你!新星游辅...