大白话 TCP三次握手,四次挥手

本文详细解析了TCP协议中三次握手建立连接的过程及四次挥手关闭连接的原因。通过通俗易懂的语言解释了为何建立连接只需三次交互而关闭连接却需要四次交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为事不过三,想握第四次,人家跟他挥手了。
在这里插入图片描述

开玩笑开玩笑滴。。。。

记住一点 ,TCP全双工,什么意思?既能收也能发,并且这两个动作要完成,【请求】 --> 【应答】–>【再次确认】

1、首先三次握手 【 Client 发送给 Server 】

  • 第一次,当C发送给S的时候,C并不知道是否成功发送到S了,所以C并不知道自己能发还是能收

  • 第二次,S回复给C,此时,C说:“我收到了”,那么此时 C就知道自己能发并且还能收,但是S依旧不知道自己能发或者能收

  • 第三次,C再回复S,此时 S也收到消息了,S也知道自己能发还是能收了,这就是整个全双工的过程

三次握手完毕表明已建立好连接,所以理解起来其实并不难,只是网上的好多解释都过于复杂化了,当然,以上描述极其简化,具体的实现是非常值得学习的

2、为什么挥手要多一次呢?

在关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET
所以只能先回复一个ACK应答报文,告诉Client端,“你发的FIN报文我收到了”。

  • C给 S发消息:“我要关闭连接了喔~”

  • S给 C回消息:“你的消息我收到了,但是我活还没干完,得等我一会!”-- 多了此步骤

  • S给 C回消息:“我活干完了,我们可以断开连接了”

  • C给 S发消息:“好的,我挂断了!” ------ 同时等待一段时间后关闭

S 收到消息后也就立即关闭了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值