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:
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 |