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