Windows-Server-2008

TCP 視窗縮放。由於 windows 2008 伺服器上的動態 TCP 幀大小,不支持 TCP 比例因子

  • May 15, 2012

問題

從託管在 Windows 2008 Server 上的 WCF 服務呼叫由 ISP 託管的 asp web 服務顯示超時/沒有來自 web 服務的響應。

診斷

使用 windows 網路監視器來擷取數據包並隔離發送 web 服務的數據包,我可以看到:


TLS 握手你好

TCP 傳輸

TCP重傳

TCP重傳

TCP重傳

TCP重傳

TCP重傳

TCP 協商比例因子

不支持 TCP 比例因子


這似乎沒有顯示對暗示 IP 塊的 TCP 有效負載的響應。

解決方案

在聯繫 Web 服務提供商後,他們建議沒有設置 IP 塊,並且此問題特定於 Microsoft Windows 2008 Server、動態 TCP 幀大小及其特定的負載平衡器。

經過一些進一步的研究,我相信下面會解決。

要查看 autoTuningLevel 參數的目前配置,請執行以下步驟:


點擊開始

點擊所有程序,然後點擊附件。

右鍵點擊命令提示符,然後點擊以管理員身份執行。

如果系統提示您輸入管理員密碼或進行確認,請輸入密碼,或點擊繼續。

在命令提示符處,鍵入以下命令,然後按 Enter:netsh interface tcp show global

autoTuningLevel 參數的值列為 Receive Window Auto-Tuning Level。

我們希望這將設置為正常

在命令提示符處,鍵入以下命令,然後按 Enter:netsh interface tcp set global autotuninglevel=disabled


以下列表包括 autoTuningLevel 參數的所有可能值:

/disabled:將接收視窗設置為預設值。

/highlyrestricted:讓接收視窗超出預設值,但這樣做非常保守。

/restricted:讓接收視窗超出預設值,但在某些情況下限制這種增長。

/normal:讓接收視窗增長以適應大多數情況。

/experimental:讓接收視窗增長以適應極端情況。


注意 實驗值可能會降低常見場景下的性能。此值應僅用於研究目的。

問題

只需從獨立來源尋找有關此問題的更多資訊。

希望它會在某個時候被MS修補。

謝謝斯科特

參考: http: //support.microsoft.com/kb/935400

有幾件事:

  1. 這不是需要更新檔的問題,因為它不是錯誤。這是一個功能增強。
  2. Web 服務提供商負載均衡器不支持該功能,所以真正的問題是他們不支持它,而不是微軟實現了它。
  3. 如果解決方案是由於目前的負載平衡器而禁用伺服器上的功能,那麼這就是解決方案。
  4. TCP Windows Scaling 的概念早在 1988 年就在RFC 1072中引入,並在 1992 年在RFC 1323中進行了改進。
  5. 更多資訊在這裡:

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

引用自:https://serverfault.com/questions/389198