Internet-Draft Matt Mathis
John Heffner
Raghu Reddy
Pittsburgh Supercomputing Center
Rajiv Raghunarayan
Cisco Systems
J. Saperia
JDS Consulting, Inc
TCP Extended Statistics MIB
draft-ietf-tsvwg-tcp-mib-extension-04.txt
Mon Oct 27 07:04:37 EST 2003
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
material 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 (2003). 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 in the sender, the receiver or the network itself. If the
bottleneck is in the network, TCP can provide specific information
about its nature.
Mathis, et al [Page 1]
Internet-Draft Expires Sept 2003 Oct 27, 2003
Table of Contents
(Future TOC here)
1. Introduction
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 network itself. If the
bottleneck is in the network, TCP can provide specific information
about its nature.
The SNMP objects defined in this draft extend TCP MIB, already under
revision by the IPv6 team [RFC2012bis].
This document is automatically generated from a database of potential
TCP instruments. Beware that the OIDs are still likely to change
with future versions. The most current version can be obtained from
http://www.web100.org/mib/ . Please use tsvwg@ietf.org to send
comments to the entire TSV WG.
0. Changes
This virtual section will be removed as the draft nears completion.
Changes since draft-ietf-tsvwg-tcp-mib-extension-03.txt (2-Mar-2003)
Replaced "queued" with "buffered by TCP"
Changed all counters in the TCP connection tables to be ZeroBased
Remove tcpEStatsHCInSegs, tcpEStatsHCOutSegs, which appear in as
tcpHCInSegs and tcpHCOutSegs in drafts draft-ietf-
ipv6-rfc2012-update-03.txt and later.
Added changes section.
2. The Internet-Standard Management Framework
For a detailed overview of the documents that describe the current
Internet-Standard Management Framework, please refer to section 7 of
RFC 3410 [RFC3410].
Managed objects are accessed via a virtual information store, termed
the Management Information Base or MIB. MIB objects are generally
Mathis, et al [Page 2]
Internet-Draft Expires Sept 2003 Oct 27, 2003
accessed through the Simple Network Management Protocol (SNMP).
Objects in the MIB are defined using the mechanisms defined in the
Structure of Management Information (SMI). This memo specifies a MIB
module that is compliant to the SMIv2, which is described in STD 58,
RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
[RFC2580].
3. Overview
The TCP-ESTATS-MIB defined in this memo consists of 10 tables,
two groups of scalars and two notifications:
- The first group of scalars in this MIB report additional
parameters and statistics of a TCP protocol engine not covered
in [RFC2012bis]. The scalar tcpEStatsListenerTableLastChange,
provides management stations with an an easier mechanism to
validate their listener caches.
- The second group of scalars consist of knobs to enable and
disable information collection by the tables collecting
connection-related statistics/information. For e.g. the
tcpEStatsControlState object controls the activation of the
tcpEStatsConnectionTable.
- The tcpEstatsConnectIdTable provides a mapping between the
connection indices i.e. source address type, source address,
source port, destination address type, destination address and
destination port, and the connection index. The connection
index is used to index into most the remaining tables in this
MIB module.
- The tcpEStatsConnectionTable provides information about the
characteristics of active (and recently closed) TCP
connections.
- The tcpEStatsSynOptsTable provides information on options
present in the SYN and SYN-ACK that originated the connection.
- The tcpEStatsDataTable provides statistics information on the
connection. In this and all other tables ZeroBasedCounter32
and ZeroBasedCounter64 objects are initialized to zero when the
row is created.
- The tcpEStatsSndCongTable provides information on sender
performance for the connection. This table, along with the
tcpEStatsPathTable, tcpEStatsSendBuffTable, tcpEStatsRecTable
and tcpEStatsObsRecTable, is useful in determining the
Mathis, et al [Page 3]
Internet-Draft Expires Sept 2003 Oct 27, 2003
subsystems (sender, receiver and path) that control the overall
performance of a TCP connection.
- The tcpEStatsPathTable provides information on the connection
path e.g. count of ICMP source quench messages treated as
congestion signals, count of ECN signals received etc. This
table, along with the tcpEStatsSndCongTable,
tcpEStatsSendBuffTable, tcpEStatsRecTable and
tcpEStatsObsRecTable, is useful in determining the subsystems
(sender, receiver and path) that control the overall
performance of a TCP connection.
- The tcpEStatsSendBuffTable provides sender buffer usage
statistics for the connection. This table, along with the
tcpEStatsSndCongTable, tcpEStatsPathTable, tcpEStatsRecTable
and tcpEStatsObsRecTable, is useful in determining the
subsystems (sender, receiver and path) that control the overall
performance of a TCP connection.
- The tcpEStatsRecTable provides information on the local
receiver and buffer usage characteristics of the receiver.
This table, along with the tcpEStatsSndCongTable,
tcpEStatsPathTable, tcpEStatsSendBuffTable and
tcpEStatsObsRecTable, is useful in determining the subsystems
(sender, receiver and path) that control the overall
performance of a TCP connection.
- The tcpEStatsObsRecTable provides information on the window
advertisement characteristics of receiver. This table, along
with the tcpEStatsSndCongTable, tcpEStatsPathTable,
tcpEStatsSendBuffTable and tcpEStatsRecTable, is useful in
determining the subsystems (sender, receiver and path) that
control the overall performance of a TCP connection.
- The tcpEStatsListenerTable provides information on the active
TCP listeners on a device.
- The two notifications defined in this MIB module are
tcpEStatsEstablishNotification, indicating that a new
connection has been established, and
tcpEStatsCloseNotification, indicating that an existing
connection has recently closed.
Mathis, et al [Page 4]
Internet-Draft Expires Sept 2003 Oct 27, 2003
4. TCP Extended Statistics MIB
Mathis, et al [Page 5]
Internet-Draft Expires Sept 2003 Oct 27, 2003
TCP-ESTATS-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, Counter32, Integer32, Unsigned32,
Gauge32, OBJECT-TYPE, experimental,
NOTIFICATION-TYPE
FROM SNMPv2-SMI
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF
ZeroBasedCounter32
FROM RMON2-MIB -- [RFC2021]
ZeroBasedCounter64
FROM HCNUM-TC -- [RFC2856]
TEXTUAL-CONVENTION,
DateAndTime, TruthValue, TimeStamp
FROM SNMPv2-TC
InetAddressType, InetAddress,
InetPortNumber
FROM INET-ADDRESS-MIB
tcpListenerEntry
FROM TCP-MIB;
tcpEStatsMIB MODULE-IDENTITY
LAST-UPDATED "200310270704Z" -- Oct 27, 2003
ORGANIZATION "IETF TSV Working Group"
CONTACT-INFO
"Matt Mathis
John Heffner
Raghu Reddy
Web100 Project
Pittsburgh Supercomputing Center
4400 Fifth Ave
Pittsburgh, PA 15213
Email: mathis@psc.edu, jheffner@psc.edu, rreddy@psc.edu
Rajiv Raghunarayan
Cisco Systems Inc.
San Jose, CA 95134
Phone: 408 853 9612
Email: raraghun@cisco.com
Jon Saperia
JDS Consulting, Inc.
174 Chapman Street
Watertown, MA 02472
Phone: 617-744-1079
Email: saperia@jdscons.com "
DESCRIPTION
"Documentation of TCP performance instrumentation
Mathis, et al [Page 6]
Internet-Draft Expires Sept 2003 Oct 27, 2003
variables from the Web100 project. See www.web100.org"
REVISION "200310270704Z" -- Oct 27, 2003
DESCRIPTION
"Initial version, published as RFC xxxx."
-- RFC Editor assigns RFC xxxx
::= { experimental 9999 }
tcpEStatsNotifications OBJECT IDENTIFIER ::= { tcpEStatsMIB 0 }
tcpEStatsMIBObjects OBJECT IDENTIFIER ::= { tcpEStatsMIB 1 }
tcpEStatsConformance OBJECT IDENTIFIER ::= { tcpEStatsMIB 2 }
tcpEStats OBJECT IDENTIFIER ::= { tcpEStatsMIBObjects 1 }
tcpEStatsControl OBJECT IDENTIFIER ::= { tcpEStatsMIBObjects 2 }
tcpEStatsScalar OBJECT IDENTIFIER ::= { tcpEStatsMIBObjects 3 }
--
-- Textual Conventions
--
TcpEStatsOperation ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Indicates whether the table controlled by an object with
this syntax is enabled and counting statistics or in a
disabled state."
SYNTAX INTEGER {
enabled(1),
disabled(2)
}
--
-- TCP Extended statistics scalars
--
tcpEStatsListenerTableLastChange OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time of the last
creation or deletion of an entry in the tcpListenerTable.
If the number of entries has been unchanged since the
last re-initialization of the local network management
subsystem, then this object contains a zero value."
::= { tcpEStatsScalar 3 }
-- The tcpEStatsControl Group
-- The scalar objects in this group are used to control the
Mathis, et al [Page 7]
Internet-Draft Expires Sept 2003 Oct 27, 2003
-- 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."
DEFVAL { disabled }
::= { tcpEStatsControl 1 }
tcpEStatsControlSynOpts OBJECT-TYPE
SYNTAX TcpEStatsOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the activation of the TCP SYN Options table."
DEFVAL { disabled }
::= { tcpEStatsControl 2 }
tcpEStatsControlData OBJECT-TYPE
SYNTAX TcpEStatsOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the activation of the TCP Data Table."
DEFVAL { disabled }
::= { tcpEStatsControl 3 }
tcpEStatsControlSndCong OBJECT-TYPE
SYNTAX TcpEStatsOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the activation of the TCP Sender Table."
DEFVAL { disabled }
::= { tcpEStatsControl 4 }
tcpEStatsControlPath OBJECT-TYPE
SYNTAX TcpEStatsOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the activation of the TCP Path Table."
DEFVAL { disabled }
Mathis, et al [Page 8]
Internet-Draft Expires Sept 2003 Oct 27, 2003
::= { tcpEStatsControl 5 }
tcpEStatsControlSendBuff OBJECT-TYPE
SYNTAX TcpEStatsOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the activation of the TCP Sender Buffer Table."
DEFVAL { disabled }
::= { tcpEStatsControl 6 }
tcpEStatsControlRec OBJECT-TYPE
SYNTAX TcpEStatsOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the activation of the TCP Local Receiver Table."
DEFVAL { disabled }
::= { tcpEStatsControl 7 }
tcpEStatsControlObsRec OBJECT-TYPE
SYNTAX TcpEStatsOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Controls the activation of the TCP Observed Receiver
Window Table."
DEFVAL { disabled }
::= { tcpEStatsControl 8 }
--
-- Listener Table
--
tcpEStatsListenerTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpEStatsListenerEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains information about TCP Listeners,
in addition to the information maintained by the
tcpListenerTable [RFC2012bis]."
::= { tcpEStats 10 }
tcpEStatsListenerEntry OBJECT-TYPE
SYNTAX TcpEStatsListenerEntry
MAX-ACCESS not-accessible
STATUS current
Mathis, et al [Page 9]
Internet-Draft Expires Sept 2003 Oct 27, 2003
DESCRIPTION
"Each entry in the table contains information about
a specific TCP Listener."
AUGMENTS { tcpListenerEntry }
::= { tcpEStatsListenerTable 1 }
TcpEStatsListenerEntry ::= SEQUENCE {
tcpEStatsListenerTimeOuts Counter32,
tcpEStatsListenerEstablished Counter32,
tcpEStatsListenerStartTime TimeStamp
}
tcpEStatsListenerTimeOuts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of connection attempts to this endpoint which
have failed due to timeout of the three-way handshake, i.e.
the corresponding connection state never moved from
synReceived to established."
::= { tcpEStatsListenerEntry 1 }
tcpEStatsListenerEstablished OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of connections which have been established to
this endpoint."
::= { tcpEStatsListenerEntry 2 }
tcpEStatsListenerStartTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time this listener was
established. If the current state was entered prior to
the last re-initialization of the local network management
subsystem, then this object contains a zero value."
::= { tcpEStatsListenerEntry 3 }
--
-- TCP Connection ID Table
--
Mathis, et al [Page 10]
Internet-Draft Expires Sept 2003 Oct 27, 2003
-- There is overlap with the new RFC2012 TCP Connection table
-- because 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 1 }
tcpEStatsConnectIdEntry OBJECT-TYPE
SYNTAX TcpEStatsConnectIdEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry in this table maps a TCP connection
4-tuple to a connection index."
INDEX { tcpEStatsConnectLocalAddressType,
tcpEStatsConnectLocalAddress,
tcpEStatsConnectLocalPort,
tcpEStatsConnectRemAddressType,
tcpEStatsConnectRemAddress,
tcpEStatsConnectRemPort }
::= { tcpEStatsConnectIdTable 1 }
TcpEStatsConnectIdEntry ::= SEQUENCE {
tcpEStatsConnectLocalAddressType InetAddressType,
tcpEStatsConnectLocalAddress InetAddress,
tcpEStatsConnectLocalPort InetPortNumber,
tcpEStatsConnectRemAddressType InetAddressType,
tcpEStatsConnectRemAddress InetAddress,
tcpEStatsConnectRemPort InetPortNumber,
tcpEStatsConnectIndex Unsigned32
}
tcpEStatsConnectLocalAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS not-accessible
Mathis, et al [Page 11]
Internet-Draft Expires Sept 2003 Oct 27, 2003
STATUS current
DESCRIPTION
"The address type of tcpEStatsConnectLocalAddress.
Only IPv4, IPv4z, IPv6 and IPv6z address types 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."
::= { 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, IPv4z, IPv6 and IPv6z address types are expected."
::= { tcpEStatsConnectIdEntry 4 }
tcpEStatsConnectRemAddress OBJECT-TYPE
SYNTAX InetAddress (SIZE(0..36))
MAX-ACCESS not-accessible
STATUS current
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 }
Mathis, et al [Page 12]
Internet-Draft Expires Sept 2003 Oct 27, 2003
tcpEStatsConnectIndex OBJECT-TYPE
SYNTAX Unsigned32
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 }
--
-- 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 2 }
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 { tcpEStatsConnectIndex }
::= { tcpEStatsConnectionTable 1 }
TcpEStatsConnectionEntry ::= SEQUENCE {
tcpEStatsConnectionState INTEGER,
tcpEStatsConnectionSACK TruthValue,
tcpEStatsConnectionTimeStamps TruthValue,
tcpEStatsConnectionECN TruthValue,
tcpEStatsConnectionNagle TruthValue,
tcpEStatsConnectionSndWindScale Integer32,
tcpEStatsConnectionRcvWindScale Integer32
}
tcpEStatsConnectionState OBJECT-TYPE
SYNTAX INTEGER {
Mathis, et al [Page 13]
Internet-Draft Expires Sept 2003 Oct 27, 2003
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
"True(1) if SACK has been negotiated on, else false(2). See
RFC 2018."
::= { tcpEStatsConnectionEntry 2 }
tcpEStatsConnectionTimeStamps OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"True(1) if timestamps have been negotiated on, else
false(2). See RFC 1323."
::= { tcpEStatsConnectionEntry 3 }
tcpEStatsConnectionECN OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"True(1) if ECN has been negotiated on, else false(2)."
::= { tcpEStatsConnectionEntry 4 }
tcpEStatsConnectionNagle OBJECT-TYPE
SYNTAX TruthValue
Mathis, et al [Page 14]
Internet-Draft Expires Sept 2003 Oct 27, 2003
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"True(1) if the Nagle algorithm is being used, else
false(2)."
::= { tcpEStatsConnectionEntry 5 }
tcpEStatsConnectionSndWindScale OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of Snd.Wind.Scale from RFC 1323. Note that
SndWindScale is either zero or the same as WinScaleRcvd."
::= { tcpEStatsConnectionEntry 6 }
tcpEStatsConnectionRcvWindScale OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of Rcv.Wind.Scale from RFC 1323. Note that
RcvWindScale is either zero or the same as WinScaleSent."
::= { tcpEStatsConnectionEntry 7 }
--
-- TCP SYN Options
--
tcpEStatsSynOptsTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpEStatsSynOptsEntry
MAX-ACCESS not-accessible
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 3 }
tcpEStatsSynOptsEntry OBJECT-TYPE
SYNTAX TcpEStatsSynOptsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry in this table information on options
present in the SYNs and SYN-ACKs."
INDEX { tcpEStatsConnectIndex }
::= { tcpEStatsSynOptsTable 1 }
Mathis, et al [Page 15]
Internet-Draft Expires Sept 2003 Oct 27, 2003
TcpEStatsSynOptsEntry ::= SEQUENCE {
tcpEStatsSynOptsActiveOpen TruthValue,
tcpEStatsSynOptsMSSSent Gauge32,
tcpEStatsSynOptsMSSRcvd Gauge32,
tcpEStatsSynOptsWinScaleSent Integer32,
tcpEStatsSynOptsWinScaleRcvd Integer32,
tcpEStatsSynOptsSACKokSent TruthValue,
tcpEStatsSynOptsSACKokRcvd TruthValue,
tcpEStatsSynOptsTimeStampSent TruthValue,
tcpEStatsSynOptsTimeStampRcvd TruthValue
}
tcpEStatsSynOptsActiveOpen OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"True(1) if the local connection traversed the SYN-SENT
state, else false(2). See RFC 793."
::= { tcpEStatsSynOptsEntry 1 }
tcpEStatsSynOptsMSSSent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value sent in an MSS option, or zero if none."
::= { tcpEStatsSynOptsEntry 2 }
tcpEStatsSynOptsMSSRcvd OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value received in an MSS option, or zero if none."
::= { tcpEStatsSynOptsEntry 3 }
tcpEStatsSynOptsWinScaleSent OBJECT-TYPE
SYNTAX Integer32 (-1..14)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of the transmitted window scale option if one was
sent; otherwise, a value of -1. See RFC 1323."
::= { tcpEStatsSynOptsEntry 4 }
tcpEStatsSynOptsWinScaleRcvd OBJECT-TYPE
SYNTAX Integer32 (-1..14)
Mathis, et al [Page 16]
Internet-Draft Expires Sept 2003 Oct 27, 2003
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of the received window scale option if one was
received; otherwise, a value of -1. See RFC 1323."
::= { tcpEStatsSynOptsEntry 5 }
tcpEStatsSynOptsSACKokSent OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"True(1) if SACKok option was sent, else false(2). See RFC
2018."
::= { tcpEStatsSynOptsEntry 6 }
tcpEStatsSynOptsSACKokRcvd OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"True(1) if SACKok option was received, else false(2). See
RFC 2018."
::= { tcpEStatsSynOptsEntry 7 }
tcpEStatsSynOptsTimeStampSent OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"True(1) if Timestamp option was sent, else false(2). See
RFC 1323."
::= { tcpEStatsSynOptsEntry 8 }
tcpEStatsSynOptsTimeStampRcvd OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"True(1) if Timestamp option was received, else false(2).
See RFC 1323."
::= { tcpEStatsSynOptsEntry 9 }
--
-- TCP Data Table
--
tcpEStatsDataTable OBJECT-TYPE
Mathis, et al [Page 17]
Internet-Draft Expires Sept 2003 Oct 27, 2003
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. Table activation is controlled
by tcpEStatsControlData."
::= { tcpEStats 4 }
tcpEStatsDataEntry OBJECT-TYPE
SYNTAX TcpEStatsDataEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Per connection statistics for packets and data."
INDEX { tcpEStatsConnectIndex }
::= { tcpEStatsDataTable 1 }
TcpEStatsDataEntry ::= SEQUENCE {
tcpEStatsDataPktsOut ZeroBasedCounter32,
tcpEStatsDataDataPktsOut ZeroBasedCounter32,
tcpEStatsDataDataBytesOut ZeroBasedCounter32,
tcpEStatsDataHCDataBytesOut ZeroBasedCounter64,
tcpEStatsDataPktsIn ZeroBasedCounter32,
tcpEStatsDataDataPktsIn ZeroBasedCounter32,
tcpEStatsDataDataBytesIn ZeroBasedCounter32,
tcpEStatsDataHCDataBytesIn ZeroBasedCounter64,
tcpEStatsDataSoftErrors ZeroBasedCounter32,
tcpEStatsDataSoftErrorReason INTEGER,
tcpEStatsDataIpTtl Integer32,
tcpEStatsDataIpTos Integer32,
tcpEStatsDataSndUna ZeroBasedCounter32,
tcpEStatsDataSndNxt Integer32,
tcpEStatsDataSndMax ZeroBasedCounter32,
tcpEStatsDataThruBytesAcked ZeroBasedCounter32,
tcpEStatsDataHCThruBytesAcked ZeroBasedCounter64,
tcpEStatsDataSndInitial ZeroBasedCounter32,
tcpEStatsDataRcvNxt ZeroBasedCounter32,
tcpEStatsDataThruBytesReceived ZeroBasedCounter32,
tcpEStatsDataHCThruBytesReceived ZeroBasedCounter64,
tcpEStatsDataRecInitial ZeroBasedCounter32,
tcpEStatsDataElapsedSecs ZeroBasedCounter32,
tcpEStatsDataDurationMicroSecs ZeroBasedCounter32,
tcpEStatsDataStartTimeStamp DateAndTime
}
Mathis, et al [Page 18]
Internet-Draft Expires Sept 2003 Oct 27, 2003
tcpEStatsDataPktsOut OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets sent."
::= { tcpEStatsDataEntry 1 }
tcpEStatsDataDataPktsOut OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets sent containing a positive length
data segment."
::= { tcpEStatsDataEntry 2 }
tcpEStatsDataDataBytesOut OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bytes of data contained in transmitted
segments, including retransmitted data."
::= { tcpEStatsDataEntry 3 }
tcpEStatsDataHCDataBytesOut OBJECT-TYPE
SYNTAX ZeroBasedCounter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bytes of data contained in transmitted
segments, including retransmitted data, on systems that can
transmit more than 10 million bits per second."
::= { tcpEStatsDataEntry 4 }
tcpEStatsDataPktsIn OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets received."
::= { tcpEStatsDataEntry 5 }
tcpEStatsDataDataPktsIn OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
Mathis, et al [Page 19]
Internet-Draft Expires Sept 2003 Oct 27, 2003
DESCRIPTION
"The number of packets received containing a positive length
data segment."
::= { tcpEStatsDataEntry 6 }
tcpEStatsDataDataBytesIn OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bytes contained in received data segments,
including retransmitted data. Note that this does not
include TCP headers."
::= { tcpEStatsDataEntry 7 }
tcpEStatsDataHCDataBytesIn OBJECT-TYPE
SYNTAX ZeroBasedCounter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bytes contained in received data segments,
including retransmitted data, on systems that can receive
more than 10 million bits per second. Note that this does
not include TCP headers."
::= { tcpEStatsDataEntry 8 }
tcpEStatsDataSoftErrors OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number packets that fail various consistency tests."
::= { tcpEStatsDataEntry 9 }
tcpEStatsDataSoftErrorReason OBJECT-TYPE
SYNTAX INTEGER {
belowDataWindow(1),
aboveDataWindow(2),
belowAckWindow(3),
aboveAckWindow(4),
belowTSWindow(5),
aboveTSWindow(6),
dataCheckSum(7)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Identifies the consistency test that most recently failed."
Mathis, et al [Page 20]
Internet-Draft Expires Sept 2003 Oct 27, 2003
::= { tcpEStatsDataEntry 10 }
tcpEStatsDataIpTtl OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of the TTL field carried in the most recently
received IP header."
::= { tcpEStatsDataEntry 11 }
tcpEStatsDataIpTos OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of the Type Of Service byte carried in the most
recently received IP header."
::= { tcpEStatsDataEntry 12 }
tcpEStatsDataSndUna OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of SND.UNA, the oldest unacknowledged sequence
number."
::= { tcpEStatsDataEntry 13 }
tcpEStatsDataSndNxt OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of SND.NXT, the next sequence number to be sent.
Note that TCP can retransmit lost data by pulling SndNxt
back to the lost data. See 793."
::= { tcpEStatsDataEntry 14 }
tcpEStatsDataSndMax OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The farthest forward (right most) SND.NXT value. Note that
this will be equal to snd_nxt except when snd_nxt is pulled
back during a recovery."
::= { tcpEStatsDataEntry 15 }
Mathis, et al [Page 21]
Internet-Draft Expires Sept 2003 Oct 27, 2003
tcpEStatsDataThruBytesAcked OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bytes for which cumulative acknowledgments
have been received. Note that this will be the sum of
changes in snd_una, accounting for sequence wraps."
::= { tcpEStatsDataEntry 16 }
tcpEStatsDataHCThruBytesAcked OBJECT-TYPE
SYNTAX ZeroBasedCounter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bytes for which cumulative acknowledgments
have been received, on systems that can receive more than
10 million bits per second. Note that this will be the sum
of changes in snd_una, accounting for sequence wraps."
::= { tcpEStatsDataEntry 17 }
tcpEStatsDataSndInitial OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Initial send sequence number."
::= { tcpEStatsDataEntry 18 }
tcpEStatsDataRcvNxt OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of RCV.NXT from RFC 793. The next sequence number
expected on an incoming segment, and the left or lower edge
of the receive window."
::= { tcpEStatsDataEntry 19 }
tcpEStatsDataThruBytesReceived OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bytes for which cumulative acknowledgments
have been sent. Note that this will be the sum of changes
in rcv_nxt, accounting for sequence wraps."
::= { tcpEStatsDataEntry 20 }
Mathis, et al [Page 22]
Internet-Draft Expires Sept 2003 Oct 27, 2003
tcpEStatsDataHCThruBytesReceived OBJECT-TYPE
SYNTAX ZeroBasedCounter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bytes for which cumulative acknowledgments
have been sent, on systems that can transmit more than 10
million bits per second. Note that this will be the sum of
changes in rcv_nxt, accounting for sequence wraps."
::= { tcpEStatsDataEntry 21 }
tcpEStatsDataRecInitial OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Initial receive sequence number."
::= { tcpEStatsDataEntry 22 }
tcpEStatsDataElapsedSecs OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The seconds part of the time elapsed between StartTime and
the most recent protocol event (packet sent or received)."
::= { tcpEStatsDataEntry 23 }
tcpEStatsDataDurationMicroSecs OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The micro-second part of time elapsed between StartTime to
the most recent protocol event (packet sent or received).
This may be updated in what ever time granularity is the
system supports. @@ Make optional?"
::= { tcpEStatsDataEntry 24 }
tcpEStatsDataStartTimeStamp OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Time of the start of the connection."
::= { tcpEStatsDataEntry 25 }
--
Mathis, et al [Page 23]
Internet-Draft Expires Sept 2003 Oct 27, 2003
-- 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 [MSMO97]. This in turn
reveals the nature of the congestion. Table activation
is controlled by tcpEStatsControlSndCong."
::= { tcpEStats 5 }
tcpEStatsSndCongEntry OBJECT-TYPE
SYNTAX TcpEStatsSndCongEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Per connection sender information."
INDEX { tcpEStatsConnectIndex }
::= { tcpEStatsSndCongTable 1 }
TcpEStatsSndCongEntry ::= SEQUENCE {
tcpEStatsSndCongSndLimTransRwin ZeroBasedCounter32,
tcpEStatsSndCongSndLimTimeRwin ZeroBasedCounter32,
tcpEStatsSndCongSndLimTransCwnd ZeroBasedCounter32,
tcpEStatsSndCongSndLimTimeCwnd ZeroBasedCounter32,
tcpEStatsSndCongSndLimTransSnd ZeroBasedCounter32,
tcpEStatsSndCongSndLimTimeSnd ZeroBasedCounter32,
tcpEStatsSndCongSlowStart ZeroBasedCounter32,
tcpEStatsSndCongCongAvoid ZeroBasedCounter32,
tcpEStatsSndCongCongSignals ZeroBasedCounter32,
tcpEStatsSndCongOtherReductions ZeroBasedCounter32,
tcpEStatsSndCongCongOverCount ZeroBasedCounter32,
tcpEStatsSndCongCwndRestores ZeroBasedCounter32,
tcpEStatsSndCongCurCwnd Gauge32,
tcpEStatsSndCongMaxSsCwnd Gauge32,
tcpEStatsSndCongMaxCaCwnd Gauge32,
Mathis, et al [Page 24]
Internet-Draft Expires Sept 2003 Oct 27, 2003
tcpEStatsSndCongLimCwnd Gauge32,
tcpEStatsSndCongCurSsthresh Gauge32,
tcpEStatsSndCongMaxSsthresh Gauge32,
tcpEStatsSndCongMinSsthresh Gauge32
}
tcpEStatsSndCongSndLimTransRwin OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of transitions into the 'Receiver Limited' state
from either the 'Congestion Limited' or 'Sender Limited'
states. This state is entered whenever TCP transmission
stops because the sender has filled the announced receiver
window."
::= { tcpEStatsSndCongEntry 1 }
tcpEStatsSndCongSndLimTimeRwin OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The cumulative time (in milliseconds) spent in the
'Receiver Limited' state. See SndLimTransRwin."
::= { tcpEStatsSndCongEntry 2 }
tcpEStatsSndCongSndLimTransCwnd OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of transitions into the 'Congestion Limited'
state from either the 'Receiver Limited' or 'Sender
Limited' states. This state is entered whenever TCP
transmission stops because the sender has reached some
limit defined by congestion control (e.g. cwnd) or other
algorithms (retransmission timeouts) designed to control
network traffic."
::= { tcpEStatsSndCongEntry 3 }
tcpEStatsSndCongSndLimTimeCwnd OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The cumulative time (in milliseconds) spent in the
'Congestion Limited' state. See SndLimTransCwnd. When there
Mathis, et al [Page 25]
Internet-Draft Expires Sept 2003 Oct 27, 2003
is a retransmission timeout, it should be counted in
SndLimTimeCwnd (and not the cumulative time for some other
state.)"
::= { tcpEStatsSndCongEntry 4 }
tcpEStatsSndCongSndLimTransSnd OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of transitions into the 'Sender Limited' state
from either the 'Receiver Limited' or 'Congestion Limited'
states. This state is entered whenever TCP transmission
stops due to some sender limit such as running out of
application data or other resources and the Karn algorithm.
When TCP stops sending data for any reason which can not be
classified as Receiver Limited or Congestion Limited it
must be treated as Sender Limited."
::= { tcpEStatsSndCongEntry 5 }
tcpEStatsSndCongSndLimTimeSnd OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The cumulative time (in milliseconds) spent in the 'Sender
Limited' state. See SndLimTransSnd."
::= { tcpEStatsSndCongEntry 6 }
tcpEStatsSndCongSlowStart OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the congestion window has been
increased by the Slow Start algorithm. See RFC 2581."
::= { tcpEStatsSndCongEntry 7 }
tcpEStatsSndCongCongAvoid OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the congestion window has been
increased by the Congestion Avoidance algorithm. See RFC
2581."
::= { tcpEStatsSndCongEntry 8 }
Mathis, et al [Page 26]
Internet-Draft Expires Sept 2003 Oct 27, 2003
tcpEStatsSndCongCongSignals OBJECT-TYPE
SYNTAX ZeroBasedCounter32
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. Note that
retransmission timeouts multiplicatively reduce the window
implicitly by setting ssthresh. In order to minimize
spurious congestion indications due to out-of-order
segments, CongestionSignals should be incremented in
association with the Fast Retransmit algorithm."
::= { tcpEStatsSndCongEntry 9 }
tcpEStatsSndCongOtherReductions OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of congestion window reductions made as a result
of anything other than AIMD congestion control algorithms.
All window reductions MUST be counted as either
CongestionSignals or OtherReductions. Examples of
non-multiplicative window reductions include experimental
algorithms such as Vegas."
::= { tcpEStatsSndCongEntry 10 }
tcpEStatsSndCongCongOverCount OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of congestion events which were 'backed out' of
the congestion control state machine such that the
congestion window was restored to a prior value. Backed out
congestion events can not be backed out of
CongestionSignals and PreCongSumCwnd, etc."
::= { tcpEStatsSndCongEntry 11 }
tcpEStatsSndCongCwndRestores OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times cwnd is restored from a prior saved
value"
::= { tcpEStatsSndCongEntry 12 }
Mathis, et al [Page 27]
Internet-Draft Expires Sept 2003 Oct 27, 2003
tcpEStatsSndCongCurCwnd OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current congestion window, in bytes."
::= { tcpEStatsSndCongEntry 13 }
tcpEStatsSndCongMaxSsCwnd OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum congestion window used during Slow Start, in
bytes."
::= { tcpEStatsSndCongEntry 14 }
tcpEStatsSndCongMaxCaCwnd OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum congestion window used during Congestion
Avoidance, in bytes."
::= { tcpEStatsSndCongEntry 15 }
tcpEStatsSndCongLimCwnd OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The maximum congestion window which may be used, in bytes."
::= { tcpEStatsSndCongEntry 16 }
tcpEStatsSndCongCurSsthresh OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current slow start threshold in bytes."
::= { tcpEStatsSndCongEntry 17 }
tcpEStatsSndCongMaxSsthresh OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum slow start threshold, excluding the initial
Mathis, et al [Page 28]
Internet-Draft Expires Sept 2003 Oct 27, 2003
value."
::= { tcpEStatsSndCongEntry 18 }
tcpEStatsSndCongMinSsthresh OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The minimum slow start threshold."
::= { tcpEStatsSndCongEntry 19 }
--
-- TCP Path Table
--
tcpEStatsPathTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpEStatsPathEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Instruments that characterize the Internet path.
These include dominant properties, such as packet loss,
Round Trip Time (RTT), and Maximum Transmission Unit
(MTU) as well as instruments of other path behaviors
that might effect TCP performance, such as reordering,
source quench, etc. Ideally these instruments would
parallel other IP path metrics, such as the products of the
IPPM working group."
::= { tcpEStats 6 }
tcpEStatsPathEntry OBJECT-TYPE
SYNTAX TcpEStatsPathEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Stats per connection."
INDEX { tcpEStatsConnectIndex }
::= { tcpEStatsPathTable 1 }
TcpEStatsPathEntry ::= SEQUENCE {
tcpEStatsPathFastRetran ZeroBasedCounter32,
tcpEStatsPathTimeouts ZeroBasedCounter32,
tcpEStatsPathSubsequentTimeouts ZeroBasedCounter32,
tcpEStatsPathCurTimeoutCount Gauge32,
tcpEStatsPathAbruptTimeouts ZeroBasedCounter32,
tcpEStatsPathPktsRetrans ZeroBasedCounter32,
tcpEStatsPathBytesRetrans ZeroBasedCounter32,
tcpEStatsPathDupAcksIn ZeroBasedCounter32,
Mathis, et al [Page 29]
Internet-Draft Expires Sept 2003 Oct 27, 2003
tcpEStatsPathSACKsRcvd ZeroBasedCounter32,
tcpEStatsPathSACKBlocksRcvd ZeroBasedCounter32,
tcpEStatsPathPreCongSumCwnd ZeroBasedCounter32,
tcpEStatsPathPreCongSumRTT ZeroBasedCounter32,
tcpEStatsPathPostCongSumRTT ZeroBasedCounter32,
tcpEStatsPathPostCongCountRTT ZeroBasedCounter32,
tcpEStatsPathECNsignals ZeroBasedCounter32,
tcpEStatsPathECERcvd ZeroBasedCounter32,
tcpEStatsPathSendStall ZeroBasedCounter32,
tcpEStatsPathQuenchRcvd ZeroBasedCounter32,
tcpEStatsPathRetranThresh Gauge32,
tcpEStatsPathSndDupAckEpisodes Integer32,
tcpEStatsPathSumBytesReordered Integer32,
tcpEStatsPathNonRecovDA ZeroBasedCounter32,
tcpEStatsPathAckAfterFR ZeroBasedCounter32,
tcpEStatsPathDSACKDups ZeroBasedCounter32,
tcpEStatsPathSampleRTT Gauge32,
tcpEStatsPathSmoothedRTT Gauge32,
tcpEStatsPathRTTVar Gauge32,
tcpEStatsPathMaxRTT Gauge32,
tcpEStatsPathMinRTT Gauge32,
tcpEStatsPathSumRTT ZeroBasedCounter32,
tcpEStatsPathHCSumRTT ZeroBasedCounter64,
tcpEStatsPathCountRTT ZeroBasedCounter32,
tcpEStatsPathCurRTO Gauge32,
tcpEStatsPathMaxRTO Gauge32,
tcpEStatsPathMinRTO Gauge32,
tcpEStatsPathCurMSS Gauge32,
tcpEStatsPathMaxMSS Gauge32,
tcpEStatsPathMinMSS Gauge32
}
tcpEStatsPathFastRetran OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of invocations of the Fast Retransmit algorithm.
See RFC 2581."
::= { tcpEStatsPathEntry 1 }
tcpEStatsPathTimeouts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the retransmit timeout has expired when
the RTO backoff multiplier is equal to one. See RFC 2988."
Mathis, et al [Page 30]
Internet-Draft Expires Sept 2003 Oct 27, 2003
::= { tcpEStatsPathEntry 2 }
tcpEStatsPathSubsequentTimeouts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the retransmit timeout has expired when
the RTO backoff multiplier is greater than one. See RFC
2988."
::= { tcpEStatsPathEntry 3 }
tcpEStatsPathCurTimeoutCount OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current number of times the retransmit timeout has
expired without receiving an acknowledgment for new data.
See RFC 2988."
::= { tcpEStatsPathEntry 4 }
tcpEStatsPathAbruptTimeouts OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of timeouts that occured without any immediately
preceding duplicate acknowledgments or other indications of
congestion as determined by the implementation."
::= { tcpEStatsPathEntry 5 }
tcpEStatsPathPktsRetrans OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of segments transmitted containing at least some
retransmitted data."
::= { tcpEStatsPathEntry 6 }
tcpEStatsPathBytesRetrans OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of bytes retransmitted."
::= { tcpEStatsPathEntry 7 }
Mathis, et al [Page 31]
Internet-Draft Expires Sept 2003 Oct 27, 2003
tcpEStatsPathDupAcksIn OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of duplicate ACKs received."
::= { tcpEStatsPathEntry 8 }
tcpEStatsPathSACKsRcvd OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of SACK options received. See RFC 2018."
::= { tcpEStatsPathEntry 9 }
tcpEStatsPathSACKBlocksRcvd OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of SACK blocks received (within SACK options)."
::= { tcpEStatsPathEntry 10 }
tcpEStatsPathPreCongSumCwnd OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The sum of the values of the congestion window, in bytes,
captured each time a congestion signal is received. This
MUST be updated each time CongestionSignals is incremented,
such that the ratio is the average window at congestion."
::= { tcpEStatsPathEntry 11 }
tcpEStatsPathPreCongSumRTT OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Sum of the last sample of the RTT (SampledRTT) prior to
received congestion signals. This MUST be updated each time
CongestionSignals is incremented, such that the ratio is
the average RTT just prior to congestion."
::= { tcpEStatsPathEntry 12 }
tcpEStatsPathPostCongSumRTT OBJECT-TYPE
SYNTAX ZeroBasedCounter32
Mathis, et al [Page 32]
Internet-Draft Expires Sept 2003 Oct 27, 2003
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Sum of the first RTT sample following a received congestion
signal."
::= { tcpEStatsPathEntry 13 }
tcpEStatsPathPostCongCountRTT OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of RTT samples included in PostCongSumRTT, such
that the ratio is average RTT just after congestion."
::= { tcpEStatsPathEntry 14 }
tcpEStatsPathECNsignals OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of congestion signals delivered via all forms of
explicit congestion notification including the ECE bit and
failing the ECN nonce check, etc."
::= { tcpEStatsPathEntry 15 }
tcpEStatsPathECERcvd OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of congestion signals received via the RFC3168
ECE bit."
::= { tcpEStatsPathEntry 16 }
tcpEStatsPathSendStall OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of interface stalls or other sender local
resource limitations that are treated as congestion
signals."
::= { tcpEStatsPathEntry 17 }
tcpEStatsPathQuenchRcvd OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
Mathis, et al [Page 33]
Internet-Draft Expires Sept 2003 Oct 27, 2003
STATUS current
DESCRIPTION
"The number of ICMP quench messages that are treated as
congestion signals."
::= { tcpEStatsPathEntry 18 }
tcpEStatsPathRetranThresh OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of duplicate acknowledgments required to trigger
Fast Retransmit."
::= { tcpEStatsPathEntry 19 }
tcpEStatsPathSndDupAckEpisodes OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times that a duplicate acknowledgment episode
ends without a retransmission (e.g. due to reordered data)."
::= { tcpEStatsPathEntry 20 }
tcpEStatsPathSumBytesReordered OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The sum of the amounts SND.UNA advances on the
acknowledgment which ends a dup-ack episode without a
retransmission."
::= { tcpEStatsPathEntry 21 }
tcpEStatsPathNonRecovDA OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Duplicate acks (or SACKS) attributed to out-of-order
segments because they were withdrawn prior to reaching
RetranThresh and triggering fast retransmit."
::= { tcpEStatsPathEntry 22 }
tcpEStatsPathAckAfterFR OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
Mathis, et al [Page 34]
Internet-Draft Expires Sept 2003 Oct 27, 2003
DESCRIPTION
"The number of acknowledgments reporting out-of-order
segments after the segments have already be retransmitted
(For example as detected by the Eiffel algorithm)."
::= { tcpEStatsPathEntry 23 }
tcpEStatsPathDSACKDups OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of duplicate segments reported to the local host
by D-SACK blocks. See RFC 2883."
::= { tcpEStatsPathEntry 24 }
tcpEStatsPathSampleRTT OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The most recent raw round trip time measurement, in
milliseconds, used in calculation of the RTO."
::= { tcpEStatsPathEntry 25 }
tcpEStatsPathSmoothedRTT OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The smoothed round trip time, in milliseconds, used in
calculation of the RTO. See SRTT in RFC 2988"
::= { tcpEStatsPathEntry 26 }
tcpEStatsPathRTTVar OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The round trip time variation, in milliseconds, used in
calculation of the RTO. See RTTVAR in RFC 2988."
::= { tcpEStatsPathEntry 27 }
tcpEStatsPathMaxRTT OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum sampled round trip time, in milliseconds."
Mathis, et al [Page 35]
Internet-Draft Expires Sept 2003 Oct 27, 2003
::= { tcpEStatsPathEntry 28 }
tcpEStatsPathMinRTT OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The minimum sampled round trip time, in milliseconds."
::= { tcpEStatsPathEntry 29 }
tcpEStatsPathSumRTT OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The sum of all sampled round trip times, in milliseconds."
::= { tcpEStatsPathEntry 30 }
tcpEStatsPathHCSumRTT OBJECT-TYPE
SYNTAX ZeroBasedCounter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The sum of all sampled round trip times, in milliseconds,
on all systems that implement multiple concurrent RTT
measurements."
::= { tcpEStatsPathEntry 31 }
tcpEStatsPathCountRTT OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of round trip time samples included in SumRTT."
::= { tcpEStatsPathEntry 32 }
tcpEStatsPathCurRTO OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current value of the retransmit timer RTO, in
milliseconds, not scaled by the RTO backoff multiplier. See
RFC 2988."
::= { tcpEStatsPathEntry 33 }
tcpEStatsPathMaxRTO OBJECT-TYPE
SYNTAX Gauge32
Mathis, et al [Page 36]
Internet-Draft Expires Sept 2003 Oct 27, 2003
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum value of the retransmit timer RTO, in
milliseconds, not scaled by the RTO backoff multiplier. See
RFC 2988."
::= { tcpEStatsPathEntry 34 }
tcpEStatsPathMinRTO OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The minimum value of the retransmit timer RTO, in
milliseconds, not scaled by the RTO backoff multiplier. See
RFC 2988."
::= { tcpEStatsPathEntry 35 }
tcpEStatsPathCurMSS OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current maximum segment size (MSS), in bytes."
::= { tcpEStatsPathEntry 36 }
tcpEStatsPathMaxMSS OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum MSS, in bytes. See RFC 1191."
::= { tcpEStatsPathEntry 37 }
tcpEStatsPathMinMSS OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The minimum MSS, in bytes. See RFC 1191."
::= { tcpEStatsPathEntry 38 }
--
-- TCP Sender Buffer Table
--
tcpEStatsSendBuffTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpEStatsSendBuffEntry
Mathis, et al [Page 37]
Internet-Draft Expires Sept 2003 Oct 27, 2003
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. Table activation is controlled by
tcpEStatsControlSendBuff."
::= { tcpEStats 7 }
tcpEStatsSendBuffEntry OBJECT-TYPE
SYNTAX TcpEStatsSendBuffEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Per connection sender buffer information."
INDEX { tcpEStatsConnectIndex }
::= { tcpEStatsSendBuffTable 1 }
TcpEStatsSendBuffEntry ::= SEQUENCE {
tcpEStatsSendBuffCurRetxQueue Gauge32,
tcpEStatsSendBuffMaxRetxQueue Gauge32,
tcpEStatsSendBuffCurAppWQueue Gauge32,
tcpEStatsSendBuffMaxAppWQueue Gauge32
}
tcpEStatsSendBuffCurRetxQueue OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current number of bytes of data occupying the
retransmit queue."
::= { tcpEStatsSendBuffEntry 1 }
tcpEStatsSendBuffMaxRetxQueue OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum number of bytes of data occupying the
retransmit queue."
::= { tcpEStatsSendBuffEntry 2 }
tcpEStatsSendBuffCurAppWQueue OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
Mathis, et al [Page 38]
Internet-Draft Expires Sept 2003 Oct 27, 2003
"The current number of bytes of application data buffered by
TCP, pending first transmission."
::= { tcpEStatsSendBuffEntry 3 }
tcpEStatsSendBuffMaxAppWQueue OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum number of bytes of application data buffered by
TCP, pending first transmission."
::= { tcpEStatsSendBuffEntry 4 }
--
-- TCP Local Receiver Table
--
tcpEStatsRecTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpEStatsRecEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Instruments on the state of the local receiver and
instruments on the receiver buffer usage, including any
buffering in the application interface to TCP and the
reassembly queue. Table activation is controlled by
tcpEStatsControlRec."
::= { tcpEStats 8 }
tcpEStatsRecEntry OBJECT-TYPE
SYNTAX TcpEStatsRecEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Per connection information on the local receiver."
INDEX { tcpEStatsConnectIndex }
::= { tcpEStatsRecTable 1 }
TcpEStatsRecEntry ::= SEQUENCE {
tcpEStatsRecCurRwinSent Gauge32,
tcpEStatsRecMaxRwinSent Gauge32,
tcpEStatsRecMinRwinSent Gauge32,
tcpEStatsRecLimRwin Gauge32,
tcpEStatsRecDupAckEpisodes ZeroBasedCounter32,
tcpEStatsRecDupAcksOut ZeroBasedCounter32,
tcpEStatsRecCERcvd ZeroBasedCounter32,
tcpEStatsRecECNSent ZeroBasedCounter32,
tcpEStatsRecECNNonceRcvd ZeroBasedCounter32,
Mathis, et al [Page 39]
Internet-Draft Expires Sept 2003 Oct 27, 2003
tcpEStatsRecCurReasmQueue Gauge32,
tcpEStatsRecMaxReasmQueue Gauge32,
tcpEStatsRecCurAppRQueue Gauge32,
tcpEStatsRecMaxAppRQueue Gauge32
}
tcpEStatsRecCurRwinSent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The most recent window advertisement sent, in bytes."
::= { tcpEStatsRecEntry 1 }
tcpEStatsRecMaxRwinSent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum window advertisement sent, in bytes."
::= { tcpEStatsRecEntry 2 }
tcpEStatsRecMinRwinSent OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The minimum window advertisement sent, excluding the
initial unscaled window advertised on the SYN, in bytes."
::= { tcpEStatsRecEntry 3 }
tcpEStatsRecLimRwin OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The maximum window advertisement which may be sent, in
bytes."
::= { tcpEStatsRecEntry 4 }
tcpEStatsRecDupAckEpisodes OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times that a contiguous series of duplicate
acknowledgments have been sent."
::= { tcpEStatsRecEntry 5 }
Mathis, et al [Page 40]
Internet-Draft Expires Sept 2003 Oct 27, 2003
tcpEStatsRecDupAcksOut OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of duplicate ACKs sent."
::= { tcpEStatsRecEntry 6 }
tcpEStatsRecCERcvd OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Received segments with Congestion Experienced bits. See RFC
2481."
::= { tcpEStatsRecEntry 7 }
tcpEStatsRecECNSent OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of times CE bits have set ECN. See RFC 2481."
::= { tcpEStatsRecEntry 8 }
tcpEStatsRecECNNonceRcvd OBJECT-TYPE
SYNTAX ZeroBasedCounter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of ECN Nonces received. Note that the low bit is the
same as the one bit nonce sum."
::= { tcpEStatsRecEntry 9 }
tcpEStatsRecCurReasmQueue OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current number of bytes of sequence space spanned by
the reassembly queue. This is generally the difference
between rcv.nxt and the sequence number of the right most
edge of the reassembly queue."
::= { tcpEStatsRecEntry 10 }
tcpEStatsRecMaxReasmQueue OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
Mathis, et al [Page 41]
Internet-Draft Expires Sept 2003 Oct 27, 2003
STATUS current
DESCRIPTION
"The maximum value of CurReasmQueue"
::= { tcpEStatsRecEntry 11 }
tcpEStatsRecCurAppRQueue OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current number of bytes of application data that has
been acknowledged by TCP but not yet delivered to the
application."
::= { tcpEStatsRecEntry 12 }
tcpEStatsRecMaxAppRQueue OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum number of bytes of application data that has
been acknowledged by TCP but not yet delivered to the
application."
::= { tcpEStatsRecEntry 13 }
--
-- TCP Observed Receiver Window Table
--
tcpEStatsObsRecTable OBJECT-TYPE
SYNTAX SEQUENCE OF TcpEStatsObsRecEntry
MAX-ACCESS not-accessible
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. Table activation is
controlled by tcpEStatsControlObsRec."
::= { tcpEStats 9 }
tcpEStatsObsRecEntry OBJECT-TYPE
SYNTAX TcpEStatsObsRecEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Per connection information on receiver window."
INDEX { tcpEStatsConnectIndex }
Mathis, et al [Page 42]
Internet-Draft Expires Sept 2003 Oct 27, 2003
::= { tcpEStatsObsRecTable 1 }
TcpEStatsObsRecEntry ::= SEQUENCE {
tcpEStatsObsRecCurRwinRcvd Gauge32,
tcpEStatsObsRecMaxRwinRcvd Gauge32,
tcpEStatsObsRecMinRwinRcvd Gauge32
}
tcpEStatsObsRecCurRwinRcvd OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The most recent window advertisement received, in bytes."
::= { tcpEStatsObsRecEntry 1 }
tcpEStatsObsRecMaxRwinRcvd OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum window advertisement received, in bytes."
::= { tcpEStatsObsRecEntry 2 }
tcpEStatsObsRecMinRwinRcvd OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The minimum window advertisement received, in bytes."
::= { tcpEStatsObsRecEntry 3 }
--
-- TCP Extended Statistics Notifications Group
--
tcpEStatsEstablishNotification NOTIFICATION-TYPE
OBJECTS {
tcpEStatsConnectIndex
}
STATUS current
DESCRIPTION
"The indicated connection has entered the
established state"
::= { tcpEStatsNotifications 1 }
tcpEStatsCloseNotification NOTIFICATION-TYPE
OBJECTS {
Mathis, et al [Page 43]
Internet-Draft Expires Sept 2003 Oct 27, 2003
tcpEStatsConnectIndex
}
STATUS current
DESCRIPTION
"The indicated connection has left the
established state"
::= { 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."
MODULE -- this module
MANDATORY-GROUPS {
tcpEStatsGroup,
tcpEStatsControlGroup,
tcpEStatsNotificationsGroup
}
::= { tcpEStatsCompliances 1 }
--
-- Units of Conformance
--
tcpEStatsGroup OBJECT-GROUP
OBJECTS {
tcpEStatsConnectionState, tcpEStatsConnectionSACK,
tcpEStatsConnectionTimeStamps,
tcpEStatsConnectionECN, tcpEStatsConnectionNagle,
tcpEStatsConnectionSndWindScale,
tcpEStatsConnectionRcvWindScale,
tcpEStatsSynOptsActiveOpen,
tcpEStatsSynOptsMSSSent, tcpEStatsSynOptsMSSRcvd,
tcpEStatsSynOptsWinScaleSent,
tcpEStatsSynOptsWinScaleRcvd,
Mathis, et al [Page 44]
Internet-Draft Expires Sept 2003 Oct 27, 2003
tcpEStatsSynOptsSACKokSent,
tcpEStatsSynOptsSACKokRcvd,
tcpEStatsSynOptsTimeStampSent,
tcpEStatsSynOptsTimeStampRcvd,
tcpEStatsDataPktsOut, tcpEStatsDataDataPktsOut,
tcpEStatsDataDataBytesOut,
tcpEStatsDataHCDataBytesOut, tcpEStatsDataPktsIn,
tcpEStatsDataDataPktsIn, tcpEStatsDataDataBytesIn,
tcpEStatsDataHCDataBytesIn,
tcpEStatsDataSoftErrors,
tcpEStatsDataSoftErrorReason, tcpEStatsDataIpTtl,
tcpEStatsDataIpTos, tcpEStatsDataSndUna,
tcpEStatsDataSndNxt, tcpEStatsDataSndMax,
tcpEStatsDataThruBytesAcked,
tcpEStatsDataHCThruBytesAcked,
tcpEStatsDataSndInitial, tcpEStatsDataRcvNxt,
tcpEStatsDataThruBytesReceived,
tcpEStatsDataHCThruBytesReceived,
tcpEStatsDataRecInitial, tcpEStatsDataElapsedSecs,
tcpEStatsDataDurationMicroSecs,
tcpEStatsDataStartTimeStamp,
tcpEStatsSndCongSndLimTransRwin,
tcpEStatsSndCongSndLimTimeRwin,
tcpEStatsSndCongSndLimTransCwnd,
tcpEStatsSndCongSndLimTimeCwnd,
tcpEStatsSndCongSndLimTransSnd,
tcpEStatsSndCongSndLimTimeSnd,
tcpEStatsSndCongSlowStart,
tcpEStatsSndCongCongAvoid,
tcpEStatsSndCongCongSignals,
tcpEStatsSndCongOtherReductions,
tcpEStatsSndCongCongOverCount,
tcpEStatsSndCongCwndRestores,
tcpEStatsSndCongCurCwnd,
tcpEStatsSndCongMaxSsCwnd,
tcpEStatsSndCongMaxCaCwnd,
tcpEStatsSndCongLimCwnd,
tcpEStatsSndCongCurSsthresh,
tcpEStatsSndCongMaxSsthresh,
tcpEStatsSndCongMinSsthresh,
tcpEStatsPathFastRetran, tcpEStatsPathTimeouts,
tcpEStatsPathSubsequentTimeouts,
tcpEStatsPathCurTimeoutCount,
tcpEStatsPathAbruptTimeouts,
tcpEStatsPathPktsRetrans,
tcpEStatsPathBytesRetrans, tcpEStatsPathDupAcksIn,
tcpEStatsPathSACKsRcvd,
tcpEStatsPathSACKBlocksRcvd,
Mathis, et al [Page 45]
Internet-Draft Expires Sept 2003 Oct 27, 2003
tcpEStatsPathPreCongSumCwnd,
tcpEStatsPathPreCongSumRTT,
tcpEStatsPathPostCongSumRTT,
tcpEStatsPathPostCongCountRTT,
tcpEStatsPathECNsignals, tcpEStatsPathECERcvd,
tcpEStatsPathSendStall, tcpEStatsPathQuenchRcvd,
tcpEStatsPathRetranThresh,
tcpEStatsPathSndDupAckEpisodes,
tcpEStatsPathSumBytesReordered,
tcpEStatsPathNonRecovDA, tcpEStatsPathAckAfterFR,
tcpEStatsPathDSACKDups, tcpEStatsPathSampleRTT,
tcpEStatsPathSmoothedRTT, tcpEStatsPathRTTVar,
tcpEStatsPathMaxRTT, tcpEStatsPathMinRTT,
tcpEStatsPathSumRTT, tcpEStatsPathHCSumRTT,
tcpEStatsPathCountRTT, tcpEStatsPathCurRTO,
tcpEStatsPathMaxRTO, tcpEStatsPathMinRTO,
tcpEStatsPathCurMSS, tcpEStatsPathMaxMSS,
tcpEStatsPathMinMSS,
tcpEStatsSendBuffCurRetxQueue,
tcpEStatsSendBuffMaxRetxQueue,
tcpEStatsSendBuffCurAppWQueue,
tcpEStatsSendBuffMaxAppWQueue,
tcpEStatsRecCurRwinSent, tcpEStatsRecMaxRwinSent,
tcpEStatsRecMinRwinSent, tcpEStatsRecLimRwin,
tcpEStatsRecDupAckEpisodes,
tcpEStatsRecDupAcksOut, tcpEStatsRecCERcvd,
tcpEStatsRecECNSent, tcpEStatsRecECNNonceRcvd,
tcpEStatsRecCurReasmQueue,
tcpEStatsRecMaxReasmQueue,
tcpEStatsRecCurAppRQueue,
tcpEStatsRecMaxAppRQueue,
tcpEStatsObsRecCurRwinRcvd,
tcpEStatsObsRecMaxRwinRcvd,
tcpEStatsObsRecMinRwinRcvd,
tcpEStatsListenerTableLastChange, tcpEStatsListenerTimeOuts,
tcpEStatsListenerEstablished, tcpEStatsListenerStartTime,
tcpEStatsConnectIndex
}
STATUS current
DESCRIPTION
"The tcpEStats group includes objects that provide
valuable statistics and debugging information for
TCP Connections."
::= { tcpEStatsGroups 1 }
tcpEStatsControlGroup OBJECT-GROUP
OBJECTS {
Mathis, et al [Page 46]
Internet-Draft Expires Sept 2003 Oct 27, 2003
tcpEStatsControlState, tcpEStatsControlSynOpts,
tcpEStatsControlData, tcpEStatsControlSndCong,
tcpEStatsControlPath, tcpEStatsControlSendBuff,
tcpEStatsControlRec, tcpEStatsControlObsRec
}
STATUS current
DESCRIPTION
"The tcpEStatsControl group consists of objects
that control collection of statistics/debugging
information for TCP connections."
::= { tcpEStatsGroups 2 }
tcpEStatsNotificationsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
tcpEStatsEstablishNotification,
tcpEStatsCloseNotification
}
STATUS current
DESCRIPTION
"Notifications sent by a TCP extended statistics agent."
::= { tcpEStatsGroups 3 }
END
5. Normative References
[RFC2574] U. Blumenthal, B. Wijnen, "User-based Security Model (USM) for
version 3 of the Simple Network Management Protocol (SNMPv3)",
RFC2574, 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.
[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.
Mathis, et al [Page 47]
Internet-Draft Expires Sept 2003 Oct 27, 2003
6. Informative References
[RFC2012] McCloghrie, K., "SNMPv2 Management Information Base for the
Transmission Control Protocol using SMIv2", RFC 2012, November
1996.
[RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction
and Applicability Statements for Internet-Standard Management
Framework", RFC 3410, December 2002.
[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.
[MSMO97] M. Mathis, J. Semke, J. Mahdavi, T. Ott, "The Macroscopic
Behavior of the TCP Congestion Avoidance Algorithm", Computer Com-
munication Review, volume 27, number3, July 1997.
7. Security Considerations
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
environment without proper protection can have a negative effect on
network operations.
There are a number of managed objects in this MIB that may contain
sensitive information. These are:
tcpEStatsConnectRemAddress tcpEStatsDataSndUna tcpEStatsDataSndNxt
tcpEStatsDataSndMax tcpEStatsDataSendInitial tcpEStatsDataRcvNxt
tcpEStatsDataRecInitial
It is thus important to control even GET access to these objects and
possibly to even encrypt the values of these objects 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) 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.
Mathis, et al [Page 48]
Internet-Draft Expires Sept 2003 Oct 27, 2003
It is recommended that implementers consider using the security
features 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
configured to only give access to the objects to those principals
(users) that have legitimate rights to indeed GET or SET
(change/create/delete) them.
8. Contributors
The following people have contributed substantially to this document.
Some of the objects in this document were moved from an early draft
of RFC2012bis, by Bill Fenner etal.
Some of the object descriptions are based on an earlier unpublished
document by Jeff Semke.
9. Acknowledgments
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.
10. Authors' Addresses
Matt Mathis
Raghu Reddy
John Heffner
Pittsburgh Supercomputing Center
4400 Fifth Ave
Pittsburgh, PA 15216
Phone: 412-268-4960
Email: mathis@web100.org, rreddy@psc.edu, jheffner@psc.edu
Rajiv Raghunarayan
Cisco Systems Inc.
San Jose, CA 95134
Phone: 408 853 9612
Email: raraghun@cisco.com
Mathis, et al [Page 49]
Internet-Draft Expires Sept 2003 Oct 27, 2003
Jon Saperia
JDS Consulting, Inc.
174 Chapman Street
Watertown, MA 02472
Phone: 617-744-1079
Email: saperia@jdscons.com
11. Intellectual Property
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
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
proprietary 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 Executive
Director.
12. 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, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, 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 procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
Mathis, et al [Page 50]
Internet-Draft Expires Sept 2003 Oct 27, 2003
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
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 WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Mathis, et al [Page 51]