Stati di connessione TCP e l'output Netstat

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: 137984
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Sommario
In questo articolo vengono descritti gli stati di connessione TCP e come leggere l'output Netstat (NETSTAT.EXE).

Prima che venga trasferimento dei dati viene eseguita in TCP, è necessario stabilire una connessione. TCP utilizza un handshake a tre vie (i dettagli di questo sono reperibile nella RFC793, capitolo 3: "Specifiche funzionali").
Informazioni

Stati di connessione TCP

Di seguito è riportata una breve spiegazione di questo handshake. In questo contesto "client" è il peer richiede una connessione e "server" è il peer di accettazione di una connessione. Si noti che questa notazione non riflette le relazioni di client/server come un oggetto principal dell'architettura.

  1. Stabilimento connessione

    • Il client invia un messaggio SYN, che contiene la porta del server e del client iniziale sequenza numero (ISN) al server (aperte attiva).
    • Il server invia nuovamente propri SYN e ACK (che è costituito da del client ISN + 1).
    • Il client invia un ACK (che è costituito da del server ISN + 1).
  2. Connessione chiusura (modificato tre modalità handshake).

    • Il client invia un FIN (chiusura attivo). Questo è un ora una connessione di chiusura a metà. Il client non invia i dati, ma è comunque in grado di ricevere dati dal server. Dopo aver ricevuto questo FIN, il server entra in uno passivo stato di chiusura.
    • Il server invia un ACK (che è la sequenza FIN client + 1)
    • Il server invia il proprio FIN.
    • Il client invia un ACK (ovvero FIN sequenza del server + 1). Dopo aver ricevuto questo ACK, il server chiude la connessione.
Per terminare l'invio di dati durante davanzale ricezione dei dati è possibile utilizzare una connessione chiusa a metà. Le applicazioni socket è possono chiamare arresto con il secondo argomento impostato su 1 per questo stato.

Output netstat

È possibile monitorare gli stati di connessione TCP precedenti in una traccia di rete con i flag TCP. È possibile determinare lo stato della connessione eseguendo l'utilità Netstat e osservando la colonna stato. Netstat viene fornito con Windows NT, Windows 95 e TCP/IP-32 per Windows per Workgroup.

Stato spiegazioni, come illustrato nella Netstat:
Descrizione stato
------------ --------------------------------------------------------

SYN_SEND Indica attivo aperto.

SYN_RECEIVED Server ha appena ricevuto SYN dal client.

STABILITA Client ricevuto SYN del server e, a sessione è stata stabilita.

LISTEN Il server è pronto per accettare la connessione.

Nota: Vedere la documentazione per la chiamata di socket listen(). TCP socket in stato di attesa non vengono visualizzati - si tratta di una limitazione di NETSTAT. Per ulteriori informazioni, vedere il seguente articolo della Microsoft Knowledge Base riportato di seguito:
134404NETSTAT.EXE non viene visualizzato socket di ascolto TCP
FIN_WAIT_1 Indica la chiusura attiva.

TIMED_WAIT Client passa questo stato dopo la chiusura attiva.

CLOSE_WAIT Chiudere indica passivo. Server è solo ha ricevuto il primo FIN da un client.

FIN_WAIT_2 Client ricevuti solo riconoscimento di relativo primo FIN dal server.

Last_ack Server è in questo stato quando invia il proprio FIN.

CHIUSO Server ricevuto ACK dal client e connessione viene chiusa.
Ad esempio, si consideri il seguente scenario:

Un'applicazione di socket è stata terminata, ma il socket in uno stato CLOSE_WAIT di report Netstat. Ciò potrebbe indicare che il client chiuso correttamente la connessione (è stato inviato FIN), ma il server dispone comunque del socket di aprire. È possibile il risultato di un'istanza (tra tutti i thread o processi) del socket non chiuso.

Nota: È normale disporre di un socket nello stato TIME_WAIT per un lungo periodo di tempo. Il tempo è specificato nella RFC793 come due volte la massima segmento durata (MSL). MSL è specificato 2 minuti. In questo modo, un socket può essere un TIME_WAIT per tempo 4 minuti. Alcuni sistemi di implementano valori diversi (2 minuti) per MSL.

Ulteriori riferimenti:
  • "Internetworking con TCP/IP, volume 1" da Douglas Comer
  • "TCP/IP illustrato, volume 1" da Richard Stevens.
  • "Reti di computer" da Andrew Tanenbaum
prodtcp prodnt 3.11 NtwkWinsock

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 137984 - Ultima revisione: 12/04/2015 12:08:20 - Revisione: 3.0

Microsoft Windows NT Workstation 3.5, Microsoft Windows NT Workstation 3.51, Microsoft Windows NT Server 3.5, Microsoft Windows NT Server 3.51, Microsoft TCP/IP per Windows per Workgroup 3.11, Microsoft Windows 95

  • kbnosurvey kbarchive kbmt KB137984 KbMtit
Feedback