Arte SheetsLearn. Try. Understand.

Engineering

TCP Bandwidth-Delay Product (BDP) & Mathis Throughput Formula

Calculate bandwidth-delay product in decimal MB and explore a simplified Reno-style loss model, with explicit units and limits rather than a universal TCP speed prediction.

Bandwidth-delay product is a volume of data

Multiply available path rate by round-trip time to estimate the amount of data in flight needed to sustain that rate. With B2 in decimal Mbps and B3 in milliseconds, divide by 8000 for decimal MB. Thus 1000 Mbps over 40 ms gives 5 MB, or 5,000,000 bytes, approximately 4.768 MiB.

Use round-trip time, not one-way delay. The bottleneck path rate may differ from the local interface speed. BDP is not an exact socket-buffer setting: OS accounting, autotuning, receive window, congestion window and protocol overhead matter. A sufficient window alone does not guarantee the target throughput.

=IF(COUNT(B2:B3)<>2,"Enter numeric link and RTT",IF(OR(B2<=0,B3<=0),"Link and RTT must be positive",B2*B3/8000))

Simplified Mathis loss model

For a long-lived flow in Reno-style congestion avoidance, a simplified square-root model is C*MSS/(RTT*SQRT(p)). This exercise fixes the dimensionless coefficient C to 1. B4 is payload MSS in bytes, not MTU; B5 is a loss fraction: 0.0001 means 0.01%, not 0.0001%. E3 converts to Mbps and caps the estimate at the entered path rate.

The model assumes a sustained flow, suitable loss behavior, and no dominant timeout or receive-window limitation. Its coefficient depends on modeling assumptions such as acknowledgment behavior. It is not a universal ceiling for CUBIC, BBR, all modern TCP implementations, short transfers or application performance.

Zero loss makes the square-root expression undefined; it does not prove that full line rate is achieved. This exercise accepts positive loss fractions through 0.01 as an explicit low-loss teaching range, not a guarantee of model accuracy. Larger fractions return a message.

=IF(COUNT(B2:B5)<>4,"Enter numeric network inputs",IF(OR(B2<=0,B3<=0,B4<=0,B4<>INT(B4),B5<0,B5>1),"Invalid network inputs",IF(B5=0,"Undefined at zero loss",IF(B5>0.01,"Outside this low-loss exercise",MIN(B2,(B4*8)/((B3/1000)*SQRT(B5))/1000000)))))

Compare scenarios without claiming a measurement

At 1000 Mbps, 40 ms RTT, MSS 1460 bytes and loss fraction 0.0001, the simplified capped estimate is 29.2 Mbps. Reducing loss by a factor of 100 gives 292 Mbps. Doubling RTT halves the loss estimate and doubles BDP.

Change B2 to 10 Mbps to see the path-rate cap. Actual goodput may be lower because of headers, retransmissions, endpoint limitations or other traffic. Validate production tuning with measurements rather than applying these workbook results as configuration commands.

Try the example

Use the original values or change them to test your understanding.

Further reading