estructura TCP_ESTATS_PATH_ROD_v0 (tcpestats.h)
La estructura de TCP_ESTATS_PATH_ROD_v0 contiene información dinámica de solo lectura para estadísticas TCP extendidas en la medición de ruta de acceso de red para una conexión TCP.
Sintaxis
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;
Miembros
FastRetran
Tipo: ULONG
Número de invocaciones del algoritmo de retransmisión rápida.
Timeouts
Tipo: ULONG
El número de veces que el tiempo de espera de retransmisión ha expirado cuando el multiplicador de retroceso del temporizador de retransmisión es igual a uno.
SubsequentTimeouts
Tipo: ULONG
El número de veces que el tiempo de espera de retransmisión ha expirado después de duplicar el temporizador de retransmisión.
Para obtener más información, vea la sección 5.5 de RFC 2988 que se describe en los comentarios siguientes.
CurTimeoutCount
Tipo: ULONG
El número actual de veces que el tiempo de espera de retransmisión ha expirado sin recibir una confirmación para los nuevos datos.
El miembro CurTimeoutCount se restablece a cero cuando se reconocen e incrementan nuevos datos para cada invocación de la sección 5.5 de RFC 2988.
AbruptTimeouts
Tipo: ULONG
Número de tiempos de espera que se produjeron sin ninguna confirmación duplicada anterior inmediatamente u otras indicaciones de congestión. Los tiempos de espera abruptos indican que la ruta de acceso perdió toda una ventana de datos o confirmaciones.
Los tiempos de espera precedidos por confirmaciones duplicadas u otras señales de congestión (notificación de congestión explícita, por ejemplo) no se cuentan como abruptas y es posible que se hayan evitado mediante un algoritmo de retransmisión rápida más sofisticado.
PktsRetrans
Tipo: ULONG
Número de segmentos transmitidos que contienen al menos algunos datos retransmitidos.
BytesRetrans
Tipo: ULONG
Número de bytes retransmitidos.
DupAcksIn
Tipo: ULONG
Número de ACK duplicados recibidos.
SacksRcvd
Tipo: ULONG
Número de opciones de confirmación selectiva (SACK) recibidas.
SackBlocksRcvd
Tipo: ULONG
Número de bloques SACK recibidos (dentro de las opciones de SACK).
CongSignals
Tipo: ULONG
El número de ajustes de ventana de congestión descendente multiplicativos debido a todas las formas de señales de congestión, incluida la retransmisión rápida, la notificación de congestión explícita (ECN) y los tiempos de espera. Este miembro resume todos los eventos que invocan la parte de disminución multiplicativa (MD) del control de congestión de disminución multiplicativa de aumento aditivo (AIMD) y, como tal, es el mejor indicador de cómo se ven afectadas las ventanas de congestión.
Tenga en cuenta que los tiempos de espera de retransmisión reducen implícitamente la ventana estableciendo el tamaño del umbral de inicio lento y se incluyen en el valor almacenado en el miembro CongSignals . Para minimizar las indicaciones de congestión falsa debido a segmentos desordenados, el miembro CongSignals se incrementa en asociación con el algoritmo De retransmisión rápida.
PreCongSumCwnd
Tipo: ULONG
Suma de los valores de la ventana de congestión, en bytes, capturadas cada vez que se recibe una señal de congestión.
Este miembro se actualiza cada vez que se incrementa el miembro CongSignals , de modo que el cambio en el miembro PreCongSumCwnd dividido por el cambio en el miembro CongSignals es la ventana media (en algún intervalo) justo antes de una señal de congestión.
PreCongSumRtt
Tipo: ULONG
Suma, en milisegundos, de la última muestra del tiempo de ida y vuelta de red (RTT) antes de las señales de congestión recibidas. El último ejemplo del RTT se almacena en el miembro SampleRtt .
El miembro PreCongSumRtt se actualiza cada vez que se incrementa el miembro CongSignals , de modo que el cambio en PreCongSumRtt dividido por el cambio en el miembro CongSignals es el RTT promedio (en algún intervalo) justo antes de una señal de congestión.
PostCongSumRtt
Tipo: ULONG
Suma, en milisegundos, de la primera muestra de la RTT de red (almacenada en el miembro SampleRtt ) después de cada señal de congestión.
El cambio en el miembro PostCongSumRtt dividido por el cambio en el miembro PostCongCountRtt es el RTT promedio (en algún intervalo) justo después de una señal de congestión.
PostCongCountRtt
Tipo: ULONG
Número de muestras rtT, en bytes, incluidas en el miembro PostCongSumRtt .
El cambio en el miembro PostCongSumRtt dividido por el cambio en el miembro PostCongCountRtt es el RTT promedio (en algún intervalo) justo después de una señal de congestión.
EcnSignals
Tipo: ULONG
Número de señales de congestión entregadas al remitente TCP a través de ECN.
Este suele ser el número de segmentos que contienen la congestión de eco
Bits experimentados (ECE), pero también incluye segmentos con errores en la comprobación de ecn nonce u otras señales de congestión explícitas.
EceRcvd
Tipo: ULONG
El número de segmentos recibidos con los encabezados IP que contienen marcas congestión experimentada (CE).
SendStall
Tipo: ULONG
Número de bloqueos de interfaz u otras limitaciones de recursos locales del remitente que se tratan como señales de congestión.
QuenchRcvd
Tipo: ULONG
Reservado para uso futuro. Este miembro siempre se establece en cero.
RetranThresh
Tipo: ULONG
Número de confirmaciones duplicadas necesarias para desencadenar La retransmisión rápida.
Tenga en cuenta que, aunque esto es constante en las implementaciones tradicionales de Reno TCP, es adaptable en muchas implementaciones TCP más recientes.
SndDupAckEpisodes
Tipo: ULONG
Número de Acks duplicados enviados cuando Ack anterior no se duplicaba. Este es el número de veces que se ha enviado una serie contigua de confirmaciones duplicadas.
Se trata de una indicación del número de segmentos de datos perdidos o reordenados en la ruta de acceso desde el punto de conexión TCP remoto al punto de conexión TCP cercano.
SumBytesReordered
Tipo: ULONG
Suma de los importes SND. UNA avanza en la confirmación que termina un episodio dup-ack sin retransmisión.
Observe que el cambio en el miembro SumBytesReordered dividido por el cambio en el miembro NonRecovDaEpisodes es una estimación de la distancia media de reordenación, en algún intervalo.
NonRecovDa
Tipo: ULONG
El número de acks duplicados (o SACKS) que no desencadenó una retransmisión rápida porque ACK avanzaba antes del número de confirmaciones duplicadas que alcanzaban el RetranThresh.
Tenga en cuenta que el cambio en el miembro NonRecovDa dividido por el cambio en el miembro NonRecovDaEpisodes es una estimación de la distancia media de reordenación en segmentos durante algún intervalo.
NonRecovDaEpisodes
Tipo: ULONG
Número de episodios de confirmación duplicados que no desencadenaron una retransmisión rápida porque ACK avanzaba antes del número de confirmaciones duplicadas que alcanzaban el RetranThresh.
AckAfterFr
Tipo: ULONG
Reservado para uso futuro. Este miembro siempre se establece en cero.
DsackDups
Tipo: ULONG
Número de segmentos duplicados notificados al host local por bloques D-SACK.
SampleRtt
Tipo: ULONG
La medida más reciente del tiempo de ida y vuelta de red sin procesar, en milisegundos, utilizada en el cálculo del temporizador de retransmisión (RTO).
SmoothedRtt
Tipo: ULONG
El tiempo de ida y vuelta suavizado, en milisegundos, utilizado en el cálculo del RTO.
RttVar
Tipo: ULONG
Variación del tiempo de ida y vuelta, en milisegundos, utilizada en el cálculo del RTO.
MaxRtt
Tipo: ULONG
Tiempo máximo de ida y vuelta muestreado en milisegundos.
MinRtt
Tipo: ULONG
Tiempo mínimo de ida y vuelta muestreado en milisegundos.
SumRtt
Tipo: ULONG
Suma de todos los tiempos de ida y vuelta muestreados en milisegundos.
Tenga en cuenta que el cambio en el miembro SumRtt dividido por el cambio en el miembro CountRtt es el RTT medio, promediado uniformemente en un intervalo de entrada.
CountRtt
Tipo: ULONG
Número de muestras de tiempo de ida y vuelta incluidas en el miembro SumRtt .
CurRto
Tipo: ULONG
Valor actual, en milisegundos, del temporizador de retransmisión.
MaxRto
Tipo: ULONG
Valor máximo, en milisegundos, del temporizador de retransmisión.
MinRto
Tipo: ULONG
Valor mínimo, en milisegundos, del temporizador de retransmisión.
CurMss
Tipo: ULONG
Tamaño máximo de segmento actual (MSS), en bytes.
MaxMss
Tipo: ULONG
MsS máximo, en bytes.
MinMss
Tipo: ULONG
MsS mínimo, en bytes.
SpuriousRtoDetections
Tipo: ULONG
Número de confirmaciones que notifican segmentos que ya se han retransmitido debido a un tiempo de espera de retransmisión.
Comentarios
La estructura TCP_ESTATS_PATH_ROD_v0 se usa como parte de la característica de estadísticas extendidas tcp disponible en Windows Vista y versiones posteriores.
El TCP_ESTATS_PATH_ROD_v0 se define como la versión 0 de la estructura para obtener información dinámica de solo lectura en la medida de la ruta de acceso de red para una conexión TCP. Esta información está disponible una vez establecida la conexión.
La estructura TCP_ESTATS_PATH_ROD_v0 se recupera mediante llamadas a las funciones GetPerTcp6ConnectionEStats o GetPerTcpConnectionEStats cuando TcpConnectionEstatsPath se pasa en el parámetro EstatsType . Es necesario habilitar las estadísticas de TCP extendidas para recuperar esta estructura.
La detección de MTU de ruta de acceso y el tamaño máximo del segmento se describen en detalle en la detección de MTU de IETF RFC 1191 en la detección de MTU de ruta de acceso. Para obtener más información, vea http://www.ietf.org/rfc/rfc1191.txt.
Los algoritmos de control de congestión TCP y control de congestión se describen en detalle en el RFC 2581 de IETF en el control de congestión TCP. Para obtener más información, vea http://www.ietf.org/rfc/rfc2581.txt.
SACK y una extensión a la opción SACK se describen en detalle en la opción RFC 2883 de IETF en una extensión a la opción de confirmación selectiva (SACK) para TCP. Para obtener más información, vea http://www.ietf.org/rfc/rfc2883.txt.
El temporizador de retransmisión TCP (RTO) y el tiempo de ida y vuelta suavizado (RTT) se describen en detalle en el temporizador de retransmisión de IETF RFC 2988 en el temporizador de retransmisión de TCP de computación. Para obtener más información, vea http://www.ietf.org/rfc/rfc2988.txt.
La notificación de congestión explícita en ip se describe en detalle en la RFC 2581 de IETF sobre la adición de notificación de congestión explícita (ECN) a la dirección IP. Para obtener más información, vea http://www.ietf.org/rfc/rfc3168.txt.
Los miembros de esta estructura se definen en el RFC de IETF en el MIB de estadísticas extendidas de TCP. Para obtener más información, vea http://www.ietf.org/rfc/rfc4898.txt.
A continuación se muestra la asignación de los miembros de la estructura TCP_ESTATS_PATH_ROD_v0 a las entradas definidas en RFC 4898 para las estadísticas de TCP extendidas:
La estructura TCP_ESTATS_FINE_RTT_ROD_v0 tiene miembros que proporcionan datos similares a los miembros RttVar, MaxRtt, MinRtt y SumRtt de la estructura TCP_ESTATS_PATH_ROD_v0. Sin embargo, el tiempo se notifica en microsegundos para los miembros similares de la estructura TCP_ESTATS_FINE_RTT_ROD_v0 .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Encabezado | tcpestats.h |