Partager via


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 :

Terme Description
FastRetran tcpEStatsStackFastRetran
Délais tcpEStatsPerfTimeouts
SubséquentsTimeouts 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 Aucun mappage à ce membre.
RetranThresh tcpEStatsPathRetranThresh
SndDupAckEpisodes tcpEStatsPathDupAckEpisodes
SumBytesReordered tcpEStatsPathSumOctetsReordered
NonRecovDa tcpEStatsPathNonRecovDA
NonRecovDaEpisodes tcpEStatsPathNonRecovDAEpisodes
AckAfterFr Aucun mappage à ce membre.
DsackDups tcpEStatsStackDSACKDups
SampleRtt tcpEStatsPathSampleRTT
SmoothedRtt tcpEStatsPerfSmoothedRTT
RttVar tcpEStatsPathRTTVar
MaxRtt tcpEStatsPathMaxRTT
MinRtt tcpEStatsPathMinRTT
SumRtt tcpEStatsPathSumRTT
CountRtt tcpEStatsPathCountRTT
CurRto tcpEStatsPerfCurRTO
MaxRto tcpEStatsPathMaxRTO
MinRto tcpEStatsPathMinRTO
Boucles tcpEStatsPerfCurMSS
MaxMss tcpEStatsStackMaxMSS
MinMss tcpEStatsStackMinMSS
SpuriousRtoDetections tcpEStatsStackSpuriousRtoDetected
 

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

Voir aussi

GetPerTcp6ConnectionEStats

GetPerTcpConnectionEStats

TCP_ESTATS_FINE_RTT_ROD_v0

TCP_ESTATS_TYPE