structure TCP_ESTATS_PATH_ROD_v0 (tcpestats.h)
La structure TCP_ESTATS_PATH_ROD_v0 contient des informations dynamiques en lecture seule pour les statistiques TCP étendues sur la mesure du chemin d’accès réseau pour une connexion TCP.
Syntaxe
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;
Membres
FastRetran
Type : ULONG
Nombre d’appels de l’algorithme de retransmite rapide.
Timeouts
Type : ULONG
Nombre de fois où le délai d’expiration de la retransmission a expiré lorsque le multiplicateur d’interruption du minuteur de retransmission est égal à un.
SubsequentTimeouts
Type : ULONG
Nombre de fois où le délai d’expiration de la retransmission a expiré après le doublement du minuteur de retransmission.
Pour plus d’informations, consultez la section 5.5 de la RFC 2988 abordée dans les remarques ci-dessous.
CurTimeoutCount
Type : ULONG
Nombre actuel de fois où le délai d’expiration de la retransmite a expiré sans recevoir d’accusé de réception pour les nouvelles données.
Le membre CurTimeoutCount est réinitialisé à zéro lorsque de nouvelles données sont reconnues et incrémentées pour chaque appel de la section 5.5 de la RFC 2988.
AbruptTimeouts
Type : ULONG
Nombre de délais d’attente qui se sont produits sans qu’aucun accusé de réception en double ne précède immédiatement ou d’autres indications de congestion. Les délais d’expiration brusques indiquent que le chemin a perdu toute une fenêtre de données ou d’accusés de réception.
Les délais d’expiration précédés d’accusés de réception en double ou d’autres signaux de congestion (notification explicite de congestion, par exemple) ne sont pas comptabilisés comme brusques et peuvent avoir été évités par un algorithme de retransmite rapide plus sophistiqué.
PktsRetrans
Type : ULONG
Nombre de segments transmis contenant au moins certaines données retransmises.
BytesRetrans
Type : ULONG
Nombre d’octets retransmis.
DupAcksIn
Type : ULONG
Nombre de clés de contrôle d’accès en double reçues.
SacksRcvd
Type : ULONG
Nombre d’options d’accusé de réception sélective (SACK) reçues.
SackBlocksRcvd
Type : ULONG
Nombre de blocs SACK reçus (dans les options SACK).
CongSignals
Type : ULONG
Nombre d’ajustements multiplicatifs vers le bas de la fenêtre de congestion en raison de toutes les formes de signaux de congestion, y compris la retransmis rapide, la notification explicite de congestion (ECN) et les délais d’expiration. Ce membre récapitule tous les événements qui appellent la partie Décroissance multiplicative (MD) du contrôle de la congestion de l’augmentation additive multiplicative décroissante (AIMD), et en tant que tel est le meilleur indicateur de la façon dont une fenêtre de congestion est affectée par la congestion.
Notez que les délais d’attente de retransmission réduisent la fenêtre implicitement en définissant la taille du seuil de démarrage lent et sont inclus dans la valeur stockée dans le membre CongSignals . Afin de réduire au minimum les indications de congestion erronées dues à des segments en désordre, le membre CongSignals est incrémenté en association avec l’algorithme de retransmite rapide.
PreCongSumCwnd
Type : ULONG
Somme des valeurs de la fenêtre de congestion, en octets, capturées chaque fois qu’un signal de congestion est reçu.
Ce membre est mis à jour chaque fois que le membre CongSignals est incrémenté, de sorte que la modification du membre PreCongSumCwnd divisé par la modification du membre CongSignals correspond à la fenêtre moyenne (sur un certain intervalle) juste avant un signal de congestion.
PreCongSumRtt
Type : ULONG
Somme, en millisecondes, du dernier échantillon du temps d’aller-retour réseau (RTT) avant les signaux de congestion reçus. Le dernier exemple du RTT est stocké dans le membre SampleRtt .
Le membre PreCongSumRtt est mis à jour chaque fois que le membre CongSignals est incrémenté, de sorte que la modification du PreCongSumRtt divisé par la modification du membre CongSignals correspond au RTT moyen (sur un certain intervalle) juste avant un signal de congestion.
PostCongSumRtt
Type : ULONG
Somme, en millisecondes, du premier échantillon du réseau RTT (stocké dans le membre SampleRtt ) après chaque signal de congestion.
Le changement dans le membre PostCongSumRtt divisé par la modification du membre PostCongCountRtt est le RTT moyen (sur un certain intervalle) juste après un signal de congestion.
PostCongCountRtt
Type : ULONG
Nombre d’exemples RTT, en octets, inclus dans le membre PostCongSumRtt .
Le changement dans le membre PostCongSumRtt divisé par la modification du membre PostCongCountRtt est le RTT moyen (sur un certain intervalle) juste après un signal de congestion.
EcnSignals
Type : ULONG
Nombre de signaux de congestion remis à l’expéditeur TCP via ECN.
Il s’agit généralement du nombre de segments porteurs d’écho congestion
Bits expérimentés (ECE), mais comprend également des segments qui échouent à la nonce ECN case activée ou à d’autres signaux de congestion explicites.
EceRcvd
Type : ULONG
Nombre de segments reçus avec des en-têtes IP portant des marquages Congestion Experienced (CE).
SendStall
Type : ULONG
Nombre de blocages d’interface ou autres limitations des ressources locales de l’expéditeur qui sont traitées comme des signaux de congestion.
QuenchRcvd
Type : ULONG
Réservé pour un usage futur. Ce membre est toujours défini sur zéro.
RetranThresh
Type : ULONG
Nombre d’accusés de réception en double requis pour déclencher la retransmite rapide.
Notez que bien que ce soit constant dans les implémentations TCP Reno traditionnelles, il est adaptatif dans de nombreuses implémentations TCP plus récentes.
SndDupAckEpisodes
Type : ULONG
Nombre d’erreurs dupliquées envoyées quand Ack antérieur n’était pas dupliqué. Il s’agit du nombre de fois où une série contiguë d’accusés de réception en double a été envoyée.
Il s’agit d’une indication du nombre de segments de données perdus ou réorganisés sur le chemin d’accès du point de terminaison TCP distant au point de terminaison TCP proche.
SumBytesReordered
Type : ULONG
Somme des montants SND. L’UNA avance sur l’accusé de réception qui met fin à un épisode dup-ack sans retransmission.
Notez que le changement dans le membre SumBytesReordered divisé par la modification du membre NonRecovDaEpisodes est une estimation de la distance moyenne de réorganisation, sur un intervalle donné.
NonRecovDa
Type : ULONG
Nombre d’accusés de réception en double (ou SACKS) qui n’ont pas déclenché de retransmite rapide, car ACK a avancé avant le nombre d’accusés de réception en double atteignant retranThresh.
Notez que la modification du membre NonRecovDa divisé par la modification du membre NonRecovDaEpisodes est une estimation de la distance moyenne de réorganisation dans les segments sur un intervalle donné.
NonRecovDaEpisodes
Type : ULONG
Nombre d’épisodes d’accusé de réception en double qui n’ont pas déclenché de retransmite rapide, car ACK a avancé avant le nombre d’accusés de réception en double atteignant retranThresh.
AckAfterFr
Type : ULONG
Réservé pour un usage futur. Ce membre est toujours défini sur zéro.
DsackDups
Type : ULONG
Nombre de segments en double signalés à l’hôte local par des blocs D-SACK.
SampleRtt
Type : ULONG
Mesure du temps d’aller-retour réseau brut la plus récente, en millisecondes, utilisée pour le calcul du minuteur de retransmission (RTO).
SmoothedRtt
Type : ULONG
Temps d’aller-retour lissé, en millisecondes, utilisé dans le calcul du RTO.
RttVar
Type : ULONG
Variation de temps aller-retour, en millisecondes, utilisée dans le calcul du RTO.
MaxRtt
Type : ULONG
Durée maximale d’aller-retour échantillonné en millisecondes.
MinRtt
Type : ULONG
Durée minimale d’aller-retour échantillonné en millisecondes.
SumRtt
Type : ULONG
Somme de toutes les durées d’aller-retour échantillonnées en millisecondes.
Notez que la modification du membre SumRtt divisée par la modification du membre CountRtt est la moyenne RTT, uniformément moyenne sur un intervalle d’entrée.
CountRtt
Type : ULONG
Nombre d’exemples de temps aller-retour inclus dans le membre SumRtt .
CurRto
Type : ULONG
Valeur actuelle, en millisecondes, du minuteur de retransmettre.
MaxRto
Type : ULONG
Valeur maximale, en millisecondes, du minuteur de retransmite.
MinRto
Type : ULONG
Valeur minimale, en millisecondes, du minuteur de retransmettre.
CurMss
Type : ULONG
Taille maximale de segment (MSS) actuelle, en octets.
MaxMss
Type : ULONG
MsS maximal, en octets.
MinMss
Type : ULONG
MSS minimal, en octets.
SpuriousRtoDetections
Type : ULONG
Nombre d’accusés de réception signalant des segments qui ont déjà été retransmis en raison d’un délai d’expiration de retransmission.
Remarques
La structure TCP_ESTATS_PATH_ROD_v0 est utilisée dans le cadre de la fonctionnalité de statistiques étendues TCP disponible sur Windows Vista et versions ultérieures.
Le TCP_ESTATS_PATH_ROD_v0 est défini comme version 0 de la structure pour les informations dynamiques en lecture seule sur la mesure du chemin réseau pour une connexion TCP. Ces informations sont disponibles une fois la connexion établie.
La structure TCP_ESTATS_PATH_ROD_v0 est récupérée par des appels aux fonctions GetPerTcp6ConnectionEStats ou GetPerTcpConnectionEStats lorsque TcpConnectionEstatsPath est passé dans le paramètre EstatsType . Les statistiques TCP étendues doivent être activées pour récupérer cette structure.
La découverte MTU de chemin d’accès et la taille maximale des segments sont décrites en détail dans la RFC 1191 de l’IETF sur la découverte MTU du chemin d’accès. Pour plus d’informations, consultez http://www.ietf.org/rfc/rfc1191.txt.
Les algorithmes de contrôle de la congestion TCP et de contrôle de la congestion sont décrits en détail dans la RFC 2581 de l’IETF sur le contrôle de congestion TCP. Pour plus d’informations, consultez http://www.ietf.org/rfc/rfc2581.txt.
SACK et une extension de l’option SACK sont décrits en détail dans l’IETF RFC 2883 sur une extension de l’option d’accusé de réception sélectif (SACK) pour TCP. Pour plus d’informations, consultez http://www.ietf.org/rfc/rfc2883.txt.
Le minuteur de retransmission TCP (RTO) et le temps d’aller-retour lissé (RTT) sont abordés en détail dans l’IETF RFC 2988 sur le minuteur de retransmission de TCP. Pour plus d’informations, consultez http://www.ietf.org/rfc/rfc2988.txt.
La notification explicite de congestion dans IP est abordée en détail dans la RFC 2581 de l’IETF sur l’ajout d’une notification explicite de congestion (ECN) à l’adresse IP. Pour plus d’informations, consultez http://www.ietf.org/rfc/rfc3168.txt.
Les membres de cette structure sont définis dans la RFC IETF sur le MIB de statistiques étendues TCP. Pour plus d’informations, consultez http://www.ietf.org/rfc/rfc4898.txt.
Voici le mappage des membres de la structure TCP_ESTATS_PATH_ROD_v0 aux entrées définies dans RFC 4898 pour les statistiques TCP étendues :
La structure TCP_ESTATS_FINE_RTT_ROD_v0 a des membres qui fournissent des données similaires aux membres RttVar, MaxRtt, MinRtt et SumRtt de la structure TCP_ESTATS_PATH_ROD_v0 . Toutefois, le temps est signalé en microsecondes pour les membres similaires de la structure TCP_ESTATS_FINE_RTT_ROD_v0 .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
En-tête | tcpestats.h |