TCP关闭问题详细介绍
作者:lqh 时间:2022-07-26 16:58:02
摘要: 三次握手,四次挥手
意思是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://my.oschina.net/alexqdjay/blog/803993
标签:TCP,关闭
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
在Pycharm中对代码进行注释和缩进的方法详解
2023-09-27 23:55:26
Python下的常用下载安装工具pip的安装方法
2021-08-31 05:05:35
Oracle 随机数
2009-06-04 10:01:00
Python的Django框架中的select_related函数对QuerySet 查询的优化
2022-09-02 06:06:46
![](https://img.aspxhome.com/file/2023/6/87506_0s.jpg)
python频繁写入文件时提速的方法
2023-11-11 01:48:40
在Linux下安装Oracle
2010-07-30 12:46:00
pygame画点线方法详解
2023-04-17 16:36:23
![](https://img.aspxhome.com/file/2023/5/115075_0s.png)
mac系统安装Python3初体验
2023-11-27 07:33:16
JavaScript 图片变换效果(ie only)
2010-01-20 12:40:00
![](https://img.aspxhome.com/file/UploadPic/20101/20/2010120125735780s.gif)
Python常见库matplotlib学习笔记之多个子图绘图
2023-02-17 19:40:14
![](https://img.aspxhome.com/file/2023/6/128506_0s.png)
一文读懂Python 枚举
2023-02-16 16:12:46
设计角色的分工和配合
2008-10-20 12:08:00
![](https://img.aspxhome.com/file/UploadPic/200810/20/2008102012945335s.jpg)
python判断完全平方数的方法
2023-07-12 06:43:13
js自定义网页右键菜单方法
2007-11-28 12:50:00
简单了解Python字典copy与赋值的区别
2022-07-16 11:35:52
python 异常的传递性及主动抛出学习
2021-03-19 05:02:38
Python开发.exe小工具的详细步骤
2021-07-11 10:49:30
![](https://img.aspxhome.com/file/2023/4/94074_0s.png)
Python爬虫简单运用爬取代理IP的实现
2021-08-25 23:26:42
![](https://img.aspxhome.com/file/2023/1/75201_0s.jpg)
如何给Python代码进行加密
2021-08-24 16:24:30
python-opencv在有噪音的情况下提取图像的轮廓实例
2023-01-10 08:48:36
![](https://img.aspxhome.com/file/2023/4/111964_0s.jpg)