Ask Your Question

TCP window size value

asked 2023-05-09 07:08:44 +0000

Rajessh gravatar image

updated 2023-05-09 08:27:35 +0000

Jaap gravatar image


I was facing a problem where a client's server has a small window size value of 65535 and in the option field, it has only a multiplier of 4 (windows scale of 2). Is this calculated window value 262,140 bytes, or TCP window buffer size is shared among multiple users connecting the server, or its just for that particular session?

I want to know what this value is and how it is used when multiple clients connect to this server.

Note: i can provide the PCAP file if necessary.

need help

thank you!

Regards, Rajesh Shrestha

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2023-05-11 20:24:25 +0000

André gravatar image

updated 2023-05-11 20:25:27 +0000

TCP Windows scaling is a setting per TCP connection. Thus not shared, but multiple TCP connections can of course have the same setting.

Scaling is only used if both sides uses that option in the SYN segment. See RFC 7323 Window Scale Option

Assuming that is the case, the memory allocated for that connection is 64K * 4 for the send and receive window in your example.

edit flag offensive delete link more


Hi Andre,

Thank you for your response, regarding the windows scaling.

i have a question regarding the memory allocation:

let's say suppose a server has an overall 4GB RAM allocated to it, and for example, if there are 100 simultaneous users connecting to the same server allocating the resource 64K*4 = 256KB of memory space for each. Does it mean that the Overall RAM used by the 100 clients is equal to 25600KB = 25MB?

sorry, but I am a noob on this analysis.

Regards, Rajesh Shrestha

Rajessh gravatar imageRajessh ( 2023-05-12 04:58:48 +0000 )edit

Normally yes, but...
For example Windows sets the windows scale to 4 Mbyte, but only allocates that amount of memory when it actually needed. Starting with an initial lower value.
So the actual memory usage depends on how it is implemented on that OS.

And you need 2 buffers, one for receiving and one for sending; to hold un-ack-ed segments or to facilitate (fast) retransmissions.

André gravatar imageAndré ( 2023-05-12 06:31:13 +0000 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2023-05-09 07:08:44 +0000

Seen: 152 times

Last updated: May 12