文档章节

TCP关闭问题

alexqdjay
 alexqdjay
发布于 2016/12/11 16:42
字数 342
阅读 30
收藏 2

三次握手,四次挥手。

意思是tcp建立连接时需要三次交互来完成,A发起连接

A ---    SYN    --> B
A <-- SYN + ACK --- B (1)
A ---    ACK    --> B

而关闭tcp连接需要四次交互,A发起关闭

A ---  FIN  --> B
A <--  ACK  --- B (1)
A <--  FIN  --- B
A ---  ACK  --> B (2)

这里在(1)时B开始处于CLOSE_WAIT状态,一直到收到ACK后B才转为CLOSED ,而A就处于TIME_WAIT状态,一直到2MSL(Max Segament Lifetime)才转为CLOSED

为什么需要2MSL才真正转为CLOSED?是因为需要缓冲时间万一B丢失ACK重发FIN的话还可以回复ACK,还有就是2MSL后“迷失”在网络上的包全部失效

大量的 TIME_WAIT 和 CLOSE_WAIT 会造成服务器的连接资源被浪费甚至占满后导致服务器服务拒绝,怎么解决?

解决TIME_WAIT

net.ipv4.tcp_tw_recycle = 1 #开启快速回收,默认0

net.ipv4.tcp_tw_reuse = 1 #开启重用,默认0

net.ipv4.tcp_fin_timeout = 30 # 减小fin_timeout,默认60,单位s

系统参数的配置可以解决time_wait,但是close_wait就没那么简单了

解决CLOSE_WAIT

一般都是服务端的代码问题。

绝大多数都是客户端发起关闭,这样可知HTTP服务器应该会有很多TIME_WAIT,不过当http使用keep-alive后服务端会主动断连。

© 著作权归作者所有

共有 人打赏支持
上一篇: HTTPS的加密
alexqdjay
粉丝 35
博文 26
码字总数 31560
作品 0
浦东
高级程序员
私信 提问
TCP异常关闭研究分析

版权声明:本文由谢代斌原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/108 来源:腾云阁 https://www.qcloud.com/community 研究测试TCP断开和异常的各...

偶素浅小浅
2016/11/02
6
0
从TCP三次握手说起--浅析TCP协议中的疑难杂症(1)

版权声明:本文由黄日成原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/73 来源:腾云阁 https://www.qcloud.com/community 说到TCP协议,相信大家都比...

偶素浅小浅
2016/11/01
10
0
再叙TIME_WAIT

之所以起这样一个题目是因为很久以前我曾经写过一篇介绍TIMEWAIT的文章,不过当时基本属于浅尝辄止,并没深入说明问题的来龙去脉,碰巧这段时间反复被别人问到相关的问题,让我觉得有必要全面...

银月光海
2016/05/06
27
0
socket KeepAlive 使用笔记(转)

1.问题 最近碰到的一个问题,socket连接一台服务器后,如果无数据通讯,服务器会在几分钟后关闭socket。由此产生一个问题。与服务器进行连接后,拔掉网线,几分钟后,由于服务器已经关闭soc...

luuuk
2013/06/19
0
0
解决服务器存在大量time_wait的问题

转载自:http://www.2cto.com/os/201411/355811.html 近期服务器出现大量time_wait的TCP连接造成服务器连接数过多而最终导致tomcat假死状态。连接服务器查看连接数的时候提示如下。 [html] v...

as007012012
2017/03/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mgo初步接触

Intro mgo是mongodb的go语言绑定,第一次在静态类型语言中使用ORM,故留个笔记。 模型 mongodb是schema-less无模式的NoSQL非关系型数据库,理论上来说,在同一个表(mongodb中称为collectio...

御坂网络路由器
5分钟前
0
0
不要忽略异常(65)

请不要忽略异常, 尤其在api方法声明将会抛出的异常,这是定义者在试图说明某种问题 空的catch 块起到忽略异常的作用 对空的catch 块保持警惕,不应该出现 至少也要写明忽略该异常的原因 有一...

Java搬砖工程师
6分钟前
0
0
网站漏洞检测工具对discuzX3.2 X3.4网站漏洞修复

2018年12月9日,国内某安全组织,对discuz X3.2 X3.4版本的漏洞进行了公开,这次漏洞影响范围较大,具体漏洞是discuz 的用户前段SQL注入与请求伪造漏洞,也俗称SSRF漏洞,漏洞产生的原因首先...

网站安全
6分钟前
0
0
2018开发人员路线图

chinahufei
9分钟前
0
0
领哥,项目管理

领哥 https://www.leangoo.com/kanban/board_list

miaojiangmin
21分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部