Condividi tramite


TCP_ESTATS_PATH_ROD_v0 struttura (tcpestats.h)

La struttura TCP_ESTATS_PATH_ROD_v0 contiene informazioni dinamiche di sola lettura per le statistiche TCP estese sulla misurazione del percorso di rete per una connessione TCP.

Sintassi

typedef struct _TCP_ESTATS_PATH_ROD_v0 {
  ULONG FastRetran;
  ULONG Timeouts;
  ULONG SubsequentTimeouts;
  ULONG CurTimeoutCount;
  ULONG AbruptTimeouts;
  ULONG PktsRetrans;
  ULONG BytesRetrans;
  ULONG DupAcksIn;
  ULONG SacksRcvd;
  ULONG SackBlocksRcvd;
  ULONG CongSignals;
  ULONG PreCongSumCwnd;
  ULONG PreCongSumRtt;
  ULONG PostCongSumRtt;
  ULONG PostCongCountRtt;
  ULONG EcnSignals;
  ULONG EceRcvd;
  ULONG SendStall;
  ULONG QuenchRcvd;
  ULONG RetranThresh;
  ULONG SndDupAckEpisodes;
  ULONG SumBytesReordered;
  ULONG NonRecovDa;
  ULONG NonRecovDaEpisodes;
  ULONG AckAfterFr;
  ULONG DsackDups;
  ULONG SampleRtt;
  ULONG SmoothedRtt;
  ULONG RttVar;
  ULONG MaxRtt;
  ULONG MinRtt;
  ULONG SumRtt;
  ULONG CountRtt;
  ULONG CurRto;
  ULONG MaxRto;
  ULONG MinRto;
  ULONG CurMss;
  ULONG MaxMss;
  ULONG MinMss;
  ULONG SpuriousRtoDetections;
} TCP_ESTATS_PATH_ROD_v0, *PTCP_ESTATS_PATH_ROD_v0;

Members

FastRetran

Tipo: ULONG

Numero di chiamate dell'algoritmo Fast Retransmit.

Timeouts

Tipo: ULONG

Numero di volte in cui il timeout di ritrasmissione è scaduto quando il moltiplicatore backoff timer di ritrasmissione è uguale a uno.

SubsequentTimeouts

Tipo: ULONG

Numero di volte in cui il timeout di ritrasmissione è scaduto dopo che il timer di ritrasmissione è stato raddoppiato.

Per altre informazioni, vedere la sezione 5.5 di RFC 2988 illustrata nelle osservazioni seguenti.

CurTimeoutCount

Tipo: ULONG

Numero corrente di volte in cui il timeout di ritrasmissione è scaduto senza ricevere un riconoscimento per i nuovi dati.

Il membro CurTimeoutCount viene reimpostato su zero quando i nuovi dati vengono riconosciuti e incrementati per ogni chiamata della sezione 5.5 di RFC 2988.

AbruptTimeouts

Tipo: ULONG

Numero di timeout che si sono verificati senza alcun riconoscimento duplicato immediato o altre indicazioni di congestione. I timeout improvvisi indicano che il percorso ha perso un'intera finestra di dati o riconoscimenti.

I timeout preceduti da riconoscimenti duplicati o altri segnali di congestione (notifica di congestione esplicita, ad esempio) non vengono conteggiati come improvvisi e potrebbero essere stati evitati da un algoritmo di ritrasmissione veloce più sofisticato.

PktsRetrans

Tipo: ULONG

Numero di segmenti trasmessi contenenti almeno alcuni dati ritrasmessi.

BytesRetrans

Tipo: ULONG

Numero di byte ritrasmesso.

DupAcksIn

Tipo: ULONG

Numero di SDK duplicati ricevuti.

SacksRcvd

Tipo: ULONG

Numero di opzioni di riconoscimento selettivo (SACK) ricevute.

SackBlocksRcvd

Tipo: ULONG

Numero di blocchi SACK ricevuti (all'interno delle opzioni SACK).

CongSignals

Tipo: ULONG

Numero di regolazioni della congestione moltiplicativa verso il basso a causa di tutte le forme di segnali di congestione, tra cui Fast Retransmit, Explicit Congestion Notification (ECN) e timeout. Questo membro riepiloga tutti gli eventi che richiamano la parte Multiplicative Decrease (MD) del controllo di congestione Di aumento moltiplicativo (AIMD) e come tale è l'indicatore migliore del modo in cui una finestra di congestione è interessata dalla congestione.

Si noti che i timeout di ritrasmissione riducono in modo implicito la finestra impostando le dimensioni della soglia di inizio lente e sono inclusi nel valore archiviato nel membro CongSignals . Per ridurre al minimo le indicazioni di congestione spurie a causa di segmenti non ordinati, il membro CongSignals viene incrementato in associazione all'algoritmo Fast Retransmit.

PreCongSumCwnd

Tipo: ULONG

Somma dei valori della finestra di congestione, in byte, acquisita ogni volta che viene ricevuto un segnale di congestione.

Questo membro viene aggiornato ogni volta che il membro CongSignals viene incrementato, in modo che la modifica nel membro PreCongSumCwnd divisa dalla modifica nel membro CongSignals sia la finestra media (oltre un intervallo) appena prima di un segnale di congestione.

PreCongSumRtt

Tipo: ULONG

Somma, in millisecondi, dell'ultimo esempio del round trip di rete (RTT) prima dei segnali di congestione ricevuti. L'ultimo esempio del RTT viene archiviato nel membro SampleRtt .

Il membro PreCongSumRtt viene aggiornato ogni volta che il membro CongSignals viene incrementato, in modo che la modifica nel preCongSumRtt diviso dalla modifica nel membro CongSignals sia la media RTT (in un intervallo) appena prima di un segnale di congestione.

PostCongSumRtt

Tipo: ULONG

Somma, in millisecondi, del primo esempio del RTT di rete (archiviato nel membro SampleRtt ) che segue ogni segnale di congestione.

La modifica nel membro PostCongSumRtt divisa dalla modifica nel membro PostCongCountRtt è la media RTT (oltre un intervallo) appena dopo un segnale di congestione.

PostCongCountRtt

Tipo: ULONG

Numero di esempi RTT, in byte, inclusi nel membro PostCongSumRtt .

La modifica nel membro PostCongSumRtt divisa dalla modifica nel membro PostCongCountRtt è la media RTT (oltre un intervallo) appena dopo un segnale di congestione.

EcnSignals

Tipo: ULONG

Numero di segnali di congestione recapitati al mittente TCP tramite ECN.

Questo è in genere il numero di segmenti che recano Echo Congestion

Bit esperti (ECE), ma anche segmenti che hanno esito negativo sul controllo ECN o altri segnali di congestione espliciti.

EceRcvd

Tipo: ULONG

Numero di segmenti ricevuti con intestazioni IP con contrassegni Congestion Experienced (CE).

SendStall

Tipo: ULONG

Numero di stalli di interfaccia o altre limitazioni delle risorse locali del mittente considerate come segnali di congestione.

QuenchRcvd

Tipo: ULONG

Riservato per utilizzi futuri. Questo membro è sempre impostato su zero.

RetranThresh

Tipo: ULONG

Numero di riconoscimenti duplicati necessari per attivare Fast Retransmit.

Si noti che, anche se questa è costante nelle implementazioni TCP di Reno tradizionali, è adattiva in molte implementazioni TCP più recenti.

SndDupAckEpisodes

Tipo: ULONG

Numero di duplicati Acks Inviati quando prima Ack non è stato duplicato. Si tratta del numero di volte in cui è stata inviata una serie contigua di riconoscimenti duplicati.

Si tratta di un'indicazione del numero di segmenti di dati persi o riordinati nel percorso dall'endpoint TCP remoto all'endpoint TCP vicino.

SumBytesReordered

Tipo: ULONG

Somma degli importi SND. UNA avanza sul riconoscimento che termina un episodio dup-ack senza una ritrasmissione.

Si noti che la modifica nel membro SumBytesReordered diviso per la modifica nel membro NonRecovDaEpisodes è una stima della distanza di riordinazione media, in alcuni intervalli.

NonRecovDa

Tipo: ULONG

Numero di ack duplicati (o SACKS) che non hanno attivato una ritrasmissione rapida perché ACK ha avanzato prima del numero di riconoscimenti duplicati che raggiungono RetranThresh.

Si noti che la modifica nel membro NonRecovDa divisa dalla modifica nel membro NonRecovDaEpisodes è una stima della distanza media di riordinamento nei segmenti in alcuni intervalli.

NonRecovDaEpisodes

Tipo: ULONG

Numero di episodi di riconoscimento duplicati che non hanno attivato una ritrasmissione rapida perché ACK ha avanzato prima del numero di riconoscimenti duplicati che raggiungono RetranThresh.

AckAfterFr

Tipo: ULONG

Riservato per utilizzi futuri. Questo membro è sempre impostato su zero.

DsackDups

Tipo: ULONG

Numero di segmenti duplicati segnalati all'host locale da blocchi D-SACK.

SampleRtt

Tipo: ULONG

La misurazione del tempo di round trip di rete non elaborata più recente, in millisecondi, usata nel calcolo del timer di ritrasmissione (RTO).

SmoothedRtt

Tipo: ULONG

Tempo di round trip uniforme, in millisecondi, usato nel calcolo dell'RTO.

RttVar

Tipo: ULONG

Variazione del tempo di round trip, in millisecondi, usata nel calcolo dell'RTO.

MaxRtt

Tipo: ULONG

Tempo massimo di round trip campione in millisecondi.

MinRtt

Tipo: ULONG

Tempo minimo di round trip campione in millisecondi.

SumRtt

Tipo: ULONG

Somma di tutti i tempi di round trip campionati in millisecondi.

Si noti che la modifica nel membro SumRtt divisa dalla modifica nel membro CountRtt è la media RTT, mediamente mediata su un intervallo di immissione.

CountRtt

Tipo: ULONG

Numero di esempi di round trip inclusi nel membro SumRtt .

CurRto

Tipo: ULONG

Valore corrente, in millisecondi, del timer di ritrasmissione.

MaxRto

Tipo: ULONG

Valore massimo, in millisecondi, del timer di ritrasmissione.

MinRto

Tipo: ULONG

Valore minimo, in millisecondi, del timer di ritrasmissione.

CurMss

Tipo: ULONG

Dimensione massima corrente del segmento (MSS), in byte.

MaxMss

Tipo: ULONG

Numero massimo di mss, in byte.

MinMss

Tipo: ULONG

Numero minimo di mss, in byte.

SpuriousRtoDetections

Tipo: ULONG

Numero di segmenti di segnalazione dei riconoscimenti che sono già stati ritrasmessi a causa di un timeout di ritrasmissione.

Commenti

La struttura TCP_ESTATS_PATH_ROD_v0 viene usata come parte della funzionalità delle statistiche estese TCP disponibili in Windows Vista e versioni successive.

Il TCP_ESTATS_PATH_ROD_v0 è definito come versione 0 della struttura per informazioni dinamiche di sola lettura sulla misurazione del percorso di rete per una connessione TCP. Queste informazioni sono disponibili dopo aver stabilito la connessione.

La struttura TCP_ESTATS_PATH_ROD_v0 viene recuperata dalle chiamate alle funzioni GetPerTcp6ConnectionEStats o GetPerTcpConnectionEStats quando TcpConnectionEstatsPath viene passato nel parametro EstatsType . Per recuperare questa struttura, è necessario abilitare le statistiche TCP estese.

Il percorso di individuazione MTU e la dimensione massima del segmento sono descritti in dettaglio nell'individuazione di IETF RFC 1191 nel percorso di individuazione MTU. Per altre informazioni, vedere http://www.ietf.org/rfc/rfc1191.txt.

Gli algoritmi di controllo della congestione TCP e di controllo della congestione sono descritti in dettaglio in IETF RFC 2581 sul controllo congestione TCP. Per altre informazioni, vedere http://www.ietf.org/rfc/rfc2581.txt.

SACK e un'estensione per l'opzione SACK sono descritti in dettaglio nell'opzione IETF RFC 2883 in Un'estensione per l'opzione di riconoscimento selettivo (SACK) per TCP. Per altre informazioni, vedere http://www.ietf.org/rfc/rfc2883.txt.

Il timer di ritrasmissione TCP (RTO) e il round trip-time (RTT) smoothed sono descritti in dettaglio in IETF RFC 2988 sul timer di ritrasmissione TCP. Per altre informazioni, vedere http://www.ietf.org/rfc/rfc2988.txt.

La notifica di congestione esplicita nell'indirizzo IP è descritta in dettaglio in IETF RFC 2581 sull'aggiunta di notifiche di congestione esplicite (ECN) a IP. Per altre informazioni, vedere http://www.ietf.org/rfc/rfc3168.txt.

I membri di questa struttura sono definiti nella RFC IETF nel MIB delle statistiche estese TCP. Per altre informazioni, vedere http://www.ietf.org/rfc/rfc4898.txt.

Di seguito è riportato il mapping dei membri nella struttura TCP_ESTATS_PATH_ROD_v0 alle voci definite in RFC 4898 per le statistiche TCP estese:

Termine Descrizione
FastRetran tcpEStatsStackFastRetran
Timeout tcpEStatsPerfTimeouts
SuccessiveTimeout tcpEStatsStackSubsequentTimeouts
CurTimeoutCount tcpEStatsStackCurTimeoutCount
AbruptTimeouts tcpEStatsStackAbruptTimeouts
PktsRetrans tcpEStatsPerfSegsRetrans
BytesRetrans tcpEStatsPerfOctetsRetrans
DupAcksIn tcpEStatsStackDupAcksIn
SacksRcvd tcpEStatsStackSACKsRcvd
SackBlocksRcvd tcpEStatsStackSACKBlocksRcvd
CongSignals tcpEStatsPerfCongSignals
PreCongSumCwnd tcpEStatsPathPreCongSumCwnd
PreCongSumRtt tcpEStatsPathPreCongSumRTT
PostCongSumRtt tcpEStatsPathPostCongSumRTT
PostCongCountRtt tcpEStatsPathPostCongCountRTT
EcnSignals tcpEStatsPathECNsignals
EceRcvd tcpEStatsPathCERcvd
SendStall tcpEStatsStackSendStall
QuenchRcvd Nessun mapping a questo membro.
RetranThresh tcpEStatsPathRetranThresh
SndDupAckEpisodes tcpEStatsPathDupAckEpisodes
SumBytesReordered tcpEStatsPathSumOctetsReordered
NonRecovDa tcpEStatsPathNonRecovDA
NonRecovDaEpisodes tcpEStatsPathNonRecovDAEpisodes
AckAfterFr Nessun mapping a questo membro.
DsackDups tcpEStatsStackDSACKDups
SampleRtt tcpEStatsPathSampleRTT
SmoothedRtt tcpEStatsPerfSmoothedRTT
RttVar tcpEStatsPathRTTVar
MaxRtt tcpEStatsPathMaxRTT
MinRtt tcpEStatsPathMinRTT
SumRtt tcpEStatsPathSumRTT
CountRtt tcpEStatsPathCountRTT
CurRto tcpEStatsPerfCurRTO
MaxRto tcpEStatsPathMaxRTO
MinRto tcpEStatsPathMinRTO
Curms tcpEStatsPerfCurMSS
MaxMss tcpEStatsStackMaxMSS
MinMss tcpEStatsStackMinMSS
SpuriousRtoDetections tcpEStatsStackSpuriousRtoDetected
 

La struttura TCP_ESTATS_FINE_RTT_ROD_v0 include membri che forniscono dati simili alla strutturaRttVar, MaxRtt, MinRtt e SumRtt della struttura TCP_ESTATS_PATH_ROD_v0. Tuttavia, il tempo viene segnalato in microsecondi per i membri simili della struttura TCP_ESTATS_FINE_RTT_ROD_v0 .

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Intestazione tcpestats.h

Vedi anche

GetPerTcp6ConnectionEStats

GetPerTcpConnectionEStats

TCP_ESTATS_FINE_RTT_ROD_v0

TCP_ESTATS_TYPE