why TCP window scale values (scaling factor) are different in different hosts?

why not make this value the same on all hosts?

in theory, this value is between 0-14. what is the practical range for the scale value in today's Internet?

2 Answers 2


RFC 1323, section 2.1:

The maximum receive window, and therefore the scale factor, is determined by the maximum receive buffer space. In a typical modern implementation, this maximum buffer space is set by default but can be overridden by a user program before a TCP connection is opened. This determines the scale factor, [...]


Since the max window is 2^S (where S is the scaling shift count) times at most 2^16 - 1 (the maximum unscaled window), the maximum window is guaranteed to be < 2^30 if S <= 14. Thus, the shift count must be limited to 14 (which allows windows of 2^30 = 1 Gbyte). If a Window Scale option is received with a shift.cnt value exceeding 14, the TCP should log the error but use 14 instead of the specified value.

RFC 1323

  • 1
    you are pointing to rfc 1323 have your answer referenced content? Commented Nov 24, 2015 at 14:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .