Internet-Draft Matt Mathis
Raghu Reddy
John Heffner
Pittsburgh Supercomputing Center
J. Saperia
JDS Consulting, Inc
TCP Extended Statistics MIB
draft-mathis-rfc2012-extension-00.txt
November 7, 2001
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference mate¡
rial or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Copyright Notice
Copyright (C) The Internet Society (2001). All Rights Reserved.
Abstract
This draft describes extended performance statistics for TCP. They
are designed to use TCP's ideal vantage point to diagnose performance
problems in both the network and the application. If a network based
application is performing poorly, TCP can determine if the bottleneck
is
Mathis, et al [Page 1]
Internet-Draft Expires May 2002 November 2001
in the sender, the receiver or the Internet itself. If the bottle¡
neck is in the network, TCP can provide specific information about
its nature.
11.. IINNTTRROODDUUCCTTIIOONN
This draft describes extended performance statistics for TCP. They
are designed to use TCP's ideal vantage point to diagnose performance
problems in both the network and the application. If a network based
application is performing poorly, TCP can determine if the bottleneck
is in the sender, the receiver or the Internet itself. If the bot¡
tleneck is in the network, TCP can provide specific information about
its nature.
The SNMP objects defined in this draft should be merged into the
existing TCP MIB. However, RFC2012 describing the current TCP MIB,
is already under revision to support IPv6 address by the ipngwg.
See RFC2012bis.
As an interim measure to simplify version control, etc we are pre¡
senting these extensions as a separate document. However we fully
expect to merge these objects into the main TCP MIB document at some
future date.
To facilitate possible prototype implementations we have duplicated a
minimal set of objects from RFC2012bis, such that this MIB is self
contained. These duplicated objects will be removed when the docu¡
ments are merged.
Be aware that this is a very early draft, and the MIB objects here
are under active development. Do not be deceived by the polish on
this draft: It is automatically generated from a database of poten¡
tial TCP instruments. The most current version can be obtained from
http://www.psc.edu/~mathis/papers/draft-mathis-rfc2012-extension-
XX.txt
22.. TThhee SSNNMMPP MMaannaaggeemmeenntt FFrraammeewwoorrkk
The SNMP Management Framework presently consists of five major compo¡
nents:
o An overall architecture, described in RFC 2571 [RFC2571].
Mathis, et al [Page 2]
o Mechanisms for describing and naming objects and events for the
purpose of management. The first version of this Structure of
Management Information (SMI) is called SMIv1 and described in
STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC
1215 [RFC1215]. The second version, called SMIv2, is described
in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and
STD 58, RFC 2580 [RFC2580].
o Message protocols for transferring management information. The
first version of the SNMP message protocol is called SNMPv1 and
described in STD 15, RFC 1157 [RFC1157]. A second version of
the SNMP message protocol, which is not an Internet standards
track protocol, is called SNMPv2c and described in RFC 1901
[RFC1901] and RFC 1906 [RFC1906]. The third version of the mes¡
sage protocol is called SNMPv3 and described in RFC 1906
[RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574].
o Protocol operations for accessing management information. The
first set of protocol operations and associated PDU formats is
described in STD 15, RFC 1157 [RFC1157]. A second set of proto¡
col operations and associated PDU formats is described in RFC
1905 [RFC1905].
o A set of fundamental applications described in RFC 2573
[RFC2573] and the view-based access control mechanism described
in RFC 2575 [RFC2575].
A more detailed introduction to the current SNMP Management Framework
can be found in RFC 2570 [RFC2570].
Managed objects are accessed via a virtual information store, termed
the Management Information Base or MIB. Objects in the MIB are
defined using the mechanisms defined in the SMI.
This memo specifies a MIB module that is compliant to the SMIv2. A
MIB conforming to the SMIv1 can be produced through the appropriate
translations. The resulting translated MIB must be semantically
equivalent, except where objects or events are omitted because no
translation is possible (use of Counter64). Some machine readable
information in SMIv2 will be converted into textual descriptions in
SMIv1 during the translation process. However, this loss of machine
readable information is not considered to change the semantics of the
MIB.
Mathis, et al [Page 3]
33.. TTCCPP EExxtteennddeedd SSttaattiissttiiccss MMIIBB
Mathis, et al [Page 4]
TCP-ESTATS-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, Counter32, Integer32,
Gauge32, OBJECT-TYPE, Counter64, experimental,
NOTIFICATION-TYPE
FROM SNMPv2-SMI
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF
TEXTUAL-CONVENTION,
DateAndTime, TruthValue
FROM SNMPv2-TC
InetAddressType, InetAddress,
InetPortNumber
FROM INET-ADDRESS-MIB;
tcpEStatsMIB MODULE-IDENTITY
LAST-UPDATED "200111020000Z" -- November 2, 2001
ORGANIZATION "IETF XXX Working Group"
CONTACT-INFO
"Matt Mathis
Raghu Reddy
Pittsburgh Supercomputing Center
Web100 Project
Email:mathis@psc.edu
Jon Saperia
JDS Consulting, Inc.
174 Chapman St.
Watertown MA 02472-3063
USA
Phone: +1-617-744-1079
Fax: +1-617-249-0874
Email: saperia@jdscons.com"
DESCRIPTION
"Documentation of TCP performance variables from the
Web100 project. See www.web100.org"
REVISION "200111020000Z" -- November 2, 2001
DESCRIPTION
"Initial version, published as RFC xxxx."
-- RFC Editor assigns RFC xxxx
::= { experimental 9999 }
tcpEStatsNotifications OBJECT IDENTIFIER ::= { tcpEStatsMIB 0 }
tcpEStats OBJECT IDENTIFIER ::= { tcpEStatsMIB 1 }
tcpEStatsControl OBJECT IDENTIFIER ::= { tcpEStatsMIB 2 }
tcpEStatsConformance OBJECT IDENTIFIER ::= { tcpEStatsMIB 3 }
Mathis, et al [Page 5]
--
-- Textual Conventions
--
TcpEStatsOperation ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Indicates whether the table controled by an object with
this syntax is enabled and counting statistics or in a
disabled state. Requests for object instances in tables
that have been placed in a disabled state should be
treated as if the table does not exist, that is a NO SUCH
should be returned to the requester."
SYNTAX INTEGER {
enabled(1),
disabled(2)
}
--
-- TCP Connection State Statistics
--
tcpEStatsConnectionTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpEStatsConnectionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains connection state information for
each TCP connection. Activation of this table is via the
tcpEStatsControlState object."
::= { tcpEStats 1 }
tcpEStatsConnectionEntry OBJECT-TYPE
SYNTAX TcpEStatsConnectionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry in this table has information about the
characteristics of each active and recently closed tcp
connection."
INDEX { tcpEStatsConnectIdId }
::= { tcpEStatsConnectionTable 1 }
TcpEStatsConnectionEntry ::= SEQUENCE {
tcpEStatsConnectionState INTEGER,
tcpEStatsConnectionSACK TruthValue,
tcpEStatsConnectionTimeStamps TruthValue,
Mathis, et al [Page 6]
tcpEStatsConnectionECN TruthValue,
tcpEStatsConnectionNagle TruthValue,
tcpEStatsConnectionWinScaleRcvd Integer32,
tcpEStatsConnectionWinScaleSent Integer32
}
tcpEStatsConnectionState OBJECT-TYPE
SYNTAX INTEGER {
wcStateClosed(1),
wcStateListen(2),
wcStateSynSent(3),
wcStateSynReceived(4),
wcStateEstablished(5),
wcStateFinWait1(6),
wcStateFinWait2(7),
wcStateCloseWait(8),
wcStateLastAck(9),
wcStateClosing(10),
wcStateTimeWait(11),
wcStateDeleteTcb(12)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An integer value representing the connection state from the
TCP State Transition Diagram."
::= { tcpEStatsConnectionEntry 1 }
tcpEStatsConnectionSACK OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Non-zero if SACK has been negotiated ON by both ends of the
connection. Zero otherwise."
::= { tcpEStatsConnectionEntry 2 }
tcpEStatsConnectionTimeStamps OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Non-zero if Timestamps have been negotiated ON by both ends
of the connection in the SYN. Zero otherwise."
::= { tcpEStatsConnectionEntry 3 }
tcpEStatsConnectionECN OBJECT-TYPE
Mathis, et al [Page 7]
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Non-zero if ECN has been negotiated ON."
::= { tcpEStatsConnectionEntry 4 }
tcpEStatsConnectionNagle OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Non-zero if the Nagle algorithm is being used by the Local
Host on this connection. Zero otherwise."
::= { tcpEStatsConnectionEntry 5 }
tcpEStatsConnectionWinScaleRcvd OBJECT-TYPE
SYNTAX Integer32 (-1..14)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The window scale value used by the Local Host in
calculating incoming window sizes on this connection. Must
be initialized to be < 0; Winshift will be considered to be
in effect only if WinScaleSent and WinScaleRcvd are both >=
0."
::= { tcpEStatsConnectionEntry 6 }
tcpEStatsConnectionWinScaleSent OBJECT-TYPE
SYNTAX Integer32 (-1..14)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The window scale value used by the Local Host in
calculating the advertized window on this connection. Must
be initialized to be < 0; Winshift will be considered to be
in effect only if WinScaleSent and WinScaleRcvd are both >=
0."
::= { tcpEStatsConnectionEntry 7 }
--
-- TCP SYN Options
--
tcpEStatsSynOptsTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpEStatsSynOptsEntry
MAX-ACCESS not-accessible
Mathis, et al [Page 8]
STATUS current
DESCRIPTION
"This table contains Statistics on options present
on the SYN and SYN-ACK. Table activation is
controlled by the tcpEStatsControlSynOpts object."
::= { tcpEStats 2 }
tcpEStatsSynOptsEntry OBJECT-TYPE
SYNTAX TcpEStatsSynOptsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
""
INDEX { tcpEStatsConnectIdId }
::= { tcpEStatsSynOptsTable 1 }
TcpEStatsSynOptsEntry ::= SEQUENCE {
tcpEStatsSynOptsSACKSent TruthValue,
tcpEStatsSynOptsSACKRcvd TruthValue,
tcpEStatsSynOptsTimeStampSent TruthValue,
tcpEStatsSynOptsTimeStampRcvd TruthValue,
tcpEStatsSynOptsActiveOpen TruthValue
}
tcpEStatsSynOptsSACKSent OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"True if SACKok was sent in SYN or SYN-ACK."
::= { tcpEStatsSynOptsEntry 1 }
tcpEStatsSynOptsSACKRcvd OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"True if SACKok was found in SYN or SYN-ACK."
::= { tcpEStatsSynOptsEntry 2 }
tcpEStatsSynOptsTimeStampSent OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"True if Timestamp was sent in SYN or SYN-ACK."
::= { tcpEStatsSynOptsEntry 3 }
Mathis, et al [Page 9]
tcpEStatsSynOptsTimeStampRcvd OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"True if Timestamp was found in SYN or SYN-ACK."
::= { tcpEStatsSynOptsEntry 4 }
tcpEStatsSynOptsActiveOpen OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"True if local host was the one that sent the SYN."
::= { tcpEStatsSynOptsEntry 5 }
--
-- TCP Data Table
--
tcpEStatsDataTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpEStatsDataEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains statistics on aggregate packets and
data sent on a connection. These provide a direct
measure of the Internet capacity consumed by a connection
and TCPs net throughput."
::= { tcpEStats 3 }
tcpEStatsDataEntry OBJECT-TYPE
SYNTAX TcpEStatsDataEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Per connection statistics for packets and data."
INDEX { tcpEStatsConnectIdId }
::= { tcpEStatsDataTable 1 }
TcpEStatsDataEntry ::= SEQUENCE {
tcpEStatsDataPktsOut Counter32,
tcpEStatsDataDataPktsOut Counter32,
tcpEStatsDataAckPktsOut Counter32,
tcpEStatsDataDataBytesOut Counter64,
tcpEStatsDataPktsIn Counter32,
tcpEStatsDataDataPktsIn Counter32,
Mathis, et al [Page 10]
tcpEStatsDataAckPktsIn Counter32,
tcpEStatsDataDataBytesIn Counter64,
tcpEStatsDataSndUna Counter32,
tcpEStatsDataSndNxt Integer32,
tcpEStatsDataSndMax Counter32,
tcpEStatsDataThruBytesSent Counter32,
tcpEStatsDataSendInitial Counter32,
tcpEStatsDataSendWraps Counter32,
tcpEStatsDataRcvNxt Counter32,
tcpEStatsDataThruBytesReceived Counter32,
tcpEStatsDataRecInitial Counter32,
tcpEStatsDataRecWraps Counter32,
tcpEStatsDataCurTime Counter32,
tcpEStatsDataStartTime Counter32
}
tcpEStatsDataPktsOut OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets that have been sent on this
connection by the Local Host."
::= { tcpEStatsDataEntry 1 }
tcpEStatsDataDataPktsOut OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of data packets (with len > 0) that have been
sent on this connection by the Local Host."
::= { tcpEStatsDataEntry 2 }
tcpEStatsDataAckPktsOut OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of pure ack packets that have been sent on this
connection by the Local Host."
::= { tcpEStatsDataEntry 3 }
tcpEStatsDataDataBytesOut OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
Mathis, et al [Page 11]
DESCRIPTION
"The number of bytes of data that have been sent on this
connection by the Local Host, not including retransmitted
packets."
::= { tcpEStatsDataEntry 4 }
tcpEStatsDataPktsIn OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets that have been received on this
connection by the Local Host."
::= { tcpEStatsDataEntry 5 }
tcpEStatsDataDataPktsIn OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of data packets (with len > 0) that have been
received on this connection by the Local Host."
::= { tcpEStatsDataEntry 6 }
tcpEStatsDataAckPktsIn OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of valid pure ack packets that have been
received on this connection by the Local Host."
::= { tcpEStatsDataEntry 7 }
tcpEStatsDataDataBytesIn OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bytes of non-duplicate data that have been
received on this connection by the Local Host."
::= { tcpEStatsDataEntry 8 }
tcpEStatsDataSndUna OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
Mathis, et al [Page 12]
"Oldest Unacknowledged Sequence Number."
::= { tcpEStatsDataEntry 9 }
tcpEStatsDataSndNxt OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Next Sequence Number to be Sent. Note that many TCP
implementations retransmit lost data by pulling SndNxt back
to the lost data."
::= { tcpEStatsDataEntry 10 }
tcpEStatsDataSndMax OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is equal to snd_next except when doing Tahoe style
recovery."
::= { tcpEStatsDataEntry 11 }
tcpEStatsDataThruBytesSent OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total throughput bytes delivered and acknowledged by the
remote receiver as indicated by the 64 bit sum of changes
in snd_una."
::= { tcpEStatsDataEntry 12 }
tcpEStatsDataSendInitial OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Initial SYN sequence number."
::= { tcpEStatsDataEntry 13 }
tcpEStatsDataSendWraps OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the number of times snd_max 'passes' ISS."
::= { tcpEStatsDataEntry 14 }
Mathis, et al [Page 13]
tcpEStatsDataRcvNxt OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Next sequence number expected on an incoming segment, and
is the left or lower edge of the receive window."
::= { tcpEStatsDataEntry 15 }
tcpEStatsDataThruBytesReceived OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total throughput bytes received and acknowledged to the
remote sender as indicated by the 64 bit sum of changes in
rcv_nxt."
::= { tcpEStatsDataEntry 16 }
tcpEStatsDataRecInitial OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Initial SYN sequence number."
::= { tcpEStatsDataEntry 17 }
tcpEStatsDataRecWraps OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the number of times rcv_max 'passes' ISS."
::= { tcpEStatsDataEntry 18 }
tcpEStatsDataCurTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current Time."
::= { tcpEStatsDataEntry 19 }
tcpEStatsDataStartTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
Mathis, et al [Page 14]
DESCRIPTION
"Time of the start of the connection."
::= { tcpEStatsDataEntry 20 }
--
-- TCP Sender Table
--
tcpEStatsSndCongTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpEStatsSndCongEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"First level instruments to determine which subsystems
are controlling overall performance by throttling TCP
data transmission. The three parallel sets of
instruments measure the extent to which the receiver
window, network congestion or the senders available data
limit TCP's performance. They reflect bottlenecks at the
receiver, network or sender respectively. It also
includes instruments on all events needed to model
congestion along the network path. The instruments are
sufficient to fit the actual performance to an updated
macroscopic performance model [MACRO]. This in turn
reveals the nature of the congestion "
::= { tcpEStats 4 }
tcpEStatsSndCongEntry OBJECT-TYPE
SYNTAX TcpEStatsSndCongEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Per connection sender information."
INDEX { tcpEStatsConnectIdId }
::= { tcpEStatsSndCongTable 1 }
TcpEStatsSndCongEntry ::= SEQUENCE {
tcpEStatsSndCongSndLimTransSnd Counter32,
tcpEStatsSndCongSndLimTimeSnd Counter32,
tcpEStatsSndCongSndLimBytesSnd Counter64,
tcpEStatsSndCongSndLimTransCwnd Counter32,
tcpEStatsSndCongSndLimTimeCwnd Counter32,
tcpEStatsSndCongSndLimBytesCwnd Counter64,
tcpEStatsSndCongSndLimTransRwin Counter32,
tcpEStatsSndCongSndLimTimeRwin Counter32,
tcpEStatsSndCongSndLimBytesRwin Counter64,
tcpEStatsSndCongSlowStart Counter32,
Mathis, et al [Page 15]
tcpEStatsSndCongCongAvoid Counter32,
tcpEStatsSndCongCongSignals Counter32,
tcpEStatsSndCongOtherReductions Counter32,
tcpEStatsSndCongCongOverCount Counter32,
tcpEStatsSndCongCurCwnd Gauge32,
tcpEStatsSndCongSumCwndAtCong Counter32,
tcpEStatsSndCongMaxCwnd Gauge32,
tcpEStatsSndCongCurSsthresh Gauge32,
tcpEStatsSndCongMaxSsthresh Gauge32,
tcpEStatsSndCongMinSsthresh Gauge32
}
tcpEStatsSndCongSndLimTransSnd OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of transitions into the 'Sender Limited' state,
as determined by the Local Host, when the Local Host is a
sender. This state is entered whenever TCP transmission
stops because there no more data in sender's buffer."
::= { tcpEStatsSndCongEntry 1 }
tcpEStatsSndCongSndLimTimeSnd OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The cumulative time (in msecs) spent in the 'Sender
Limited' state, as determined by the Local Host, when the
Local Host is a sender. This state is entered whenever TCP
transmission stops because there is no more data in
sender's buffer."
::= { tcpEStatsSndCongEntry 2 }
tcpEStatsSndCongSndLimBytesSnd OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The cumulative bytes sent while in the 'Sender Limited'
state, as determined by the Local Host, when the Local Host
is a sender. This state is entered whenever TCP
transmission stops because there is no more data in
sender's buffer."
::= { tcpEStatsSndCongEntry 3 }
Mathis, et al [Page 16]
tcpEStatsSndCongSndLimTransCwnd OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of transitions into the 'Congestion Limited'
state, as determined by the Local Host, when the Local Host
is a sender. This state is entered whenever TCP
transmission stops due to congestion."
::= { tcpEStatsSndCongEntry 4 }
tcpEStatsSndCongSndLimTimeCwnd OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The cumulative time (in msecs) spent in the 'Congestion
Limited' state, as determined by the Local Host, when the
Local Host is a sender. This state is entered whenever TCP
transmission stops due to congestion."
::= { tcpEStatsSndCongEntry 5 }
tcpEStatsSndCongSndLimBytesCwnd OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The cumulative bytes sent while in the 'Congestion Limited'
state, as determined by the Local Host, when the Local Host
is a sender. This state is entered whenever TCP
transmission stops due to congestion."
::= { tcpEStatsSndCongEntry 6 }
tcpEStatsSndCongSndLimTransRwin OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of transitions into the 'Receiver Limited'
state, as determined by the Local Host, when the Local Host
is a sender. This state is entered whenever TCP
transmission stops due to Receiver not being able to
receive data."
::= { tcpEStatsSndCongEntry 7 }
tcpEStatsSndCongSndLimTimeRwin OBJECT-TYPE
SYNTAX Counter32
Mathis, et al [Page 17]
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The cumulative time (in msecs) spent in the 'Receiver
Limited' state, as determined by the Local Host, when the
Local Host is a sender. This state is entered whenever TCP
transmission stops due to Receiver not being able to
receive data."
::= { tcpEStatsSndCongEntry 8 }
tcpEStatsSndCongSndLimBytesRwin OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The cumulative bytes sent while in the 'Receiver Limited'
state, as determined by the Local Host, when the Local Host
is a sender. This state is entered whenever TCP
transmission stops due to Receiver not being able to
receive data."
::= { tcpEStatsSndCongEntry 9 }
tcpEStatsSndCongSlowStart OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Slow Start Window Opens."
::= { tcpEStatsSndCongEntry 10 }
tcpEStatsSndCongCongAvoid OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Congestion Avoidance Window Opens."
::= { tcpEStatsSndCongEntry 11 }
tcpEStatsSndCongCongSignals OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of multiplicative downward congestion window
adjustments due to all forms of congestion signals,
including Fast Retransmit, ECN and timeouts. Congestion
events which are backed out or suppressed due to overlap
Mathis, et al [Page 18]
with other events (e.g. Fast Retransmit or ECN followed by
a timeout) SHOULD NOT be included. Note that retransmission
timeouts reduce the window implicitly by updating ssthresh
and a subsequent slowstart."
::= { tcpEStatsSndCongEntry 12 }
tcpEStatsSndCongOtherReductions OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of congestion window reductions made by the
Local Host as the result anything other than AIMD
congestion algorithms. All window reductions MUST be
counted as either CongestionSignals or OtherReductions.
Examples of non-multiplicative window reductions include
sloestart restart and experimental algorithms such as Vegas
[VEGAS] CAM."
::= { tcpEStatsSndCongEntry 13 }
tcpEStatsSndCongCongOverCount OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of events counted in CongestionSignals, which
were backed out after it is infeasible to backout related
variables such as SumCwndAtCong."
::= { tcpEStatsSndCongEntry 14 }
tcpEStatsSndCongCurCwnd OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Local Host's current value of snd_cwnd on this
connection, in bytes."
::= { tcpEStatsSndCongEntry 15 }
tcpEStatsSndCongSumCwndAtCong OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The sum of the Local Host's values of snd_cwnd captured
each time recovery is entered, in bytes. This MUST be
updated with CongestionSignals such that the ratio is the
Mathis, et al [Page 19]
average window at congestion signal."
::= { tcpEStatsSndCongEntry 16 }
tcpEStatsSndCongMaxCwnd OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The largest value attained by the Local Host's snd_cwnd on
this connection, in bytes."
::= { tcpEStatsSndCongEntry 17 }
tcpEStatsSndCongCurSsthresh OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Local Host's current value of snd_ssthresh on this
connection, in bytes."
::= { tcpEStatsSndCongEntry 18 }
tcpEStatsSndCongMaxSsthresh OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The largest non-initial value attained by the Local Host's
snd_ssthresh on this connection, in bytes."
::= { tcpEStatsSndCongEntry 19 }
tcpEStatsSndCongMinSsthresh OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The smallest value attained by the Local Host's
snd_ssthresh on this connection, in bytes."
::= { tcpEStatsSndCongEntry 20 }
--
-- TCP Path Table
--
tcpEStatsPathTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpEStatsPathEntry
MAX-ACCESS not-accessible
STATUS current
Mathis, et al [Page 20]
DESCRIPTION
"Instruments that characterize the segment loss mechanism
by collecting statistics on how the losses are correlated
to other losses and protocol events. Instruments at the
sender to detect other types of non-loss congestion
signals such as source quench or ECN. It also Instruments
at the sender to infer that the TCP's reliable delivery
mechanisms are being confused by packet reordering on the
path from the sender to the receiver. Sender's maximum
segment size, and the range of values explored by the MTU
discovery algorithm. "
::= { tcpEStats 5 }
tcpEStatsPathEntry OBJECT-TYPE
SYNTAX TcpEStatsPathEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Stats per connection."
INDEX { tcpEStatsConnectIdId }
::= { tcpEStatsPathTable 1 }
TcpEStatsPathEntry ::= SEQUENCE {
tcpEStatsPathFastRetran Counter32,
tcpEStatsPathTimeouts Counter32,
tcpEStatsPathSubsequentTimeouts Counter32,
tcpEStatsPathCurTimeoutCount Gauge32,
tcpEStatsPathAbruptTimeouts Counter32,
tcpEStatsPathPktsRetrans Counter32,
tcpEStatsPathBytesRetrans Counter32,
tcpEStatsPathDupAcksIn Counter32,
tcpEStatsPathSACKsRcvd Counter32,
tcpEStatsPathSACKBlocksRcvd Counter32,
tcpEStatsPathPreCongSumRTT Counter32,
tcpEStatsPathPreCongCountRTT Counter32,
tcpEStatsPathPostCongSumRTT Counter32,
tcpEStatsPathPostCongCountRTT Counter32,
tcpEStatsPathECERcvd Counter32,
tcpEStatsPathSendStall Counter32,
tcpEStatsPathQuenchRcvd Counter32,
tcpEStatsPathMaxRetranThresh Gauge32,
tcpEStatsPathNonRecovDA Counter32,
tcpEStatsPathAckAfterFR Counter32,
tcpEStatsPathDSACKDups Counter32,
tcpEStatsPathSampleRTT Gauge32,
tcpEStatsPathSmoothedRTT Gauge32,
tcpEStatsPathMaxRTT Gauge32,
Mathis, et al [Page 21]
tcpEStatsPathMinRTT Gauge32,
tcpEStatsPathSumRTT Counter64,
tcpEStatsPathCountRTT Counter32,
tcpEStatsPathCurRTO Gauge32,
tcpEStatsPathMaxRTO Gauge32,
tcpEStatsPathMinRTO Gauge32,
tcpEStatsPathCurMSS Gauge32,
tcpEStatsPathMaxMSS Gauge32,
tcpEStatsPathMinMSS Gauge32
}
tcpEStatsPathFastRetran OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of invocations of the Fast Retransmit algorithm
when Local Host is the sender."
::= { tcpEStatsPathEntry 1 }
tcpEStatsPathTimeouts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of timeouts experienced by the connection,
when the Local Host is the sender and the RTO multiplier is
1."
::= { tcpEStatsPathEntry 2 }
tcpEStatsPathSubsequentTimeouts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of timeouts experienced by the connection,
when the Local Host is the sender and the RTO multiplier is
greater than one."
::= { tcpEStatsPathEntry 3 }
tcpEStatsPathCurTimeoutCount OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current number of times that RTO has been increased due to
repeated timeouts. The timeout multiplier is typically
Mathis, et al [Page 22]
2^CurrTimeoutCount."
::= { tcpEStatsPathEntry 4 }
tcpEStatsPathAbruptTimeouts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total number of timeouts that occurred without any
preceding duplicate acknowledgments or other hints of
congestion."
::= { tcpEStatsPathEntry 5 }
tcpEStatsPathPktsRetrans OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of pkts retransmitted on the connection by the
Local Host."
::= { tcpEStatsPathEntry 6 }
tcpEStatsPathBytesRetrans OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bytes retransmitted on the connection by the
Local Host."
::= { tcpEStatsPathEntry 7 }
tcpEStatsPathDupAcksIn OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of duplicate ACKs received on the connection by
the Local Host."
::= { tcpEStatsPathEntry 8 }
tcpEStatsPathSACKsRcvd OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of SACK options on the connection, received by
the Local Host, that represent new data arriving at the
Mathis, et al [Page 23]
Remote Host."
::= { tcpEStatsPathEntry 9 }
tcpEStatsPathSACKBlocksRcvd OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of SACK blocks on the connection, received by
the Local Host, that represent new data arriving at the
Remote Host."
::= { tcpEStatsPathEntry 10 }
tcpEStatsPathPreCongSumRTT OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Sum of the RTT as measured just before congestion."
::= { tcpEStatsPathEntry 11 }
tcpEStatsPathPreCongCountRTT OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the RTT as measured just before congestion."
::= { tcpEStatsPathEntry 12 }
tcpEStatsPathPostCongSumRTT OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Sum of the RTT as measured just after congestion."
::= { tcpEStatsPathEntry 13 }
tcpEStatsPathPostCongCountRTT OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of the RTT as measured just after congestion."
::= { tcpEStatsPathEntry 14 }
tcpEStatsPathECERcvd OBJECT-TYPE
SYNTAX Counter32
Mathis, et al [Page 24]
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of Congestion Signals delivered via ECE."
::= { tcpEStatsPathEntry 15 }
tcpEStatsPathSendStall OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of interface stalls or other sender local
resources that are treated as congestion signals."
::= { tcpEStatsPathEntry 16 }
tcpEStatsPathQuenchRcvd OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of ICMP quench messages that are treated a
congestion signals."
::= { tcpEStatsPathEntry 17 }
tcpEStatsPathMaxRetranThresh OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Duplicate ACKs needed to trigger FR."
::= { tcpEStatsPathEntry 18 }
tcpEStatsPathNonRecovDA OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Duplicate acks (or SACKS) that did not tragger
fastretransmit because they were withdrawn prior to
reaching MaxRetranThresh."
::= { tcpEStatsPathEntry 19 }
tcpEStatsPathAckAfterFR OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
Mathis, et al [Page 25]
"ACKs following FR, but not due to FR (way ooo)."
::= { tcpEStatsPathEntry 20 }
tcpEStatsPathDSACKDups OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of duplicate segments by the Remote Host using
DSACKs."
::= { tcpEStatsPathEntry 21 }
tcpEStatsPathSampleRTT OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The most recent round trip time sample in milliseconds for
this connection, as seen by the Local Host."
::= { tcpEStatsPathEntry 22 }
tcpEStatsPathSmoothedRTT OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The smoothed round trip time in milliseconds for this
connection, as seen by the Local Host."
::= { tcpEStatsPathEntry 23 }
tcpEStatsPathMaxRTT OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum round trip time sample seen on this connection
by the Local Host, in milliseconds."
::= { tcpEStatsPathEntry 24 }
tcpEStatsPathMinRTT OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The smallest round trip time sample seen on this connection
by the Local Host, in milliseconds."
::= { tcpEStatsPathEntry 25 }
Mathis, et al [Page 26]
tcpEStatsPathSumRTT OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Cumulative round trip times seen on this connection by the
Local Host, in milliseconds."
::= { tcpEStatsPathEntry 26 }
tcpEStatsPathCountRTT OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count of RTT samples included in SumRTT."
::= { tcpEStatsPathEntry 27 }
tcpEStatsPathCurRTO OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current value of the retransmit timeout limit (in
milliseconds, not including the backoff timer) for this
connection, as kept by the Local Host."
::= { tcpEStatsPathEntry 28 }
tcpEStatsPathMaxRTO OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum value of the retransmit timeout limit (in
milliseconds, not including the backoff timer) for this
connection, as seen by the Local Host."
::= { tcpEStatsPathEntry 29 }
tcpEStatsPathMinRTO OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The smallest value of the retransmit timeout limit (in
milliseconds, not including the backoff timer) for this
connection, as seen by the Local Host."
::= { tcpEStatsPathEntry 30 }
Mathis, et al [Page 27]
tcpEStatsPathCurMSS OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current 'maximum segment size' in bytes used by the
Local Host for this connection."
::= { tcpEStatsPathEntry 31 }
tcpEStatsPathMaxMSS OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum value of the 'maximum segment size' in bytes
used by the Local Host for this connection."
::= { tcpEStatsPathEntry 32 }
tcpEStatsPathMinMSS OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The smallest value of the 'maximum segment size' in bytes
used by the Local Host for this connection."
::= { tcpEStatsPathEntry 33 }
--
-- TCP Sender Buffer Table
--
tcpEStatsSendBuffTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpEStatsSendBuffEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Instruments on the senders buffer usage, including any
buffering in the application interface to TCP and the
retransmit queue."
::= { tcpEStats 6 }
tcpEStatsSendBuffEntry OBJECT-TYPE
SYNTAX TcpEStatsSendBuffEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Per connection sender buffer information."
Mathis, et al [Page 28]
INDEX { tcpEStatsConnectIdId }
::= { tcpEStatsSendBuffTable 1 }
TcpEStatsSendBuffEntry ::= SEQUENCE {
tcpEStatsSendBuffSndBuf Gauge32,
tcpEStatsSendBuffCurRetranQueue Gauge32,
tcpEStatsSendBuffMaxRetranQueue Gauge32,
tcpEStatsSendBuffCurAppWQueue Gauge32,
tcpEStatsSendBuffMaxAppWQueue Gauge32,
tcpEStatsSendBuffSTuneMode INTEGER,
tcpEStatsSendBuffSndbufSet Gauge32,
tcpEStatsSendBuffSAppBuf Gauge32,
tcpEStatsSendBuffSMaxWinBuf Gauge32,
tcpEStatsSendBuffSXtra Gauge32,
tcpEStatsSendBuffSTuneErr TruthValue
}
tcpEStatsSendBuffSndBuf OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current total amount of sender buffer memory available
to the connection."
::= { tcpEStatsSendBuffEntry 1 }
tcpEStatsSendBuffCurRetranQueue OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current amount of memory used for the retransmit queue."
::= { tcpEStatsSendBuffEntry 2 }
tcpEStatsSendBuffMaxRetranQueue OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum amount of memory used for the retransmit queue."
::= { tcpEStatsSendBuffEntry 3 }
tcpEStatsSendBuffCurAppWQueue OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
Mathis, et al [Page 29]
"The current amount of memory used to hold data that has
been written by the application, but has yet to be
transmitted on the network for the first time."
::= { tcpEStatsSendBuffEntry 4 }
tcpEStatsSendBuffMaxAppWQueue OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum amount of memory used to hold data that has
been written by the application, but has yet to be
transmitted on the network for the first time."
::= { tcpEStatsSendBuffEntry 5 }
tcpEStatsSendBuffSTuneMode OBJECT-TYPE
SYNTAX INTEGER {
sndTModeDEFAULT(0),
sndTModeSETSOCKOPT(1),
sndTModeFIXED(2),
sndTModeAUTO(3),
sndTModeEXP1(4),
sndTModeEXP2(5)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The mode used for the sender-side TCP tuning by the Local
Host."
::= { tcpEStatsSendBuffEntry 6 }
tcpEStatsSendBuffSndbufSet OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A read/write gage to manually set the current buffer size,
when sndTMode is sndTModeFIXED. Reading SndbufSet always
reports the most recent write to SndbufSet, even if
sndTMode is not sndTModeFIXED. Note that when entering
manual (aka fixed) tuning modes SndbufSet should be updated
before sndTMode."
::= { tcpEStatsSendBuffEntry 7 }
tcpEStatsSendBuffSAppBuf OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-write
Mathis, et al [Page 30]
STATUS current
DESCRIPTION
"Advise to the auto-tuning algorithm in regards to the
amount of buffer used to decouple the application from the
TCP end-point. e.g. for the sender, limits (high, low or
soft reservation) on the data queued before it is first
transmitted."
::= { tcpEStatsSendBuffEntry 8 }
tcpEStatsSendBuffSMaxWinBuf OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Advise to the auto-tuning algorithm in regards to the
amount of buffer be used to support TCP retransmissions.
e.g. limits on the TCP retransmit buffer. Its precise
definition is tuning mode specific."
::= { tcpEStatsSendBuffEntry 9 }
tcpEStatsSendBuffSXtra OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional mode specific advise to the auto-tuning
algorithm."
::= { tcpEStatsSendBuffEntry 10 }
tcpEStatsSendBuffSTuneErr OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"True indicates an autotuning error."
::= { tcpEStatsSendBuffEntry 11 }
--
-- TCP Local Receiver Table
--
tcpEStatsLocRecTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpEStatsRecEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Instruments on the state of the Local receiver and
Mathis, et al [Page 31]
instruments on the receiver buffer usage, including any
buffering in the application interface to TCP and the
reassembly queue."
::= { tcpEStats 7 }
tcpEStatsRecEntry OBJECT-TYPE
SYNTAX TcpEStatsRecEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Per connection information on the local receiver."
INDEX { tcpEStatsConnectIdId }
::= { tcpEStatsLocRecTable 1 }
TcpEStatsRecEntry ::= SEQUENCE {
tcpEStatsRecCurRwinSent Gauge32,
tcpEStatsRecMaxRwinSent Gauge32,
tcpEStatsRecMinRwinSent Gauge32,
tcpEStatsRecDupAcksOut Counter32,
tcpEStatsRecRcvBuf Gauge32,
tcpEStatsRecCurReasmQueue Gauge32,
tcpEStatsRecMaxReasmQueue Gauge32,
tcpEStatsRecCurAppRQueue Gauge32,
tcpEStatsRecMaxAppRQueue Gauge32,
tcpEStatsRecRTuneMode INTEGER,
tcpEStatsRecRcvbufSet Gauge32,
tcpEStatsRecRAppBuf Gauge32,
tcpEStatsRecRMaxWinBuf Gauge32,
tcpEStatsRecRXtra Gauge32,
tcpEStatsRecRTuneErr TruthValue
}
tcpEStatsRecCurRwinSent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current receiver window, in bytes, advertised by the
Local Host for this connection."
::= { tcpEStatsRecEntry 1 }
tcpEStatsRecMaxRwinSent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum receiver window, in bytes, ever advertised by
Mathis, et al [Page 32]
the Local Host for this connection."
::= { tcpEStatsRecEntry 2 }
tcpEStatsRecMinRwinSent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The minimum receiver window, in bytes, ever advertised by
the Local Host for this connection."
::= { tcpEStatsRecEntry 3 }
tcpEStatsRecDupAcksOut OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of duplicate ACKs sent on the connection by the
Local Host."
::= { tcpEStatsRecEntry 4 }
tcpEStatsRecRcvBuf OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current total amount of receiver buffer memory
available to the connection."
::= { tcpEStatsRecEntry 5 }
tcpEStatsRecCurReasmQueue OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current amount of memory used for the reassembly queue."
::= { tcpEStatsRecEntry 6 }
tcpEStatsRecMaxReasmQueue OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum amount of memory used for the reassembly queue."
::= { tcpEStatsRecEntry 7 }
tcpEStatsRecCurAppRQueue OBJECT-TYPE
Mathis, et al [Page 33]
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current amount of memory used to hold data that has
been acknowledged to the sender but not delivered to the
application."
::= { tcpEStatsRecEntry 8 }
tcpEStatsRecMaxAppRQueue OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum amount of memory used to hold data that has
been acknowledged to the sender but not delivered to the
application."
::= { tcpEStatsRecEntry 9 }
tcpEStatsRecRTuneMode OBJECT-TYPE
SYNTAX INTEGER {
recTModeDEFAULT(0),
recTModeSETSOCKOPT(1),
recTModeFIXED(2),
recTModeAUTO(3),
recTModeEXP1(4),
recTModeEXP2(5)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The mode used for the receiver-side TCP tuning by the Local
Host."
::= { tcpEStatsRecEntry 10 }
tcpEStatsRecRcvbufSet OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A read/write gauge to manually set the current buffer size,
when RtuneMode is recTModeFIXED. Reading RcvbufSet always
reports the most recent write to RcvbufSet, even if
RtuneMode is not recTModeFIXED. Note that when entering
manual (aka fixed) tuning modes RcvbufSet should be updated
before RtuneMode."
::= { tcpEStatsRecEntry 11 }
Mathis, et al [Page 34]
tcpEStatsRecRAppBuf OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Advise to the auto-tuning algorithm in regards to the
amount of buffer used to decouple the application from the
TCP end-point. e.g. for the receiver, limits on the amount
of buffer space available for data that has been
acknowledged but not read by the application."
::= { tcpEStatsRecEntry 12 }
tcpEStatsRecRMaxWinBuf OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Advise to the auto-tuning algorithm in regards to the
amount of buffer be used to support TCP retransmissions.
e.g. limits on the TCP reassembly buffer. Its precise
definition is tuning mode specific."
::= { tcpEStatsRecEntry 13 }
tcpEStatsRecRXtra OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Additional mode specific advise to the auto-tuning
algorithm."
::= { tcpEStatsRecEntry 14 }
tcpEStatsRecRTuneErr OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"True indicates an autotuning error."
::= { tcpEStatsRecEntry 15 }
--
-- TCP Observed Receiver Window Table
--
tcpEStatsObsRecTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpEStatsObsRecEntry
MAX-ACCESS not-accessible
Mathis, et al [Page 35]
STATUS current
DESCRIPTION
"Instruments on receiver window updates that can be used
to identify bottlenecks at the receiver. These can be
collected at the sender or anywhere along the network
path, including at the receiver."
::= { tcpEStats 8 }
tcpEStatsObsRecEntry OBJECT-TYPE
SYNTAX TcpEStatsObsRecEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Per connection information on receiver window."
INDEX { tcpEStatsConnectIdId }
::= { tcpEStatsObsRecTable 1 }
TcpEStatsObsRecEntry ::= SEQUENCE {
tcpEStatsObsRecCurRwinRcvd Gauge32,
tcpEStatsObsRecMaxRwinRcvd Gauge32,
tcpEStatsObsRecMinRwinRcvd Gauge32
}
tcpEStatsObsRecCurRwinRcvd OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current receiver window, in bytes, advertised by the
Remote Host for this connection."
::= { tcpEStatsObsRecEntry 1 }
tcpEStatsObsRecMaxRwinRcvd OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum receiver window, in bytes, ever advertised by
the Remote Host for this connection."
::= { tcpEStatsObsRecEntry 2 }
tcpEStatsObsRecMinRwinRcvd OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The minimum receiver window, in bytes, ever advertised by
Mathis, et al [Page 36]
the Remote Host for this connection."
::= { tcpEStatsObsRecEntry 3 }
--
-- TCP Connection ID Table
-- There is overlap with the new RFC2012 TCP Connection
-- table. This approach was used to make it easier for
-- implementations that may not have access to information in a
-- sub-agent realizing the TCP Connection table. Also notice
-- there is a semantic difference in the latency of row removal
-- in this table. Row are expected to remain in this table longer
-- than in a standard TCP Connection table. Other than this
-- latency difference the semantics of the first six objects in
-- this table are the same as the new TCP Connection table and
-- the DESCRIPTIONS come from the new document.
tcpEStatsConnectIdTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpEStatsConnectIdEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table maps a connection ID used by other tables in
this MIB Module with the information that uniquely
identifies each active TCP connection. Entries are
retained in this table for at least 30 seconds after the
TCP connection first enters the closed state."
::= { tcpEStats 9 }
tcpEStatsConnectIdEntry OBJECT-TYPE
SYNTAX TcpEStatsConnectIdEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
""
INDEX { tcpEStatsConnectLocalAddressType,
tcpEStatsConnectLocalAddress,
tcpEStatsConnectLocalPort,
tcpEStatsConnectRemAddressType,
tcpEStatsConnectRemAddress,
tcpEStatsConnectRemPort }
::= { tcpEStatsConnectIdTable 1 }
TcpEStatsConnectIdEntry ::= SEQUENCE {
tcpEStatsConnectLocalAddressType InetAddressType,
tcpEStatsConnectLocalAddress InetAddress,
tcpEStatsConnectLocalPort InetPortNumber,
Mathis, et al [Page 37]
tcpEStatsConnectRemAddressType InetAddressType,
tcpEStatsConnectRemAddress InetAddress,
tcpEStatsConnectRemPort InetPortNumber,
tcpEStatsConnectIdId Integer32
}
tcpEStatsConnectLocalAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The address type of tcpEStatsConnectLocalAddress.
Only IPv4 and IPv6 addresses are expected."
::= { tcpEStatsConnectIdEntry 1 }
tcpEStatsConnectLocalAddress OBJECT-TYPE
SYNTAX InetAddress (SIZE(0..36))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The local IP address for this TCP connection. In the
case of a connection in the listen state which is willing
to accept connections for any IP interface associated
with the node, a value of all zeroes is used."
::= { tcpEStatsConnectIdEntry 2 }
tcpEStatsConnectLocalPort OBJECT-TYPE
SYNTAX InetPortNumber
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The local port number for this TCP connection."
::= {tcpEStatsConnectIdEntry 3 }
tcpEStatsConnectRemAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The address type of tcpEStatsConnectRemAddress. Only
IPv4 and IPv6 addresses are expected. Must be the same
as tcpEStatsConnectLocalAddressType."
::= { tcpEStatsConnectIdEntry 4 }
tcpEStatsConnectRemAddress OBJECT-TYPE
SYNTAX InetAddress (SIZE(0..36))
MAX-ACCESS not-accessible
STATUS current
Mathis, et al [Page 38]
DESCRIPTION
"The remote IP address for this TCP connection."
::= { tcpEStatsConnectIdEntry 5 }
tcpEStatsConnectRemPort OBJECT-TYPE
SYNTAX InetPortNumber
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The remote port number for this TCP connection."
::= { tcpEStatsConnectIdEntry 6 }
tcpEStatsConnectIdId OBJECT-TYPE
SYNTAX Integer32 (0..2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A unique integer value assigned to each TCP Connection
entry. Assignment will begin at 1 and increase to the
maximum value and then start again at 1 skipping in use
values."
::= { tcpEStatsConnectIdEntry 7 }
-- The tcpEStatsControl Group
-- The scalar objects in this group are used to control the
-- activation and deactivation of the TCP Extended Statistics
-- tables in this module.
--
tcpEStatsControlState OBJECT-TYPE
SYNTAX TcpEStatsOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the activation of the TCP Connection State
Statistics table."
::= { tcpEStatsControl 1 }
tcpEStatsControlSynOpts OBJECT-TYPE
SYNTAX TcpEStatsOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the activation of the TCP SYN Options table."
::= { tcpEStatsControl 2 }
Mathis, et al [Page 39]
tcpEStatsControlData OBJECT-TYPE
SYNTAX TcpEStatsOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the activation of the TCP Data Table."
::= { tcpEStatsControl 3 }
tcpEStatsControlSndCong OBJECT-TYPE
SYNTAX TcpEStatsOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the activation of the TCP Sender Table."
::= { tcpEStatsControl 4 }
tcpEStatsControlPath OBJECT-TYPE
SYNTAX TcpEStatsOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the activation of the TCP Path Table."
::= { tcpEStatsControl 5 }
tcpEStatsControlSendBuff OBJECT-TYPE
SYNTAX TcpEStatsOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the activation of the TCP Sender Buffer Table."
::= { tcpEStatsControl 6 }
tcpEStatsControlLocRec OBJECT-TYPE
SYNTAX TcpEStatsOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the activation of the TCP Local Receiver Table."
::= { tcpEStatsControl 7 }
tcpEStatsControlObsRec OBJECT-TYPE
SYNTAX TcpEStatsOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the activation of the TCP Observed Receiver Window
Table."
Mathis, et al [Page 40]
::= { tcpEStatsControl 8 }
tcpEStatsControlConnectId OBJECT-TYPE
SYNTAX TcpEStatsOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the activation of the TCP Connection ID Table."
::= { tcpEStatsControl 9 }
-- TCP Extended Statistics Notifications Group
tcpEStatsSTuneErrNotification NOTIFICATION-TYPE
OBJECTS {
tcpEStatsSendBuffSTuneErr
}
STATUS current
DESCRIPTION
""
::= { tcpEStatsNotifications 1 }
tcpEStatsRTuneErrNotification NOTIFICATION-TYPE
OBJECTS {
tcpEStatsRecRTuneErr
}
STATUS current
DESCRIPTION
""
::= { tcpEStatsNotifications 2 }
--
-- Conformance Definitions
--
tcpEStatsCompliances OBJECT IDENTIFIER
::= { tcpEStatsConformance 1 }
tcpEStatsGroups OBJECT IDENTIFIER
::= { tcpEStatsConformance 2 }
-- Compliance Statements
tcpEStatsCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Compliance statement for all systems that implement TCP
extended statistics."
Mathis, et al [Page 41]
MODULE -- this module
MANDATORY-GROUPS {
tcpEStats,
tcpEStatsControl,
tcpEStatsNotifications
}
::= { tcpEStatsCompliances 1 }
-- Units of Conformance
tcpEStatsGroup OBJECT-GROUP
OBJECTS {
tcpEStatsConnectionState, tcpEStatsConnectionSACK,
tcpEStatsConnectionTimeStamps,
tcpEStatsConnectionECN, tcpEStatsConnectionNagle,
tcpEStatsConnectionWinScaleRcvd,
tcpEStatsConnectionWinScaleSent,
tcpEStatsSynOptsSACKSent,
tcpEStatsSynOptsSACKRcvd,
tcpEStatsSynOptsTimeStampSent,
tcpEStatsSynOptsTimeStampRcvd,
tcpEStatsSynOptsActiveOpen, tcpEStatsDataPktsOut,
tcpEStatsDataDataPktsOut, tcpEStatsDataAckPktsOut,
tcpEStatsDataDataBytesOut, tcpEStatsDataPktsIn,
tcpEStatsDataDataPktsIn, tcpEStatsDataAckPktsIn,
tcpEStatsDataDataBytesIn, tcpEStatsDataSndUna,
tcpEStatsDataSndNxt, tcpEStatsDataSndMax,
tcpEStatsDataThruBytesSent,
tcpEStatsDataSendInitial, tcpEStatsDataSendWraps,
tcpEStatsDataRcvNxt,
tcpEStatsDataThruBytesReceived,
tcpEStatsDataRecInitial, tcpEStatsDataRecWraps,
tcpEStatsDataCurTime, tcpEStatsDataStartTime,
tcpEStatsSndCongSndLimTransSnd,
tcpEStatsSndCongSndLimTimeSnd,
tcpEStatsSndCongSndLimBytesSnd,
tcpEStatsSndCongSndLimTransCwnd,
tcpEStatsSndCongSndLimTimeCwnd,
tcpEStatsSndCongSndLimBytesCwnd,
tcpEStatsSndCongSndLimTransRwin,
tcpEStatsSndCongSndLimTimeRwin,
tcpEStatsSndCongSndLimBytesRwin,
tcpEStatsSndCongSlowStart,
tcpEStatsSndCongCongAvoid,
tcpEStatsSndCongCongSignals,
tcpEStatsSndCongOtherReductions,
tcpEStatsSndCongCongOverCount,
Mathis, et al [Page 42]
tcpEStatsSndCongCurCwnd,
tcpEStatsSndCongSumCwndAtCong,
tcpEStatsSndCongMaxCwnd,
tcpEStatsSndCongCurSsthresh,
tcpEStatsSndCongMaxSsthresh,
tcpEStatsSndCongMinSsthresh,
tcpEStatsPathFastRetran, tcpEStatsPathTimeouts,
tcpEStatsPathSubsequentTimeouts,
tcpEStatsPathCurTimeoutCount,
tcpEStatsPathAbruptTimeouts,
tcpEStatsPathPktsRetrans,
tcpEStatsPathBytesRetrans, tcpEStatsPathDupAcksIn,
tcpEStatsPathSACKsRcvd,
tcpEStatsPathSACKBlocksRcvd,
tcpEStatsPathPreCongSumRTT,
tcpEStatsPathPreCongCountRTT,
tcpEStatsPathPostCongSumRTT,
tcpEStatsPathPostCongCountRTT,
tcpEStatsPathECERcvd, tcpEStatsPathSendStall,
tcpEStatsPathQuenchRcvd,
tcpEStatsPathMaxRetranThresh,
tcpEStatsPathNonRecovDA, tcpEStatsPathAckAfterFR,
tcpEStatsPathDSACKDups, tcpEStatsPathSampleRTT,
tcpEStatsPathSmoothedRTT, tcpEStatsPathMaxRTT,
tcpEStatsPathMinRTT, tcpEStatsPathSumRTT,
tcpEStatsPathCountRTT, tcpEStatsPathCurRTO,
tcpEStatsPathMaxRTO, tcpEStatsPathMinRTO,
tcpEStatsPathCurMSS, tcpEStatsPathMaxMSS,
tcpEStatsPathMinMSS, tcpEStatsSendBuffSndBuf,
tcpEStatsSendBuffCurRetranQueue,
tcpEStatsSendBuffMaxRetranQueue,
tcpEStatsSendBuffCurAppWQueue,
tcpEStatsSendBuffMaxAppWQueue,
tcpEStatsSendBuffSTuneMode,
tcpEStatsSendBuffSndbufSet,
tcpEStatsSendBuffSAppBuf,
tcpEStatsSendBuffSMaxWinBuf,
tcpEStatsSendBuffSXtra, tcpEStatsSendBuffSTuneErr,
tcpEStatsRecCurRwinSent, tcpEStatsRecMaxRwinSent,
tcpEStatsRecMinRwinSent, tcpEStatsRecDupAcksOut,
tcpEStatsRecRcvBuf, tcpEStatsRecCurReasmQueue,
tcpEStatsRecMaxReasmQueue,
tcpEStatsRecCurAppRQueue,
tcpEStatsRecMaxAppRQueue, tcpEStatsRecRTuneMode,
tcpEStatsRecRcvbufSet, tcpEStatsRecRAppBuf,
tcpEStatsRecRMaxWinBuf, tcpEStatsRecRXtra,
tcpEStatsRecRTuneErr, tcpEStatsObsRecCurRwinRcvd,
Mathis, et al [Page 43]
tcpEStatsObsRecMaxRwinRcvd,
tcpEStatsObsRecMinRwinRcvd,
tcpEStatsConnectIdId
}
STATUS current
DESCRIPTION
"The tcpEStats group is mandatory for all
systems that implement this MIB Module."
::= { tcpEStatsGroups 1 }
tcpEStatsControlGroup OBJECT-GROUP
OBJECTS {
tcpEStatsControlState, tcpEStatsControlSynOpts,
tcpEStatsControlData, tcpEStatsControlSndCong,
tcpEStatsControlPath, tcpEStatsControlSendBuff,
tcpEStatsControlLocRec, tcpEStatsControlObsRec,
tcpEStatsControlConnectId
}
STATUS current
DESCRIPTION
"The tcpEStatsControl group is mandatory for all
systems that claim conformance to this MIB Module."
::= { tcpEStatsGroups 2 }
tcpEStatsNotificationsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
tcpEStatsSTuneErrNotification,
tcpEStatsRTuneErrNotification
}
STATUS current
DESCRIPTION
"Notifications sent by a TCP extended statistics agent."
::= { tcpEStatsGroups 3 }
END
44.. SSeeccuurriittyy CCoonnssiiddeerraattiioonnss
There are a number of management objects defined in this MIB that
have a MAX-ACCESS clause of read-write and/or read-create. Such
objects may be considered sensitive or vulnerable in some network
environments. The support for SET operations in a non-secure envi¡
ronment without proper protection can have a negative effect on
Mathis, et al [Page 44]
network operations.
There are a number of managed objects in this MIB that may contain
sensitive information. These are:
tcpEStatsConnectRemAddress
It is thus important to control even GET access to these objects and
possibly to even encrypt the values of these object when sending them
over the network via SNMP. Not all versions of SNMP provide features
for such a secure environment. SNMPv1 by itself is not a secure
environment. Even if the network itself is secure (for example by
using IPSec), even then, there is no control as to who on the secure
network is allowed to access and GET/SET (read/change/create/delete)
the objects in this MIB.
It is recommended that the implementers consider the security fea¡
tures as provided by the SNMPv3 framework. Specifically, the use of
the User-based Security Model RFC 2574 [RFC2574] and the View-based
Access Control Model RFC 2575 [RFC2575] is recommended.
It is then a customer/user responsibility to ensure that the SNMP
entity giving access to an instance of this MIB, is properly config¡
ured to give access to the objects only to those principals (users)
that have legitimate rights to indeed GET or SET (change/cre¡
ate/delete) them.
55.. AACCKKNNOOWWLLEEDDGGMMEENNTTSS
This document is a product of Web100 (see: www.web100.org), a joint
project of the Pittsburgh Supercomputing Center (www.psc.edu),
National Center for Atmospheric Research (www.ncar.ucar.edu) and
National Center for Supercomputer Applications (www.ncsa.edu). It
was supported by the National Science Foundation under Grant No.
0083285 and a research grant from Cisco Systems.
Some of the object descriptions are based on an earlier unpublished
document by Jeff Semke.
66.. RREEFFEERREENNCCEESS
[RFC1155] Rose, M., and K. McCloghrie, "Structure and Identification of
Management Information for TCP/IP-based Internets", STD 16, RFC
1155, May 1990.
Mathis, et al [Page 45]
[RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple
Network Management Protocol", STD 15, RFC 1157, May 1990.
[RFC1212] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD
16, RFC 1212, March 1991.
[RFC1215] Rose, M., "A Convention for Defining Traps for use with the
SNMP", RFC 1215, March 1991.
[RFC1901] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Intro¡
duction to Community-based SNMPv2", RFC 1901, January 1996.
[RFC1906] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Trans¡
port Mappings for Version 2 of the Simple Network Management Proto¡
col (SNMPv2)", RFC 1906, January 1996.
[RFC1905] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Proto¡
col Operations for Version 2 of the Simple Network Management Pro¡
tocol (SNMPv2)", RFC 1905, January 1996.
[RFC2012] McCloghrie, K., "SNMPv2 Management Information Base for the
Transmission Control Protocol using SMIv2", RFC 2012, November
1996.
[RFC2012bis] Bill Fenner, et al, "Management Information Base for the
Transmission Control Protocol (TCP)" Internet-Draft draft-ietf-
ipngwg-rfc2012-update-00.txt, expires January 2002.
[RFC2573] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications",
RFC 2573, April 1999.
[RFC2575] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access
Control Model (VACM) for the Simple Network Management Protocol
(SNMP)", RFC 2575, April 1999.
[RFC1907] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, q(Man¡
agement Information Base for Version 2 of the Simple Network Man¡
agement Protocol (SNMPv2) q, RFC 1907, January 1996.
[RFC2233] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB
using SMIv2", RFC 2233, Cisco Systems, FTP Software, November 1997.
[RFC2570] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduc¡
tion to Version 3 of the Internet-standard Network Management
Framework", RFC 2570, April 1999.
Mathis, et al [Page 46]
[RFC2571] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture
for Describing SNMP Management Frameworks", RFC 2571, April 1999.
[RFC2572] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message
Processing and Dispatching for the Simple Network Management Proto¡
col (SNMP)", RFC 2572, April 1999.
[RFC2574] Blumenthal, U., and B. Wijnen, "User-based Security Model
(USM) for version 3 of the Simple Network Management Protocol
(SNMPv3)", RFC 2574, April 1999.
[RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
Rose, M., and S. Waldbusser, "Structure of Management Information
Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
[RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", STD
58, RFC 2579, April 1999.
[RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2",
STD 58, RFC 2580, April 1999.
12. EDITORS' ADDRESSES
Matt Mathis
Raghu Reddy
Pittsburgh Supercomputing Center
4400 Fifth Ave
Pittsburgh, PA 15216
mathis@web100.org
Jon Saperia
JDS Consulting
174 Chapman Street
Watertown, MA 02472
email - saperia@jdscons.com
13. INTELLECTUAL PROPERTY
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
Mathis, et al [Page 47]
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on
the IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication and any assurances
of licenses to be made available, or the result of an attempt made
to obtain a general license or permission for the use of such pro¡
prietary rights by implementers or users of this specification can
be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Execu¡
tive Director.
14. Full Copyright Statement
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain
it or assist in its implementation may be prepared, copied, pub¡
lished and distributed, in whole or in part, without restriction of
any kind, provided that the above copyright notice and this para¡
graph are included on all such copies and derivative works. How¡
ever, this document itself may not be modified in any way, such as
by removing the copyright notice or references to the Internet
Society or other Internet organizations, except as needed for the
purpose of developing Internet standards in which case the proce¡
dures for copyrights defined in the Internet Standards process must
be followed, or as required to translate it into languages other
than English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
Mathis, et al [Page 48]
This document and the information contained herein is provided on
an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGI¡
NEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WAR¡
RANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
TTaabbllee ooff CCoonntteennttss
1. INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . 2
2. The SNMP Management Framework . . . . . . . . . . . . . . . 2
3. TCP Extended Statistics MIB . . . . . . . . . . . . . . . . 2
4. Security Considerations . . . . . . . . . . . . . . . . . . 2
5. ACKNOWLEDGMENTS . . . . . . . . . . . . . . . . . . . . . . 2
6. REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . 2
Mathis, et al [Page 49]