三次握手和四次挥手
TCP的三次握手和四次挥手实质就是指TCP通信的连接和断开
三次握手
- 第一次握手:
客户端发送一个带有SYN标志的数据包给服务端。 - 第二次握手:
服务端成功接收到数据包后,回传一个带有STY标志的数据包确认信息,表示我已经接收到了。 - 第三次握手:
客户端再回传一个带有ACK标志的数据包,表示我知道了,握手结束。
其中,SYN标志数置1,表示TCP链接;ACK表示验证字段。
示意图:
四次挥手
-
第一次挥手:客户端发送一个FIN,用来关闭客户端到服务端的数据传输,客户端进入FIN_WAIT_1状态
-
第二次挥手:服务端收到FIN后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),服务端进入CLOSE_WAIT状态
-
第三次挥手:服务端发送一个FIN给客户端,用来关闭客户端和服务端之间的数据传送,服务端进入LAST_ACK状态
-
第四次挥手:客户端收到FIN后,客户端进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到的序号+1,服务端进入CLOSED状态,完成四次挥手。
示意图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码