tcp/ip四次挥手释放连接详解

当某个应用进程在CLOSED状态下执行主动打开时,TCP将发送一个SYN分片,且新的状态为SYN_SENT.如果这个TCP接着收到一个ACK和SYN,则它将发送一个ACK,且新的状态为ESTABLISHED。如果某个应用进程在收到文件结束符之前调用CLOSE(主动关闭),那就转到FIN_WAIT_1状态。如果应用进程在ESTABLISHED状态期间收到一个FIN(被动关闭),那就转到CLOSED_WAIT状态。

当客户端应用程序主动请求关闭时,调用closed或shutdown函数,向服务器发送FIN分片,这时客户端应用程序进入FIN_WAIT_1状态,等待服务器发送ACK确认包。当服务器应用进程向客户端发送ACK及SYN分片时,客户端收到后,客户端向服务器发送ACK分片,此时客户端状态变为FIN_WAIT_2,等待服务器调用close,并发送FIN分片。客户端在收到FIN后,发送ACK,并进入最终的TIME_WAIT状态。

值得注意的是执行主动关闭的那一端最终进入TIME_WAIT状态。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值