Bandwidth-Delay Product Calculator
Inputs
| Bandwidth | 1 Gbps |
|---|---|
| Round-trip time (RTT) | 30 ms |
Bandwidth-Delay Product Calculator
Calculate the bandwidth-delay product (BDP) from a link's bandwidth and round-trip time. The BDP is the amount of data in flight on a path and the recommended TCP window size to keep that path fully utilized.
Inputs
Link Characteristics
Results
Enter a value to see results.
Bandwidth-Delay Product
Bits in Flight
Bandwidth-Delay Product
The bandwidth-delay product (BDP) is the amount of data that can occupy a network path at one instant — the data "in flight" between a sender and receiver. It is the single most useful number for tuning high-speed connections, because it tells you how large a TCP window or socket buffer must be to keep a link fully utilized rather than idling while it waits for acknowledgements.
The formula
BDPbits=B×T BDPbytes=8B×Twhere is the bandwidth in bits per second and is the round-trip time (RTT), with both quantities using a one-second time base. The product gives the number of bits on the wire; dividing by 8 converts that to bytes, the unit in which TCP windows and buffers are configured.
A helpful mental model is a pipe carrying water. The bandwidth is the pipe's cross-sectional area and the RTT is its length, so the bandwidth-delay product is the pipe's total volume. To keep water flowing without gaps, you must have at least that volume of water moving through it at all times.
Worked example. A 1 Gbps link with a 30 ms round-trip time:
BDPbits=1,000,000,000×0.030=30,000,000 bits BDPbytes=830,000,000=3,750,000 bytes≈3.75 MBSo roughly 3.75 MB of data is in flight at any moment, and a TCP window of at least that size is needed to saturate the link. Halve the bandwidth to 100 Mbps and the BDP drops to 1.25 MB; the same throughput now requires only a third as much buffer.
Why the BDP sets the window size
TCP is a sliding-window protocol: a sender may only have as many unacknowledged bytes outstanding as its window permits. Once the window is full, the sender stops and waits a full round trip for acknowledgements to come back before it can send more.
If the window is smaller than the BDP, the sender drains it before the first acknowledgement returns, and the link sits idle for the remainder of every round trip. The achievable throughput is then capped at:
throughput=RTTwindowregardless of how much raw bandwidth the link has. Setting the receive window and socket buffers to at least one BDP removes this bottleneck and lets the connection use the full capacity.
Long fat networks
A path with a large bandwidth-delay product — high bandwidth and high latency together — is called a long fat network (LFN). Transcontinental fiber, intercontinental paths, and satellite links are typical examples. They are demanding because the window must be large enough to span the entire round trip.
The original TCP header reserved only 16 bits for the window field, capping it at 64 KB. On the 1 Gbps, 100 ms path below, the BDP is 12.5 MB — almost 200 times larger than that limit. The window-scaling option (RFC 7323) multiplies the advertised window by a power of two precisely so connections can grow toward the BDP on such paths.
| Path | Bandwidth | RTT | BDP |
|---|---|---|---|
| LAN | 1 Gbps | 1 ms | 125 KB |
| Regional internet | 100 Mbps | 30 ms | 375 KB |
| Transcontinental | 1 Gbps | 60 ms | 7.5 MB |
| Intercontinental | 1 Gbps | 100 ms | 12.5 MB |
| Geostationary satellite | 50 Mbps | 600 ms | 3.75 MB |
Notice that latency matters as much as bandwidth: the satellite link is far slower than the fiber paths, yet its enormous RTT gives it a BDP comparable to a transcontinental connection.
Bits, bytes, and measuring RTT
Bandwidth is advertised in bits per second while buffers are configured in bytes, so the factor of 8 is essential — quoting the BDP in bits would overstate the required buffer eightfold. When picking values, use the bottleneck bandwidth (the slowest link on the route) and a realistic RTT measured with ping or from a packet capture. On most wide-area paths the RTT is dominated by propagation delay — the time light takes to traverse the distance — which no amount of buffering can reduce.
A practical consequence is that two links with identical bandwidth can need very different tuning: the one with the longer round trip has the larger BDP and demands the larger window. This is also why a high-bandwidth link to a distant server can still feel slow if the operating system or application caps the window below the BDP.
Related calculators
To see how packet loss and RTT together bound a connection's real speed, use the TCP Throughput Calculator calculator. To break a round-trip time into its propagation, serialization, queuing, and processing components, use the Latency Budget Calculator calculator. To convert a rate between bits-per-second and bytes-per-second units, see the Throughput (bps) Converter calculator.
Frequently Asked Questions (FAQ)
What is the bandwidth-delay product?
The bandwidth-delay product (BDP) is the bandwidth of a link multiplied by its round-trip time. It equals the maximum amount of data that can be "in flight" — sent but not yet acknowledged — on the path at any moment. Think of the link as a pipe: bandwidth is its diameter and RTT is its length, so the BDP is the pipe's volume. To use the full capacity, the sender must be allowed to have at least one BDP of unacknowledged data outstanding.
How does the BDP set the TCP window size?
TCP can only have as much data outstanding as its send/receive window allows. If the window is smaller than the BDP, the sender drains it and then waits a full round trip for acknowledgements before continuing, leaving the link idle.
Setting the TCP receive window and socket buffers to at least the BDP in bytes lets the sender keep the pipe full. Modern stacks use window scaling and auto-tuning to grow the window toward the BDP automatically, but on constrained or older systems you may need to raise the buffer limits by hand.
What is a long fat network (LFN)?
A long fat network is a path with a large bandwidth-delay product — high bandwidth combined with high latency, such as a transcontinental or satellite link. These paths need large windows to stay full: a 1 Gbps link with a 100 ms RTT has a BDP of 12.5 MB, far larger than the 64 KB maximum of unscaled TCP. Long fat networks are exactly where window scaling, large buffers, and modern congestion-control algorithms matter most.
Why does latency, not just bandwidth, limit throughput?
Because TCP waits for acknowledgements, throughput is capped at window size divided by RTT, regardless of how much raw bandwidth the link has. Doubling the RTT doubles the BDP and therefore doubles the window you need for the same speed. This is why a fast link to a distant server can feel slow: if the window cannot cover the round trip, the connection spends most of its time waiting rather than sending.