tcp 出现rst情况整理

转载 2015年11月20日 15:40:35

原文链接:http://www.cnblogs.com/lulu/p/4149562.html


正常情况tcp四层握手关闭连接,rst基本都是异常情况,整理如下:

1. GFW 

2. 对方端口未打开,发生在连接建立

   如果对方sync_backlog满了的话,sync简单被丢弃,表现为超时,而不会rst

3. close Socket 时recv buffer 不为空

  例如,客户端发了两个请求,服务器只从buffer 读取第一个请求处理完就关闭连接,tcp层认为数据没有正确提交到应用,使用rst关闭连接。

3. 移动链路

      移动网络下,国内是有5分钟后就回收信令,也就是IM产品,如果心跳>5分钟后服务器再给客户端发消息,就会收到rst。也要查移动网络下IM 保持<5min 心跳。

4. 负载等设备

      负载设备需要维护连接转发策略,长时间无流量,连接也会被清除,而且很多都不告诉两层机器,新的包过来时才通告rst。

   Apple push 服务也有这个问题,而且是不可预期的偶发性连接被rst;rst 前第一个消息write 是成功的,而第二条写才会告诉你连接被重置,

  曾经被它折腾没辙,因此打开每2秒一次tcp keepalive,固定5分钟tcp连接回收,而且发现连接出错时,重发之前10s内消息。

5. SO_LINGER 应用强制使用rst 关闭

    该选项会直接丢弃未发送完毕的send buffer,可能造成业务错误,慎用; 当然内网服务间http client 在收到应该时主动关闭,使用改选项,会节省资源。

  好像曾经测试过haproxy 某种配置下,会使用rst关闭连接,少了网络交互而且没有TIME_WAIT 问题

6. 超过超时重传次数、网络暂时不可达

7. TIME_WAIT 状态

  tw_recycle = 1 时,sync timestamps 比上次小时,会被rst

7. 设置 connect_timeout

     应用设置了连接超时,sync 未完成时超时了,会发送rst终止连接。

8. 非正常包

  连接已经关闭,seq 不正确等

9. keepalive 超时

    公网服务tcp keepalive 最好别打开;移动网络下会增加网络负担,切容易掉线;非移动网络核心ISP设备也不一定都支持keepalive,曾经也发现过广州那边有个核心节点就不支持。

10. 待整理


TCP的RST分节解析

转载:http://hi.baidu.com/tim_bi/blog/item/3daa464a6378ee3208f7ef12.html 有三个条件可以产生RST包: 1. 建立连接的S...
  • zhangxinrun
  • zhangxinrun
  • 2012年07月10日 09:29
  • 3216

rst是复位报文 几种TCP链接中出现rst的情况

1 端口未打 开 服务器程序端口未打开而客户端来连接。这种情况是最为常见和好理解的一种了。去 telnet 一个未打开的 TCP 的端口可能会出现这种错误。这个和操作系统的实现有关。在某些情况下...
  • seulzz
  • seulzz
  • 2017年08月14日 17:32
  • 177

tcp 出现rst情况整理

http://www.cnblogs.com/lulu/p/4149562.html 正常情况tcp四层握手关闭连接,rst基本都是异常情况,整理如下: 1. GFW  2. 对方端口未打开...
  • lqglqglqg
  • lqglqglqg
  • 2015年09月24日 17:00
  • 342

TCP连接中出现RST的情况

建立连接的SYN到达某端口,但是该端口上没有正在监听的服务 如:IP为192.168.1.33的主机上并没有开启WEB服务(端口号为0x50),这时我们通过IE去访问192.168.1.33,通过W...
  • u014707812
  • u014707812
  • 2016年08月02日 14:58
  • 547

原 几种TCP连接中出现RST的情况

目录[-] 1 端口未打开 2 请求超时 3 提前关闭 4 在一个已关闭的socket上收到数据 总结 参考文献: 应该没有人会质疑,现在是一个网络时代了。应该不少程...
  • xiaofei0859
  • xiaofei0859
  • 2014年04月28日 09:36
  • 1080

TCP中出现RST包的几种情况

应该没有人会质疑,现在是一个网络时代了。应该不少程序员在编程中需要考虑多机、局域网、广域网的各种问题。所以网络知识也是避免不了学习的。而且笔者一直觉得TCP/IP网络知识在一个程序员知识体系中必需占有...
  • messiran10
  • messiran10
  • 2016年05月26日 22:45
  • 1752

TCP收到RST的几种情况

在某些特殊情况下,TCP连接的一端会向另一端发送复位报文段,以通知对方关闭或重新建立连接。 一般来说,有以下三种情况: 1.  访问不存在的端口。若端口不存,则直接返回RST,同时RST报文接收通...
  • Ilozk
  • Ilozk
  • 2017年11月29日 17:24
  • 70

【转】tcp 出现rst情况整理

转自:http://www.cnblogs.com/lulu/p/4149562.html 正常情况tcp四层握手关闭连接,rst基本都是异常情况,整理如下: 1. GFW 2. ...
  • dabang_007
  • dabang_007
  • 2015年11月03日 10:40
  • 200

tcp出现rst的情况

正常情况tcp四层握手关闭连接,rst基本都是异常情况,整理如下: 1. GFW  2. 对方端口未打开,发生在连接建立    如果对方sync_backlog满了的话,sync简单...
  • xiongwenwu
  • xiongwenwu
  • 2016年11月08日 16:15
  • 147

TCP协议---RST

RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误; 发送RST包关闭连接时,不必等缓冲区的...
  • zhangbinalan
  • zhangbinalan
  • 2014年12月02日 15:40
  • 5437
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:tcp 出现rst情况整理
举报原因:
原因补充:

(最多只允许输入30个字)