当前位置:  开发笔记 > 运维 > 正文

是什么导致发送TCP/IP重置(RST)标志?

如何解决《是什么导致发送TCP/IP重置(RST)标志?》经验,为你挑选了6个好方法。

我试图找出为什么我的应用程序的TCP/IP连接每10分钟(确切地说,在1-2秒内)打嗝.我运行Wireshark并发现在10分钟不活动后,另一端正在发送一个设置了重置(RST)标志的数据包.谷歌搜索告诉我"RESET标志表示接收器已经变得混乱,因此想要中止连接"但这有点不足我需要的细节.可能是什么导致了这个?并且沿途的某个路由器是否有可能对此负责,或者这总是来自另一个端点?

编辑:我的计算机和另一个端点之间有一个路由器(特别是Linksys WRT-54G) - 在路由器设置中我应该寻找什么?



1> Will Dean..:

一个'路由器'可能正在做任何事情 - 特别是NAT,这可能涉及任何数量的错误缠扰交通流量......

设备发送RST的一个原因是响应于接收到关闭套接字的数据包.

很难给出一个坚定但一般性的答案,因为TCP自成立以来就已经访问过每一个可能的变态,并且各种各样的人可能会插入RST以试图阻止流量.(例如,有些'国家防火墙'就像这样工作.)


路由器的TCP连接超时10分钟或路由器启用"网关智能数据包检测".
提示路由器可能存在错误,这有点丰富.

2> Alexander..:

在对等体上也运行数据包嗅探器(例如,Wireshark)以查看它是发送RST的对等体还是中间的某个人.



3> OutputLogic..:

我花了很长时间来解决这个问题.所提出的解决方案都没有奏效.原来我们的系统管理员错误地将相同的静态IP分配给属于不同组但位于同一网络的两个不相关的服务器.最终结果是间歇性地丢弃连接,浏览器必须刷新几次以获取网页,以及其他奇怪的事情.



4> Brian Knobla..:

如果连接闲置了x分钟,某些防火墙会这样做。一些ISP也出于各种原因将其路由器设置为执行此操作。

在这个时代,您将需要妥善处理(根据需要重新建立)该条件。


重新建立连接就好了,问题在于短暂的断开连接会不必要地引起警报。

5> 小智..:

如果存在执行NAT的路由器,尤其是资源少的低端路由器,它将首先老化最旧的TCP会话。为此,它RST在数据包中设置标志,该标志有效地告诉接收站(非常讨厌)关闭连接。这样做是为了节省资源。



6> 小智..:

RST由执行主动关闭的一方发送,因为它是发送最后一个ACK的一方。因此,如果它从处于错误状态的被动关闭一侧接收到FIN,它将发送RST数据包,该数据包指示发生错误的另一侧。


双方在正常关闭时发送和接收FIN。这种情况没有任何问题,因此,没有理由让一方发出重置请求。第一句话甚至没有意义。
[RST,ACK]也可以由在未监听的端口上接收SYN的一方发送。在我遇到的情况下,RST / ACK在第一个SYN之后约60秒出现。第一次世界大战
推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有