本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告

戒除浮躁,读好书,交益友


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:邢红瑞的blog
日志总数:523
评论数量:1142
留言数量:0
访问次数:9690886
建立时间:2004年12月20日




[UTM]tcp状态处于 time_wait的解决
原创空间,  软件技术,  电脑与网络

邢红瑞 发表于 2009/3/29 15:09:47

 最近使用 netstat -an 命令发现 apache 转到 rein的 tcp状态处于 time_wait 的有上千个,都是是等待释放的端口。修改 net.ipv4.tcp_tw_recycle 属性,加快回收之后, time_wait time_wait的数量少了很多。sysctl -a|grep net.ipv4.tcp_twnet.ipv4.tcp_tw_reuse = 0net.ipv4.tcp_tw_recycle = 0改为vi /etc/sysctl.conf增加或修改net.ipv4.tcp_tw值:net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1 使内核参数生效:sysctl -p查看sysctl -a|grep net.ipv4.tcp_twnet.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1 reuse是表示是否允许重新应用处于TIME-WAIT状态的socket用于新的TCP连接, recyse是加速TIME-WAIT sockets回收可以设置time和wait的值 net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120 TIME_WAIT状态的意义   客户端与服务器端建立TCP/IP连接后关闭SOCKET后,服务器端连接的端口状态为TIME_WAIT 是不是所有执行主动关闭的socket都会进入TIME_WAIT状态呢?有没有什么情况使主动关闭的socket直接进入CLOSED状态呢? 主动关闭的一方在发送最后一个 ack 后就会进入 TIME_WAIT 状态 停留2MSL(max segment lifetime)时间这个是TCP/IP必不可少的,也就是“解决”不了的。 也就是TCP/IP设计者本来是这么设计的主要有两个原因1。防止上一次连接中的包,迷路后重新出现,影响新连接(经过2MSL,上一次连接中所有的重复包都会消失)2。可靠的关闭TCP连接在主动关闭方发送的最后一个 ack(fin) ,有可能丢失,这时被动方会重新发fin, 如果这时主动方处于 CLOSED 状态 ,就会响应 rst 而不是 ack。所以主动方要处于 TIME_WAIT 状态,而不能是 CLOSED 。 TIME_WAIT 并不会占用很大资源的,除非受到攻击。 还有,如果一方 send 或 recv 超时,就会直接进入 CLOSED 状态


阅读全文(8696) | 回复(1) | 编辑 | 精华
 


回复:tcp状态处于 time_wait的解决
原创空间,  软件技术,  电脑与网络

dennis(游客)发表评论于2009/3/30 18:13:59

设置socket的SO_LINGER选项是有可能避免进入TIME_WAIT状态直接硬关闭的,但是一般不建议这样搞。


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144761902 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号