1. 首页
  2. 网络技术
  3. 网络基础
  4. 重传定时器的计算-jpeg标准的中文文档pdf

重传定时器的计算-jpeg标准的中文文档pdf

上传者: 2024-07-19 13:13:05上传 PDF文件 27.27MB 热度 6次

25.7 重传定时器的计算

到目前为止,讨论过的定时器的取值都是固定的:延迟ACK 200ms,连接建立定时器7.5秒,保活定时器2小时等等。然而,最后两个定时器—重传定时器和持续定时器—的取值依于连接上测算得到的RTT。在讨论实现定时器时限计算和设定的代码之前,首先应理解连接RTT的测算方法。

TCP的一个基本操作是在发送了需对端确认的报文段后,设置重传定时器。如果在定时器时限范围内未收到ACK,该报文段被重发。TCP要求对端确认所有数据报文段,不携带数据的报文段则无需确认(例如纯ACK报文段)。如果估算的重传时间过小,响应到达前即超时,造成不必要的重传;如果过大,在报文段丢失之后,发送重传报文段之前将等待一段额外的时间,降低了系统的效率。更为复杂的是,主机间的往返时间动态改变,且变化范围显著。

Net/3中TCP计算重传时限(RTO)时不仅要测量数据报文段的往返时间(nticks),还要记录已平滑的RTT估计器(srtt)和已平滑的RTT平均偏差估计器(rttvar)。平均偏差是标准方差的良好近似,计算较为容易,无需标准方差的求平方根运算。Jacobson(1988b)讨论了RTT测算的其他细节,给出下面的公式:

[ \delta = nticks - srtt ]

[ srtt \leftarrow srtt + g \times \delta ]

[ rttvar \leftarrow rttvar + h(|\delta| - rttvar) ]

[ RTO = srtt + 4 \times rttvar ]

(\delta) 是最新测量的往返时间(nticks)与当前已平滑的RTT估计器(srtt)间的差值。g是用到RTT估计器的增益,设为1/8。h是用到平均偏差估计器的增益,设为1/4。这两个增益和RTO计算中的乘数4有意取为2的乘方,从而无需乘、除法,只需简单的移位操作就能够完成运算。

有趣的是,RTT和RTO相关研究不仅限于理论,还有很多实际应用。论文研究了CIR RTT和RTO感知的三色标记算法,对于想要深入了解RTT测量和改进算法的读者,可以参考这篇论文。如果你对具体实现感兴趣,可以下载RTT_ESP8266_TCP MQTT进行实际操作。

TCP四种定时器重传定时器坚持计时器保活定时器时间等待计时器也是一个不错的资源,帮助理解TCP协议中各种定时器的具体实现和应用场景。对于初学者来说,RTO基本论述是一篇很好的入门文章,能够帮助你快速掌握RTO的基本概念和计算方法。

希望这些资源能帮助你更好地理解和应用TCP重传定时器的计算方法!

下载地址
用户评论