TIME_WAIT详解

1.TCP四次挥手关闭链接过程

2.TIME_WAIT的产生条件
主动关闭方在发送四次挥手的最后一个ACK会变为TIME_WAIT状态,保留此状态的时间为两个MSL

3.TIME_WAIT两个MSL的作用
可靠安全的关闭TCP连接。比如网络阻塞,主动方最后一个ACK被动方没收到,这时被动方会对FIN开启TCP重传,发送多个FIN包,这时尚未关闭的TIME_WAIT就会把这些尾巴问题处理掉,不至于对新连接及其他服务产生影响。

4.TIME_WAIT占用的资源
少量的内存和一个fd

5.TIME_WAIT关闭的危害
1)网络不好时,如果主动方无TIME_WAIT等待,关闭前个连接后,主动方与被动方又建立新的TCP连接,这时被动方重传或延时过来的FIN包会直接影响新的TCP连接。
2)网络不好时,如果无TIME_WAIT等待,关闭连接后无新连接,当接收到被动方重传或延迟的FIN包后,会给被动方回一个RST包,可能会影响被动方其他的服务连接。

时间: 2024-10-24 19:08:36

TIME_WAIT详解的相关文章

【转载】TCP TIME_WAIT详解

TIME_WAIT状态 TCP要保证在所有可能的情况下使得所有的数据都能够正确被投递. 当关闭一个 socket 连接时,主动关闭一端的 socket 将进入TIME_WAIT状态,而被动关闭一方则转入CLOSED状态. 当一个socket关闭的时候,是通过两端互发信息的四次握手过程完成的,当一端调用close()时,就说明本端没有数据再要发送了.这好似看来在握手完成以后,socket就都应该处于关闭CLOSED状态了.但这有两个问题, 第一:我们没有任何机制保证最后的一个ACK能够正常送达 第

TCP TIME_WAIT 详解

先放上TCP状态转换图再放上三次握手然后放上四次挥手OK,我们发现在四次挥手中出现了TIME_WAIT 状态 1.time_wait状态是什么简单来说:time_wait状态是四次挥手中server向client发送FIN终止连接后进入的状态. 上面图为tcp四次挥手过程 这里写图片描写叙述 能够看到time_wait状态存在于client收到serverFin并返回ack包时的状态 当处于time_wait状态时,我们无法创建新的连接,由于port被占用. 2.为什么会有time_wait状态

服务器TIME_WAIT和CLOSE_WAIT详解和解决办法

转载的服务器TIME_WAIT和CLOSE_WAIT详解和解决办法

netstat状态详解

一.生产服务器netstat tcp连接状态................................................................................ 2 1.1生产服务器某个业务LVS负载均衡上连接状态数量............................................... 2 1.2生产服务器某个业务web上连接状态数量...............................................

《TCP/IP详解卷1:协议》第17、18章 TCP:传输控制协议(2)-读书笔记

章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP:网际协议(1)-读书笔记 <TCP/IP详解卷1:协议>第3章 IP:网际协议(2)-读书笔记 <TCP/IP详解卷1:协议>第4章 ARP:地址解析协议-读书笔记 <TCP/IP详解卷1:协议>第5章 RARP:逆地址解析协议-读书笔记 <TCP/IP详解卷1:协

TCP协议状态详解

原文出自:Vimer的程序世界 1.建立连接协议(三次握手)(1)客户端发送一个带SYN标志的TCP报文到服务器.这是三次握手过程中的报文1.(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志.因此它表示对刚才客户端SYN报文的回应:同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯.(3) 客户必须再次回应服务段一个ACK报文,这是报文段3. 2.连接终止协议(四次握手) 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭.这原则是当一

用netstat查看网络状态详解

--用netstat查看网络状态详解 -----------------------------2014/06/11 一.Linux服务器上11种网络连接状态:                                          图:TCP的状态机 通常情况下:一个正常的TCP连接,都会有三个阶段:1.TCP三次握手;2.数据传送;3.TCP四次挥手 注:以下说明最好能结合"图:TCP的状态机"来理解. SYN: (同步序列编号,Synchronize Sequence

【转】TCP/IP详解学习笔记(二)

TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节 1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统路由表. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface192.168.11.0    *               255.

TCP/IP详解之一:连接建立、断开

<TCP/IP详解·卷一>看了三遍才算整明白个大概,一直想做个总结. 最初对TCP的印象很简单:丢包重传.流数据.丢包重传很好理解,“流数据”是什么鬼? 知乎上看到个极好的解释:把TCP看作用管子往对端灌水,水是数据,它们之间没有边界,且先发先到:UDP是往对端滚小球,它们之间有明确边界,且可能每个小球速度不同,先滚的不一定先到,得自己处理乱序. 编码上也可看出,TCP的send回调带有dwNumberOfBytesTransferred参数,描述本次网络IO发送了多少字节数据,而不是给它多少