TCP四次挥手的过程,为什么不是三次

TCP四次挥手的过程:

 

 

 

理解:

TCP是双向通讯协议,客户端发送FIN到服务端,告诉服务端,客户端不会再发送数据了,但是服务端还有消息未发送完毕,为防止客户端消息等待,服务端会首先发送ACK确认字符到客户端,并关闭消息接收服务。但是服务端会将剩余消息发送完毕,然后发送FIN到客户端,告诉客户端不会再发送消息,然后客户端会回复ACK表示收到,并关闭服务,当服务端收到ACK后,验证正常则会关闭所有的服务,TCP连接中断完毕。

为什么建立连接是三次握手,而关闭连接却是四次挥手呢?

这是因为服务端在LISTEN状态下,收到客户端发送的断开连接的FIN报文后,可能会有数据未发送完成,需要继续发送,因此不能将确认消息和请求关闭消息同时发送,而是会先关闭接收服务回复确认消息,然后继续发送未完消息到客户端,直到发送结束,再发送请求关闭消息.



作者:吕艳凯
链接:https://www.jianshu.com/p/e2fa390ac0c0
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

posted @   张测试  阅读(117)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示