PRB: Messaggio di errore "WSAEADDRESSINUSE" quando si tenta di connettersi tramite una porta anonima dopo si aumenta il limite di connessione IMAP

Traduzione articoli Traduzione articoli
Identificativo articolo: 319502 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

Sintomi

Quando si aumenta il limite di connessione IMAP e quindi provare a connettersi al server IMAP da un servizio di posta elettronica Microsoft TV Ŕ configurato con un'impostazione MailboxCacheTTL molto bassa, viene visualizzato il messaggio di errore "WSAEADDRESSINUSE" (codice di errore: 10048).

Cause

Questo comportamento si verifica a causa di una combinazione delle seguenti operazioni:
  • Per impostazione predefinita, Windows 2000 ha limitato lo spazio per le porte anonime. Questo spazio Ŕ pi¨ limitato dal basso MailboxCacheTTL configurato per il servizio di posta elettronica Microsoft TV. (Porte anonime sono porte temporanee che vengono assegnate in base allo stack IP del computer; porte anonime vengono assegnate da un determinato intervallo di porte. Sola le porte 1024-5000 vengono utilizzate in Windows 2000.)
  • L'opzione SO_REUSEADDR su socket non Ŕ attiva, in modo che il socket non possono essere riutilizzati immediatamente dopo la chiusura. Il socket deve rimanere riservate nello stato TIME_WAIT per quattro minuti. Se si imposta l'opzione SO_REUSEADDR, Windows consente a pi¨ binding al socket in ascolto.
L'intervallo anonimo (porta effimera) limita il numero massimo di connessioni da un computer a un servizio specifico in un computer remoto. Il protocollo TCP/IP utilizza 4-tupla la connessione (IP del server, porta del server, client IP e porta del client) per distinguere tra connessioni; se l'intervallo di porte anonimo Ŕ solo 4000 porte ampia (circa) possono essere presenti solo 4000 connessioni univoche da un computer client a un servizio remoto in una sola volta.

Quando termina la connessione, le porte effimere sono disponibile per il riutilizzo, sebbene la maggior parte degli stack IP non riutilizzare tale numero di porta fino a quando non Ŕ stato utilizzato l'intero pool di porte effimere. Pertanto, se si riconnette il programma client, il client viene assegnato un numero di porta effimera diverso per il lato client della nuova connessione. In caso di servizio di posta Microsoft TV un'impostazione MailboxCacheTTL molto bassa aggravates la situazione poichÚ le connessioni IMAP chiudere e riaprire la frequenza (in quasi ogni richiesta).

Un intervallo di porte di 4000 pu˛ sembrare grande, ma Ŕ piccola per le richieste di elaborazione corrente se si considera che una connessione TCP deve scadere tramite stato TIME_WAIT prima che sia effettivamente completata. Ad esempio, anche se entrambi i lati di una connessione di chiudere correttamente le estremitÓ della connessione, a causa di un controllo degli errori del TCP, ogni lato attendere stato TIME_WAIT Ŕ scaduto prima della connessione realmente Ŕ possibile eliminare le risorse.

Stato TIME_WAIT Ŕ due volte la massima del segmento durata (MSL). (Per questo motivo stato TIME_WAIT Ŕ denominata anche stato 2MSL). In genere, in base allo stack IP stato TIME_WAIT Ŕ configurato per essere totale 240 secondi. Di conseguenza, Ŕ possibile solo 4000 connessioni per ogni finestra 240 secondi e, in pratica, Ŕ possibile utilizzare queste 4000 connessioni.

Risoluzione

Per impedire questo comportamento, effettuare una delle seguenti operazioni:
  • Aumentare l'intervallo di porta utilizzato per le porte anonime alle porte circa 20.000, ad esempio, modificando la chiave del Registro di sistema di MaxUserPort. Windows utilizza l'intervallo BSD convenzionale di 1024 e 5000 per l'intervallo di porta (effimera) anonimo. ╚ possibile impostare solo il limite superiore dell'intervallo di porte effimere. Per modificare la chiave MaxUserPort del Registro di sistema, attenersi alla seguente procedura:

    1. Avviare l'editor del Registro di configurazione (Regedt32.exe).
    2. Individuare la chiave MaxUserPort del Registro di sistema:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    3. Fare clic su Aggiungi valore dal menu Modifica e aggiungere il seguente valore del Registro di sistema:

      Nome valore: MaxUserPort
      Tipo di dati: REG_DWORD
      Valore: 65534 (ad esempio)
      Intervallo valido: 5000-65534 (decimale)
      Impostazione predefinita: 0x1388 (decimale 5000)
    4. Chiudere l'editor del Registro di sistema.
    Descrizione: questo parametro controlla il numero di porta massimo che viene utilizzato quando viene richiesta qualsiasi porta utente disponibile dal sistema. In genere, effimera (vale a dire breve durata) le porte vengono allocate tra i valori 1024 e 5000 inclusi.

    - oppure -
  • Modifica del timeout per le connessioni da 240 secondi (impostazione predefinita) per qualsiasi lunghezza da 30 secondi a 300 secondi. Utilizzare il parametro del Registro di sistema TcpTimedWaitDelay per modificare questo valore. A tale scopo, avviare l'editor del Registro di sistema (Regedt32.exe), individuare la seguente chiave del Registro di sistema e modificare il valore:

    HKEY_LOCAL_MACHINE\System\CurrectControlSet\services\Tcpip\Parameters

    TcpTimedWaitDelay

    Chiave: Tcpip\Parameters
    Valore di tipo: REG_DWORD-tempo in secondi
    Intervallo valido: 30-300 (decimale)
    Impostazione predefinita: 0xF0 (240 decimale)

    Descrizione
    : questo parametro determina il periodo di tempo una connessione rimarrÓ nello stato TIME_WAIT durante la connessione viene chiusa. Mentre Ŕ nello stato TIME_WAIT una connessione, la coppia del socket non pu˛ essere riutilizzata. Per ulteriori informazioni, vedere RFC 793.
Nota: questo problema viene effettuata peggio se l'impostazione MailboxCacheTTL Ŕ molto bassa. Se il problema persiste dopo aver apportato le modifiche al Registro di sistema descritti in precedenza, aumentare il TTL cassetta postale modificando l'impostazione MailboxCacheTTL nel file SiteConfig.cfg (il file di configurazione per Microsoft Server Installation).

Informazioni

Per ulteriori informazioni sull'aumento dell'intervallo di porte anonimo predefinito, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
196271Impossibile connettersi dalle porte TCP superiori 5000
149532Esecuzione di porte client Windows NT

ProprietÓ

Identificativo articolo: 319502 - Ultima modifica: mercoledý 18 giugno 2003 - Revisione: 1.1
Le informazioni in questo articolo si applicano a:
  • Microsoft TV Server 2.0 Service Pack 1
Chiavi:á
kbmt kbprb KB319502 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 319502
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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