计算机网络问题之TimeWait和CloseWait。

TimeWait状态会出现在什么时候?服务端出现大量TimeWait状态怎么办?

TimeWait出现在四次挥手中。

我们可以先画出四次挥手的图。

		C						S
Fin_Wait_1    ----->
						<------	Close_Wait
Fin_Wait_2		
						<------ Last_Ack
Time_Wait     ----->
								Close
Close

首先客户端向服务端发送Fin标志位,表示要进入关闭连接了,客户端进入Fin_Wait_1状态

服务端向客户端发送ACK标志,表示已经收到关闭连接的请求了,但是可能还有一部分数据没有发送完毕,服务端进入Close_Wait状态客户端收到后进入Fin_Wait_2状态

等待服务端把数据传输完毕后,向客户端发送Fin、ACK标志,表示已经发送完剩下的数据了。服务端进入Last_Ack状态客户端收到后进入Time_Wait状态

客户端向服务端发送Ack标志,表示自己已经收到了关闭连接的请求。在等待 2倍的最大传输数据长度后,客户端会关闭。

如果服务端出现大量Time_Wait状态,表示服务端可能在此次连接中扮演客户端的角色,去访问另一个服务器。

此时,由于连接关闭数量多,默认的2MSL时间过于长,导致存在大量TimeWait状态,可以通过调整TimeWait等待的时间来减少出现TimeWait的数量。

Close_Wait状态出现在什么时候?服务端出现大量Close_Wait怎么办?

Close_Wait状态出现在四次挥手中。

如果客户端先关闭,服务端收到了这个关闭请求,但是没有处理,就会堆积大量的Close_Wait状态。

排查程序自身的问题:

  1. 是否对方发送关闭连接自己没有检测到
  2. 自己得知对方关闭连接却没有做任何事情。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值