Results 1 to 8 of 8

Thread: What exactly is "scaling"?

  1. #1
    Member t's Avatar
    Join Date
    Jan 2001
    Glen Cove, NY

    Post What exactly is "scaling"?

    Got these readings, but don't know what they mean.
    * Please wait .. collecting data
    * Your RWIN reads as 237888 (scaling is on)
    * All tests passed perfectly.
    * We recommend you leave everything as it is!
    TCPopts hex string is 020405b4010303020101080a000000000000000001010402
    Max Segment Size is 1460
    Your MTU is set ok
    Window Scaling 2 bits (RFC1323)
    TSOPT - time stamp option (RFC1323)
    SACK Permitted (RFC2018)
    Ping stability 13 12 13 14 14 14 12 13 13 18
    Quick packet-loss tested ok
    Scaled DefaultRcvWindow (RWIN) is 237888
    Your RWIN limits you @13.6ms to 139934kbps
    Your RWIN limits you @200ms to 9515kbps
    Your RWIN is advertised as 237888 (scaling is on)
    (Beyond 65k, advertised RWIN is scaled)
    Your Path MTU Discovery is ON
    Max sized data packet from you 1500
    * End
    My actual RWin is 256080.

  2. #2


    Scaling is a trade secret, but since that looks like a old Cablenut RWIN you may wish to ask at his forum

  3. #3


    You could also type in search box, what is scaling, research, hope that helps

  4. #4
    Member t's Avatar
    Join Date
    Jan 2001
    Glen Cove, NY


    Scaling is scaling.
    If it's all the same to you, I will ask my questions right here,where I got this RWin from Cablenut. Thank you.

  5. #5


    So, why 256960 as the RWIN in the speedguide patch? How was that number devised?

  6. #6
    Certified SG Addict Brent's Avatar
    Join Date
    Oct 1999


    I did some searching on Microsoft, I found their RFC for it, it's RFC 1323

    Here is the URL:

    Click Me

    Here is the excerpt from it about Scaling:

    Windows Scaling
    For more efficient use of high bandwidth networks, a larger TCP window size may be used. The TCP window size field controls the flow of data and is limited to 2 bytes, or a window size of 65,535 bytes.

    Since the size field can not be expanded, a scaling factor is used. TCP window scale is an option used to increase the maximum window size from 65,535 bytes to 1 Gigabyte.

    The window scale option is used only during the TCP 3-way handshake. The window scale value represents the number of bits to right-shift the 16 bit window size field. The window scale value can be set from 0 (no shift) to 14.

    To calculate the true window size, multiply the window size by 2^S where S is the scale value.
    For Example:
    If the window size is 65,535 bytes with a window scale factor of 3.
    True window size = 65535*2^3
    True window size = 524280
    The following Network Monitor trace shows how the window scale option is used:
    TCP: ....S., len:0, seq:725163-725163, ack:0, win:65535, src:1217 dst:139(NBT Session)
    TCP: Source Port = 0x04C1
    TCP: Destination Port = NETBIOS Session Service
    TCP: Sequence Number = 725163 (0xB10AB)
    TCP: Acknowledgement Number = 0 (0x0)
    TCP: Data Offset = 44 (0x2C)
    TCP: Reserved = 0 (0x0000)
    + TCP: Flags = 0x02 : ....S.
    TCP: Window = 65535 (0xFFFF)
    TCP: Checksum = 0x8565
    TCP: Urgent Pointer = 0 (0x0)
    TCP: Options
    + TCP: Maximum Segment Size Option
    TCP: Option Nop = 1 (0x1)
    TCP: Window Scale Option
    TCP: Option Type = Window Scale
    TCP: Option Length = 3 (0x3)
    TCP: Window Scale = 3 (0x3)
    TCP: Option Nop = 1 (0x1)
    TCP: Option Nop = 1 (0x1)
    + TCP: Timestamps Option
    TCP: Option Nop = 1 (0x1)
    TCP: Option Nop = 1 (0x1)
    + TCP: SACK Permitted Option

    It's important to note that the window size used in the actual 3-way handshake is NOT the window size that is scaled. This is per RFC 1323 section 2.2, "The Window field in a SYN (for example, a [SYN] or [SYN,ACK]) segment itself is never scaled."

    This means that the first data packet sent after the 3-way handshake is the actual window size. If there is a scaling factor, the initial window size of 65,535 bytes is always used. The window size is then multiplied by the scaling factor identified in the 3-way handshake. The table below represents the scaling factor boundaries for various window sizes.

    Scale Factor Scale Value Initial Window Window Scaled
    0 1 65535 or less 65535 or less
    1 2 65535 131,070
    2 4 65535 262,140
    3 8 65535 524,280
    4 16 65535 1,048,560
    5 32 65535 2,097,120
    6 64 65535 4,194,240
    7 128 65535 8,388,480
    8 256 65535 16,776,960
    9 512 65535 33,553,920
    10 1024 65535 67,107,840
    11 2048 65535 134,215,680
    12 4096 65535 268,431,360
    13 8192 65535 536,862,720
    14 16384 65535 1,073,725,440

    For Example:

    If the window size in the registry is entered as 269000000 (269M) in decimal, the scaling factor during the 3-way handshake is 13, because a scaling factor of 12 only allows a window size up to 268,431,360 bytes (268M).

    The initial window size in this example would be calculated as follows:
    65,535 bytes with a window scale factor of 13.
    True window size = 65535*2^13
    True window size = 536,862,720
    When the value for window size is added to the registry and it's size is larger than the default value, Windows 2000 attempts to use a scale value that accommodates the new window size.

    The Tcp1323Opts value in the following registry key can be added to control scaling windows and timestamp:
    On the toolbar click Start, click Run, and then type Regedit to start the Registry Editor.

    In the Registry Editor, click Edit, point to New, and then click DWORD Value.

    In the New Value box, type Tcp1323Opts, press ENTER, and then on the Edit menu, click Modify.

    NOTE: The valid range is 0,1,2 or 3 where:
    0 (disable RFC 1323 options)
    1 (window scale enabled only)
    2 (timestamps enabled only)
    3 (both options enabled)
    This registry entry controls RFC 1323 timestamps and window scaling options. Timestamps and Window scaling are enabled by default, but can be manipulated with flag bits. Bit 0 controls window scaling, and bit 1 controls timestamps.
    "Would you mind not standing on my chest, my hats on fire." - The Doctor

  7. #7
    TCP/IP Dude rmrucker's Avatar
    Join Date
    Sep 2000
    Long Beach, CA, USA


    Speedguide: "For best results RWIN has to be a multiple of MSS (MaxMTU-40) lower than 65535 times a scale factor that's a power of 2, i.e. 44 x 1460 = 64240 x 2^2 = 256960."

  8. #8


    Description of Windows 2000 TCP Features

    "If there is a scaling factor, the initial window size of 65,535 bytes is always used."

    Therefore, 256960 doesn't make any sense.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts