是否应该将重传的 RTT 测量值包含在 RTT 的运行平均值中?

网络工程 tcp
2022-02-12 04:48:03

我已经看到,在 TCP 中使用以前的往返时间测量来估计往返时间,并且这个估计用于计算超时时间。我想知道,是否应该将重传数据包的往返时间包括在估计中?

提前致谢。

2个回答

是的。重新传输的段有自己的计时器,并且不会重新使用假定丢失段的计时器。没有理由不使用它测量的 RTT。

在 RFC 1122 (ch 4.2.3.1) 中,Karn 算法的第一部分说,在计算平滑 RTT 时,必须忽略重传段的测量 RTT。

RFC 6298 (ch 3) 通过使用 TCP 时间戳选项授权重传段来更新此行为,以用于计算 SRTT,因为它消除了歧义。

TCP 时间戳不是强制性的,它们在 *BSD 和 Linux 中默认使用。但是,在 Windows 操作系统中,如果对等方在启动连接时使用它们,则使用它们。