TCP-MIB

MIB Reference — IPNetwork Monitor

All MIBsTCP-MIB

Organization: IETF IPv6 MIB Revision Team http://www.ietf.org/html.charters/ipv6-charter.html

Last Updated: 2005-02-18

Category: IP and Core Protocols

Description:

Defines managed objects for managing TCP implementations, including connection state, maximum connections, retransmitted segments, and timeout values.

Imported Objects

From INET-ADDRESS-MIB

InetAddress
InetAddressType
InetPortNumber

From SNMPv2-CONF

MODULE-COMPLIANCE
OBJECT-GROUP

From SNMPv2-SMI

Counter32
Counter64
Gauge32
Integer32
IpAddress
MODULE-IDENTITY
OBJECT-TYPE
Unsigned32
mib-2

What Is TCP-MIB?

TCP-MIB is a vendor-neutral IETF standards-track MIB (RFC 4022) defining managed objects for monitoring TCP protocol implementations on any networked device or host. It exposes protocol-level configuration (retransmission timeout algorithm, minimum/maximum RTO) and performance/fault counters covering connection attempts, resets, currently established connections, and segment traffic including retransmissions. It is used for monitoring software/protocol status rather than physical hardware: administrators watch connection-establishment failures, reset counts, and retransmission rates as indicators of network congestion, application-level connectivity problems, or a device under connection-exhaustion stress; any SNMP-capable monitoring tool that supports tcp-mib polling can retrieve these counters without vendor-specific extensions, since the module is a pure IETF standard. As a core IETF standard it is commonly deployed alongside the companion IP-MIB and UDP-MIB to give a complete picture of a host's transport and network-layer stack. It is deployed universally on any SNMP-manageable host, server, or network device running a TCP/IP stack, from routers to servers to embedded appliances.

IPNetwork Monitor allows you to monitor SNMP objects defined in TCP-MIB. Use the built-in SNMP Monitoring Browser to explore available variables, view their current values and descriptions, and select the objects you want to monitor. You can then create SNMP monitors, configure thresholds, and receive alerts when monitored values change.

What Can Be Monitored

  • current established connections
  • active/passive connection opens
  • connection attempt failures
  • established connection resets
  • segments retransmitted
  • RTO algorithm and min/max values

Supported Devices

  • vendor-neutral, standards-based MIB, not tied to a specific manufacturer; applies to any host, server, or network device running a TCP/IP stack

Monitoring Examples

An administrator would poll tcpCurrEstab to track the number of live TCP connections and tcpActiveOpens/tcpPassiveOpens to see connection-establishment rates, watching tcpAttemptFails and tcpEstabResets for a spike indicating failed handshakes or abrupt resets. A rising tcpRetransSegs relative to tcpOutSegs signals path congestion or packet loss, while tcpMaxConn nearing tcpCurrEstab warns of connection-table exhaustion on the device.

OIDs
OID symbolicOID numericTypeAccessDescription
tcp1.3.6.1.2.1.6
INT tcpRtoAlgorithm1.3.6.1.2.1.6.1INTEGERread-onlyThe algorithm used to determine the timeout value used for retransmitting unacknowledged octets.
I32 tcpRtoMin1.3.6.1.2.1.6.2Integer32read-onlyThe minimum value permitted by a TCP implementation for the retransmission timeout, measured in milliseconds. More refined semantics for objects of this type depend on the algorithm used to determine the retransmission timeout; in particular, the IETF standard algorithm rfc2988(5) provides a minimum value.
I32 tcpRtoMax1.3.6.1.2.1.6.3Integer32read-onlyThe maximum value permitted by a TCP implementation for the retransmission timeout, measured in milliseconds. More refined semantics for objects of this type depend on the algorithm used to determine the retransmission timeout; in particular, the IETF standard algorithm rfc2988(5) provides an upper bound (as part of an adaptive backoff algorithm).
I32 tcpMaxConn1.3.6.1.2.1.6.4Integer32read-onlyThe limit on the total number of TCP connections the entity can support. In entities where the maximum number of connections is dynamic, this object should contain the value -1.
C32 tcpActiveOpens1.3.6.1.2.1.6.5Counter32read-onlyThe number of times that TCP connections have made a direct transition to the SYN-SENT state from the CLOSED state. Discontinuities in the value of this counter are indicated via discontinuities in the value of sysUpTime.
C32 tcpPassiveOpens1.3.6.1.2.1.6.6Counter32read-onlyThe number of times TCP connections have made a direct transition to the SYN-RCVD state from the LISTEN state. Discontinuities in the value of this counter are indicated via discontinuities in the value of sysUpTime.
C32 tcpAttemptFails1.3.6.1.2.1.6.7Counter32read-onlyThe number of times that TCP connections have made a direct transition to the CLOSED state from either the SYN-SENT state or the SYN-RCVD state, plus the number of times that TCP connections have made a direct transition to the LISTEN state from the SYN-RCVD state. Discontinuities in the value of this counter are indicated via discontinuities in the value of sysUpTime.
C32 tcpEstabResets1.3.6.1.2.1.6.8Counter32read-onlyThe number of times that TCP connections have made a direct transition to the CLOSED state from either the ESTABLISHED state or the CLOSE-WAIT state. Discontinuities in the value of this counter are indicated via discontinuities in the value of sysUpTime.
G32 tcpCurrEstab1.3.6.1.2.1.6.9Gauge32read-onlyThe number of TCP connections for which the current state is either ESTABLISHED or CLOSE-WAIT.
C32 tcpInSegs1.3.6.1.2.1.6.10Counter32read-onlyThe total number of segments received, including those received in error. This count includes segments received on currently established connections. Discontinuities in the value of this counter are indicated via discontinuities in the value of sysUpTime.
C32 tcpOutSegs1.3.6.1.2.1.6.11Counter32read-onlyThe total number of segments sent, including those on current connections but excluding those containing only retransmitted octets. Discontinuities in the value of this counter are indicated via discontinuities in the value of sysUpTime.
C32 tcpRetransSegs1.3.6.1.2.1.6.12Counter32read-onlyThe total number of segments retransmitted; that is, the number of TCP segments transmitted containing one or more previously transmitted octets. Discontinuities in the value of this counter are indicated via discontinuities in the value of sysUpTime.
tcpConnTable1.3.6.1.2.1.6.13not-accessibleA table containing information about existing IPv4-specific TCP connections or listeners. This table has been deprecated in favor of the version neutral tcpConnectionTable.
tcpConnEntry1.3.6.1.2.1.6.13.1not-accessibleA conceptual row of the tcpConnTable containing information about a particular current IPv4 TCP connection. Each row of this table is transient in that it ceases to exist when (or soon after) the connection makes the transition to the CLOSED state.
INT tcpConnState1.3.6.1.2.1.6.13.1.1INTEGERread-writeThe state of this TCP connection. The only value that may be set by a management station is deleteTCB(12). Accordingly, it is appropriate for an agent to return a `badValue' response if a management station attempts to set this object to any other value. If a management station sets this object to the value deleteTCB(12), then the TCB (as defined in [RFC793]) of the corresponding connection on the managed node is deleted, resulting in immediate termination of the connection. As an implementation-specific option, a RST segment may be sent from the managed node to the other TCP endpoint (note, however, that RST segments are not sent reliably).
IP tcpConnLocalAddress1.3.6.1.2.1.6.13.1.2IpAddressread-onlyThe local IP address for this TCP connection. In the case of a connection in the listen state willing to accept connections for any IP interface associated with the node, the value 0.0.0.0 is used.
I32 tcpConnLocalPort1.3.6.1.2.1.6.13.1.3Integer32read-onlyThe local port number for this TCP connection.
IP tcpConnRemAddress1.3.6.1.2.1.6.13.1.4IpAddressread-onlyThe remote IP address for this TCP connection.
I32 tcpConnRemPort1.3.6.1.2.1.6.13.1.5Integer32read-onlyThe remote port number for this TCP connection.
C32 tcpInErrs1.3.6.1.2.1.6.14Counter32read-onlyThe total number of segments received in error (e.g., bad TCP checksums). Discontinuities in the value of this counter are indicated via discontinuities in the value of sysUpTime.
C32 tcpOutRsts1.3.6.1.2.1.6.15Counter32read-onlyThe number of TCP segments sent containing the RST flag. Discontinuities in the value of this counter are indicated via discontinuities in the value of sysUpTime.
C64 tcpHCInSegs1.3.6.1.2.1.6.17Counter64read-onlyThe total number of segments received, including those received in error. This count includes segments received on currently established connections. This object is the 64-bit equivalent of tcpInSegs. Discontinuities in the value of this counter are indicated via discontinuities in the value of sysUpTime.
C64 tcpHCOutSegs1.3.6.1.2.1.6.18Counter64read-onlyThe total number of segments sent, including those on current connections but excluding those containing only retransmitted octets. This object is the 64-bit equivalent of tcpOutSegs. Discontinuities in the value of this counter are indicated via discontinuities in the value of sysUpTime.
tcpConnectionTable1.3.6.1.2.1.6.19not-accessibleA table containing information about existing TCP connections. Note that unlike earlier TCP MIBs, there is a separate table for connections in the LISTEN state.
tcpConnectionEntry1.3.6.1.2.1.6.19.1not-accessibleA conceptual row of the tcpConnectionTable containing information about a particular current TCP connection. Each row of this table is transient in that it ceases to exist when (or soon after) the connection makes the transition to the CLOSED state.
IPt tcpConnectionLocalAddressType1.3.6.1.2.1.6.19.1.1InetAddressTypenot-accessibleThe address type of tcpConnectionLocalAddress.
IP tcpConnectionLocalAddress1.3.6.1.2.1.6.19.1.2InetAddressnot-accessibleThe local IP address for this TCP connection. The type of this address is determined by the value of tcpConnectionLocalAddressType. As this object is used in the index for the tcpConnectionTable, implementors should be careful not to create entries that would result in OIDs with more than 128 subidentifiers; otherwise the information cannot be accessed by using SNMPv1, SNMPv2c, or SNMPv3.
INE tcpConnectionLocalPort1.3.6.1.2.1.6.19.1.3InetPortNumbernot-accessibleThe local port number for this TCP connection.
IPt tcpConnectionRemAddressType1.3.6.1.2.1.6.19.1.4InetAddressTypenot-accessibleThe address type of tcpConnectionRemAddress.
IP tcpConnectionRemAddress1.3.6.1.2.1.6.19.1.5InetAddressnot-accessibleThe remote IP address for this TCP connection. The type of this address is determined by the value of tcpConnectionRemAddressType. As this object is used in the index for the tcpConnectionTable, implementors should be careful not to create entries that would result in OIDs with more than 128 subidentifiers; otherwise the information cannot be accessed by using SNMPv1, SNMPv2c, or SNMPv3.
INE tcpConnectionRemPort1.3.6.1.2.1.6.19.1.6InetPortNumbernot-accessibleThe remote port number for this TCP connection.
INT tcpConnectionState1.3.6.1.2.1.6.19.1.7INTEGERread-writeThe state of this TCP connection. The value listen(2) is included only for parallelism to the old tcpConnTable and should not be used. A connection in LISTEN state should be present in the tcpListenerTable. The only value that may be set by a management station is deleteTCB(12). Accordingly, it is appropriate for an agent to return a `badValue' response if a management station attempts to set this object to any other value. If a management station sets this object to the value deleteTCB(12), then the TCB (as defined in [RFC793]) of the corresponding connection on the managed node is deleted, resulting in immediate termination of the connection. As an implementation-specific option, a RST segment may be sent from the managed node to the other TCP endpoint (note, however, that RST segments are not sent reliably).
U32 tcpConnectionProcess1.3.6.1.2.1.6.19.1.8Unsigned32read-onlyThe system's process ID for the process associated with this connection, or zero if there is no such process. This value is expected to be the same as HOST-RESOURCES-MIB:: hrSWRunIndex or SYSAPPL-MIB::sysApplElmtRunIndex for some row in the appropriate tables.
tcpListenerTable1.3.6.1.2.1.6.20not-accessibleA table containing information about TCP listeners. A listening application can be represented in three possible ways: 1. An application that is willing to accept both IPv4 and IPv6 datagrams is represented by a tcpListenerLocalAddressType of unknown (0) and a tcpListenerLocalAddress of ''h (a zero-length octet-string). 2. An application that is willing to accept only IPv4 or IPv6 datagrams is represented by a tcpListenerLocalAddressType of the appropriate address type and a tcpListenerLocalAddress of '0.0.0.0' or '::' respectively. 3. An application that is listening for data destined only to a specific IP address, but from any remote system, is represented by a tcpListenerLocalAddressType of an appropriate address type, with tcpListenerLocalAddress as the specific local address. NOTE: The address type in this table represents the address type used for the communication, irrespective of the higher-layer abstraction. For example, an application using IPv6 'sockets' to communicate via IPv4 between ::ffff:10.0.0.1 and ::ffff:10.0.0.2 would use InetAddressType ipv4(1)).
tcpListenerEntry1.3.6.1.2.1.6.20.1not-accessibleA conceptual row of the tcpListenerTable containing information about a particular TCP listener.
IPt tcpListenerLocalAddressType1.3.6.1.2.1.6.20.1.1InetAddressTypenot-accessibleThe address type of tcpListenerLocalAddress. The value should be unknown (0) if connection initiations to all local IP addresses are accepted.
IP tcpListenerLocalAddress1.3.6.1.2.1.6.20.1.2InetAddressnot-accessibleThe local IP address for this TCP connection. The value of this object can be represented in three possible ways, depending on the characteristics of the listening application: 1. For an application willing to accept both IPv4 and IPv6 datagrams, the value of this object must be ''h (a zero-length octet-string), with the value of the corresponding tcpListenerLocalAddressType object being unknown (0). 2. For an application willing to accept only IPv4 or IPv6 datagrams, the value of this object must be '0.0.0.0' or '::' respectively, with tcpListenerLocalAddressType representing the appropriate address type. 3. For an application which is listening for data destined only to a specific IP address, the value of this object is the specific local address, with tcpListenerLocalAddressType representing the appropriate address type. As this object is used in the index for the tcpListenerTable, implementors should be careful not to create entries that would result in OIDs with more than 128 subidentifiers; otherwise the information cannot be accessed, using SNMPv1, SNMPv2c, or SNMPv3.
INE tcpListenerLocalPort1.3.6.1.2.1.6.20.1.3InetPortNumbernot-accessibleThe local port number for this TCP connection.
U32 tcpListenerProcess1.3.6.1.2.1.6.20.1.4Unsigned32read-onlyThe system's process ID for the process associated with this listener, or zero if there is no such process. This value is expected to be the same as HOST-RESOURCES-MIB:: hrSWRunIndex or SYSAPPL-MIB::sysApplElmtRunIndex for some row in the appropriate tables.
tcpMIB1.3.6.1.2.1.49The MIB module for managing TCP implementations. Copyright (C) The Internet Society (2005). This version of this MIB module is a part of RFC 4022; see the RFC itself for full legal notices.
tcpMIBConformance1.3.6.1.2.1.49.2
tcpMIBCompliances1.3.6.1.2.1.49.2.1
tcpMIBCompliance1.3.6.1.2.1.49.2.1.1The compliance statement for IPv4-only systems that implement TCP. In order to be IP version independent, this compliance statement is deprecated in favor of tcpMIBCompliance2. However, agents are still encouraged to implement these objects in order to interoperate with the deployed base of managers.
tcpMIBCompliance21.3.6.1.2.1.49.2.1.2The compliance statement for systems that implement TCP. A number of INDEX objects cannot be represented in the form of OBJECT clauses in SMIv2 but have the following compliance requirements, expressed in OBJECT clause form in this description clause: -- OBJECT tcpConnectionLocalAddressType -- SYNTAX InetAddressType { ipv4(1), ipv6(2) } -- DESCRIPTION -- This MIB requires support for only global IPv4 -- and IPv6 address types. -- -- OBJECT tcpConnectionRemAddressType -- SYNTAX InetAddressType { ipv4(1), ipv6(2) } -- DESCRIPTION -- This MIB requires support for only global IPv4 -- and IPv6 address types. -- -- OBJECT tcpListenerLocalAddressType -- SYNTAX InetAddressType { unknown(0), ipv4(1), -- ipv6(2) } -- DESCRIPTION -- This MIB requires support for only global IPv4 -- and IPv6 address types. The type unknown also -- needs to be supported to identify a special -- case in the listener table: a listen using -- both IPv4 and IPv6 addresses on the device. --
tcpMIBGroups1.3.6.1.2.1.49.2.2
tcpGroup1.3.6.1.2.1.49.2.2.1The tcp group of objects providing for management of TCP entities.
tcpBaseGroup1.3.6.1.2.1.49.2.2.2The group of counters common to TCP entities.
tcpConnectionGroup1.3.6.1.2.1.49.2.2.3The group provides general information about TCP connections.
tcpListenerGroup1.3.6.1.2.1.49.2.2.4This group has objects providing general information about TCP listeners.
tcpHCGroup1.3.6.1.2.1.49.2.2.5The group of objects providing for counters of high speed TCP implementations.

RFC description

SNMP MIB for monitoring TCP (Transmission Control Protocol) statistics and connections as defined in RFC 3493, including segment counters and connection state.

Start monitoring vendor-neutral, standards-based MIB, any host/server/network device running a TCP/IP stack (TCP connection/segment counters) with a free 30-day trial of IPNetwork Monitor. Import MIBs, browse SNMP OIDs, create custom SNMP monitors, configure alerts, and monitor any SNMP-enabled network device from a single console.

Download TCP-MIB