RTT and RTO

  • RTT

RTT(Round-Trip Time)往返时延,往返时延由三个部分决定:链路的传播时间,末端系统的处理时间,路由器的缓存中排队和处理时间,前面两个值相对不变,路由器的缓存中的排队和处理时间会随着整个网络拥塞程度
的变化而变化,所以RTT的变化在一定程度上反映了网络拥塞程度的变化.

RTT怎么获得?

第一种方式:通过tcp报文中的timestamp
RTT=当前时间-timestamp回显的时间
timestamp回显的时间代表数据包发送出去的时间

第二种方式:重传队列中数据包的TCP控制块

  • RTO

RTO(retransmission time out):超时重传时间,tcp能够保证数据的完整性和有效性,那么在不确定的网络环境中,tcp如何判断数据报已经丢失并且做出相应调整呢?第一种方式是:RTO和RTT共同作用的结果,RTT反应了实时状态下网络的拥塞程度,对于一台主机来说,我们可以理解为主机认为在RTT的时间内,一定能收到发送报文的ack,如果未在RTT内收到的话,那么可以在一定程度上认为数据报已经丢失,需要重发。但是RTT的波动性会造成判断不准确,一般来说RTO大于RTT,这给了动态的网络环境一些buffer time,如何根据RTT设置RTO的值,能够对网络性能产生很大的影响;第二种方式:tcp的快速重传机制,之前我们讲到拥塞控制,这不需要等待rto超时。tcp中有一个累计确认机制(当接收端收到比期望序号大的报文段时,便会重复发送最近一次确认的报文段的确认信号,我们称之为冗余ACK),比如说服务器A一次发送五个数据包给服务器B,因为某些原因,数据包2在传输的过程中丢失了,服务器A在收到服务器B发送的有关数据包3、4、5的ack信息中,会包含期望收到的序列号信息也就是ack 2,服务器A在收到多个需要ACK2的时候,会判定数据包2已经丢失,然后对数据包2进行重传。一般来说,收到3次冗余的ack就会判定该数据包已经丢失。快速重传的机制用来防止tcp拥塞控制的时候的错误判断导致信息传输效率下降。

RTT and RTO相关推荐

  1. TCP中的RTT和RTO

    一.RTT和RTO的概念 TCP作为一个面向连接的.可靠的传输协议,内部实现了一个重传计时器来保证数据能传输到对方.每发送一个数据包,就给这个数据设置一个重传计时器.如果在计时器超时之前收到了针对这个 ...

  2. TCP-IP详解: RTT和RTO的计算方法

    参考教材:TCP-IP Guide 基本概念 RTT: 发送一个数据包到收到对应的ACK,所花费的时间 RTO: 发送数据包,启动重传定时器,重传定时器到期所花费的时间,称为RTO 对于segment ...

  3. TCP RTT与TCP RTO关系详解

    本文目录 1,TCP的RTT和TCP的RTO的定义 1.1,什么是TCP的RTT 1.2,什么是TCP的RTO 2,TCP的当前RTT和RTO的计算 2.1,开始讲RTT计算算法前,我们先理解一下TC ...

  4. [通俗易懂]深入理解TCP协议(下):RTT、滑动窗口、拥塞处理

    转自即时通讯网:http://www.52im.net/ 前言 此文为系列文章的下篇,如果你对TCP不熟悉的话,请先看看上篇<[通俗易懂]深入理解TCP协议(上):理论基础> . 上篇中, ...

  5. TCP中RTT时延的理解

    最近服务器环境部署了tcprtt网络时延监控,发现不同服务器不同节点之间的RTT时延表象非常奇怪,无法准确的判断服务器的网络情况.因此需要弄清楚什么是RTT,以及能否作为服务器网络性能的检测指标. 1 ...

  6. 排队理论解释TCP/IP网络拥塞是如何影响TCP的RTT的波动

    部门团建,大家都去长隆了,也有去澳门广西的...我去了梦里...本来我也报了名的,想单独带着女儿独处两天,不光为了培养跟女儿的感情,也是想让老婆歇两天...只可惜女儿最近生病,去不了了,六一儿童节的表 ...

  7. 数据中心的 TCP-Delay ACK 与 RTO, RACK

    TCP 对 RTO 有个最小值限制,一般限制为 MIN_RTO = 200ms.之所以有这个限制,在于要适应 Delay ACK,而 Delay ACK 的意义,不多说,摘自 RFC1122: MIN ...

  8. TCP 的那些事儿(下)

    转自:http://coolshell.cn/articles/11609.html 这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇<TCP的那些事儿(上)> 上篇中,我们 ...

  9. kcp 协议分析 基于udp的可靠协议

    项目地址:https://github.com/skywind3000/kcp 此项目是基于c语言的 其他语言实现自行搜索 简介 KCP是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价 ...

最新文章

  1. 我们需要什么样的数据架构?
  2. mysql中一个表最多能有几个auto_mysql--一个表上可以指定几个auto_increment
  3. MongoDB9高可用的MongoDB集群
  4. python获取时间周数_【手把手教你】Python量化策略风险指标
  5. 阿里云资深技术专家李克畅谈边缘云计算趋势与实践
  6. 光纤收发器的详细选择方法
  7. Vue 快速集成ElementUI
  8. 算法题-字符串匹配算法
  9. 最经济方案 谈P2P电影服务器(转)
  10. python下载付费文档教程-用Python批量爬取付费vip数据,竟然如此简单
  11. ie和chrome浏览器下onproperty事件oninput onpropertychange的相应和相应属性的获取
  12. 毫米和像素怎么换算_像素换算(像素和毫米换算器)
  13. sap 固定资产配置导图
  14. HTML 修真录------深渊三君王
  15. Android 视频播放器
  16. 【抽样技术】CH2 简单随机抽样
  17. 迁移学习-域适应损失函数MMD-代码实现及验证
  18. java mye,Java - MyEclipse中国官方网站-技术交流论坛
  19. 一个有用的Win32消息处理宏HANDLE_MSG
  20. C语言使用getch()读取方向键

热门文章

  1. win2d CanvasCommandList 使用方法
  2. [计算机网络作业]第一章章节习题
  3. html中怎么让英文排版,css如何实现英文对话排版
  4. 兼容ie浏览器代码处理
  5. ReentrantLock实现原理(可重入锁 )
  6. 拦截器和过滤器的同异
  7. Gravity 介绍
  8. GRAF: Generative Radiance Fields for 3D-Aware Image Synthesis
  9. Flask+Vue搭建系统
  10. 微信小程序运行及更新机制