免费带宽延迟乘积计算器

带宽延迟乘积 (BDP)

带宽延迟乘积 (BDP)

输入数值计算

了解带宽延迟乘积

**带宽延迟乘积(BDP)**表示在任意时刻可以同时在网络中传输的最大数据量(以比特计)。这个度量通常被称为网络带宽延迟积或延迟带宽积,对于调整 TCP 缓冲区大小和设计高性能链路至关重要。BDP 计算器自动化了这一计算,为网络工程师和系统管理员提供了一种快速确定最佳传输参数的方法。

带宽和往返时间——两个输入参数

BDP 取决于两个链路特征:

  • 带宽(B)——连接可以维持的最大数据速率,以每秒比特数(bps)表示。例如,一个 100 Mbps 的链路在任何给定秒内最多只能传输 100 Mbps。
  • 往返时间(RTT)——发送请求到收到完整响应之间的总延迟,通常以毫秒(ms)为单位。这包括传播、处理和排队延迟。

这些值共同构成了某些工具所称的RTT 带宽计算器或简称为延迟带宽积估算器的核心。

BDP 公式

关系很简单:

BDP=B×RTT\text{BDP} = B \times \text{RTT}

其中:

  • BB 是以 bps 为单位的带宽,
  • RTT\text{RTT} 是以秒为单位的往返时间(毫秒换算成秒需除以 1000)。

结果以比特为单位。要转换为兆比特(Mbit)或兆字节(MB),分别除以 10610^{6} 或 8×1068 \times 10^{6}。

变量符号典型单位
带宽BBbps(例如 Mbps)
往返时间RTT\text{RTT}s(或 ms)
带宽延迟乘积BDP\text{BDP}比特

计算示例

假设你运行一次标准网速测试,得到以下结果:

  • 下载带宽 = 220 Mbps → B=220×106 bpsB = 220 \times 10^{6}\ \text{bps}
  • Ping(RTT)= 14 ms → RTT=14×10−3 s\text{RTT} = 14 \times 10^{-3}\ \text{s}

应用公式:

BDP=(220×106)×(14×10−3)=3 080 000 bits\text{BDP} = (220 \times 10^{6}) \times (14 \times 10^{-3}) = 3\ 080\ 000\ \text{bits}

换算成更常用的单位:

  • 3.08 Mbits(兆比特)
  • 0.385 MB(兆字节)

这意味着在发送约 3.08 Mbits 的数据后,发送方仍未收到第一个确认;整个路径都被这些比特填满。任何小于此值的 TCP 窗口都会导致链路在等待 ACK 时闲置。

为什么 BDP 对 TCP 性能至关重要

传输控制协议(TCP)使用滑动窗口机制:发送方发送一组数据段,然后等待确认(ACK)。如果 ACK 在窗口耗尽前到达,窗口就会增大;如果发生超时,窗口就会减小。在高延迟链路上——例如卫星连接(对地静止轨道约 35 000 km)——RTT 可能达到数百毫秒。如果没有足够大的窗口,发送方大部分时间都在等待,导致可用带宽利用率严重不足。

BDP 直接指示了最优 TCP 窗口大小。将接收窗口(rwnd)或拥塞窗口(cwnd)设置为至少等于 BDP,可以确保发送方从不因等待 ACK 而停顿,从而饱和链路。这正是 TCP 窗口大小计算器 所做的:它使用带宽延迟积来建议实现全吞吐量运行所需的最小缓冲区大小。

实际使用场景

  • 长肥网络(LFN)——具有高带宽和高延迟的链路(例如洲际光纤、卫星回传)。如果没有考虑 BDP 的窗口,这些链路的性能将远低于其容量。
  • 数据中心互联——为低延迟、高带宽结构调整 TCP 参数。
  • 容量规划——确定在无需修改协议的情况下,给定链路能否支持所需吞吐量。

使用专门的 BDP 计算器可以简化这些任务:输入带宽和 RTT,工具立即返回所需的窗口大小,通常以比特、兆比特或兆字节显示。许多在线版本还提供到字节的实时转换,以便直接用于系统配置。

关于测量的补充说明

  • 带宽可以通过网速测试或已知链路容量估算。
  • RTT 通常通过简单的 ping 命令(返回的时间以 ms 为单位)或网络监控工具获取。

BDP 计算器(也充当 RTT 带宽计算器 或 延迟带宽积 工具)有助于消除手动计算,并为网络调优任务提供快速参考。

常见问题

1. 如何计算带宽延迟乘积?

将链路的带宽(以 bps 为单位)乘以往返时间(以秒为单位)。例如,220 Mbps × 14 ms = 3.08 Mbits。你也可以使用在线 BDP 计算器自动完成此计算。

2. BDP 以什么单位表示?

BDP 最初以比特为单位计算。然后可以转换为兆比特(除以 10⁶)或兆字节(除以 8 × 10⁶)。大多数计算器会同时显示这两个值。

3. 为什么 TCP 需要基于 BDP 的窗口大小?

TCP 在发送更多数据前会等待确认。如果窗口小于 BDP,链路会在往返延迟期间空闲,浪费带宽。将窗口至少设置为 BDP 可保持管道满载。

4. 卫星链路的典型 BDP 值是多少?

一个带宽为 50 Mbps、RTT 为 600 ms 的卫星链路,其 BDP 约为 30 Mb(≈ 3.75 MB)。这意味着 TCP 窗口必须至少这么大才能达到全吞吐量。

5. BDP 和延迟带宽积有区别吗?

没有区别——'延迟带宽积'是同一指标的另一种说法,'RTT 带宽积' 也是如此。它们都指 B × RTT,用于确定在途数据容量。

使用方法

  1. 输入您的网络带宽并选择合适的单位(bps、kbps、Mbps 或 Gbps)。
  2. 输入往返延迟时间(RTT)并选择单位(微秒、毫秒或秒)。
  3. 带宽延迟乘积(BDP)会立即计算出来。更改显示单位以查看比特、千比特、兆比特、字节、千字节或兆字节的结果。