14

我的理解是带宽延迟产品是指两个端点之间任何时间点“传输中”的最大数据量。

我不明白的是,为什么要将带宽乘以 RTT。带宽是底层介质的函数,例如铜线、防火光学等,RTT 是中间节点的繁忙程度、中间节点应用的任何调度、距离等的函数。RTT 可以改变,但可以考虑实际用途的带宽固定的。那么如何将一个常数值(容量也就是带宽)乘以波动值 (RTT) 来表示传输中的数据总量?

基于此,真的会很慢有很大的容量吗?RTT 的“原因”很可能会开始下降。

4

3 回答 3

25

看单位:

  • [带宽] = 字节/秒
  • [往返时间] = 秒
  • [数据量] = 字节

[数据量] = [带宽] * [往返时间]。

就单位而言,它是正确的。语义上,

什么是带宽*往返时间?这是发送者收到第一个确认之前离开发送者的数据量。也就是说,带宽 * 往返时间 = 完美条件下所需的窗口大小。

如果往返时间是从最后一个数据包开始测量的,并且发送方的出站带宽完全稳定且被充分利用,那么测量的窗口大小会准确计算传输中的数据包数量(数据和 ACK 一起)。如果您只想要一个方向,请将数量除以二。

由于往返时间是一个测量量,它自然会波动(并被平滑)。测量的带宽也可能会波动,因此估计的传输数据总量也会波动。

请注意,传输中的数据量可能随数据传输速率而变化。如果瓶颈是线路延迟,那么 RTT 可以被认为是恒定的,并且传输中的数据量将与其发送到网络的速度成正比。

当然,如果往返时间突然急剧增加,估计的最大值。传输中的数据量也会增加,但这是正确的。如果没有伴随的丢包,滑动窗口需要扩大。如果出现丢包,则需要重新考虑带宽估计(带宽延迟积会相应下降)。

于 2012-12-06T17:39:35.157 回答
10

为了补充 Jan Dvorak 的答案,您可以将“大肥管”视为花园软管。我们对管道中有多少水感兴趣。因此,我们将其“带宽”(即它可以输送水的速度)乘以软管的截面积,乘以它的长度,即 RTT,即一滴水的“长度”需要从一端到达另一端。结果是软管的体积、管道的体积、“管道中”的数据量。

于 2012-12-06T22:44:53.473 回答
1

首先,BDP 是用于性能调整的计算值,用于确定可能未确认/未确认的数据上限。这几乎总是不代表“传输中”数据的数量,而是应用调整参数的目标。如果它代表“在途”数据,那么总是没有性能调整的空间。

RTT 实际上确实会波动。这就是为什么在计算中使用预期的最坏情况 RTT。通过调整到最坏的情况,当 RTT 最差时,吞吐量效率将达到最大值。如果 RTT 得到改善,我们会更快地获得出色的 Acks,管道保持满状态并保持最大吞吐量(效率)。

“满管”是用词不当。目标是保持 Tx 端充满,因为 Rx 包含通常小于传输数据包的 Ack 数据包。

RTT 还聚合了不对称的上行和下行带宽(ADSL、卫星调制解调器、电缆调制解调器等)。

于 2013-11-13T20:11:56.383 回答