Bandwidth Delay Product Calculator – TCP Buffer Size

April 13, 2026

📡 Bandwidth Delay Product Calculator

Calculate BDP and optimal TCP buffer/window sizes for any link speed and latency

⚡Quick Presets
📋Link Parameters
✅ BDP & Buffer Results
Bandwidth Delay Product
—
bytes
Recommended TCP Buffer
—
bytes (with multiplier)
Max Achievable Throughput
—
Mbps (at BDP window)
Link Efficiency
—
vs default 64KB window
📊 Full Breakdown
Bandwidth—
Bandwidth in bps—
RTT—
BDP (bits)—
BDP (bytes)—
BDP (KB)—
BDP (MB)—
Safety Multiplier—
Recommended Buffer—
Default TCP Window (64KB) Efficiency—
Link Type Classification—
Linux sysctl net.core.rmem_max—
💡Tips
Long Fat Network (LFN): Any link where BDP exceeds the default 64KB TCP window is a "long fat pipe." You need TCP window scaling enabled (modern OS default) and a buffer >= BDP.
Linux Buffer Tuning: Set net.core.rmem_max and net.core.wmem_max to at least 2x BDP. Use iperf3 to verify actual throughput after tuning.
📋BDP by Link Type
Link TypeBandwidthRTTBDPWindow Needed
Local LAN1 Gbps0.5 ms62.5 KBDefault OK
Metro Ethernet1 Gbps5 ms625 KB1 MB buffer
Cross-country US1 Gbps40 ms5 MB8 MB buffer
Trans-Atlantic10 Gbps80 ms100 MB150 MB buffer
Trans-Pacific10 Gbps150 ms187.5 MB300 MB buffer
GEO Satellite100 Mbps600 ms7.5 MB15 MB buffer
Data Center Spine100 Gbps0.1 ms1.25 MB2 MB buffer
VPN Tunnel (WAN)100 Mbps100 ms1.25 MB2 MB buffer
🔧BDP Classification
< 64 KB
Normal – Default OK
64 KB–1 MB
Tune Recommended
1–100 MB
Long Fat Pipe
> 100 MB
Critical Tuning
📑Linux TCP Buffer Commands
sysctl ParameterPurposeTypical Value
net.core.rmem_maxMax receive socket buffer134217728 (128 MB)
net.core.wmem_maxMax send socket buffer134217728 (128 MB)
net.ipv4.tcp_rmemTCP receive buffer (min/default/max)4096 87380 134217728
net.ipv4.tcp_wmemTCP send buffer (min/default/max)4096 65536 134217728
net.ipv4.tcp_window_scalingEnable window scaling1 (enabled)
net.ipv4.tcp_congestion_controlCongestion algorithmbbr / cubic

The bandwidth-delay product, or BDP, is the product of a data link’s capacity in bits per second and its round-trip delay time in seconds. The result is an amount of data measured in bits or bytes. It equals the biggest amount of data on the network circuit at any moment

Imagine it this way: data travel through the network, and the sender must wait for acknowledgment before sending more. The BDP shows how much data can be “in flight” or unacknowledged at any moment. It gives the maximum amount of data the sender can send in a set time before waiting for acknowledgment.

What is the Bandwidth-Delay Product (BDP)?

The formula is really simple. You only need two variables: the bandwidth B in bits per second and the round-trip time RTT in seconds. You can also write it as bandwidth-delay product equals 2 times propagation delay times bandwidth.

That is basically it.

Here is a sample. A link of 512 kilobits per second with 900 milliseconds RTT gives you 512 times 10 to the third bits per second times 900 times 10 to the negative third seconds. That works out to 460,800 bits, so 57,600 bytes or 56.25 kibibytes.

The best window size depends on the bandwidth and delay of the link. You often use the BDP as the window size. When the BDP is larger than the TCP window size, the system cannot use all the available bandwidth.

Because TCP waits for acknowledgment before sending more data, the amount of data in flight stays limtide.

When your window equals 2 times delay times bandwidth, by the time you have sent a window of data, you have received the first acknowledgment from the receiver. This way you can continue to send more data without pausing.

Here is where things get a bit weird. The default maximum TCP buffer sizes in Linux are sometimes still too small. Then you see how the BDP effect limits your throuput.

Speeds suffer especially if a small receive window is used. Paradoxically, if the bandwidth is higher, a single connection uses a smaller part of the potential throughput. The TCP window was only 65 kilobytes, so on a 50 megabit link it takes only 10 milliseconds to send those bytes, and then the sender simply waits.

The round-trip delay can be 40 times that for a satellite link.

BDP matters for TCP and any synced protocols with bidirectional communication and acknowledgment. With a protocol with end-to-end flow control like TCP the total latency can affect the throughput.

Bandwidth Delay Product Calculator – TCP Buffer Size

Related posts

Leave a Comment