TechCompare LogoTechCompare

Bandwidth-delay product explained: why a 1 Gbps WAN link only delivers 5 Mbps

The bandwidth-delay product is link speed times RTT. When your TCP window is smaller than the BDP, throughput is limited to window / RTT, not link speed. For 1 Gbps at 100 ms the BDP is 12 MB, and the default 64 KB window delivers only 5.24 Mbps.

The bandwidth-delay product (BDP) is the amount of data a network connection needs to have in flight at once to fill the link. It is calculated as link speed multiplied by round-trip time. For a 1 Gbps link at 100 ms RTT the BDP is 12 MB. If your TCP receive window is smaller than that, the link never fills and throughput collapses to the window size divided by the RTT. With the default 64 KB window that is 5.24 Mbps, which is 0.52% of the 1 Gbps link.

By TechCompare · Updated

Transfer time
17d 15h 51m 18s
Window-limited to 5.2 Mbps
File size
1 TB
1000 GB
Link speed
1,000 Mbps
Gigabit Ethernet (1000 Mbps)
Effective throughput
5.2 Mbps
at 100 ms RTT
Link utilized
0.52%
Bottleneck: TCP window

Calculator

Data Transfer Calculator

Configuration

Mbps

Latency & TCP window model

Window-limited to 5.2 Mbps

Model is on with 100 ms RTT and a 64 KB unscaled TCP receive window. Change the settings below to see how a different RTT or window affects the transfer.

ms

Custom RTT - the model uses window / RTT as the throughput ceiling.

KB

Window scaling lets the TCP window grow past the 64 KB limit (up to 1 GiB). Modern Windows, Linux, and macOS enable it by default, but older firewalls, load balancers, and legacy consumer routers silently strip the option, reintroducing the 64 KB cap at ~40+ ms RTT.

Estimated Transfer Time
17d 15h 51m 18s

Bandwidth-delay product limit

Link speed
1 Gbps
rated
Effective throughput
5.2 Mbps
capped by 64 KB window / 100 ms RTT
Link used
0.52%
of rated speed

The TCP window, not the link, is the bottleneck. Your 1 Gbps connection is delivering 0.52% of its rated speed because the receive window (64 KB) can't stay full long enough at 100 ms RTT. That's the bandwidth-delay product at work.

Speed Comparison

USB 2.0
4h 37m 46s
480 Mbps
USB 4 / Thunderbolt 4
3m 20s
40 Gbps
Gigabit Ethernet
2h 13m 20s
1 Gbps
Selected
10 Gigabit Ethernet
13m 20s
10 Gbps
WiFi 5 (ac)
5h 33m 20s
400 Mbps
WiFi 7 (be)
26m 40s
5 Gbps
SATA SSD
30m 18s
4.4 Gbps
NVMe Gen4 SSD
2m 22s
56 Gbps

How this is calculated

The BDP exists because TCP is a reliable protocol: it can only send a fixed amount of data (the receive window) before it must stop and wait for an acknowledgment from the far end. On a 1 ms LAN the acknowledgment comes back almost instantly, so even a small window cycles fast and the link fills. On a 100 ms transatlantic link that same window cycles 100 times more slowly, so the effective throughput drops by the same factor. The fix is to grow the window until it matches or exceeds the BDP. RFC 1323 window scaling lets the window expand up to 1 GiB by left-shifting the advertised 16-bit window value, which is enough to fill any realistic WAN link. The catch is that every device on the path, including firewalls and load balancers, must pass the TCP options through, and some older or misconfigured middleboxes silently strip them.

Verdict

The bandwidth-delay product is the single number that explains why long-distance network transfers run at a fraction of the link rate, and it is link speed times round-trip time because that product is how much data must be in flight at once to keep the pipe full. The 1 Gbps at 100 ms example is the canonical illustration: the BDP is 12 MB, the default unscaled 64 KB TCP receive window is about 0.5% of that, and the resulting throughput ceiling of 5.24 Mbps is 0.52% of the rated link. The fix is RFC 1323 window scaling, which lets the window grow up to 1 GiB and pushes the ceiling past the link rate so throughput stops being window-limited and starts being link-limited. The reason this matters for anyone planning a WAN or cloud migration is that a naive size-divided-by-speed calculator ignores the BDP entirely and returns the 2 hours 13 minutes that 1 TB over 1 Gbps would take in a zero-latency universe, which is the wrong universe for the internet.

More WAN scenarios

100 GB over USB 3.0
A 100 GB transfer over USB 3.0 works out to exactly 2 minutes 40 seconds at the interface's 5 Gbps peak rate.
View details ➜
1 TB over USB 3.0
A 1 TB transfer over USB 3.0 works out to 26 minutes 40 seconds at the interface's 5 Gbps peak data rate.
View details ➜
4 GB over USB 2.0
A 4 GB transfer over USB 2.0 works out to 1 minute 6 seconds at the interface's 480 Mbps peak rate.
View details ➜

Frequently asked questions

What is the bandwidth-delay product formula?
BDP = link speed times round-trip time. For 1 Gbps at 100 ms that is 1,000,000,000 bits per second times 0.1 seconds = 100 million bits, or about 12 MB. Your TCP window needs to be at least that large to fill the link.
Why does throughput drop on high-latency links?
TCP can only have one receive window of data in flight at a time. On a high-latency link the window takes longer to cycle because the acknowledgment takes longer to return, so the effective throughput drops to window size divided by RTT, regardless of the link rate.
What is TCP window scaling and how does it fix the BDP problem?
RFC 1323 window scaling lets TCP advertise a receive window larger than the 64 KB hard cap by left-shifting the window field. The window can grow up to 1 GiB, which is larger than any realistic BDP, so the link fills and throughput is limited by the link rate rather than the window.
Do all operating systems support TCP window scaling?
Modern Windows, Linux, and macOS enable RFC 1323 window scaling by default. The common failure point is middleboxes: older firewalls, load balancers, and legacy consumer routers silently strip the TCP window scaling option, which caps the window at 64 KB and reintroduces the bottleneck.