INFO: Le prestazioni della connessione Winsock TCP per le porte non utilizzate

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

Sommario

In questo articolo viene descritto come l'implementazione di Winsock del protocollo TCP nei diversi Gli handle di piattaforme Microsoft socket connessioni alle porte che non dispongono di un Server in ascolto ad essi. Vengono inoltre descritti i relativi alle prestazioni Considerazioni e modificarle in base alle esigenze.

Informazioni

Quando un processo viene creato un socket TCP nel livello Microsoft Winsock e una chiamata Connect () per alcuni host e numero di porta, il protocollo TCP esegue il suo standard "three-way handshake" di un pacchetto SYN riconosciuto per l'host di destinazione con SYN/ACK e un pacchetto ACK finale da di avvio client. Tuttavia, per le specifiche TCP indicate nella specifica RFC-793 (trasmissione Protocollo di controllo), un reset (RST) potrebbe essere generato se il tentativo SYN indirizzato a un host che esiste ma non viene utilizzata la porta. Č consigliabile utilizzare questo descritta dall'offerta di RFC seguito dalla pagina 35:
Reimpostare la generazione

Come regola generale, reset (RST) deve essere inviato ogni volta che arriva un segmento quale apparentemente non č progettata per la connessione corrente. Un ripristino non devono essere inviati se non č chiaro che questo č il caso...

Se la connessione non esiste (chiuso), quindi viene inviato un reset in risposta a qualsiasi segmento in ingresso, ad eccezione di un'altra reimpostazione. In particolare In questo modo vengono rifiutati SYNs indirizzato a una connessione non esistente.

Reimpostare l'elaborazione [pagina 36]

... Nello stato SYN-SENT (un segnale RST ricevuti nella risposta SYN iniziale), la RST č accettabile se il campo ACK riconosce lo SYN.
Al momento della ricezione del client ACK/RST dall'host di destinazione, il client non determina che esiste effettivamente alcun servizio in ascolto vi. Nel Microsoft Winsock l'implementazione del protocollo TCP, mantiene una connessione in sospeso Se si tenta di inviare pacchetti SYN fino a raggiungere un valore massimo di tentativi (set nel Registro di sistema, il valore predefinito per 3 volte extra). Poiché un ACK/RST č stata ricevuta dall'host di destinazione, il livello TCP č evidente che l'host di destinazione č infatti raggiungibile e non raddoppiare il valore di timeout del pacchetto Intestazione IP, cosė come sono standard durante i tentativi di connessione con non riconosciuti SYNs. Al contrario, attende la connessione in sospeso per la connessione di base timeout di valore e ha aggiornato un altro pacchetto SYN per stabilire una connessione. Come finché viene ricevuto un pacchetto ACK/RST da una porta non utilizzata, il timeout valore non aumenta e il processo verrā ripetuto fino al massimo di tentativi viene raggiunto il valore.

Questo comportamento puō causare una riduzione delle prestazioni se per qualche motivo un processo ripetutamente chiamate Connect () per le porte dei problemi di nothing, ascolto determinando l'errore WSAECONNREFUSED. Si noti che con altri implementazioni del protocollo TCP, ad esempio quelli solitamente disponibili in molti sistemi UNIX, la Connect () si interrompe immediatamente successiva alla ricezione del primo ACK/RST pacchetto, determinando la consapevolezza di un errore molto rapidamente. Tuttavia, questa comportamento non č specificato nelle RFC e lasciato per ciascuna implementazione di decidere. L'approccio delle piattaforme Microsoft č che il sistema amministratore ha la libertā di regolare le impostazioni relative alle prestazioni TCP per i propri gusti, vale a dire il numero massimo tentativi tale valore predefinito č 3. Il vantaggio consiste nel fatto che il servizio che si sta tentando di raggiungere puō avere temporaneamente arrestato e potrebbe essere resurface tra tentativi SYN. In questo i casi, č opportuno che la Connect () aspettato a sufficienza per ottenere un connessione poiché il servizio č stato effettivamente disponibili.

Contiene l'elenco completo dei valori del Registro di sistema NT TCP. Di particolare interesse č la chiave:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Chiave: TcpMaxConnectRetransmissions
Tipo di valore: REG_DWORD - numero
Intervallo valido: 0 - 0xFFFFFFFF
Predefinito: 3 (in Windows NT)
Predefinito: 2 (in Windows 2000)
Descrizione: Questo parametro determina il numero di volte in cui che verrā TCP ritrasmettere una richiesta di connessione (SYN) prima di annullare il tentativo. Il timeout di ritrasmissione viene raddoppiato a ogni ritrasmissione successiva in un determinato tentativo di connessione (tranne nel caso descritto in precedenza). L'iniziale valore di timeout č tre secondi (dato che č stato un ACK/RST ricevuto nel caso di cui sopra, questo č irrilevante).
Per ulteriori informazioni su come le voci del Registro di sistema di Windows 95 TCP, fare clic sul numero dell'articolo della Microsoft Knowledge Base:
158474 Voci del Registro di sistema di Windows 95 TCP/IP
La seguente chiave č di particolare interesse:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\MSTCP

Chiave: MaxConnectRetries
Tipo di valore: DWORD - numero a 32 bit
Predefinito: 3
Descrizione: Specifica il numero di volte in cui un tentativo di connessione (SYN) verrā pių ritrasmesso prima di rinunciare. L'iniziale timeout di ritrasmissione č di 3 secondi (irrilevanti in il caso descritto in precedenza), e si č raddoppiata ogni volta che (i questo caso č un'eccezione) fino a un massimo di 2 minuti.
Riavviare il computer dopo aver modificato i valori del Registro di sistema.

MESSAGGIO DI AVVISO: Modifica di questi valori ha effetto su tutti i TCP in uscita richieste di connessione da computer interessato. Se tutte le attivitā TCP sul computer ha latenza minima e la distanza minima ai viaggi di andata e ritorno, riducendo in questo esempio bassa zero (anche se Microsoft sconsiglia questa) non apporterā alcuna differenza. Tuttavia, se le applicazioni o tentativi di connessione non regolarmente con gli errori Winsock standard e i server remoti di destinazione sono noti per essere disponibili, č probabile che queste voci del Registro di sistema sono la causa. In tal caso, potrebbe essere necessario aumentare il valore massimo Ripete l'operazione in modo da TCP verrā double valore time to live del pacchetto SYN nell'intestazione IP in tentativi successivi finché non si dispone di un sufficiente periodo di validitā per raggiungere l'host di destinazione e la ricezione di un SYN ACK /.

Riferimenti

RFC-793, Transmission Control Protocol, settembre 1981

White paper, Microsoft Windows NT: TCP/IP Implementation Details, 1996 Articolo della Knowledge Base 158474

Proprietā

Identificativo articolo: 175523 - Ultima modifica: giovedė 26 maggio 2011 - Revisione: 2.0
Le informazioni in questo articolo si applicano a:
  • Microsoft Win32 Application Programming Interface
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 Service Pack 2 alle seguenti piattaforme
    • Windows Server 2008 for Itanium-Based Systems
    • Windows Server 2008 Datacenter
    • Windows Server 2008 Enterprise
    • Windows Server 2008 Standard
    • Windows Web Server 2008
  • Windows Server 2008 for Itanium-Based Systems
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Windows Web Server 2008
  • Windows Vista Service Pack 2 alle seguenti piattaforme
    • Windows Vista Business
    • Windows Vista Enterprise
    • Windows Vista Home Basic
    • Windows Vista Home Premium
    • Windows Vista Starter
    • Windows Vista Ultimate
    • Windows Vista Enterprise 64-bit edition
    • Windows Vista Home Basic 64-bit edition
    • Windows Vista Home Premium 64-bit edition
    • Windows Vista Ultimate 64-bit edition
    • Windows Vista Business 64-bit edition
  • Windows Vista Service Pack 1 alle seguenti piattaforme
    • Windows Vista Business
    • Windows Vista Enterprise
    • Windows Vista Home Basic
    • Windows Vista Home Premium
    • Windows Vista Starter
    • Windows Vista Ultimate
    • Windows Vista Enterprise 64-bit edition
    • Windows Vista Home Basic 64-bit edition
    • Windows Vista Home Premium 64-bit edition
    • Windows Vista Ultimate 64-bit edition
    • Windows Vista Business 64-bit edition
  • Microsoft Windows Server 2003 Service Pack 2 alle seguenti piattaforme
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows Server 2003, Datacenter x64 Edition
    • Microsoft Windows Server 2003, Enterprise x64 Edition
    • Microsoft Windows Server 2003, Standard x64 Edition
    • Microsoft Windows XP Professional x64 Edition
    • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows XP Service Pack 3 alle seguenti piattaforme
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional
  • Microsoft Windows 2000 Service Pack 4
  • Microsoft Windows 98 Standard Edition
Chiavi: 
kbapi kbinfo kbnetwork kbwinsock kbmt KB175523 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: 175523
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