tcp四次挥手中FIN_WAIT1状态的最大时间是多长?

        我们知道, 在tcp四次挥手中, 主动关闭的一端发FIN包后, 进入FIN_WAIT1状态, 什么意思呢? 也就是在等在FIN的ACK回包。

        在极端情况下, 如果主动关闭端的发送缓冲区满了, 发送端直接杀进程, 发FIN包, 那么接收端是无法接受到FIN包的, 塞满了啊。 这一点, 我们在之前的博文中探讨过。而且, tcpdump还抓不到这个FIN包, 回应的ACK更是无从谈起。

        于是乎, 发送端(主动关闭端) 就一直处于FIN_WAIT1状态, 接收端(被动关闭端)的socket无感知, 处于ESTABLISHED的状态, 就一直这么僵持着, 直到世界的最后一日(理论上)。

        所以, 从理论上来讲, FIN_WAIT1状态的最大时间是无穷大。 当然, 如果接收端慢慢从内核缓冲区中取出数据, 那么这个僵持的状态会被破坏, 进入正常的四次挥手逻辑。



  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值