TCP Window Scaling. TCP scale factor not supported due to dynamic TCP Frame Size on windows 2008 server

5,219

A couple of things:

  1. This isn't an issue that requires a patch, because it's not a bug. It's a feature enhancement.

  2. The webservice providers load balancers don't support the feature, so the real problem is that they don't support it, not that Microsoft implemented it.

  3. If the solution is to disable the feature on the server, owing to the current load balancers, then that's the solution.

  4. The concept of TCP Windows Scaling was introduced in RFC 1072 way back in 1988 and refined in RFC 1323 back in 1992.

  5. Lots more information here:

https://www.google.com/#hl=en&gs_nf=1&tok=2Z0E4Znj0AxsSRXPwvVWBg&cp=13&gs_id=1k&xhr=t&q=TCP+Window+Scaling&pf=p&sclient=psy-ab&oq=TCP+Window+Sc&aq=0&aqi=g4&aql=&gs_l=&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&fp=41e29ab53187148e&biw=1920&bih=911

Share:
5,219
scott_lotus
Author by

scott_lotus

Updated on September 18, 2022

Comments

  • scott_lotus
    scott_lotus over 1 year

    PROBLEM

    Calling an asp webservice hosted by an ISP from our WCF service hosted on Windows 2008 Server is showing timeout/no response from webservice.

    DIAGNOSIS

    Using windows network monitor to packet capture and isolate packets sent a webservice i can see:


    TLS handshake hello

    TCP transmit

    TCP retransmit

    TCP retransmit

    TCP retransmit

    TCP retransmit

    TCP retransmit

    TCP negotionating scale factor

    TCP scale factor not supported


    This appear to show no response to TCP payload which implies an IP block.

    SOLUTION

    After contacting the webservice provider they have suggested that no IP block is in place and this issue is specific to Microsoft Windows 2008 Server, dynamic TCP Frame Size and their specific load balancers.

    After some further research I believe the below will resolve.

    To see the current configuration for the autoTuningLevel parameter, follow these steps:


    Click Start

    click All Programs, and then click Accessories.

    Right-click Command Prompt, and then click Run as Administrator.

    If you are prompted for an administrator password or for confirmation, type the password, or clickContinue.

    At the command prompt, type the following command, and then press ENTER: netsh interface tcp show global

    The value for the autoTuningLevel parameter is listed as Receive Window Auto-Tuning Level.

    We would expect this to be set to normal

    At the command prompt, type the following command, and then press ENTER: netsh interface tcp set global autotuninglevel=disabled


    The following list includes all possible values for the autoTuningLevel parameter:

    /disabled: Sets the receive window at the default value.

    /highlyrestricted: Lets the receive window grow beyond the default value, but does so very conservatively.

    /restricted: Lets the receive window grow beyond the default value, but limits such growth in some scenarios.

    /normal: Lets the receive window grow to accommodate most scenarios.

    /experimental: Lets the receive window grow to accommodate extreme scenarios.


    Note The experimental value may decrease performance in common scenarios. This value should be used only for research purposes.

    QUESTION

    Simply looking for further information on this problem from an independent source.

    Hoping it will be patched by MS at some point.

    Thank you Scott

    REF: http://support.microsoft.com/kb/935400

  • joeqwerty
    joeqwerty about 12 years
    Glad to help...