tcp 重传超时次数

数据被重发以后若还是收不到应答, 则进行再次发送. 此时等待确认应答时间会以 2 倍, 4 倍的指数函数延长.

此外, 数据也不会被无限, 反复的重发. 达到一定的重发次数之后, 如果仍然没有任何确认应答返回, 就会判断为网络或者对端主机发生了异常, 强制关闭连接.

Linux 的设置

最小重传时间是 200ms

最大重传时间是 120s

重传次数为 15TCP retransmits an unacknowledged packet up to tcp_retries2 sysctl setting times(defaults to15)usingan exponential backoff timeoutforwhich each retransmission timeoutisbetween TCP_RTO_MIN(200ms)andTCP_RTO_MAX(120seconds).Oncethe15thretryexpires(bydefault),the TCP stack will notify the layers above(IE.App)ofa broken connection.

ThevalueofTCP_RTO_MINandTCP_RTO_MAXishardcodedintheLinuxkernelanddefinedbythe following constants:

#defineTCP_RTO_MAX((unsigned)(120*HZ))

#defineTCP_RTO_MIN((unsigned)(HZ/5))

Linux 2.6+ uses HZ of 1000ms, so TCP_RTO_MIN is ~200 ms and TCP_RTO_MAX is ~120 seconds. Given a default value of tcp_retries set to 15, it means that it takes 924.6 seconds before a broken network link is notified to the upper layer (IE. application), since the connection is detected as broken when the last (15th) retry expires.

image.PNGFromtheLinuxkernel doc

tcp_retries2-INTEGER

Thisvalueinfluences the timeoutofan alive TCP connection,

when RTO retransmissions remain unacknowledged.GivenavalueofN,a hypothetical TCP connection following

exponential backoffwithan initial RTOofTCP_RTO_MIN would

retransmit N times before killing the connection at the(N+1)th RTO.

Thedefaultvalueof15yields a hypothetical timeoutof924.6

secondsandisa lower boundforthe effective timeout.

TCP will effectively timeoutat the first RTO which exceeds the

hypothetical timeout.

RFC1122recommends at least100secondsforthe timeout,

which corresponds to avalueofat least8.

参考地址

https://pracucci.com/linux-tcp-rto-min-max-and-tcp-retries2.html

来源: http://www.jianshu.com/p/51d7f7fb3e4b

linux tcp重传超时时间,tcp 重传超时次数相关推荐

  1. 服务超时时间如何设置、如何对超时时间治理、超时设计原则一文揭秘!

    微服务是⼀种分布式架构,系统内各部分(服务)被部署为单独的应用程序,并通过某种远程访问协议进⾏通讯.分布式应⽤的挑战之⼀就是如何管理远程服务的可用性和它们的响应.本⽂主要探讨服务的响应时间对系统的影响 ...

  2. php mysql 超时时间_php mysql超时设置方法

    php mysql超时设置方法,源码,参数,底层,层面,都是 php mysql超时设置方法 易采站长站,站长之家为您整理了php mysql超时设置方法的相关内容. php mysql超时设置方法: ...

  3. RabbitMQ消息超时时间、队列消息超时时间、队列超时时间

    欢迎来到梁钟霖个人博客网站.本个人博客网站提供最新的站长新闻,各种互联网资讯. 还提供个人博客模板,最新最全的java教程,java面试题.在此我将尽我最大所能将此个人博客网站做的最好! 谢谢大家,愿 ...

  4. httpclient: 设置请求的超时时间,连接超时时间等

    1.为什么要设置HTTP timeout? 1.与用户操作相关的接口,如果不设置超时时间,将会出现长时间的无响应,严重影响用户体验. 2.负载很高的系统,因为大量调用耗时长的接口,导致性能急剧下降,从 ...

  5. 相对超时时间和绝对超时时间

    我理解是: 绝对超时时间是一个固定的值,等到该值后就不再等待 (绝对超时时间就是一个固定的值,例如19:54:) 相对超时时间是当前时间加一个固定的值,等到该值后就不再等待(相对超时时间可以理解为是当 ...

  6. php fread 超时时间,fread的超时时间

    我正在从PHP调用TCL脚本.我从TCL过程向PHP发送一个唯一的字符串以确保脚本已经结束.fread的超时时间 如果我不发送该字符串,那么我在PHP中的fread将永远被阻塞. // PHP代码 $ ...

  7. pip 设置超时时间_pip install 超时

    pip install pyinstaller Collecting pyinstaller Downloading https://files.pythonhosted.org/packages/3 ...

  8. TCP/IP协议栈:TCP超时重传机制

    目录 基础概念 重传超时时间RTO RTO的设定 连接往返时间RTT RTT的计算 Karn算法 往返时间测量 重传 拥塞避免算法 快速重传和快速恢复算法 重新分组 网络数据包丢失,重传和重复确认 是 ...

  9. TCP协议基于计时器的重传策略模拟实战

    前言: 关于TCP协议的重传策略,是TCP数据传输正确性的重要保证. 由于下层网络层协议可能出现的包丢失.重复.失序包等问题,当TCP协议基于某种策略确认当前包已经发生以上情况,就会启动重传. TCP ...

最新文章

  1. 产品经理一定要懂得“借力”
  2. Android10.0 Binder通信原理(十一)-Binder总结
  3. networkx中求解平均度_机器学习之统计学二(分位数、平均数)
  4. RunTime运行时在iOS中的应用之UITextField占位符placeholder
  5. Django基于正则表达式的URL
  6. vue 常用ui组件
  7. CCF201812-4 数据中心(100分)【Kruskal算法】
  8. 将图的广度优先遍历在邻接矩阵和邻接表存储结构上分别实现_《青岛大学-王卓-数据结构》B站学习...
  9. 训练深度神经网络时验证损失可能低于训练损失的三个原因:
  10. 基于matlab的暴雨强度公式参数推求,小样本流域降雨强度公式和设计降雨分布的推求方法...
  11. html5 plus 图片下载保存到手机相册
  12. opengl 3D平衡球小游戏
  13. php给页面加背景图片,html怎么添加背景图片且让图片平铺整个页面?(代码示例)...
  14. 如何复位———异步复位,同步释放的方式,而且复位信号低电平有效(转)
  15. 最激励人心\作为一个程序员
  16. 基于龙格-库塔法Runge-Kutta的常微分方程的求解matlab仿真
  17. 关于互相尊重和直言有讳
  18. word导出html乱码怎么办,Word文档文件变成乱码如何完全修复?-修复百科
  19. 国外问卷调查所需准备
  20. 白平衡(Color Constancy,无监督AWB):CVPR2019论文解析

热门文章

  1. Android编译环境——VMware虚拟机安装配置
  2. gevent的碎碎念(一)——协程
  3. Hadoop HBase
  4. Docker时代来临,你的团队准备好了吗?
  5. (转)Inno Setup入门(三)——指定压缩方式
  6. 【译】ASP.NET MVC 5 教程 - 4:添加模型
  7. ACCESS中执行sql语句
  8. 工控2月补丁星期二:西门子、施耐德电气修复近50个漏洞
  9. 【BlackHat】黑帽大会上值得关注的安全工具
  10. 网络间谍组织 SideCopy 攻击印度政府和军队组织