TechCompare LogoTechCompare

How long does it take to transfer 1 TB over a WAN with 100 ms latency? The TCP window trap

1 TB over a 1 Gbps WAN at 100 ms RTT takes about 17.5 days at the default 64 KB TCP window, not the 2.2 hours a naive size-over-speed calculator returns. The link is delivering 0.52% of its rated speed because the receive window can't stay full long enough.

Transferring 1 TB over a 1 Gbps WAN link with 100 ms round-trip time takes about 17 days 16 hours when the default 64 KB TCP window is in play. That is not a typo. The link can carry 1000 Mbps, but TCP only sends 64 KB of data before stopping to wait for an acknowledgment, and on a 100 ms RTT that acknowledgment takes a tenth of a second to come back. The resulting ceiling is roughly 5.24 Mbps, about 0.52% of the rated 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 naive math (1 TB divided by 1000 Mbps) gives 2 hours 13 minutes, and that is what every size-over-speed calculator on the web returns. It is correct for a USB cable and wrong for the internet. On a long-distance link the throughput ceiling is the bandwidth-delay product: the receive window divided by the round-trip time. With an unscaled 64 KB window and 100 ms RTT that ceiling is 65536 bytes times 8 bits divided by 0.1 seconds, which works out to 5.24 Mbps. The link fills to 0.52% of its rated speed because TCP is not allowed to put more data in flight than the window allows, and the acknowledgments take too long to return.

Verdict

1 TB over a 1 Gbps WAN with 100 ms round-trip time takes about 17 days 16 hours when the default unscaled 64 KB TCP receive window is in play, which is the gap between the 2 hours 13 minutes a naive size-divided-by-speed calculator returns and what actually happens on the wire. The structural reason is the bandwidth-delay product: TCP is only allowed to have one receive window worth of data in flight at a time, so the throughput ceiling is the window size divided by the round-trip time. With 65536 bytes in the window and a 0.1 second round trip, that ceiling is 5.24 Mbps, about 0.52% of the 1000 Mbps link. The fix is RFC 1323 window scaling, which lets the window grow up to 1 GiB and pushes the ceiling well past the link rate so the transfer drops back to the 2 hours 13 minutes the link is actually capable of.

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

Why does 1 TB take 17 days over a 1 Gbps WAN link?
Because TCP can only keep one receive window of data in flight at a time. With the default 64 KB window and 100 ms round-trip time, the throughput ceiling is 64 KB / 0.1 s = 5.24 Mbps, which is 0.52% of the 1 Gbps link. The link rate is irrelevant when the window is the bottleneck.
How do I fix the TCP window bottleneck on a WAN transfer?
Enable RFC 1323 window scaling on both endpoints, which lets the receive window grow up to 1 GiB. Modern OSes (Windows, Linux, macOS) support it by default, but legacy servers, some storage appliances, and misconfigured firewalls disable it. Tools like rsync over SSH and tuned SMB Multichannel also help by opening parallel streams.
What is the bandwidth-delay product for a 1 Gbps link at 100 ms?
The bandwidth-delay product is the link speed times the round-trip time: 1 Gbps times 0.1 s = 100 million bits, or about 12 MB. To fill the link your TCP window needs to be at least 12 MB. The default 64 KB window is about 0.5% of that, which is exactly why the throughput collapses.