What is "Window Scaling" ?
The RWIN value in the initial TCP specifications was limited to 2^16 (or 65535, if you start with 0). With today's fast connections, this value has proven inadequate, however the 20-byte TCP header did not have spare room for larger numbers. RFC1323 defines some "TCP Options" to overcome limitations to the original specs. Those TCP Options are in addition to the 20-byte TCP header.
One of the most notable TCP Options is Window Scaling. It introduces a scale factor, by which the original RWIN value should be multiplied, in order to get the full Receive Window.
For example, to achieve 256960 RWIN value, TCP headers actualy contain 64240 and scale factor of 4. 64240*4=256960. Any nodes that do not understand TCP Options (as defined in RFC 1323) would ignore them, and simply use the unscaled RWIN value.
|