当TCP主动关闭套接字时,采用四步握手机制来彻底关闭连接。如图: 发送主动关闭的一方在最终转换消息时经历了一个TIME_WAIT状态,并且保持这个状态一段时间。TIME_WAIT状态存在打作用是什么? TIME_WAIT状态主要用于:重传机制,避免相同序列号导致与上次延迟数据发生混,。 ...
分类:
其他好文 时间:
2017-01-31 11:26:06
阅读次数:
289
为何TCP ”四次分手“ 的过程中会有一个TIME_WAIT状态?这个状态有什么意义呢?这是网络中的一个经典问题,本文将给出精简的回答。 ...
分类:
其他好文 时间:
2017-01-29 12:27:31
阅读次数:
161
TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中,最值得注意的状态有 ...
分类:
其他好文 时间:
2017-01-24 14:45:20
阅读次数:
283
查看nf_conntrack相关数值:cat/proc/sys/net/netfilter/nf_conntrack_max
sysctlnet.netfilter.nf_conntrack_buckets
cat/proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established
cat/proc/sys/net/netfilter/nf_conntrack_tcp_timeout_time_wait
cat/proc/sys/net/ne..
分类:
其他好文 时间:
2017-01-16 01:14:52
阅读次数:
475
TIME_WAIT的产生原因 因为TCP连接是双向的,所以在关闭连接的时候,两个方向各自都需要关闭。先发FIN包的一方执行的是主动关闭;后发FIN包的一方执行的是被动关闭。主动关闭的一方会进入TIME_WAIT状态,并且在此状态停留两倍的MSL时长。 MSL指的是报文段的最大生存时间,如果报文段在网 ...
分类:
其他好文 时间:
2017-01-13 21:08:06
阅读次数:
268
转:摘自《图解TCP/IP》P204 三次握手与四次挥手的状态转移图如下: 如图,由于第二次握手接收端发送SYN+ACK信号所以握手只用了三次,挥手由于接收端ACK和FIN分两次发的,所以挥手需要四次。 最后接收端需要一个TIME_WAIT状态,如果TCP client端最后一次发送的ACK丢失了, ...
分类:
其他好文 时间:
2017-01-12 11:02:22
阅读次数:
164
阿里一面:1. 入场就是红黑树,B数2. apache和nginx源码看过多少,平时看过什么技术论坛,还有没有看过更多的开源代码3. pthread 到自旋锁4. hadoop源码看过没5. 为什么选择TCP而不是直接用服务器6. 你们的大数据怎么处理的,还怎么优化,说了个公司业务决定分布式是不可能 ...
分类:
其他好文 时间:
2017-01-08 13:16:40
阅读次数:
174
TCP连接客户端状态转变过程closed——>SYN_sent——>ESTABLISHED——>Fin_wait1——>Fin_wait2——>Time_wait——>closedTCP连接服务端状态转变过程closed——>listen——>SYN_recvd——>ESTABLISHED——>close_wait——>Lask_Ack——>clo..
分类:
其他好文 时间:
2017-01-05 18:47:07
阅读次数:
228
一、写在前面相信很多人都遇到过服务器出现大量TIME_WAIT的情况,大多数的解决办法是sysctl修改如下参数net.ipv4.tcp_tw_recycle=1#快速回收TIME_WAITnet.ipv4.tcp_tw_reuse=1#reuseTIME_WAITnet.ipv4.tcp_timestamps=1#上述两项生效的前提是TCP连接两端都要启用TCP时间戳过一..
分类:
其他好文 时间:
2017-01-03 17:22:59
阅读次数:
232
2、全部11种状态 2.1、客户端独有的:(1)SYN_SENT (2)FIN_WAIT1 (3)FIN_WAIT2 (4)CLOSING (5)TIME_WAIT 。 2.2、服务器独有的:(1)LISTEN (2)SYN_RCVD (3)CLOSE_WAIT (4)LAST_ACK 。 2.3、 ...
分类:
其他好文 时间:
2016-12-31 20:00:11
阅读次数:
244