文档章节

TCP关闭问题

alexqdjay
 alexqdjay
发布于 2016/12/11 16:42
字数 342
阅读 29
收藏 2
点赞 0
评论 0

三次握手,四次挥手。

意思是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后服务端会主动断连。

© 著作权归作者所有

共有 人打赏支持
alexqdjay
粉丝 35
博文 26
码字总数 31560
作品 0
浦东
高级程序员
TCP异常关闭研究分析

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

偶素浅小浅 ⋅ 2016/11/02 ⋅ 0

再叙TIME_WAIT

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

银月光海 ⋅ 2016/05/06 ⋅ 0

从TCP三次握手说起--浅析TCP协议中的疑难杂症(1)

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

偶素浅小浅 ⋅ 2016/11/01 ⋅ 0

RedHat5 防火墙设置

防火墙添加端口与强制关闭端口 #cd /etc/sysconfig   #ls   #vi iptables (gedit iptables)   在其中加入   -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3......

IT_小翼 ⋅ 2012/12/18 ⋅ 0

关闭 CLOSE_WAIT 状态的连接

1 一般原因都是TCP连接没有调用关闭方法。需要应用来处理网络链接关闭。2 对于Web请求出现这个原因,经常是因为Response的BodyStream没有调用Close.比如Widnows下:使用HttpWebRequest 一定要...

souldepth ⋅ 2016/05/24 ⋅ 0

socket KeepAlive 使用笔记(转)

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

luuuk ⋅ 2013/06/19 ⋅ 0

解决服务器存在大量time_wait的问题

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

as007012012 ⋅ 2017/03/29 ⋅ 0

解决TCP连接数过多的问题

解决TCP连接数过多的问题 TCP状态迁移,CLOSEWAIT & FINWAIT2 的问题 TCP状态迁移 大家对netstat -a命令很熟悉,但是,你有没有注意到STATE一栏呢,基本上显示着established,timewait,closew...

运维技术 ⋅ 2015/05/01 ⋅ 0

TCP协议的TIME_WAIT状态详解

TCP协议的TIME_WAIT状态详解 我发现有个公司面试的时候问了对TCP协议比较细节的地方,那就写一下帮助自己加深理解和记忆。在开始说TIMEWAIT状态之前,要知道TCP协议是如何关闭连接的。 很多人...

ihaolin ⋅ 2014/02/13 ⋅ 1

netstat监控大量ESTABLISHED连接与Time_Wait连接问题

问题描述: 在不考虑系统负载、CPU、内存等情况下,netstat监控大量ESTABLISHED连接与Time_Wait连接。 # netstat -n | awk '/^tcp/ {++y[$NF]} END {for(w in y) print w, y[w]}'CLOSE_WAIT...

cosco ⋅ 2016/09/18 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

微信小程序接口文档

API接口文档:http://developers.weixin.qq.com/miniprogram/dev/api/

熊二的爸爸是谁 ⋅ 32分钟前 ⋅ 0

优先考虑类型安全的异构容器(29)

1、泛型常用于集合(Set、Map)以及单元素容器(ThreadLocal、AtomicReference) 被参数化的容器:只能有固定数目的类型参数 2、Class 类在jdk 1.5 之后被泛型化了 String.class 属于Class<S...

职业搬砖20年 ⋅ 40分钟前 ⋅ 0

Linux下date格式化

最近在编辑一个脚本时,发现对Linux下时间的命令理解的不是很透彻,看到一篇关于date时间格式化的文章,遂摘录了下来。 本文取自:Linux下date命令,格式化输出,时间设置 一、date命令 [ro...

blackfoxya ⋅ 41分钟前 ⋅ 0

动手---sbt (1)

1:https://github.com/ucb-bar/chisel3 下载源码 2:Chisel-Tutorial文件夹下的readme.md文件中有说明: a)需要先测试是否安装了sbt并做一个hello工程 joe@joe-Aspire-Z3730:/media/sdb4/dow...

whoisliang ⋅ 42分钟前 ⋅ 0

Micropython实例之TPYBoardv102位数码管显示实验

import pybfrom pyb import Pin #数码管a~g dp对应的开发板引脚d_Pins=[Pin(i,Pin.OUT_PP) for i in ['X1','X2','X3','X4','X5','X6','X7','X8']]#数码管位段1 2 3 4对应的引脚w...

bodasisiter ⋅ 45分钟前 ⋅ 0

Java WebService接口生成和调用 图文详解

webservice简介: Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所...

Dylan1009 ⋅ 49分钟前 ⋅ 0

iOS类大小的测量

iOS中,测量类的大小可以用函数malloc_size (头文件#import <malloc/malloc.h>) 比如我们新建一个继承与object的类 代码: testObjest *test = [testObjest alloc]; NSLog(@"-----%...

RainOrz ⋅ 50分钟前 ⋅ 0

android支付宝首页、蚂蚁森林效果、视频背景、校园电台、载入收缩动画等源码

Android精选源码 android实现蚂蚁森林效果源码 android仿支付宝首页应用管理(拖拽排序,添加删除) android校园网络电台客户端源码 android实现按钮伸缩效果源码 一款仿iOS的PickerView控件,...

逆鳞龙 ⋅ 57分钟前 ⋅ 0

阿里云Apsara Block Storage企业级分布式块存储产品

摘要: Apsara Block Storage是阿里云推出的一款企业级分布式块存储产品,帮助企业市场头部客户构建高性能、弹性、可靠的大规模横向扩展云存储服务平台。可对接各种类型计算平台,包括阿里云...

阿里云云栖社区 ⋅ 今天 ⋅ 0

spring AOP

1. 添加MAVEN <!-- https://mvnrepository.com/artifact/org.springframework/spring-aop --> <dependency> <groupId>org.springframework</groupId> <artifactId>sprin......

BobwithB ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部