Calcoid

Bandwidth-Delay Product Calculator

Size the optimal TCP window in bytes from bandwidth and round-trip time, or find the max throughput a fixed window allows on a path.

Bandwidth-Delay Product Calculator

BDP sizes the TCP window to fill a known link. Throughput finds the ceiling a fixed window allows on a path.

Lowercase b is bits per second, the way links are advertised (Mbps, Gbps). 1 byte = 8 bits.

RTT is the ping time: how long one byte takes to reach the far end and back. Use the ping or traceroute value for the path.

Optimal window / buffer size

3.58 MiB

3,750,000 bytes (set the TCP receive window to at least this)

Bandwidth-delay product

In bytes
3,750,000 B
In kibibytes
3,662.11 KiB
In mebibytes
3.5763 MiB
In bits
30,000,000 bits

Inputs

Bandwidth
1 Gbps
Round-trip time
30 ms

Frequently Asked Questions about the Bandwidth-Delay Product Calculator

What is the bandwidth-delay product?
The bandwidth-delay product (BDP) is the amount of data that can be in flight on a network path at any instant. You calculate it as bandwidth multiplied by round-trip time (RTT). At 1 Gbps with a 30 ms RTT, the BDP is 1,000,000,000 bits per second times 0.03 seconds, which is 30,000,000 bits, or 3,750,000 bytes (about 3.58 MiB). That byte figure is the smallest TCP window that can keep the link fully busy.
How does BDP set the optimal TCP window size?
A TCP sender can only have one window of unacknowledged data outstanding at a time, so to fill a pipe you need a window at least as large as the BDP in bytes. If the window is smaller than the BDP, the sender stalls waiting for acknowledgments and the link sits idle. Set your TCP receive window or socket buffer to the BDP (or a bit above it) to use the full bandwidth on a long or fast path.
Why does a 64 KB window cap throughput at about 17 Mbps?
Maximum single-connection throughput equals window size in bits divided by RTT. A 64 KiB window is 65,536 bytes, or 524,288 bits. Over a 30 ms RTT that gives 524,288 divided by 0.03, which is roughly 17.5 Mbps, no matter how fast the underlying link is. This is why the legacy 16-bit TCP window field, which maxes at 65,535 bytes, throttles long-distance transfers until window scaling is enabled.
What is RTT and where do I get it?
RTT (round-trip time) is how long a packet takes to reach the far end and for its acknowledgment to come back, measured in milliseconds. You can read it straight from a ping or traceroute to the destination, where it usually appears as the average or time value. Use the RTT of the actual path you are tuning, since a transcontinental link can run 60 to 150 ms while a same-city link may be under 5 ms.
Should I use decimal (KB) or binary (KiB) units?
Bandwidth is quoted in decimal bits per second (1 Mbps is 1,000,000 bits per second), matching how ISPs and switch vendors advertise links. Memory and buffer sizes are usually binary, so this tool reports the BDP both as a raw byte count and in KiB and MiB (1 KiB is 1,024 bytes). For window choices the byte count is what matters; pick whichever unit your buffer setting expects.
Does the BDP account for real-world protocol overhead?
No. This calculator uses the nominal link bandwidth, so the result is a clean upper bound for sizing buffers, not a prediction of file-transfer speed. Headers, retransmits, congestion control, and encryption all reduce usable throughput below the BDP ceiling, often by 5 to 15 percent for TCP over Ethernet. Size the window to the BDP, then measure the actual transfer to see the effective rate.

Related Calculators

More calculators in "Tech"

See all 98 calculators in "Tech"