TCP Extended Statistics MIB - Status page


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.

Please get the most up-to-date date TCP-ESTATS-MIB here: [live draft]
[the already out of date IETF draft] [live draft with change bars since the IETF draft]
[live draft with change bars since the prior IETF draft]

Process Background

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 [RFC2012bis] to support IPv6 address by the ipngwg. The IPv6 team took it upon themselves to make some other very much needed revisions to other portions of the TCP MIB.

As an interim measure to simplify version control, etc. we are presenting our extensions as a separate document. However we fully expect to merge 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 documents are merged.

Open Process Issues

There is a new complication in the plan to merge these mibs. The IPv6 MIB team has suddenly developed cold feet in regards to making any updates to MIBs beyond minimally updating the IP addresses. If this becomes the policy, some very good improvements to the TCP MIB by the IPv6 team effectively become orphaned. In principle this work could be preserved an re-merged into the TCP MIB under the auspices of the transport working group (tsvwg), however we are not currently prepared to do the merge within the web100 project.

We plan to have a clean draft of the TCP-ESTATS-MIB "done" by the Nov 4th IETF ID cutoff.

Technical Background

There is one major difference from the current (updated) TCP MIB. We have created a connection index (tcpEStatsConnectIndex), such that diagnostic tools can more quickly poll on one connection. The statistics (About 135 objects) are divided into 8 smaller tables, each indexed by tcpEStatsConnectIndex. This is to permit finer grain control of overhead trade-offs. (In -01 draft the index was called ...IdId, but that has been changed).

A minimal merge would be to add a ConnectionIndex object to the ipv6mib TcpConnection table and drop in the 8 additional tables from ESTATS. It might even work to add the ConnectionIndex to the main TCP mib, merely tagged "to support future fast connection polling", and leave ESTATS as a separate document.

The web100 project has implemented TCP kernel instrumentation in an approximate implementation of this MIB. The web100 instruments are exported via the Linux proc interface (not SNMP), and are differ slightly from this draft. We have a collaborator who is building an real SNMP agent to access the web100 kernel instruments.

Open technical Issues


[TCP-ESTATS-MIB] Matt Mathis, John Heffner, Raghu Reddy, J. Saperia, "TCP Extended Statistics MIB", work in progress.
[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- draft-ietf-ipv6-rfc2012-update-00.txt, expires Dec 2002

This page should be referenced at

Please send comments and suggestions to

This document is a product of the web100 project.