解决TIME_WAIT过多造成的问题

本文讨论了TCP TIME_WAIT状态在高并发短连接服务器上的影响,指出它可能导致端口资源耗尽,影响新连接建立。文章提出了通过调整内核参数缓解TIME_WAIT过多问题的策略,并建议在必要时采用负载均衡来应对高并发需求。此外,还介绍了TCP协议的历史背景和一个案例分析。
摘要由CSDN通过智能技术生成

在这里插入图片描述
【1】 time_wait的作用:

TIME_WAIT状态存在的理由:

1)可靠地实现TCP全双工连接的终止

   在进行关闭连接四次挥手协议时,最后的ACK是由主动关闭端发出的,如果这个最终
   的ACK丢失,服务器将重发最终的FIN,因此客户端必须维护状态信息允许它重发最
   终的ACK。如果不维持这个状态信息,那么客户端将响应RST分节,服务器将此分节
   解释成一个错误(在java中会抛connection -reset的SocketException)。因而,
   要实现TCP全双工连接的正常终止,必须处理终止序列四个分节中任何一个分节的
   丢失情况 ,主动关闭的客户端必须维持状态信息进入TIME_WAIT状态。

2)允许老的重复分节在网络中消逝

TCP分节可能由于路由器异常而“迷途”,在迷途期间,TCP发送端可能因确认超时而重
发这个分节,迷途的分节在路由器修复后也会被送到最终目的地,这个原来的迷途分节
就称为lost duplicate。在关闭一个TCP连接后,马上又重新建立起一个相同的IP地址和
端口之间的TCP连接,后一个连接被称为前一个连接的化身(incarnation),那么有可能
出现这种情况,前一个连接的迷途重复分组在前一个连接终止后出现,从而被误解成从
属于新的化身。为了避免这个情况,TCP不允许处于TIME_WAIT状态的连接启动一个新
的化身,因为TIME_WAIT状态持续2MSL,就可以保证当成
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

N1314N

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值