XuQi's Blog

  • 首页

  • 归档

TCP reset及原因

发表于 2018-02-01 更新于 2019-10-20

TCP reset及原因

无故障时发送reset

TCP关闭连接的标准方式是通过FIN和FIN-ACK信号。为了关闭连接,用户需要四个报文:来自一方的FIN/ACK和ACK,以及另一方的同样报文。当你打开一个网页,可能同时打开了数十个连接(主页,新闻,广告,定期更新的图片等),要关闭所有这些有时需要数百个FIN和FIN-ACK报文。为了防止其发生,web服务器在很多情况下会在发送请求数据之后用reset断开连接。这是标准的做法,并取决于应用程序

有故障时发送reset(并不一定是通信故障)

  • 防火墙发送的reset:

    当远端服务器尝试打开连接但没有结果时,也许会看到返回RST信号。这是防火墙阻隔连接的情况。下图中,可看到发送的每一个SYN都返回以RST。

  • 由于收发一方有问题发送的reset:

可能的原因如:

  • 五个连续没有收到ACK回复的重传。当发送方没有收到任何重传回复,它就会发送一个reset信号到对端,告知其断开连接。
  •  另一个原因是连接之上几分钟都没有任何数据(分钟数取决于系统默认)。打开连接的一方通常会发送reset(但并不总是会这样做,取决于实现方式)。
# 网络基础
树莓派从DHT11温度湿度传感器读取数据
树莓派语音识别
  • 文章目录
  • 站点概览

XuQi

44 日志
30 标签
  1. 1. TCP reset及原因
    1. 1.1. 无故障时发送reset
    2. 1.2. 有故障时发送reset(并不一定是通信故障)
© 2019 XuQi
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Muse v7.3.0