TCP Window Size Calculator for Home Servers

April 30, 2026

TCP Window Size Calculator

Match receive windows to BDP, RTT, and loss so your home server copies, backups, and replication jobs fill the pipe cleanly.

📈Preset Scenarios
⚙Window Inputs
Wired LAN keeps header overhead low and usually becomes BDP-driven first.
This is the actual RTT seen by the stream, including queueing and path latency.
Standard Ethernet uses 1500 bytes; jumbo frames increase payload efficiency.
This is the receive buffer you want to test against the path BDP.
RFC 7323 permits shift values from 0 to 14.
Multiple streams share the pipe when a single window is too small.
Loss matters more as RTT rises and a flow leans on recovery.
Reserve this margin above the raw BDP for jitter and queue spikes.
Visible for VPN and WAN paths where encapsulation eats payload.
Visible for wireless runs where retries and contention matter.
Visible for wired storage paths that keep MTU high end to end.
📊Results
Recommended Window
--
MiB total
BDP Target
--
MiB in flight
Estimated Throughput
--
Gbps effective
Scale Shift Needed
--
shift
🧰Equipment Spec Grid

1 GbE Desktop NIC

940 Mbps
Ceiling
0.92
Offload
0.15 ms
Latency
Best for basic backup copies

2.5 GbE NIC

2.35 Gbps
Ceiling
0.95
Offload
0.12 ms
Latency
Sweet spot for small home labs

10 GbE NIC

9.4 Gbps
Ceiling
0.97
Offload
0.10 ms
Latency
Use for VM moves and jumbo runs

Wi-Fi 6 AP

1.2 Gbps
Ceiling
0.78
Offload
1.80 ms
Latency
Good for laptop syncs and bursts

Wi-Fi 6E AP

1.8 Gbps
Ceiling
0.80
Offload
1.40 ms
Latency
Helps when mesh hops shrink

VPN Router

650 Mbps
Ceiling
0.72
Offload
6.50 ms
Latency
Tunnels need more headroom

SSD NAS

2.2 Gbps
Ceiling
0.94
Offload
0.25 ms
Latency
Best when window and disk stay fast

HDD NAS

500 Mbps
Ceiling
0.88
Offload
0.35 ms
Latency
Fits slower backup windows
📑Reference Tables
Scale Max window Approx MiB Fit
065,535 B0.06Tiny
41,048,560 B1.00Small LAN
816,776,960 B16.00Home lab
12268,431,360 B256.00Long RTT
141,073,709,056 B1024.00Very large
MTU TCP hdr MSS Notes
150040 B1460 BStandard LAN
900040 B8960 BJumbo storage
140060 B1340 BVPN tunnel
146060 B1400 BWAN path
128060 B1220 BIPv6 safe
Link RTT BDP Window hint
1 GbE2 ms0.24 MiB1 MiB
2.5 GbE5 ms1.49 MiB2 MiB
10 GbE10 ms11.92 MiB16 MiB
WAN35 ms41.68 MiB64 MiB
VPN60 ms71.53 MiB128 MiB
Scenario RTT Window Main limit
1 GbE backup2 ms1 MiBLink cap
NAS sync5 ms2 MiBBDP
VM move1 ms8 MiBEquipment
VPN backup35 ms64 MiBLoss
Offsite copy60 ms128 MiBRTT

Tip: Size the receive window from BDP first, then add buffer margin for queue spikes.

Tip: If 64 KiB is the wall, increase the scale shift before chasing other fixes.

A network transfer can occur at a speed that is much slower than the maximum speed of the network link. For instance, an person may attempt to perform a copy of a 500 GB backup from a NAS device to a VM over a 2.5 GbE link, but the actual data transfer may occur at a rate of only 200 Mbps. Such slow data transfer rates is often the result of the size of the receive window for the Transmission Control Protocol (TCP).

If the receive window are too small, the link will not be fully utilized. If the receive window is too large, it can lead to memory and queue overallocation error on the receiving system. The relationship between the link speed and the round trip time for a network connection is referred to as the Bandwidth Delay Product (BDP).

Why Data Transfers Are Slow and How to Fix Them

You can calculate the BDP by multiply the link speed of the network by the round trip time. For instance, a 10 GbE link with a round trip time of 10 ms will require a buffer size of 12 MiB to fully saturate the link. In many home networks, the round trip time can be increased due to the length of the cables or the use of Wi-Fi connections.

Round trip time and BDP are both factor that relate to data transfer rate and the requirements of efficient data movement. Window scaling is used to increase the size of the receive window for TCP. Without window scaling, TCP link receive windows are limited to 64 KiB of data.

This amount of data is often too small for many moddern networks with high transfer speeds. Most modern operating systems uses window scaling to allow the receive window to be multiplied by powers of two. This allow for receive windows of several gigabytes.

If the shift factor used for scaling the receive window is incorrect, the data will idle on the network. Additionally, if there is any loss of packet, the throughput will also decrease. Even a 0.1% loss of packets will reduce the throughput on any data path with high round trip times.

A number of different factor can impact the efficiency of data movement over a network. For example, jumbo frame can increase the efficiency of data movement within a storage network by allowing more data to be transferred in each network frame. However, every device on the network must support jumbo frames.

Additionally, the utilization of VPN tunnel will impact data efficiency because the VPN tunnels will add extra data to each packet, increasing the round trip time for data movement. The use of Wi-Fi connections can also impact the efficiency of data movement. Data movement over Wi-Fi connections require retries if the packets are lost in transmission.

Such retries can make the link limited to the size of the TCP receive window. Lastly, the use of different data stream may help to increase the throughput over the network, especially if only a single connection exists to the link. In order to efficient tune a network, a person can use a variety of different tools.

For instance, a person can measure the round trip time for data movement using a ping command. The maximum data unit size for the network (MTU) can be noted using the ifconfig command. Additionally, the current size of the network buffers can be tested using the ss -m command.

For maximum efficiency, the buffer size should of be set to approximately the same as the BDP with an additional 10% to account for jitter in the network. If the network is not reaching its maximum link utilization, the window scaling should be increased. However, if the data packets are being lost over the link, the number of data streams should be increased.

This tool will calculate a networks BDP and automatically recommend network tuning settings. Furthermore, it will determine whether the TCP receive window, packet loss, or another factor (hardware limitation) is creating the bottleneck. This information will inform the network administrator of whether adjustments to the window scaling or the number of data stream should be made.

A common mistake is to not account for the propagation delay of long patch cables connecting two network devices. If the TCP receive window is correctly configured, the NAS device will reach maximum wire speeds.

TCP Window Size Calculator for Home Servers

Related posts

Leave a Comment