# 简述 TCP 的四次挥手,三次挥手可以吗

Issue

欢迎在 Issue 中交流与讨论: Issue 183

Author

回答者: manondidi

第一次挥手 客户端 发送 fin 给服务端 第二次回收 服务端 发送 ack 给客户端 中间服务端 可能还有数据传输 第三次挥手 服务端 发送 fin 给客户端 第四次挥手 客户端 发送 ack 给 客户端 上述四个挥手 分别 类比 两人再打电话 A对B说 我说完了 B对A说 我知道了 中间 b还有话说 B再对A说 我也说完了 A再对B说 我知道了 双方挂断电话

如果只有两次 即A对B说我说完了 而没有ack, A不确定B是否知道"A我说完了"这句话B听到没有 同理,第三次挥手 B对A说我说完了, 还没等A回答我知道了就挂断,有可能A不知道B已经说完.

tcp协议之所以可靠 就是由于 三次握手四次挥手 建立的连接, 以及ack回执机制, 如果传输过程中连接断开 又会重新三次握手建立连接, 如果一直没收到ack, 发送方会一直发送相同的消息,等待另一方发ack回执回来

扫码关注公众号全栈成长之路,并发送

即可在关注期间无限制浏览本站全部文章内容

你也可以在文章关于回复公众号扫码解锁全站的技术实现中获得解锁代码,永久解锁本站全部文章

Last Updated: 2/24/2020, 1:20:18 AM