The TCP receive window size is the amount of receive data (in bytes) that can be buffered during a connection. The sending host can send only that amount of data before it must wait for an acknowledgment and window update from the receiving host. The Windows TCP/IP stack is designed to self-tune itself in most environments and uses larger default window sizes than earlier versions.
Instead of using a hard-coded default receive window size, TCP adjusts to even increments of the maximum segment size (MSS). The MSS is negotiated during connection setup. Adjusting the receive window to even increments of the MSS increases the percentage of full-sized TCP segments used during bulk data transmissions.
The received window size is determined in the following manner:
- The first connection request sent to a remote host advertises a receive window size of 16K (16,384 bytes).
- When the connection is established, the receive window size is rounded up to an even increment of the MSS.
- The window size is adjusted to four times the MSS, to a maximum size of 64 K, unless the window scaling option is used.