时间:2021-05-26
摘要: 三次握手,四次挥手
意思是tcp建立连接时需要三次交互来完成,A发起连接
A --- SYN --> BA <-- SYN + ACK --- B (1)A --- ACK --> B而关闭tcp连接需要四次交互,A发起关闭
A --- FIN --> BA <-- ACK --- B (1)A <-- FIN --- BA --- 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 #开启快速回收,默认0net.ipv4.tcp_tw_reuse = 1 #开启重用,默认0net.ipv4.tcp_fin_timeout = 30 # 减小fin_timeout,默认60,单位s系统参数的配置可以解决time_wait,但是close_wait就没那么简单了
解决CLOSE_WAIT
一般都是服务端的代码问题。
绝大多数都是客户端发起关闭,这样可知HTTP服务器应该会有很多TIME_WAIT,不过当http使用keep-alive后服务端会主动断连。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
京东小金库可以关闭吗?怎么关闭?最近很多朋友都想了解京东小金库可以关闭吗以及如何关闭的详细步骤,现在小编就给大家详细介绍一下京东小金库可以关闭吗以及关闭的流
公司的项目底层,是使用的TCP,因为可靠,自动断线重连,在底层都实现了,但是我记得TCP也会有掉包的问题,所以这文章就诞生了——关于TCP掉包的问题,TCP是基
这篇文章主要介绍了Spring关闭TomcatServlet容器时内存泄漏问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
一、简介引用《TCP/IP详解-卷1》中的介绍,TCP与UDP使用相同的网络层(IP层),TCP却向应用层提供了与UDP完全不同的服务。TCP提供一种面向连接的
192.168.1.1进不去、无线不能上网等问题,这些问题在文章的末尾会有介绍,具体的设置教程如下:本地连接,选属性,再选TCP/IP协议 (1)打开web浏