TCP_ESTATS_PATH_ROD_v0-Struktur (tcpestats.h)

Die TCP_ESTATS_PATH_ROD_v0-Struktur enthält schreibgeschützte dynamische Informationen für erweiterte TCP-Statistiken zur Netzwerkpfadmessung für eine TCP-Verbindung.

Syntax

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;

Member

FastRetran

Typ: ULONG

Die Anzahl der Aufrufe des Algorithmus für schnelles Erneutes Übertragen.

Timeouts

Typ: ULONG

Die Häufigkeit, wie das Timeout für die erneute Übertragung abgelaufen ist, wenn der Backoff-Multiplikator für den Erneutübertragungszeitgeber gleich 1 ist.

SubsequentTimeouts

Typ: ULONG

Die Häufigkeit, mit der das Timeout für die erneute Übertragung abgelaufen ist, nachdem der Timer für die erneute Übertragung verdoppelt wurde.

Weitere Informationen finden Sie in Abschnitt 5.5 von RFC 2988, der in den nachstehenden Anmerkungen erläutert wird.

CurTimeoutCount

Typ: ULONG

Die aktuelle Anzahl der Wiederholungstimeouts ist abgelaufen, ohne dass eine Bestätigung für neue Daten erhalten wurde.

Das CurTimeoutCount-Element wird auf Null zurückgesetzt, wenn neue Daten für jeden Aufruf von Abschnitt 5.5 von RFC 2988 bestätigt und erhöht werden.

AbruptTimeouts

Typ: ULONG

Die Anzahl der Timeouts, die ohne unmittelbar vorangehende doppelte Bestätigungen oder andere Hinweise auf eine Überlastung aufgetreten sind. Abrupte Timeouts deuten darauf hin, dass der Pfad ein gesamtes Fenster mit Daten oder Bestätigungen verloren hat.

Timeouts, denen doppelte Bestätigungen oder andere Überlastungssignale (z. B. explizite Überlastungsbenachrichtigungen) vorangestellt sind, werden nicht als abrupt gezählt und wurden möglicherweise durch einen ausgefeilteren Algorithmus für die Schnelle Retransmit vermieden.

PktsRetrans

Typ: ULONG

Die Anzahl der übertragenen Segmente, die mindestens einige erneut übertragene Daten enthalten.

BytesRetrans

Typ: ULONG

Die Anzahl der erneut übertragenen Bytes.

DupAcksIn

Typ: ULONG

Die Anzahl der empfangenen doppelten ACKs.

SacksRcvd

Typ: ULONG

Die Anzahl der empfangenen Optionen für selektive Bestätigung (Selective Acknowledgment, SACK).

SackBlocksRcvd

Typ: ULONG

Die Anzahl der empfangenen SACK-Blöcke (innerhalb der SACK-Optionen).

CongSignals

Typ: ULONG

Die Anzahl multiplikativer Überlastungsfensteranpassungen aufgrund aller Arten von Überlastungssignalen, einschließlich Fast Retransmit, Explicit Congestion Notification (ECN) und Timeouts. Dieses Element fasst alle Ereignisse zusammen, die den MD-Teil (Multiplicative Decrease) der AimD-Überlastungskontrolle (Additive Increase Multiplicative Decrease) aufrufen, und ist somit der beste Indikator dafür, wie sich ein Staufenster auf eine Überlastung auswirkt.

Beachten Sie, dass Timeouts für die erneute Übertragung das Fenster implizit reduzieren, indem sie die Schwellenwertgröße für langsamen Start festlegen und in den wert enthalten sind, der im CongSignals-Element gespeichert ist. Um falsche Überlastungsanzeigen aufgrund von ungeordneten Segmenten zu minimieren, wird das CongSignals-Element in Verbindung mit dem Algorithmus für schnelles Erneutes Übertragen inkrementiert.

PreCongSumCwnd

Typ: ULONG

Die Summe der Werte des Überlastungsfensters in Bytes, die jedes Mal erfasst wird, wenn ein Überlastungssignal empfangen wird.

Dieses Element wird jedes Mal aktualisiert, wenn das CongSignals-Element erhöht wird, sodass die Änderung im PreCongSumCwnd-Member geteilt durch die Änderung im CongSignals-Member das durchschnittliche Fenster (über ein bestimmtes Intervall) unmittelbar vor einem Überlastungssignal darstellt.

PreCongSumRtt

Typ: ULONG

Die Summe der letzten Stichprobe des Netzwerk-Roundtrip-Time (RTT) vor den empfangenen Überlastungssignalen in Millisekunden. Das letzte Beispiel des RTT wird im SampleRtt-Member gespeichert.

Der PreCongSumRtt-Member wird jedes Mal aktualisiert, wenn der CongSignals-Member erhöht wird, sodass die Änderung im PreCongSumRtt dividiert durch die Änderung im CongSignals-Member der durchschnittliche RTT (über ein bestimmtes Intervall) unmittelbar vor einem Überlastungssignal ist.

PostCongSumRtt

Typ: ULONG

Die Summe der ersten Stichprobe des Netzwerk-RTT (gespeichert im SampleRtt-Member ) nach jedem Überlastungssignal in Millisekunden.

Die Änderung im PostCongSumRtt-Member geteilt durch die Änderung im PostCongCountRtt-Member ist der durchschnittliche RTT (über ein bestimmtes Intervall) direkt nach einem Überlastungssignal.

PostCongCountRtt

Typ: ULONG

Die Anzahl der RTT-Beispiele in Bytes, die im PostCongSumRtt-Member enthalten sind.

Die Änderung im PostCongSumRtt-Member geteilt durch die Änderung im PostCongCountRtt-Member ist der durchschnittliche RTT (über ein bestimmtes Intervall) direkt nach einem Überlastungssignal.

EcnSignals

Typ: ULONG

Die Anzahl der Überlastungssignale, die über ECN an den TCP-Absender übermittelt werden.

Dies ist in der Regel die Anzahl der Segmente mit Echoüberlastung

Erlebte Bits (ECE), aber auch Segmente, die bei der ECN-Nonce-Überprüfung oder anderen expliziten Überlastungssignalen nicht auftreten.

EceRcvd

Typ: ULONG

Die Anzahl der Segmente, die mit IP-Headern mit CE-Kennzeichnungen (Congestion Experienced) empfangen werden.

SendStall

Typ: ULONG

Die Anzahl von Schnittstellenhindern oder anderen lokalen Ressourcenbeschränkungen des Absenders, die als Überlastungssignale behandelt werden.

QuenchRcvd

Typ: ULONG

Für die zukünftige Verwendung reserviert. Dieser Member ist immer auf 0 festgelegt.

RetranThresh

Typ: ULONG

Die Anzahl der doppelten Bestätigungen, die zum Auslösen der schnellen Erneutübertragung erforderlich sind.

Beachten Sie, dass dies zwar in herkömmlichen Reno TCP-Implementierungen konstant ist, aber in vielen neueren TCP-Implementierungen anpassungsfähig ist.

SndDupAckEpisodes

Typ: ULONG

Die Anzahl der doppelten Acks, die gesendet wurden, wenn die vorherige Ack nicht dupliziert wurde. Dies ist die Häufigkeit, mit der eine zusammenhängende Reihe doppelter Bestätigungen gesendet wurde.

Dies ist ein Hinweis auf die Anzahl der verlorenen oder neu sortierten Datensegmente im Pfad vom TCP-Remoteendpunkt zum nahe gelegenen TCP-Endpunkt.

SumBytesReordered

Typ: ULONG

Die Summe der Beträge SND. UNA schreitet bei der Bestätigung voran, die eine Dup-ack-Episode ohne eine erneute Übertragung beendet.

Beachten Sie, dass die Änderung im SumBytesReordered-Member dividiert durch die Änderung im NonRecovDaEpisodes-Member eine Schätzung der durchschnittlichen Neuanordnungsdistanz über ein bestimmtes Intervall darstellt.

NonRecovDa

Typ: ULONG

Die Anzahl der doppelten Acks (oder SACKS), die keine Schnelle Neuübertragung ausgelöst haben, da ACK vor der Anzahl der doppelten Bestätigungen, die retranThresh erreicht haben, fortgeschritten ist.

Beachten Sie, dass die Änderung im NonRecovDa-Member dividiert durch die Änderung im NonRecovDaEpisodes-Member eine Schätzung der durchschnittlichen Neuanordnungsdistanz in Segmenten über ein bestimmtes Intervall darstellt.

NonRecovDaEpisodes

Typ: ULONG

Die Anzahl der doppelten Bestätigungsepisoden, die keine schnelle Erneute Übertragung ausgelöst haben, da ACK vor der Anzahl der doppelten Bestätigungen, die retranThresh erreicht haben, fortgeschritten ist.

AckAfterFr

Typ: ULONG

Für die zukünftige Verwendung reserviert. Dieser Member ist immer auf 0 festgelegt.

DsackDups

Typ: ULONG

Die Anzahl doppelter Segmente, die von D-SACK-Blöcken an den lokalen Host gemeldet werden.

SampleRtt

Typ: ULONG

Die neueste Rohdatenmessung der Netzwerk-Roundtripzeit in Millisekunden, die bei der Berechnung des RTO (Retransmission Timer) verwendet wird.

SmoothedRtt

Typ: ULONG

Die geglättete Roundtripzeit in Millisekunden, die bei der Berechnung der RTO verwendet wird.

RttVar

Typ: ULONG

Die Bei der Berechnung der RTO verwendete Roundtripzeitvariation in Millisekunden.

MaxRtt

Typ: ULONG

Die maximale Stichproben-Roundtripzeit in Millisekunden.

MinRtt

Typ: ULONG

Die mindeste stichprobenierte Rundreisezeit in Millisekunden.

SumRtt

Typ: ULONG

Die Summe aller stichprobenierten Roundtripzeiten in Millisekunden.

Beachten Sie, dass die Änderung im SumRtt-Element geteilt durch die Änderung im CountRtt-Element der mittlere RTT ist, der gleichmäßig über ein Eingabeintervall gemittelt wird.

CountRtt

Typ: ULONG

Die Anzahl der Im SumRtt-Element enthaltenen Roundtrip-Zeitbeispiele.

CurRto

Typ: ULONG

Der aktuelle Wert des Retransmit-Timers in Millisekunden.

MaxRto

Typ: ULONG

Der maximale Wert des Zeitgebers für die Neuübertragung in Millisekunden.

MinRto

Typ: ULONG

Der Mindestwert des Zeitgebers für die Neuübertragung in Millisekunden.

CurMss

Typ: ULONG

Die aktuelle maximale Segmentgröße (MSS) in Byte.

MaxMss

Typ: ULONG

Die maximale MSS in Bytes.

MinMss

Typ: ULONG

Die minimale MSS in Byte.

SpuriousRtoDetections

Typ: ULONG

Die Anzahl der Bestätigungen, die Segmente melden, die aufgrund eines Timeouts für die erneute Übertragung bereits erneut gesendet wurden.

Hinweise

Die TCP_ESTATS_PATH_ROD_v0-Struktur wird als Teil der erweiterten TCP-Statistikfunktion verwendet, die unter Windows Vista und höher verfügbar ist.

Die TCP_ESTATS_PATH_ROD_v0 ist als Version 0 der Struktur für schreibgeschützte dynamische Informationen zur Netzwerkpfadmessung für eine TCP-Verbindung definiert. Diese Informationen sind verfügbar, nachdem die Verbindung hergestellt wurde.

Die TCP_ESTATS_PATH_ROD_v0-Struktur wird durch Aufrufe der Funktionen GetPerTcp6ConnectionEStats oder GetPerTcpConnectionEStats abgerufen, wenn TcpConnectionEstatsPath im EstatsType-Parameter übergeben wird. Erweiterte TCP-Statistiken müssen aktiviert werden, um diese Struktur abzurufen.

Die Pfad-MTU-Ermittlung und die maximale Segmentgröße werden im IETF RFC 1191 zur Pfad-MTU-Ermittlung ausführlich erläutert. Weitere Informationen finden Sie unter http://www.ietf.org/rfc/rfc1191.txt.

Tcp-Überlastungssteuerungs- und Überlastungskontrollalgorithmen werden im IETF RFC 2581 zur TCP-Überlastungssteuerung ausführlich erläutert. Weitere Informationen finden Sie unter http://www.ietf.org/rfc/rfc2581.txt.

SACK und eine Erweiterung der SACK-Option werden in der Option IETF RFC 2883 unter An Extension to the Selective Acknowledgment (SACK) für TCP ausführlich erläutert. Weitere Informationen finden Sie unter http://www.ietf.org/rfc/rfc2883.txt.

Der TCP-Retransmission-Timer (RTO) und die geglättete Roundtripzeit (RTT) werden im IETF RFC 2988 on Computing TCP's Retransmission Timer ausführlich erläutert. Weitere Informationen finden Sie unter http://www.ietf.org/rfc/rfc2988.txt.

Explizite Überlastungsbenachrichtigungen in IP werden im IETF RFC 2581 unter The Addition of Explicit Congestion Notification (ECN) to IP ausführlich erläutert. Weitere Informationen finden Sie unter http://www.ietf.org/rfc/rfc3168.txt.

Die Member dieser Struktur werden im IETF-RFC für die TCP Extended Statistics MIB definiert. Weitere Informationen finden Sie unter http://www.ietf.org/rfc/rfc4898.txt.

Im Folgenden finden Sie die Zuordnung der Member in der TCP_ESTATS_PATH_ROD_v0-Struktur zu den Einträgen, die in RFC 4898 für erweiterte TCP-Statistiken definiert sind:

Begriff BESCHREIBUNG
FastRetran tcpEStatsStackFastRetran
Timeouts tcpEStatsPerfTimeouts
NachfolgendeTimeouts 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 Keine Zuordnung zu diesem Member.
RetranThresh tcpEStatsPathRetranThresh
SndDupAckEpisodes tcpEStatsPathDupAckEpisodes
SumBytesReordered tcpEStatsPathSumOctetsReordered
NonRecovDa tcpEStatsPathNonRecovDA
NonRecovDaEpisodes tcpEStatsPathNonRecovDAEpisodes
AckAfterFr Keine Zuordnung zu diesem Member.
DsackDups tcpEStatsStackDSACKDups
SampleRtt tcpEStatsPathSampleRTT
SmoothedRtt tcpEStatsPerfSmoothedRTT
RttVar tcpEStatsPathRTTVar
MaxRtt tcpEStatsPathMaxRTT
MinRtt tcpEStatsPathMinRTT
SumRtt tcpEStatsPathSumRTT
CountRtt tcpEStatsPathCountRTT
CurRto tcpEStatsPerfCurRTO
MaxRto tcpEStatsPathMaxRTO
MinRto tcpEStatsPathMinRTO
CurMss tcpEStatsPerfCurMSS
MaxMss tcpEStatsStackMaxMSS
MinMs tcpEStatsStackMinMSS
SpuriousRtoDetections tcpEStatsStackSpuriousRtoDetected
 

Die TCP_ESTATS_FINE_RTT_ROD_v0-Struktur verfügt über Elemente, die ähnliche Daten wie die RttVar-, MaxRtt-, MinRtt- und SumRtt-Elemente der TCP_ESTATS_PATH_ROD_v0-Struktur bereitstellen. Die Zeit wird jedoch in Mikrosekunden für die ähnlichen Elemente der TCP_ESTATS_FINE_RTT_ROD_v0-Struktur gemeldet.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Kopfzeile tcpestats.h

Weitere Informationen

GetPerTcp6ConnectionEStats

GetPerTcpConnectionEStats

TCP_ESTATS_FINE_RTT_ROD_v0

TCP_ESTATS_TYPE