在 Kurose 和 Ross 的“计算机网络:一种自上而下的方法”中,他们说:
大多数 TCP 实现一次只进行一次 SampleRTT 测量,而不是测量每个传输段的 SampleRTT。
(段的 SampleRTT 是从发送段(即传递到 IP)到收到段的确认之间的时间量。)
为什么?例如,最多测量一半发送的段有什么问题?
在 Kurose 和 Ross 的“计算机网络:一种自上而下的方法”中,他们说:
大多数 TCP 实现一次只进行一次 SampleRTT 测量,而不是测量每个传输段的 SampleRTT。
(段的 SampleRTT 是从发送段(即传递到 IP)到收到段的确认之间的时间量。)
为什么?例如,最多测量一半发送的段有什么问题?
与大多数系统工程主题一样,性能和准确性之间存在平衡。在 TCP 的情况下,它可以每隔一个段进行一次 SampleRTT 测量,但这意味着更高的处理延迟,因此也意味着更高的排队延迟等。单个 SampleRTT 测量有助于 TCP 在保持精简的同时了解 RTT快速地。
每个节点都希望花费尽可能少的时间来处理每个段,以便它可以被转发到网络上并继续前进到下一个段。
[编辑] 此外,每次后续测量的价值都低于前一次。第一次测量让您知道 RTT 的邻域,第二次帮助您对其进行微调,等等。因此,您测量的 RTT 越多,回报就越少,特别是因为在每次测量之后,您要发送的段数越少。如果只剩下 5 个段要发送,那么测量 RTT 有什么意义?因此,第一次 RTT 测量是最重要的,也是唯一需要的。