windows中能否设置不处理TCP中的RST消息?

jades 发布于 2013/04/23 21:56
阅读 555
收藏 0

最近遇到一个问题问题如下,Server端处于某种状态长达9分钟左右,查询了相关资料推测可能原因为:Server端发送了FIN—ACK之后,没有收到Client的ACK包,Server端将一直处于LAST_ACK态;根据TCP/IP详解卷1中的分析,此状态最多可持续9分钟。这个时间对的上,但自己尝试去复现时,发现Server端确实会处于LAST_ACK态,但存在问题,具体流程如下:

1. Client重启后再次发起SYN;

2.Server端会回应ACK;

3.Client会检测到ACK中携带的Seq和ACK值都是上一次的,从而回应RST消息.

4. Server收到RST后,就将上轮的Socket链接清除掉了。

5. Client再次发起SYN请求,此时可以正常建链了。

也就是说,跟推测相比:会由于Client回应了一个RST消息后,Server会将处于LAST_ACK状态的链接清除掉。因此推测是不是Windows中是不是有什么设置可以过滤掉RST消息,但没查到相关资料

Server端是Win2000,请教各位大侠,win2000 Server中能够设置不处理RST消息呢?或者在处于LAST_ACK状态下不去回应SYN请求?

多谢各位!


加载中
返回顶部
顶部