當您嘗試連線透過匿名連接埠之後您增加 IMAP 連線限制, 時 PRB: WSAEADDRESSINUSE 」 錯誤訊息

文章翻譯 文章翻譯
文章編號: 319502 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

徵狀

當您增加 IMAP 連線限制,然後再嘗試連線到 IMAP 伺服器從 Microsoft 電視郵件服務設定成非常低的 MailboxCacheTTL 設定時,收到 WSAEADDRESSINUSE 」 錯誤訊息 (錯誤代碼: 10048)。

發生的原因

因為的下列組合,就會發生這種行為:
  • 預設情況下,Windows 2000 有限空間,以讓匿名通訊埠。此空間會更限制為 Microsoft 電視郵件服務設定在低 MailboxCacheTTL。(匿名通訊埠是由電腦的 IP 堆疊指派的暫時連接埠 ; 匿名通訊埠從指定範圍內的連接埠指派。唯一的連接埠 1024年-5000 使用在 Windows 2000)。
  • 通訊端上的 [SO_REUSEADDR] 選項不是開啟,讓通訊端不能重複使用之後立即被關閉。通訊端必須保持保留處於 TIME_WAIT 狀態四分鐘。如果您設定 SO_REUSEADDR 選項,Windows 允許多個繫結至接聽通訊端。
匿名連接埠 (暫時的連接埠) 範圍限制在遠端電腦上的特定服務的連線從一台電腦最大連線數目。TCP/IP 通訊協定會使用連線網路的 4-Tuple (伺服器 IP、 伺服器連接埠、 用戶端 IP 及用戶端連接埠) 來區分連線 ; 如果匿名連接埠範圍只是寬 4000 連接埠 (大約),可以有只 4000 唯一來自連線用戶端電腦到遠端服務一次。

連線結束時, 暫時的連接埠是可供重複使用,雖然重複大部分 IP 堆疊做不使用該連接埠號碼直到整個集區的暫時連接埠使用。因此,如果重新連線用戶端程式,用戶端指派新連線的用戶端邊不同的暫時連接埠的號碼。Microsoft 電視的郵件服務的情況下非常低的 MailboxCacheTTL 設定 aggravates 這種情況,因為 IMAP 連線關閉並重新開啟經常 (幾乎每一個要求上)。

4000 的連接埠範圍似乎是大型,但是當您考慮 TCP 連線必須過期透過 TIME_WAIT 狀態真的完成之前,它是小型目前運算需求。比方說即使連線的兩邊正確關閉其兩端該連線因為的 TCP 的錯誤控制,每一側必須等到 TIME_WAIT 狀態已過期之前連線網路的資源真的可以被處置。

TIME_WAIT 狀態是兩個時間最大區段存留 (MSL)。(基於此原因 TIME_WAIT 狀態是也稱為 2MSL 狀態)。通常,取決於 IP] 堆疊 TIME_WAIT 狀態被設定為 240 秒總計。因此,您可以每個 240 秒視窗有只 4000 連線而且,在練習中,這些 4000 連線可用。

解決方案

若要避免這種行為,執行下列之一:
  • 藉由修改 MaxUserPort 登錄機碼增加連接埠範圍 (例如) 用於匿名通訊埠約 20,000 的連接埠。Windows 會使用傳統 BSD 範圍的 1024年到 5000 為其匿名 (暫時) 的連接埠範圍。您可以設定僅上限的暫時連接埠範圍。若要修改 MaxUserPort 登錄機碼,請依照下列步驟執行:

    1. 啟動 「 登錄編輯程式 」 (Regedt32.exe)。
    2. 在登錄中找到 MaxUserPort 機碼:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    3. 在 [編輯] 功能表上按一下 [新增值],並再新增下列登錄值:

      數值名稱: MaxUserPort
      資料類型: REG_DWORD
      值: 65534 (例如)
      有效範圍: 5000-65534 (十進位)
      預設值: 0x1388 (5000 十進位)
    4. 結束 「 登錄編輯程式 」。
    描述: 此參數控制最大的連接埠號碼時,應用程式向系統要求任何可用的使用者連接埠使用。通常,暫時 (也就是短暫) 連接埠配置值的 1024年和 5000 (含) 之間。

    -或者-
  • 變更在來自 240 連線的逾時為任何長度秒 (預設值),從 30 秒到 300 秒。若要變更此值使用 TcpTimedWaitDelay 登錄參數。執行這項操作、 啟動 「 登錄編輯程式 」 (Regedt32.exe)、 在登錄中找出下列機碼和修改值:

    HKEY_LOCAL_MACHINE\System\CurrectControlSet\services\Tcpip\Parameters

    TcpTimedWaitDelay

    索引鍵: Tcpip\Parameters
    值型別: REG_DWORD-時間 (以秒為單位)
    有效範圍: 30-300 (十進位)
    預設值: 0xF0 (240 十進位)

    描述
    : 這個參數會決定當連接關閉時連線會一直處於 TIME_WAIT 狀態的時間長度。連線處於 TIME_WAIT 狀態時, 不能重複使用通訊端組。如需詳細資訊請參閱 RFC 793。
注意: 這個問題由更糟,如果 MailboxCacheTTL 設定非常低。如果問題持續發生之後進行先前所述的登錄變更,,增加信箱 TTL 改變 MailboxCacheTTL SiteConfig.cfg 檔案 (如 Microsoft 伺服器安裝組態檔案) 中的設定值。

其他相關資訊

取得更多資訊有關提高預設匿名連接埠範圍按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
196271無法從 5000 以上的 TCP 連接埠連線
149532Windows NT 用戶端用盡連接埠

屬性

文章編號: 319502 - 上次校閱: 2003年6月18日 - 版次: 1.1
這篇文章中的資訊適用於:
  • Microsoft TV Server 2.0 Service Pack 1
關鍵字:?
kbmt kbprb KB319502 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:319502
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com