다음을 통해 공유


TCP_ESTATS_PATH_ROD_v0 구조체(tcpestats.h)

TCP_ESTATS_PATH_ROD_v0 구조에는 TCP 연결에 대한 네트워크 경로 측정에 대한 확장된 TCP 통계에 대한 읽기 전용 동적 정보가 포함되어 있습니다.

구문

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;

멤버

FastRetran

형식: ULONG

빠른 재전송 알고리즘의 호출 수입니다.

Timeouts

형식: ULONG

재전송 타이머 백오프 승수가 1과 같을 때 재전송 시간 제한이 만료된 횟수입니다.

SubsequentTimeouts

형식: ULONG

재전송 타이머가 두 배로 늘어나면 재전송 시간 제한이 만료된 횟수입니다.

자세한 내용은 아래 설명에 설명된 RFC 2988의 섹션 5.5를 참조하세요.

CurTimeoutCount

형식: ULONG

새 데이터에 대한 승인을 받지 않고 재전송 시간 제한이 만료된 현재 횟수입니다.

RFC 2988의 섹션 5.5 호출마다 새 데이터가 승인되고 증가하면 CurTimeoutCount 멤버가 0으로 다시 설정됩니다.

AbruptTimeouts

형식: ULONG

중복 승인 또는 기타 정체 표시 없이 발생한 시간 제한 수입니다. 갑작스러운 시간 제한은 경로가 데이터 또는 승인의 전체 창을 손실했음을 나타냅니다.

중복 승인 또는 기타 정체 신호(예: 명시적 정체 알림)가 앞에 오는 시간 제한은 갑작스러운 것으로 계산되지 않으며 보다 정교한 빠른 재전송 알고리즘에 의해 방지되었을 수 있습니다.

PktsRetrans

형식: ULONG

적어도 일부 재전송된 데이터를 포함하는 전송되는 세그먼트 수입니다.

BytesRetrans

형식: ULONG

다시 전송된 바이트 수입니다.

DupAcksIn

형식: ULONG

받은 중복 ACK 수입니다.

SacksRcvd

형식: ULONG

받은 SACK(선택적 승인) 옵션의 수입니다.

SackBlocksRcvd

형식: ULONG

받은 SACK 블록의 수입니다(SACK 옵션 내).

CongSignals

형식: ULONG

빠른 재전송, ECN(명시적 정체 알림) 및 시간 제한을 포함하여 모든 형태의 혼잡 신호로 인한 곱하기 하향 정체 창 조정의 수입니다. 이 멤버는 AIMD(Additive Increase Multiplicative Decrease) 정체 제어의 MD(곱하기 감소) 부분을 호출하는 모든 이벤트를 요약합니다. 따라서 정체 창이 정체의 영향을 받는 가장 좋은 지표입니다.

재전송 시간 제한은 느린 시작 임계값 크기를 설정하여 창을 암시적으로 곱하고 CongSignals 멤버에 저장된 값에 포함됩니다. 순서가 다른 세그먼트로 인한 가짜 정체 표시를 최소화하기 위해 CongSignals 멤버는 빠른 재전송 알고리즘과 관련하여 증가합니다.

PreCongSumCwnd

형식: ULONG

정체 신호가 수신될 때마다 캡처되는 정체 창 값의 합계(바이트)입니다.

이 멤버는 CongSignals 멤버가 증가될 때마다 업데이트되므로 PreCongSumCwnd 멤버의 변경 내용이 CongSignals 멤버의 변경으로 나뉘어 정체 신호 직전의 평균 기간(일정 간격)입니다.

PreCongSumRtt

형식: ULONG

수신된 정체 신호 이전의 RTT(네트워크 왕복 시간)의 마지막 샘플 합계(밀리초)입니다. RTT의 마지막 샘플은 SampleRtt 멤버에 저장됩니다.

PreCongSumRtt 멤버는 CongSignals 멤버가 증분될 때마다 업데이트되므로 PreCongSumRtt의 변경 내용이 CongSignals 멤버의 변경으로 나뉘어 정체 신호 직전의 평균 RTT(일정 간격)입니다.

PostCongSumRtt

형식: ULONG

각 정체 신호에 따라 네트워크 RTT의 첫 번째 샘플( SampleRtt 멤버에 저장됨)의 합계(밀리초)입니다.

PostCongCountRtt 멤버의 변경 내용으로 나눈 PostCongSumRtt 멤버의 변경은 정체 신호 직후의 평균 RTT(일부 간격)입니다.

PostCongCountRtt

형식: ULONG

PostCongSumRtt 멤버에 포함된 RTT 샘플 수(바이트)입니다.

PostCongCountRtt 멤버의 변경 내용으로 나눈 PostCongSumRtt 멤버의 변경은 정체 신호 직후의 평균 RTT(일부 간격)입니다.

EcnSignals

형식: ULONG

ECN을 통해 TCP 발신자에게 전달되는 정체 신호의 수입니다.

일반적으로 에코 정체를 나타내는 세그먼트의 수입니다.

경험 있는(ECE) 비트뿐만 아니라 ECN nonce 검사 또는 기타 명시적 정체 신호에 실패한 세그먼트도 포함됩니다.

EceRcvd

형식: ULONG

CE(정체 경험) 표시가 있는 IP 헤더로 수신된 세그먼트 수입니다.

SendStall

형식: ULONG

정체 신호로 처리되는 인터페이스 중단 또는 기타 보낸 사람 로컬 리소스 제한의 수입니다.

QuenchRcvd

형식: ULONG

다음에 사용하도록 예약됩니다. 이 멤버는 항상 0으로 설정됩니다.

RetranThresh

형식: ULONG

빠른 재전송을 트리거하는 데 필요한 중복 승인 수입니다.

기존 Reno TCP 구현에서는 상수이지만 많은 최신 TCP 구현에서 적응형입니다.

SndDupAckEpisodes

형식: ULONG

이전 Ack가 중복되지 않은 경우 전송된 중복 Ack의 수입니다. 연속된 일련의 중복 승인이 전송된 횟수입니다.

이는 원격 TCP 엔드포인트에서 가까운 TCP 엔드포인트로의 경로에서 손실되거나 다시 정렬된 데이터 세그먼트의 수를 나타냅니다.

SumBytesReordered

형식: ULONG

SND 금액의 합계입니다. UNA는 재전송없이 dup-ack 에피소드를 끝내는 승인을 진행합니다.

SumBytesReordered 멤버의 변경 사항을 NonRecovDaEpisodes 멤버의 변경 내용으로 나눈 값은 일부 간격 동안의 평균 다시 정렬 거리를 예상한 것입니다.

NonRecovDa

형식: ULONG

RetranThresh에 도달하는 중복 승인 수 이전에 ACK가 진행되었기 때문에 빠른 재전송을 트리거하지 않은 중복 ack(또는 SACKS)의 수입니다.

NonRecovDa 멤버의 변경 사항을 NonRecovDaEpisodes 멤버의 변경 내용으로 나눈 값은 일부 간격 동안 세그먼트의 평균 다시 정렬 거리를 예상한 것입니다.

NonRecovDaEpisodes

형식: ULONG

RetranThresh에 도달하는 중복 승인 수 이전에 ACK가 진행되었기 때문에 빠른 재전송을 트리거하지 않은 중복 승인 에피소드의 수입니다.

AckAfterFr

형식: ULONG

다음에 사용하도록 예약됩니다. 이 멤버는 항상 0으로 설정됩니다.

DsackDups

형식: ULONG

D-SACK 블록에 의해 로컬 호스트에 보고된 중복 세그먼트 수입니다.

SampleRtt

형식: ULONG

RTO(재전송 타이머) 계산에 사용되는 가장 최근의 원시 네트워크 왕복 시간 측정(밀리초)입니다.

SmoothedRtt

형식: ULONG

RTO 계산에 사용되는 부드러운 왕복 시간(밀리초)입니다.

RttVar

형식: ULONG

RTO 계산에 사용되는 왕복 시간 변형(밀리초)입니다.

MaxRtt

형식: ULONG

샘플링된 최대 왕복 시간(밀리초)입니다.

MinRtt

형식: ULONG

샘플링된 최소 왕복 시간(밀리초)입니다.

SumRtt

형식: ULONG

샘플링된 모든 왕복 시간(밀리초)의 합계입니다.

CountRtt 멤버의 변경 내용으로 나눈 SumRtt 멤버의 변경 내용은 평균 RTT이며 입력 간격에 따라 균일하게 평균됩니다.

CountRtt

형식: ULONG

SumRtt 멤버에 포함된 왕복 시간 샘플의 수입니다.

CurRto

형식: ULONG

재전송 타이머의 현재 값(밀리초)입니다.

MaxRto

형식: ULONG

재전송 타이머의 최대값(밀리초)입니다.

MinRto

형식: ULONG

재전송 타이머의 최소값(밀리초)입니다.

CurMss

형식: ULONG

현재 MSS(최대 세그먼트 크기)(바이트)입니다.

MaxMss

형식: ULONG

최대 MSS(바이트)입니다.

MinMss

형식: ULONG

최소 MSS(바이트)입니다.

SpuriousRtoDetections

형식: ULONG

재전송 시간 제한으로 인해 이미 다시 전송된 승인 보고 세그먼트의 수입니다.

설명

TCP_ESTATS_PATH_ROD_v0 구조는 Windows Vista 이상에서 사용할 수 있는 TCP 확장 통계 기능의 일부로 사용됩니다.

TCP_ESTATS_PATH_ROD_v0 TCP 연결에 대한 네트워크 경로 측정에 대한 읽기 전용 동적 정보에 대한 구조의 버전 0으로 정의됩니다. 이 정보는 연결이 설정된 후에 사용할 수 있습니다.

TCP_ESTATS_PATH_ROD_v0 구조체는 TcpConnectionEstatsPath가 EstatsType 매개 변수에 전달될 때 GetPerTcp6ConnectionEStats 또는 GetPerTcpConnectionEStats 함수를 호출하여 검색됩니다. 이 구조를 검색하려면 확장된 TCP 통계를 사용하도록 설정해야 합니다.

경로 MTU 검색 및 최대 세그먼트 크기는 경로 MTU 검색의 IETF RFC 1191에서 자세히 설명합니다. 자세한 내용은 http://www.ietf.org/rfc/rfc1191.txt를 참조하세요.

TCP 정체 제어 및 정체 제어 알고리즘은 TCP 정체 제어의 IETF RFC 2581에서 자세히 설명합니다. 자세한 내용은 http://www.ietf.org/rfc/rfc2581.txt를 참조하세요.

SACK 및 SACK 옵션에 대한 확장은 TCP에 대한 SACK(선택적 승인) 옵션에 대한 확장의 IETF RFC 2883에서 자세히 설명합니다. 자세한 내용은 http://www.ietf.org/rfc/rfc2883.txt를 참조하세요.

TCP RTO(재전송 타이머) 및 부드러운 RTT(왕복 시간)는 컴퓨팅 TCP의 재전송 타이머의 IETF RFC 2988에서 자세히 설명합니다. 자세한 내용은 http://www.ietf.org/rfc/rfc2988.txt를 참조하세요.

IP의 명시적 정체 알림은 IP에 ECN(명시적 정체 알림)의 추가에 대한 IETF RFC 2581에서 자세히 설명합니다. 자세한 내용은 http://www.ietf.org/rfc/rfc3168.txt를 참조하세요.

이 구조체의 멤버는 TCP 확장 통계 MIB의 IETF RFC에 정의됩니다. 자세한 내용은 http://www.ietf.org/rfc/rfc4898.txt를 참조하세요.

다음은 확장된 TCP 통계를 위해 RFC 4898에 정의된 항목에 대한 TCP_ESTATS_PATH_ROD_v0 구조체의 멤버를 매핑하는 것입니다.

용어 Description
FastRetran tcpEStatsStackFastRetran
시간 제한이 tcpEStatsPerfTimeouts
SubsequentTimeouts 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 이 멤버에 대한 매핑이 없습니다.
RetranThresh tcpEStatsPathRetranThresh
SndDupAckEpisodes tcpEStatsPathDupAckEpisodes
SumBytesReordered tcpEStatsPathSumOctetsReordered
NonRecovDa tcpEStatsPathNonRecovDA
NonRecovDaEpisodes tcpEStatsPathNonRecovDAEpisodes
AckAfterFr 이 멤버에 대한 매핑이 없습니다.
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
MinMss tcpEStatsStackMinMSS
SpuriousRtoDetections tcpEStatsStackSpuriousRtoDetected
 

TCP_ESTATS_FINE_RTT_ROD_v0 구조에는 TCP_ESTATS_PATH_ROD_v0구조체RttVar, MaxRtt, MinRttSumRtt 멤버와 유사한 데이터를 제공하는 멤버가 있습니다. 그러나 TCP_ESTATS_FINE_RTT_ROD_v0 구조체 의 유사한 멤버에 대한 시간은 마이크로초로 보고됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
머리글 tcpestats.h

추가 정보

GetPerTcp6ConnectionEStats

GetPerTcpConnectionEStats

TCP_ESTATS_FINE_RTT_ROD_v0

TCP_ESTATS_TYPE