TCP四次挥手的过程,为什么不是三次
TCP四次挥手的过程:
理解:
TCP是双向通讯协议,客户端发送FIN到服务端,告诉服务端,客户端不会再发送数据了,但是服务端还有消息未发送完毕,为防止客户端消息等待,服务端会首先发送ACK确认字符到客户端,并关闭消息接收服务。但是服务端会将剩余消息发送完毕,然后发送FIN到客户端,告诉客户端不会再发送消息,然后客户端会回复ACK表示收到,并关闭服务,当服务端收到ACK后,验证正常则会关闭所有的服务,TCP连接中断完毕。
为什么建立连接是三次握手,而关闭连接却是四次挥手呢?
这是因为服务端在LISTEN状态下,收到客户端发送的断开连接的FIN报文后,可能会有数据未发送完成,需要继续发送,因此不能将确认消息和请求关闭消息同时发送,而是会先关闭接收服务回复确认消息,然后继续发送未完消息到客户端,直到发送结束,再发送请求关闭消息.
作者:吕艳凯
链接:https://www.jianshu.com/p/e2fa390ac0c0
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
标签:
接口
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构