RTT & RTO
RTT(Round-Trip Time):往返时延。是指数据从网络一端传到另一端所需的时间。通常,时延由发送时延、传播时延、排队时延、处理时延四个部分组成。
(1)发送时延
发送时延是结点将数据分组发送到传输媒介所需要的时间,也就是从分组的第一个比特开始发送算起,到最后一个比特发送完毕所需要的时间。显然,发送时延与网络接口/信道的传输速率成反比,与数据分组的长度成正比。
(2)传播时延
传播时延是电磁波在信道中传播一定距离所需要花费的时间,传播时延和信道的传输速率无关, 而是取决于传输媒介的长度,以及某种物理形式的信号在传输媒介中的传播速度。
如电磁波在自由空间的传播速度是光速,即3×105km/s。电磁波在网络传输媒体中的传播速度比在自由空间中的传播速度要略低一些,在铜线中的传播速度约为2.3×105km/s ,在光纤中的传播速度约为2.0×105km/s 。
(3)排队时延
排队时延是分组在所经过的网络结点的缓存队列中排队所经历的时延,排队时延的长短主要取决于网络中当时的通信量,当网络的通信流量大时,排队时间就长,极端情况下,当网络发生拥塞导致分组丢失时,该结点的排队时延视为无穷大。
此外,在有优先级算法的网络中,排队时延还取决于数据的优先级和结点的队列调度算法。
(4)处理时延
处理时延是分组在中间结点的存储转发过程中而进行的一些必要的处理所花费的时间,这些处理包括提取分组的首部,进行差错校验,为分组寻址和选路等。
RTO(Retransmission TimeOut)
为了防止数据报丢失,当TCP发送一个报文时,就启动重传计时器,有2种情况:
1.若在计时器超时之前收到了特定报文的确认,则撤消这个计时器;
2.特定数据报在计时器超时前没有收到确认,则重传该数据报,并把计时器复位
RTT简单来说,就是我发送一个数据包,然后对端回一个ack,那么当我接到ack之后,就能计算出从我发送出包到接到过了多久,这个时间就是RTT。RTT的计算是很简单的,就是一个时间差。
links: https://www.imooc.com/article/29368, https://www.jianshu.com/p/bd507806d52f
参考: 百度百科