idnits 2.17.1 draft-ietf-tsvwg-tcp-mib-extension-07.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 20. -- Found old boilerplate from RFC 3978, Section 5.5 on line 3169. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 3146. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 3153. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 3159. ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 66 longer pages, the longest (page 2) being 60 lines == It seems as if not all pages are separated by form feeds - found 0 form feeds but 67 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 517: '... SHOULD provide a configura...' RFC 2119 keyword, line 725: '... This counter MUST include connecti...' RFC 2119 keyword, line 727: '... and MAY include connections ...' RFC 2119 keyword, line 1827: '... MUST be updated each time t...' RFC 2119 keyword, line 1838: '...ngestion signals. This MUST be updated...' (1 more instance...) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date () is 739374 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC2012' is defined on line 3008, but no explicit reference was found in the text == Unused Reference: 'RFC3291' is defined on line 3055, but no explicit reference was found in the text == Outdated reference: A later version (-01) exists of draft-ietf-ipngwg-rfc2012-update-00 -- Possible downref: Normative reference to a draft: ref. 'RFC2012bis' ** Obsolete normative reference: RFC 2574 (Obsoleted by RFC 3414) ** Obsolete normative reference: RFC 2575 (Obsoleted by RFC 3415) -- Obsolete informational reference (is this intentional?): RFC 793 (Obsoleted by RFC 9293) -- Obsolete informational reference (is this intentional?): RFC 896 (Obsoleted by RFC 7805) -- Obsolete informational reference (is this intentional?): RFC 1323 (Obsoleted by RFC 7323) -- Obsolete informational reference (is this intentional?): RFC 2012 (Obsoleted by RFC 4022) -- Obsolete informational reference (is this intentional?): RFC 2021 (Obsoleted by RFC 4502) -- Obsolete informational reference (is this intentional?): RFC 2861 (Obsoleted by RFC 7661) -- Obsolete informational reference (is this intentional?): RFC 2581 (Obsoleted by RFC 5681) -- Obsolete informational reference (is this intentional?): RFC 2988 (Obsoleted by RFC 6298) -- Obsolete informational reference (is this intentional?): RFC 3291 (Obsoleted by RFC 4001) Summary: 8 errors (**), 0 flaws (~~), 7 warnings (==), 17 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet-Draft Matt Mathis 3 John Heffner 4 Raghu Reddy 5 Pittsburgh Supercomputing Center 6 Rajiv Raghunarayan 7 Cisco Systems 8 J. Saperia 9 JDS Consulting, Inc 11 TCP Extended Statistics MIB 12 draft-ietf-tsvwg-tcp-mib-extension-07.txt 13 Fri Jul 15 13:07:14 EDT 2005 15 Status of this Memo 17 By submitting this Internet-Draft, each author represents that any 18 applicable patent or other IPR claims of which he or she is aware 19 have been or will be disclosed, and any of which he or she becomes 20 aware will be disclosed, in accordance with Section 6 of BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF), its areas, and its working groups. Note that other 24 groups may also distribute working documents as Internet-Drafts. 26 Internet-Drafts are draft documents valid for a maximum of six months 27 and may be updated, replaced, or obsoleted by other documents at any 28 time. It is inappropriate to use Internet-Drafts as reference 29 material or to cite them other than as "work in progress." 31 The list of current Internet-Drafts can be accessed at http:// 32 www.ietf.org/ietf/1id-abstracts.txt. 34 The list of Internet-Draft Shadow Directories can be accessed at 35 http://www.ietf.org/shadow.html. 37 This Internet-Draft will expire Jan 31, 2006 39 Abstract 41 This draft describes extended performance statistics for TCP. They 42 are designed to use TCP's ideal vantage point to diagnose performance 43 problems in both the network and the application. If a network based 44 application is performing poorly, TCP can determine if the bottleneck 45 is in the sender, the receiver or the network itself. If the 46 bottleneck is in the network, TCP can provide specific information 47 about its nature. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 2 52 2. The Internet-Standard Management Framework . . . . . . . . 4 53 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . 4 54 4. TCP Extended Statistics MIB . . . . . . . . . . . . . . . . 8 55 5. Normative References . . . . . . . . . . . . . . . . . . . 58 56 6. Informative References . . . . . . . . . . . . . . . . . . 59 57 7. Security Considerations . . . . . . . . . . . . . . . . . . 59 58 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . 60 59 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 60 60 10. Authors' Addresses . . . . . . . . . . . . . . . . . . . . 60 61 11. Intellectual Property . . . . . . . . . . . . . . . . . . 61 62 12. Disclaimer of Validity . . . . . . . . . . . . . . . . . . 61 63 13. Full Copyright Statement . . . . . . . . . . . . . . . . . 62 65 1. Introduction 67 This draft describes extended performance statistics for TCP. They 68 are designed to use TCP's ideal vantage point to diagnose performance 69 problems in both the network and the application. If a network based 70 application is performing poorly, TCP can determine if the bottleneck 71 is in the sender, the receiver or the network itself. If the 72 bottleneck is in the network, TCP can provide specific information 73 about its nature. 75 The SNMP objects defined in this draft extend TCP MIB, already under 76 revision by the IPv6 team [RFC2012bis]. 78 This document is automatically generated from a database of potential 79 TCP instruments. Beware that the OIDs are still likely to change 80 with future versions. The most current version can be obtained from 81 http://www.web100.org/mib/ . Please use tsvwg@ietf.org to send 82 comments to the entire TSV WG. 84 X. Changes 86 This virtual section will be removed as the draft nears completion. 88 Changes since draft-ietf-tsvwg-tcp-mib-extension-06.txt (20-Feb-2005) 89 Added tcpEStatsPerfPipeSize and tcpEStatsPerfMaxPipeSize to detect 90 when TCP is unable to open the window as large as permitted. 92 Added tcpEStatsStackInRecovery to indicate if the connection is 93 currently in recovery (e.g. has outstanding retransmissions), or 94 about to enter recovery. 96 Move tcpEStatsPerfSumRTT, Tcpestatsperfhcsumrtt and 97 tcpEStatsPerfCountRTT to the path table, tcpEStatsPath. 99 Added tcpEStatsPathHCGroup. 101 Move tcpEstatsPathAckAfterFR and tcpEstatsPathSndDupAckEpisodes back 102 to the performance table, tcpEStatsPerf. 104 Move tcpEStatsPerfSampleRTT, tcpEStatsPerfSampleRTT and 105 tcpEStatsPerfSampleRTT to the stack table, tcpEStatsStack. 107 Clarified the descriptions of tcpEStatsPerfDupAckEpisodes, 108 tcpEStatsPerfDupAcksOut and tcpEStatsPerfCongSignals 110 Changes since draft-ietf-tsvwg-tcp-mib-extension-05.txt 111 (17-July-2004) 113 Many changes to object descriptions MIB comments and overview to 114 improve clarity. 116 Completely restructured the perconnection tables. Seven table were 117 reduced to five. The main perconnection table tcpEStatsPerfTable is 118 now mandatory. Three other new tables are focused on understanding 119 the details of the behavior of the path, internal TCP algorithms and 120 the application. In addition, there is a new tuning table with per- 121 connection writable controls to work around a number of common 122 problems. Note that due to the table restructuring, most of the 123 object names listed below have changed. 125 Restructured the Listen Table (tcpEStatsListenerTable) to better 126 instrument various SYN flood defenses. 128 Removed minimul receiver window objects, and replaced them by the 129 count of the number of transitions to zero window from non-zero 130 window. 132 Replaced tcpEStatsPathIpTos by tcpEStatsPathIpTosOut and added 133 tcpEStatsPathIpTosIn. 135 Updated the descriptions of tcpEStatsDataSndNxt, tcpEStatsDataSndMax, 136 tcpEStatsDataThruOctetsAcked, tcpEStatsDataHCThruBytesAcked, 137 tcpEStatsDataThruBytesReceived, tcpEStatsDataHCThruBytesReceived, 138 consistiently use RFC791 variables (SND.NXT, etc) or refer to other 139 TCP-ESTATS-MIB objects. 141 Changed tcpEStatsSynOptsMSSSent and tcpEStatsSynOptsMSSRcvd from 142 Gauge32 to Unsigned32 143 Updated descriptions of tcpEStatsConnectLocalAddress and 144 tcpEStatsConnectRemAddress to new conventions for InetAddress 145 [RFC3291bis] 147 Changes since draft-ietf-tsvwg-tcp-mib-extension-04.txt (27-Oct-2003) 148 Updated ID boiler plate to RFC3668, ID-Guidelines and fixed some 149 formatting glitches 151 Added a Table of Contents 153 Updated the description of tcpEStatsConnectionState to indicate that 154 the listen state included only for document parallelism and should 155 not be used. 157 Explained why it is useful for tcpEStatsConnectIdTable and others to 158 remain for 30 seconds after a connection closes (so you retrieve the 159 total statistics for the entire connection). 161 Added comment about not supporting writing DeleteTcb into the TCP 162 State. 164 Explained that SndNxt is not a counter because it is non-monotonic. 166 Clarified StartTime to be row creation 168 Clarified row creation to be at the first SYN unless techniques to 169 defend against SYN floods are in effect, then at connection 170 establishment. 172 Added tcpEStatsControlNotify to control the generation of 173 notifications. 175 Changed sequence numbers from ZeroBasedCounter32 to Counter32. 177 Changes since draft-ietf-tsvwg-tcp-mib-extension-03.txt (2-Mar-2003) 179 Replaced "queued" with "buffered by TCP" 181 Changed all counters in the TCP connection tables to be ZeroBased 183 Remove tcpEStatsHCInSegs, tcpEStatsHCOutSegs, which appear in as 184 tcpHCInSegs and tcpHCOutSegs in draft-ietf-ipv6-rfc2012-update-03.txt 185 and later drafts. 187 Added changes section. 189 2. The Internet-Standard Management Framework 191 For a detailed overview of the documents that describe the current 192 Internet-Standard Management Framework, please refer to section 7 of 193 RFC 3410 [RFC3410]. 195 Managed objects are accessed via a virtual information store, termed 196 the Management Information Base or MIB. MIB objects are generally 197 accessed through the Simple Network Management Protocol (SNMP). 198 Objects in the MIB are defined using the mechanisms defined in the 199 Structure of Management Information (SMI). This memo specifies a MIB 200 module that is compliant to the SMIv2, which is described in STD 58, 201 RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 202 [RFC2580]. 204 3. Overview 206 The TCP-ESTATS-MIB defined in this memo consists of 6 tables, 207 two groups of scalars and two notifications: 209 - The first group of scalars in this MIB contain a statistic 210 of a TCP protocol engine not covered in [RFC2012bis]. The 211 scalar tcpEStatsListenerTableLastChange, provides management 212 stations with an an easier mechanism to validate their 213 listener caches. 215 - The second group of scalars consist of knobs to enable and 216 disable information collection by the tables containing 217 connection-related statistics/information. For example the 218 tcpEStatsControlPath object controls the activation of the 219 tcpEStatsPathTable. 221 The tcpEStatsConnTableLatency object determines how long 222 table rows are retained after connection close, to permit 223 reading final connection completion statistics. 225 Changing any of these controls may affect the correctness of 226 other management applications accessing this MIB. Generally 227 local policy should only permit limited write access to 228 these controls (e.g. only by one management station or only 229 during system configuration). 231 - The tcpEStatsListenerTable provides information on the 232 active TCP listeners on a device. It supports objects to 233 monitor and diagnose SYN-flood denial-of-service attacks as 234 described below. 236 - The ZeroBasedCounter32 and ZeroBasedCounter64 objects 237 in the tcpEStatsListenerTable and tcpEStatsListenerTable 238 are initialized to zero when the table row is created. 240 - The tcpEStatsConnectIdTable provides a mapping between the 241 connection indices i.e. source address type, source address, 242 source port, destination address type, destination address and 243 destination port, and the connection index. The connection 244 index is used to index into most the remaining tables in this 245 MIB module, and is designed to facilitate rapid polling of 246 multiple objects associated with one TCP connection. 248 - The tcpEStatsPerfTable contains objects that are useful for 249 measuring TCP performance and first line problem diagnosis. 251 - The tcpEStatsPathTable contains objects that can be used to 252 infer detailed behavior of the Internet path, such as the 253 extent that there are losses or segment reordering, etc. 255 - The tcpEStatsStackTable contains objects that are most 256 useful for determining how well the TCP control algorithms 257 are coping with this particular path. 259 - The tcpEStatsAppTable provides objects that are useful for 260 determining if the application using TCP is limiting TCP 261 performance. 263 - The tcpEStatsTuneTable provides per connection controls that can 264 be used to work around a number of common problems that 265 plague TCP over some paths. 267 - The two notifications defined in this MIB module are 268 tcpEStatsEstablishNotification, indicating that a new 269 connection has been accepted (or established see below), and 270 tcpEStatsCloseNotification, indicating that an existing 271 connection has recently closed. 273 - The tcpEStatsListenerTable is specifically designed to 274 provides information that is useful for diagnosing SYN-flood 275 Denial-of-Service attacks, where a server is overwhelmed by 276 forged or otherwise malicious connection attempts. There 277 are several different techniques that are used to defend 278 against SYN-flooding but none are standardized, and most 279 have never been well described in the literature (ergo there 280 are no normative references). These different techniques 281 all have the same basic characteristics which are 282 instrumentable with a common set of objects even though the 283 techniques differ greatly in the details. 285 All SYN-flood defenses avoid allocating significant 286 resources (memory or CPU) to incoming (passive open) 287 connections until the connections meet some liveness 288 criteria (to defend against forged IP source addresses) and 289 the server has sufficient resources to process the incoming 290 request. Note that allocating resources is an 291 implementation specific event that may not correspond to a 292 observe able protocol event (e.g. segments on the wire). 293 There are two general concepts that can be applied to all 294 known SYN-flood defenses. There is generally a well defined 295 event when a connections is allocated full resources, and a 296 "backlog" - a queue of embryonic connections that have been 297 allocated only partial resources. 299 In many implementation incoming TCP connections are allocated 300 resources as a side affect of the POSIX [POSIX] accept() call. 301 For this reason we use the terminology "accepting a connection" 302 to refer to this event: committing sufficient network resources 303 to process the incoming request. Accepting a connection 304 typically entails allocating memory for the protocol control 305 block [RFC793] and the per connection table rows described in 306 this MIB. 308 Note that it is not useful to accept connections before they 309 are ESTABLISHED, because this would create an easy opportunity 310 for Denial-of-Service attacks, using forged source IP 311 addresses. 313 The backlog consists of connections that are in SYN-RCVD or 314 ESTABLISHED states, that have not been accepted. For 315 purposes of this MIB we assume that these connections that 316 have been allocated some resources (e.g. an embryonic 317 protocol control block) but not full resources (e.g. do not 318 yet have MIB table rows). 320 Note that some SYN-Flood defenses dispense with explicit 321 SYN-RCVD state by cryptographically encoding the state in 322 the ISS of the SYN-ACK, and then using the sequence number 323 of the first ACK to reconstruct the SYN-RCVD state before 324 transitioning to the ESTABLISHED state. For these 325 implementations there is no explicit representation of the 326 SYN-RCVD state and the backlog only consists of connections 327 that are ESTABLISHED and are waiting to be ACCEPTED. 329 Furthermore most SYN-flood defenses have some mechanism to 330 throttle connections that might otherwise overwhelm this 331 endpoint. They generally use some combination of discarding 332 incoming SYNs and discarding connections already in the 333 backlog. This does not cause all connections from 334 legitimate clients to fail, as long as the clients 335 persistently retransmit the SYN or first ACK as specified in 336 RFC793. Most of the diversity in SYN flood defenses arises 337 in variations in these algorithms to limit load, and 338 therefore they can not conveniently be instrumented with a 339 common standard MIB. 341 The Listen Table instruments all passively opened TCP 342 connections in terms of observable protocol events 343 (e.g. sent and received segments) and resource allocation 344 events (entering the backlog and being accepted). This 345 approach eases generalization to SYN-flood mechanism that 346 use alternate TCP state transition diagrams and implicit 347 mechanisms to encode some states. 349 4. TCP Extended Statistics MIB 351 TCP-ESTATS-MIB DEFINITIONS ::= BEGIN 352 IMPORTS 353 MODULE-IDENTITY, Counter32, Integer32, Unsigned32, 354 Gauge32, OBJECT-TYPE, experimental, 355 NOTIFICATION-TYPE 356 FROM SNMPv2-SMI 357 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP 358 FROM SNMPv2-CONF 359 ZeroBasedCounter32 360 FROM RMON2-MIB -- [RFC2021] 361 ZeroBasedCounter64 362 FROM HCNUM-TC -- [RFC2856] 363 TEXTUAL-CONVENTION, 364 DateAndTime, TruthValue, TimeStamp 365 FROM SNMPv2-TC 366 InetAddressType, InetAddress, 367 InetPortNumber 368 FROM INET-ADDRESS-MIB 369 tcpListenerEntry 370 FROM TCP-MIB; 372 tcpEStatsMIB MODULE-IDENTITY 373 LAST-UPDATED "200507151307Z" -- Jul 15, 2005 374 ORGANIZATION "IETF TSV Working Group" 375 CONTACT-INFO 376 "Matt Mathis 377 John Heffner 378 Raghu Reddy 379 Web100 Project 380 Pittsburgh Supercomputing Center 381 4400 Fifth Ave 382 Pittsburgh, PA 15213 383 Email: mathis@psc.edu, jheffner@psc.edu, rreddy@psc.edu 385 Rajiv Raghunarayan 386 Cisco Systems Inc. 387 San Jose, CA 95134 388 Phone: 408 853 9612 389 Email: raraghun@cisco.com 391 Jon Saperia 392 JDS Consulting, Inc. 393 174 Chapman Street 394 Watertown, MA 02472 395 Phone: 617-744-1079 396 Email: saperia@jdscons.com " 397 DESCRIPTION 398 "Documentation of TCP Extended Performance Instrumentation 399 variables from the Web100 project. [Web100] 401 Copyright (C) The Internet Society (2005). This version 402 of this MIB module is a part of RFC xxxx; see the RFC 403 itself for full legal notices." 404 -- RFC Editor: replace xxxx with actual RFC number & remove note 406 REVISION "200507151307Z" -- Jul 15, 2005 407 DESCRIPTION 408 "Initial version, published as RFC xxxx." 409 -- RFC Editor assigns RFC xxxx 410 ::= { experimental 9999 } 411 tcpEStatsNotifications OBJECT IDENTIFIER ::= { tcpEStatsMIB 0 } 412 tcpEStatsMIBObjects OBJECT IDENTIFIER ::= { tcpEStatsMIB 1 } 413 tcpEStatsConformance OBJECT IDENTIFIER ::= { tcpEStatsMIB 2 } 414 tcpEStats OBJECT IDENTIFIER ::= { tcpEStatsMIBObjects 1 } 415 tcpEStatsControl OBJECT IDENTIFIER ::= { tcpEStatsMIBObjects 2 } 416 tcpEStatsScalar OBJECT IDENTIFIER ::= { tcpEStatsMIBObjects 3 } 418 -- 419 -- Textual Conventions 420 -- 422 TcpEStatsOperation ::= TEXTUAL-CONVENTION 423 STATUS current 424 DESCRIPTION 425 "Indicates whether the table or notification controlled 426 by an object with this syntax is enabled or in a 427 disabled state." 428 SYNTAX INTEGER { 429 enabled(1), 430 disabled(2) 431 } 433 -- 434 -- TCP Extended statistics scalars 435 -- 437 tcpEStatsListenerTableLastChange OBJECT-TYPE 438 SYNTAX TimeStamp 439 MAX-ACCESS read-only 440 STATUS current 441 DESCRIPTION 442 "The value of sysUpTime at the time of the last 443 creation or deletion of an entry in the tcpListenerTable. 444 If the number of entries has been unchanged since the 445 last re-initialization of the local network management 446 subsystem, then this object contains a zero value." 447 ::= { tcpEStatsScalar 3 } 449 -- ================================================================ 450 -- 451 -- The tcpEStatsControl Group 452 -- 454 -- The scalar objects in this group are used to control the 455 -- activation and deactivation of the TCP Extended Statistics 456 -- tables and notifications in this module. 457 -- 459 tcpEStatsControlPath OBJECT-TYPE 460 SYNTAX TcpEStatsOperation 461 MAX-ACCESS read-write 462 STATUS current 463 DESCRIPTION 464 "Controls the activation of the TCP Path 465 Statistics table." 466 DEFVAL { disabled } 467 ::= { tcpEStatsControl 1 } 469 tcpEStatsControlStack OBJECT-TYPE 470 SYNTAX TcpEStatsOperation 471 MAX-ACCESS read-write 472 STATUS current 473 DESCRIPTION 474 "Controls the activation of the TCP Stack 475 Statistics table." 476 DEFVAL { disabled } 477 ::= { tcpEStatsControl 2 } 479 tcpEStatsControlApp OBJECT-TYPE 480 SYNTAX TcpEStatsOperation 481 MAX-ACCESS read-write 482 STATUS current 483 DESCRIPTION 484 "Controls the activation of the TCP Application 485 Statistics table." 486 DEFVAL { disabled } 487 ::= { tcpEStatsControl 3 } 489 tcpEStatsControlTune OBJECT-TYPE 490 SYNTAX TcpEStatsOperation 491 MAX-ACCESS read-write 492 STATUS current 493 DESCRIPTION 494 "Controls the activation of the TCP Tuning 495 table." 496 DEFVAL { disabled } 497 ::= { tcpEStatsControl 4 } 499 tcpEStatsControlNotify OBJECT-TYPE 500 SYNTAX TcpEStatsOperation 501 MAX-ACCESS read-write 502 STATUS current 503 DESCRIPTION 504 "Controls the generation of all notifications defined in 505 this MIB." 506 DEFVAL { disabled } 507 ::= { tcpEStatsControl 5 } 509 tcpEStatsConnTableLatency OBJECT-TYPE 510 SYNTAX Integer32 (0..30) 511 MAX-ACCESS read-only 512 STATUS current 513 DESCRIPTION 514 "Specifies the number of seconds that the entity will 515 retain entries in the TCP connection tables, after the 516 connection first enters the closed state. The entity 517 SHOULD provide a configuration option to enable 518 customization of this value. A value of 0 519 results in entries being removed from the tables as soon as 520 the connection enters the closed state. The value of 521 this object pertains to the following tables: 522 tcpEStatsConnectIdTable 523 tcpEStatsPerfTable 524 tcpEStatsPathTable 525 tcpEStatsStackTable 526 tcpEStatsAppTable 527 tcpEStatsTuneTable" 528 ::= { tcpEStatsControl 6 } 530 -- ================================================================ 531 -- 532 -- Listener Table 533 -- 535 tcpEStatsListenerTable OBJECT-TYPE 536 SYNTAX SEQUENCE OF TcpEStatsListenerEntry 537 MAX-ACCESS not-accessible 538 STATUS current 539 DESCRIPTION 540 "This table contains information about TCP Listeners, 541 in addition to the information maintained by the 542 tcpListenerTable RFC2012bis." 543 ::= { tcpEStats 10 } 545 tcpEStatsListenerEntry OBJECT-TYPE 546 SYNTAX TcpEStatsListenerEntry 547 MAX-ACCESS not-accessible 548 STATUS current 549 DESCRIPTION 550 "Each entry in the table contains information about 551 a specific TCP Listener." 552 AUGMENTS { tcpListenerEntry } 553 ::= { tcpEStatsListenerTable 1 } 555 TcpEStatsListenerEntry ::= SEQUENCE { 556 tcpEStatsListenerStartTime TimeStamp, 557 tcpEStatsListenerSynRcvd ZeroBasedCounter32, 558 tcpEStatsListenerInitial ZeroBasedCounter32, 559 tcpEStatsListenerEstablished ZeroBasedCounter32, 560 tcpEStatsListenerAccepted ZeroBasedCounter32, 561 tcpEStatsListenerExceedBacklog ZeroBasedCounter32, 562 tcpEStatsListenerHCSynRcvd ZeroBasedCounter64, 563 tcpEStatsListenerHCInitial ZeroBasedCounter64, 564 tcpEStatsListenerHCEstablished ZeroBasedCounter64, 565 tcpEStatsListenerHCAccepted ZeroBasedCounter64, 566 tcpEStatsListenerHCExceedBacklog ZeroBasedCounter64, 567 tcpEStatsListenerCurrConns Gauge32, 568 tcpEStatsListenerMaxBacklog Integer32, 569 tcpEStatsListenerCurBacklog Gauge32, 570 tcpEStatsListenerCurEstabBacklog Gauge32 572 } 574 tcpEStatsListenerStartTime OBJECT-TYPE 575 SYNTAX TimeStamp 576 MAX-ACCESS read-only 577 STATUS current 578 DESCRIPTION 579 "The value of sysUpTime at the time this listener was 580 established. If the current state was entered prior to 581 the last re-initialization of the local network management 582 subsystem, then this object contains a zero value." 583 ::= { tcpEStatsListenerEntry 1 } 585 tcpEStatsListenerSynRcvd OBJECT-TYPE 586 SYNTAX ZeroBasedCounter32 587 MAX-ACCESS read-only 588 STATUS current 589 DESCRIPTION 590 "The number of SYNs which have been received for this 591 listener. The total number of failed connections for 592 all reasons can be estimated to be tcpEStatsListenerSynRcvd 593 minus tcpEStatsListenerAccepted and 594 tcpEStatsListenerCurBacklog." 595 ::= { tcpEStatsListenerEntry 2 } 597 tcpEStatsListenerInitial OBJECT-TYPE 598 SYNTAX ZeroBasedCounter32 599 MAX-ACCESS read-only 600 STATUS current 601 DESCRIPTION 602 "The total number of connections for which the Listener 603 has allocated initial state and placed the 604 connection in the backlog. The may happen in the 605 SYN-RCVD or ESTABLISHED states, depending on the 606 implementation." 607 ::= { tcpEStatsListenerEntry 3 } 609 tcpEStatsListenerEstablished OBJECT-TYPE 610 SYNTAX ZeroBasedCounter32 611 MAX-ACCESS read-only 612 STATUS current 613 DESCRIPTION 614 "The number of connections which have been established to 615 this endpoint. E.g. The number of first ACKs which have 616 been received for this listener." 617 ::= { tcpEStatsListenerEntry 4 } 619 tcpEStatsListenerAccepted OBJECT-TYPE 620 SYNTAX ZeroBasedCounter32 621 MAX-ACCESS read-only 622 STATUS current 623 DESCRIPTION 624 "The total number of connections for which the Listener 625 has successfully issued an accept, removing the connection 626 from the backlog." 627 ::= { tcpEStatsListenerEntry 5 } 629 tcpEStatsListenerExceedBacklog OBJECT-TYPE 630 SYNTAX ZeroBasedCounter32 631 MAX-ACCESS read-only 632 STATUS current 633 DESCRIPTION 634 "The total number of connections dropped from the 635 backlog by this listener due to all reasons. This 636 includes all connections that are allocated initial 637 resources but are not accepted for some reason." 638 ::= { tcpEStatsListenerEntry 6 } 640 tcpEStatsListenerHCSynRcvd OBJECT-TYPE 641 SYNTAX ZeroBasedCounter64 642 MAX-ACCESS read-only 643 STATUS current 644 DESCRIPTION 645 "The number of SYNs which have been received for this 646 listener on systems that can process (or reject) more 647 than 1 million connections per second. See 648 tcpEStatsListenerSynRcvd." 649 ::= { tcpEStatsListenerEntry 7 } 651 tcpEStatsListenerHCInitial OBJECT-TYPE 652 SYNTAX ZeroBasedCounter64 653 MAX-ACCESS read-only 654 STATUS current 655 DESCRIPTION 656 "The total number of connections for which the Listener 657 has allocated initial state and placed the connection 658 in the backlog on systems that can process (or reject) 659 more than 1 million connections per second. See 660 tcpEStatsListenerInitial." 661 ::= { tcpEStatsListenerEntry 8 } 663 tcpEStatsListenerHCEstablished OBJECT-TYPE 664 SYNTAX ZeroBasedCounter64 665 MAX-ACCESS read-only 666 STATUS current 667 DESCRIPTION 668 "The number of connections which have been established to 669 this endpoint on systems that can process (or reject) more 670 than 1 million connections per second. See 671 tcpEStatsListenerEstablished." 672 ::= { tcpEStatsListenerEntry 9 } 674 tcpEStatsListenerHCAccepted OBJECT-TYPE 675 SYNTAX ZeroBasedCounter64 676 MAX-ACCESS read-only 677 STATUS current 678 DESCRIPTION 679 "The total number of connections for which the Listener 680 has successfully issued an accept, removing the connection 681 from the backlog on systems that can process (or reject) 682 more than 1 million connections per second. See 683 tcpEStatsListenerAccepted." 684 ::= { tcpEStatsListenerEntry 10 } 686 tcpEStatsListenerHCExceedBacklog OBJECT-TYPE 687 SYNTAX ZeroBasedCounter64 688 MAX-ACCESS read-only 689 STATUS current 690 DESCRIPTION 691 "The total number of connections dropped from the 692 backlog by this listener due to all reasons on 693 systems that can process (or reject) more than 694 1 million connections per second. See 695 tcpEStatsListenerHCExceedBacklog." 696 ::= { tcpEStatsListenerEntry 11 } 698 tcpEStatsListenerCurrConns OBJECT-TYPE 699 SYNTAX Gauge32 700 MAX-ACCESS read-only 701 STATUS current 702 DESCRIPTION 703 "The current number of connections in the ESTABLISHED 704 state, which have also been accepted. It excludes 705 connections that have been established but not accepted 706 because they are still subject to being discarded to 707 shed load without explicit action by either endpoint." 708 ::= { tcpEStatsListenerEntry 12 } 710 tcpEStatsListenerMaxBacklog OBJECT-TYPE 711 SYNTAX Integer32 712 MAX-ACCESS read-only 713 STATUS current 714 DESCRIPTION 715 "The maximum number of connections allowed in 716 backlog at one time." 717 ::= { tcpEStatsListenerEntry 13 } 719 tcpEStatsListenerCurBacklog OBJECT-TYPE 720 SYNTAX Gauge32 721 MAX-ACCESS read-only 722 STATUS current 723 DESCRIPTION 724 "The current number of connections that are in backlog. 725 This counter MUST include connections in ESTABLISHED state, 726 for which the Listener has not yet issued an accept, 727 and MAY include connections in SYN-RECEIVED state." 728 ::= { tcpEStatsListenerEntry 14 } 730 tcpEStatsListenerCurEstabBacklog OBJECT-TYPE 731 SYNTAX Gauge32 732 MAX-ACCESS read-only 733 STATUS current 734 DESCRIPTION 735 "The current number of connections in backlog that are 736 in the ESTABLISHED state, but for which the Listener has 737 not yet issued an accept." 738 ::= { tcpEStatsListenerEntry 15 } 740 -- ================================================================ 741 -- 742 -- TCP Connection ID Table 743 -- 745 -- There is overlap with the new RFC2012 TCP Connection table 746 -- because there is a semantic difference in the latency of row 747 -- removal in this table. Rows are expected to remain in this 748 -- table longer than in a standard TCP Connection table. Other 749 -- than this latency difference the semantics of the first six 750 -- objects in this table are the same as the new TCP Connection 751 -- table and the DESCRIPTIONS come from the new document. 753 tcpEStatsConnectIdTable OBJECT-TYPE 754 SYNTAX SEQUENCE OF TcpEStatsConnectIdEntry 755 MAX-ACCESS not-accessible 756 STATUS current 757 DESCRIPTION 758 "This table maps a connection ID used by other tables in 759 this MIB Module with the information that uniquely 760 identifies each active TCP connection. Entries are 761 retained in this table for the number of seconds 762 indicated by the tcpEStatsConnTableLatency object, after 763 the TCP connection first enters the closed state." 764 ::= { tcpEStats 1 } 766 tcpEStatsConnectIdEntry OBJECT-TYPE 767 SYNTAX TcpEStatsConnectIdEntry 768 MAX-ACCESS not-accessible 769 STATUS current 770 DESCRIPTION 771 "Each entry in this table maps a TCP connection 772 4-tuple to a connection index." 773 INDEX { tcpEStatsConnectLocalAddressType, 774 tcpEStatsConnectLocalAddress, 775 tcpEStatsConnectLocalPort, 776 tcpEStatsConnectRemAddressType, 777 tcpEStatsConnectRemAddress, 778 tcpEStatsConnectRemPort } 779 ::= { tcpEStatsConnectIdTable 1 } 781 TcpEStatsConnectIdEntry ::= SEQUENCE { 782 tcpEStatsConnectLocalAddressType InetAddressType, 783 tcpEStatsConnectLocalAddress InetAddress, 784 tcpEStatsConnectLocalPort InetPortNumber, 785 tcpEStatsConnectRemAddressType InetAddressType, 786 tcpEStatsConnectRemAddress InetAddress, 787 tcpEStatsConnectRemPort InetPortNumber, 788 tcpEStatsConnectIndex Unsigned32 789 } 791 tcpEStatsConnectLocalAddressType OBJECT-TYPE 792 SYNTAX InetAddressType 793 MAX-ACCESS not-accessible 794 STATUS current 795 DESCRIPTION 796 "The address type of tcpEStatsConnectLocalAddress." 797 ::= { tcpEStatsConnectIdEntry 1 } 799 tcpEStatsConnectLocalAddress OBJECT-TYPE 800 SYNTAX InetAddress 801 MAX-ACCESS not-accessible 802 STATUS current 803 DESCRIPTION 804 "The local IP address for this TCP connection.The type 805 of this address is determined by the value of 806 tcpEStatsConnectLocalAddressType. 808 As this object is used in the index for the 809 tcpEStatsConnectIdTable, implementors of this table should 810 be careful not to create entries that would result in OIDs 811 with more than 128 sub-identifiers; else the information 812 cannot be accessed using SNMPv1, SNMPv2c or SNMPv3." 813 ::= { tcpEStatsConnectIdEntry 2 } 815 tcpEStatsConnectLocalPort OBJECT-TYPE 816 SYNTAX InetPortNumber 817 MAX-ACCESS not-accessible 818 STATUS current 819 DESCRIPTION 820 "The local port number for this TCP connection." 821 ::= {tcpEStatsConnectIdEntry 3 } 823 tcpEStatsConnectRemAddressType OBJECT-TYPE 824 SYNTAX InetAddressType 825 MAX-ACCESS not-accessible 826 STATUS current 827 DESCRIPTION 828 "The address type of tcpEStatsConnectRemAddress." 829 ::= { tcpEStatsConnectIdEntry 4 } 831 tcpEStatsConnectRemAddress OBJECT-TYPE 832 SYNTAX InetAddress 833 MAX-ACCESS not-accessible 834 STATUS current 835 DESCRIPTION 836 "The remote IP address for this TCP connection. The type 837 of this address is determined by the value of 838 tcpEStatsConnectRemAddressType. 840 As this object is used in the index for the 841 tcpEStatsConnectIdTable, implementors of this table should 842 be careful not to create entries that would result in OIDs 843 with more than 128 sub-identifiers; else the information 844 cannot be accessed using SNMPv1, SNMPv2c or SNMPv3." 845 ::= { tcpEStatsConnectIdEntry 5 } 847 tcpEStatsConnectRemPort OBJECT-TYPE 848 SYNTAX InetPortNumber 849 MAX-ACCESS not-accessible 850 STATUS current 851 DESCRIPTION 852 "The remote port number for this TCP connection." 853 ::= { tcpEStatsConnectIdEntry 6 } 855 tcpEStatsConnectIndex OBJECT-TYPE 856 SYNTAX Unsigned32 857 MAX-ACCESS read-only 858 STATUS current 859 DESCRIPTION 860 "A unique integer value assigned to each TCP Connection 861 entry. Assignment will begin at 1 and increase to the 862 maximum value and then start again at 1 skipping in use 863 values." 864 ::= { tcpEStatsConnectIdEntry 7 } 866 -- ================================================================ 867 -- 868 -- Basic TCP Performance Statistics 869 -- 871 tcpEStatsPerfTable OBJECT-TYPE 872 SYNTAX SEQUENCE OF TcpEStatsPerfEntry 873 MAX-ACCESS not-accessible 874 STATUS current 875 DESCRIPTION 876 "This table contains objects that are useful for 877 measuring TCP performance and first line problem 878 diagnosis. Most objects in this table directly 879 expose some TCP state variable or are easily 880 implemented as simple functions (e.g. Maximum) 881 of TCP state variables." 882 ::= { tcpEStats 2 } 884 tcpEStatsPerfEntry OBJECT-TYPE 885 SYNTAX TcpEStatsPerfEntry 886 MAX-ACCESS not-accessible 887 STATUS current 888 DESCRIPTION 889 "Each entry in this table has information about the 890 characteristics of each active and recently closed tcp 891 connection." 892 INDEX { tcpEStatsConnectIndex } 893 ::= { tcpEStatsPerfTable 1 } 895 TcpEStatsPerfEntry ::= SEQUENCE { 896 tcpEStatsPerfState INTEGER, 897 tcpEStatsPerfSACK TruthValue, 898 tcpEStatsPerfTimeStamps TruthValue, 899 tcpEStatsPerfECN TruthValue, 900 tcpEStatsPerfNagle TruthValue, 901 tcpEStatsPerfSndWindScale Integer32, 902 tcpEStatsPerfRcvWindScale Integer32, 903 tcpEStatsPerfActiveOpen TruthValue, 904 tcpEStatsPerfSegsOut ZeroBasedCounter32, 905 tcpEStatsPerfDataSegsOut ZeroBasedCounter32, 906 tcpEStatsPerfDataOctetsOut ZeroBasedCounter32, 907 tcpEStatsPerfHCDataOctetsOut ZeroBasedCounter64, 908 tcpEStatsPerfSegsIn ZeroBasedCounter32, 909 tcpEStatsPerfDataSegsIn ZeroBasedCounter32, 910 tcpEStatsPerfDataOctetsIn ZeroBasedCounter32, 911 tcpEStatsPerfHCDataOctetsIn ZeroBasedCounter64, 912 tcpEStatsPerfCurMSS Gauge32, 913 tcpEStatsPerfSndUna Counter32, 914 tcpEStatsPerfSndNxt Integer32, 915 tcpEStatsPerfSndMax Counter32, 916 tcpEStatsPerfThruOctetsAcked ZeroBasedCounter32, 917 tcpEStatsPerfHCThruOctetsAcked ZeroBasedCounter64, 918 tcpEStatsPerfRcvNxt Counter32, 919 tcpEStatsPerfThruOctetsReceived ZeroBasedCounter32, 920 tcpEStatsPerfHCThruOctetsReceived ZeroBasedCounter64, 921 tcpEStatsPerfElapsedSecs ZeroBasedCounter32, 922 tcpEStatsPerfElapsedMicroSecs ZeroBasedCounter32, 923 tcpEStatsPerfStartTimeStamp DateAndTime, 924 tcpEStatsPerfSndLimTransRwin ZeroBasedCounter32, 925 tcpEStatsPerfSndLimTransCwnd ZeroBasedCounter32, 926 tcpEStatsPerfSndLimTransSnd ZeroBasedCounter32, 927 tcpEStatsPerfSndLimTimeRwin ZeroBasedCounter32, 928 tcpEStatsPerfSndLimTimeCwnd ZeroBasedCounter32, 929 tcpEStatsPerfSndLimTimeSnd ZeroBasedCounter32, 930 tcpEStatsPerfCongSignals ZeroBasedCounter32, 931 tcpEStatsPerfCurCwnd Gauge32, 932 tcpEStatsPerfMaxSsCwnd Gauge32, 933 tcpEStatsPerfMaxCaCwnd Gauge32, 934 tcpEStatsPerfCurSsthresh Gauge32, 935 tcpEStatsPerfMaxSsthresh Gauge32, 936 tcpEStatsPerfMinSsthresh Gauge32, 937 tcpEStatsPerfPipeSize Gauge32, 938 tcpEStatsPerfMaxPipeSize Gauge32, 939 tcpEStatsPerfTimeouts ZeroBasedCounter32, 940 tcpEStatsPerfSegsRetrans ZeroBasedCounter32, 941 tcpEStatsPerfOctetsRetrans ZeroBasedCounter32, 942 tcpEStatsPerfDupAcksIn ZeroBasedCounter32, 943 tcpEStatsPerfRetranThresh Gauge32, 944 tcpEStatsPerfNonRecovDAEpisodes Integer32, 945 tcpEStatsPerfSumOctetsReordered Integer32, 946 tcpEStatsPerfNonRecovDA ZeroBasedCounter32, 947 tcpEStatsPerfAckAfterFR ZeroBasedCounter32, 948 tcpEStatsPerfSmoothedRTT Gauge32, 949 tcpEStatsPerfRTTVar Gauge32, 950 tcpEStatsPerfMaxRTT Gauge32, 951 tcpEStatsPerfMinRTT Gauge32, 952 tcpEStatsPerfCurRTO Gauge32, 953 tcpEStatsPerfCurRwinSent Gauge32, 954 tcpEStatsPerfMaxRwinSent Gauge32, 955 tcpEStatsPerfZeroRwinSent Gauge32, 956 tcpEStatsPerfDupAckEpisodes ZeroBasedCounter32, 957 tcpEStatsPerfDupAcksOut ZeroBasedCounter32, 958 tcpEStatsPerfCurRwinRcvd Gauge32, 959 tcpEStatsPerfMaxRwinRcvd Gauge32, 960 tcpEStatsPerfZeroRwinRcvd Gauge32 961 } 963 -- 964 -- The following objects indicate if various TCP features 965 -- (options) or algorithms are enabled. 966 -- 968 tcpEStatsPerfState OBJECT-TYPE 969 SYNTAX INTEGER { 970 wcStateClosed(1), 971 wcStateListen(2), 972 wcStateSynSent(3), 973 wcStateSynReceived(4), 974 wcStateEstablished(5), 975 wcStateFinWait1(6), 976 wcStateFinWait2(7), 977 wcStateCloseWait(8), 978 wcStateLastAck(9), 979 wcStateClosing(10), 980 wcStateTimeWait(11), 981 wcStateDeleteTcb(12) 982 } 983 MAX-ACCESS read-only 984 STATUS current 985 DESCRIPTION 986 "An integer value representing the connection state from the 987 TCP State Transition Diagram. See [RFC793]. 989 The value listen(2) is included only for parallelism to the 990 old tcpConnTable, and should not be used because the listen 991 state in managed by the tcpListenerTable. 993 The value DeleteTcb(12) is included only for parallelism to 994 the tcpConnTable mechanism for terminating connections, 995 although this table does not permit writing." 996 ::= { tcpEStatsPerfEntry 1 } 998 tcpEStatsPerfSACK OBJECT-TYPE 999 SYNTAX TruthValue 1000 MAX-ACCESS read-only 1001 STATUS current 1002 DESCRIPTION 1003 "True(1) if SACK has been negotiated on, else false(2). See 1004 [RFC2018]." 1005 ::= { tcpEStatsPerfEntry 2 } 1007 tcpEStatsPerfTimeStamps OBJECT-TYPE 1008 SYNTAX TruthValue 1009 MAX-ACCESS read-only 1010 STATUS current 1011 DESCRIPTION 1012 "True(1) if timestamps have been negotiated on, else 1013 false(2). See [RFC1323]." 1014 ::= { tcpEStatsPerfEntry 3 } 1016 tcpEStatsPerfECN OBJECT-TYPE 1017 SYNTAX TruthValue 1018 MAX-ACCESS read-only 1019 STATUS current 1020 DESCRIPTION 1021 "True(1) if ECN has been negotiated on, else false(2). See 1022 [RFC3168]." 1023 ::= { tcpEStatsPerfEntry 4 } 1025 tcpEStatsPerfNagle OBJECT-TYPE 1026 SYNTAX TruthValue 1027 MAX-ACCESS read-only 1028 STATUS current 1029 DESCRIPTION 1030 "True(1) if the Nagle algorithm is being used, else 1031 false(2). See [RFC896] and [RFC1122]." 1032 ::= { tcpEStatsPerfEntry 5 } 1034 tcpEStatsPerfSndWindScale OBJECT-TYPE 1035 SYNTAX Integer32 1036 MAX-ACCESS read-only 1037 STATUS current 1038 DESCRIPTION 1039 "The value of Snd.Wind.Scale from [RFC1323]. Note that 1040 tcpEStatsPerfSndWindScale is either zero or the same as 1041 tcpEStatsStackWinScaleRcvd." 1042 ::= { tcpEStatsPerfEntry 6 } 1044 tcpEStatsPerfRcvWindScale OBJECT-TYPE 1045 SYNTAX Integer32 1046 MAX-ACCESS read-only 1047 STATUS current 1048 DESCRIPTION 1049 "The value of Rcv.Wind.Scale from [RFC1323]. Note that 1050 tcpEStatsPerfRcvWindScale is either zero or the same as 1051 tcpEStatsStackWinScaleSent." 1052 ::= { tcpEStatsPerfEntry 7 } 1054 tcpEStatsPerfActiveOpen OBJECT-TYPE 1055 SYNTAX TruthValue 1056 MAX-ACCESS read-only 1057 STATUS current 1058 DESCRIPTION 1059 "True(1) if the local connection traversed the SYN-SENT 1060 state, else false(2). See [RFC793]." 1061 ::= { tcpEStatsPerfEntry 8 } 1063 -- 1064 -- The following objects provide statistics on aggregate 1065 -- segments and data sent on a connection. These provide a 1066 -- direct measure of the Internet capacity consumed by a 1067 -- connection. 1068 -- 1070 tcpEStatsPerfSegsOut OBJECT-TYPE 1071 SYNTAX ZeroBasedCounter32 1072 MAX-ACCESS read-only 1073 STATUS current 1074 DESCRIPTION 1075 "The total number of segments sent." 1076 ::= { tcpEStatsPerfEntry 9 } 1078 tcpEStatsPerfDataSegsOut OBJECT-TYPE 1079 SYNTAX ZeroBasedCounter32 1080 MAX-ACCESS read-only 1081 STATUS current 1082 DESCRIPTION 1083 "The number of segments sent containing a positive length 1084 data segment." 1085 ::= { tcpEStatsPerfEntry 10 } 1087 tcpEStatsPerfDataOctetsOut OBJECT-TYPE 1088 SYNTAX ZeroBasedCounter32 1089 MAX-ACCESS read-only 1090 STATUS current 1091 DESCRIPTION 1092 "The number of octets of data contained in transmitted 1093 segments, including retransmitted data. Note that this does 1094 not include TCP headers." 1095 ::= { tcpEStatsPerfEntry 11 } 1097 tcpEStatsPerfHCDataOctetsOut OBJECT-TYPE 1098 SYNTAX ZeroBasedCounter64 1099 MAX-ACCESS read-only 1100 STATUS current 1101 DESCRIPTION 1102 "The number of octets of data contained in transmitted 1103 segments, including retransmitted data, on systems that can 1104 transmit more than 10 million bits per second. Note that 1105 this does not include TCP headers." 1106 ::= { tcpEStatsPerfEntry 12 } 1108 tcpEStatsPerfSegsIn OBJECT-TYPE 1109 SYNTAX ZeroBasedCounter32 1110 MAX-ACCESS read-only 1111 STATUS current 1112 DESCRIPTION 1113 "The total number of segments received." 1114 ::= { tcpEStatsPerfEntry 13 } 1116 tcpEStatsPerfDataSegsIn OBJECT-TYPE 1117 SYNTAX ZeroBasedCounter32 1118 MAX-ACCESS read-only 1119 STATUS current 1120 DESCRIPTION 1121 "The number of segments received containing a positive 1122 length data segment." 1123 ::= { tcpEStatsPerfEntry 14 } 1125 tcpEStatsPerfDataOctetsIn OBJECT-TYPE 1126 SYNTAX ZeroBasedCounter32 1127 MAX-ACCESS read-only 1128 STATUS current 1129 DESCRIPTION 1130 "The number of octets contained in received data segments, 1131 including retransmitted data. Note that this does not 1132 include TCP headers." 1133 ::= { tcpEStatsPerfEntry 15 } 1135 tcpEStatsPerfHCDataOctetsIn OBJECT-TYPE 1136 SYNTAX ZeroBasedCounter64 1137 MAX-ACCESS read-only 1138 STATUS current 1139 DESCRIPTION 1140 "The number of octets contained in received data segments, 1141 including retransmitted data, on systems that can receive 1142 more than 10 million bits per second. Note that this does 1143 not include TCP headers." 1144 ::= { tcpEStatsPerfEntry 16 } 1146 tcpEStatsPerfCurMSS OBJECT-TYPE 1147 SYNTAX Gauge32 1148 MAX-ACCESS read-only 1149 STATUS current 1150 DESCRIPTION 1151 "The current maximum segment size (MSS), in octets." 1152 ::= { tcpEStatsPerfEntry 17 } 1154 -- 1155 -- The following object provide throughput statistics for the 1156 -- connection including sequence numbers and elapsed time. 1157 -- These permit direct observation of the applications 1158 -- progress, in terms of elapsed data delivery and elapsed 1159 -- time. See [RFC793]. 1160 -- 1162 tcpEStatsPerfSndUna OBJECT-TYPE 1163 SYNTAX Counter32 1164 MAX-ACCESS read-only 1165 STATUS current 1166 DESCRIPTION 1167 "The value of SND.UNA, the oldest unacknowledged sequence 1168 number." 1169 ::= { tcpEStatsPerfEntry 18 } 1171 tcpEStatsPerfSndNxt OBJECT-TYPE 1172 SYNTAX Integer32 1173 MAX-ACCESS read-only 1174 STATUS current 1175 DESCRIPTION 1176 "The value of SND.NXT, the next sequence number to be sent. 1177 Note that SndNxt is not a monotonic (and thus not a 1178 counter) because TCP sometimes retransmits lost data by 1179 pulling SndNxt back to the missing data." 1180 ::= { tcpEStatsPerfEntry 19 } 1182 tcpEStatsPerfSndMax OBJECT-TYPE 1183 SYNTAX Counter32 1184 MAX-ACCESS read-only 1185 STATUS current 1186 DESCRIPTION 1187 "The farthest forward (right most or largest) SND.NXT value. 1188 Note that this will be equal to tcpEStatsPerfSndNxt except 1189 when tcpEStatsPerfSndNxt is pulled back during recovery." 1190 ::= { tcpEStatsPerfEntry 20 } 1192 tcpEStatsPerfThruOctetsAcked OBJECT-TYPE 1193 SYNTAX ZeroBasedCounter32 1194 MAX-ACCESS read-only 1195 STATUS current 1196 DESCRIPTION 1197 "The number of octets for which cumulative acknowledgments 1198 have been received. Note that this will be the sum of 1199 changes to tcpEStatsPerfSndUna." 1200 ::= { tcpEStatsPerfEntry 21 } 1202 tcpEStatsPerfHCThruOctetsAcked OBJECT-TYPE 1203 SYNTAX ZeroBasedCounter64 1204 MAX-ACCESS read-only 1205 STATUS current 1206 DESCRIPTION 1207 "The number of octets for which cumulative acknowledgments 1208 have been received, on systems that can receive more than 1209 10 million bits per second. Note that this will be the sum 1210 of changes in tcpEStatsPerfSndUna." 1211 ::= { tcpEStatsPerfEntry 22 } 1213 tcpEStatsPerfRcvNxt OBJECT-TYPE 1214 SYNTAX Counter32 1215 MAX-ACCESS read-only 1216 STATUS current 1217 DESCRIPTION 1218 "The value of RCV.NXT from [RFC793]. The next sequence 1219 number expected on an incoming segment, and the left or 1220 lower edge of the receive window." 1221 ::= { tcpEStatsPerfEntry 23 } 1223 tcpEStatsPerfThruOctetsReceived OBJECT-TYPE 1224 SYNTAX ZeroBasedCounter32 1225 MAX-ACCESS read-only 1226 STATUS current 1227 DESCRIPTION 1228 "The number of octets for which cumulative acknowledgments 1229 have been sent. Note that this will be the sum of changes 1230 to tcpEStatsPerfRcvNxt." 1231 ::= { tcpEStatsPerfEntry 24 } 1233 tcpEStatsPerfHCThruOctetsReceived OBJECT-TYPE 1234 SYNTAX ZeroBasedCounter64 1235 MAX-ACCESS read-only 1236 STATUS current 1237 DESCRIPTION 1238 "The number of octets for which cumulative acknowledgments 1239 have been sent, on systems that can transmit more than 10 1240 million bits per second. Note that this will be the sum of 1241 changes in tcpEStatsPerfRcvNxt." 1242 ::= { tcpEStatsPerfEntry 25 } 1244 tcpEStatsPerfElapsedSecs OBJECT-TYPE 1245 SYNTAX ZeroBasedCounter32 1246 MAX-ACCESS read-only 1247 STATUS current 1248 DESCRIPTION 1249 "The seconds part of the time elapsed between 1250 tcpEStatsPerfStartTimeStamp and the most recent protocol 1251 event (segment sent or received)." 1252 ::= { tcpEStatsPerfEntry 26 } 1254 tcpEStatsPerfElapsedMicroSecs OBJECT-TYPE 1255 SYNTAX ZeroBasedCounter32 1256 MAX-ACCESS read-only 1257 STATUS current 1258 DESCRIPTION 1259 "The micro-second part of time elapsed between 1260 tcpEStatsPerfStartTimeStamp to the most recent protocol 1261 event (segment sent or received). This may be updated in 1262 what ever time granularity is the system supports." 1263 ::= { tcpEStatsPerfEntry 27 } 1265 tcpEStatsPerfStartTimeStamp OBJECT-TYPE 1266 SYNTAX DateAndTime 1267 MAX-ACCESS read-only 1268 STATUS current 1269 DESCRIPTION 1270 "Time at which this row was created and all 1271 ZeroBasedCounters in the row were initialized to zero." 1272 ::= { tcpEStatsPerfEntry 28 } 1274 -- 1275 -- The next group of instruments can be used to quickly 1276 -- identify which subsystems are limiting TCP performance. 1277 -- There are three parallel pairs of instruments that measure 1278 -- the extent to which TCP performance is limited by the the 1279 -- announced receiver window (indicating a receiver 1280 -- bottleneck), the current congestion window or 1281 -- retransmission timeout (indicating a path bottleneck) and 1282 -- all others events (indicating a sender bottleneck). 1283 -- 1284 -- These instruments should be updated every time the TCP 1285 -- output routine stops sending data. The elapsed time since 1286 -- the previous stop is accumulated into the appropriate 1287 -- object as determined by the previous stop reason (e.g. stop 1288 -- state). The current stop reason determines which timer will 1289 -- be updated the next time TCP output stops. 1290 -- 1291 -- Since there is no explicit stop at the beginning of a 1292 -- timeout, it is necessary to retroactively reclassify the 1293 -- previous stop as 'Congestion Limited'. 1294 -- 1296 tcpEStatsPerfSndLimTransRwin OBJECT-TYPE 1297 SYNTAX ZeroBasedCounter32 1298 MAX-ACCESS read-only 1299 STATUS current 1300 DESCRIPTION 1301 "The number of transitions into the 'Receiver Limited' state 1302 from either the 'Congestion Limited' or 'Sender Limited' 1303 states. This state is entered whenever TCP transmission 1304 stops because the sender has filled the announced receiver 1305 window." 1306 ::= { tcpEStatsPerfEntry 29 } 1308 tcpEStatsPerfSndLimTransCwnd OBJECT-TYPE 1309 SYNTAX ZeroBasedCounter32 1310 MAX-ACCESS read-only 1311 STATUS current 1312 DESCRIPTION 1313 "The number of transitions into the 'Congestion Limited' 1314 state from either the 'Receiver Limited' or 'Sender 1315 Limited' states. This state is entered whenever TCP 1316 transmission stops because the sender has reached some 1317 limit defined by congestion control (e.g. cwnd) or other 1318 algorithms (retransmission timeouts) designed to control 1319 network traffic." 1320 ::= { tcpEStatsPerfEntry 30 } 1322 tcpEStatsPerfSndLimTransSnd OBJECT-TYPE 1323 SYNTAX ZeroBasedCounter32 1324 MAX-ACCESS read-only 1325 STATUS current 1326 DESCRIPTION 1327 "The number of transitions into the 'Sender Limited' state 1328 from either the 'Receiver Limited' or 'Congestion Limited' 1329 states. This state is entered whenever TCP transmission 1330 stops due to some sender limit such as running out of 1331 application data or other resources and the Karn algorithm. 1332 When TCP stops sending data for any reason which can not be 1333 classified as Receiver Limited or Congestion Limited it 1334 must be treated as Sender Limited." 1335 ::= { tcpEStatsPerfEntry 31 } 1337 tcpEStatsPerfSndLimTimeRwin OBJECT-TYPE 1338 SYNTAX ZeroBasedCounter32 1339 MAX-ACCESS read-only 1340 STATUS current 1341 DESCRIPTION 1342 "The cumulative time (in milliseconds) spent in the 1343 'Receiver Limited' state. See tcpEStatsPerfSndLimTransRwin." 1344 ::= { tcpEStatsPerfEntry 32 } 1346 tcpEStatsPerfSndLimTimeCwnd OBJECT-TYPE 1347 SYNTAX ZeroBasedCounter32 1348 MAX-ACCESS read-only 1349 STATUS current 1350 DESCRIPTION 1351 "The cumulative time (in milliseconds) spent in the 1352 'Congestion Limited' state. See 1353 tcpEStatsPerfSndLimTransCwnd. When there is a 1354 retransmission timeout, it should be counted in 1355 tcpEStatsPerfSndLimTimeCwnd (and not the cumulative time 1356 for some other state.)" 1357 ::= { tcpEStatsPerfEntry 33 } 1359 tcpEStatsPerfSndLimTimeSnd OBJECT-TYPE 1360 SYNTAX ZeroBasedCounter32 1361 MAX-ACCESS read-only 1362 STATUS current 1363 DESCRIPTION 1364 "The cumulative time (in milliseconds) spent in the 'Sender 1365 Limited' state. See tcpEStatsPerfSndLimTransSnd." 1366 ::= { tcpEStatsPerfEntry 34 } 1368 -- 1369 -- The following objects instrument the overall operation of 1370 -- TCP congestion control and data retransmissions. These 1371 -- instruments are sufficient to fit the actual performance to 1372 -- an updated macroscopic performance model [RFC2581] [Mat97] 1373 -- [Pad98]. 1374 -- 1376 tcpEStatsPerfCongSignals OBJECT-TYPE 1377 SYNTAX ZeroBasedCounter32 1378 MAX-ACCESS read-only 1379 STATUS current 1380 DESCRIPTION 1381 "The number of multiplicative downward congestion window 1382 adjustments due to all forms of congestion signals, 1383 including Fast Retransmit, ECN and timeouts. This object 1384 summarizes all events that invoke the MD portion of AIMD 1385 congestion control, and as such is the best indicator of 1386 how cwnd is being affected by congestion. 1388 Note that retransmission timeouts multiplicatively reduce 1389 the window implicitly by setting ssthresh, and should be 1390 included in tcpEStatsPerfCongSignals. In order to minimize 1391 spurious congestion indications due to out-of-order 1392 segments, tcpEStatsPerfCongSignals should be incremented in 1393 association with the Fast Retransmit algorithm." 1394 ::= { tcpEStatsPerfEntry 35 } 1396 tcpEStatsPerfCurCwnd OBJECT-TYPE 1397 SYNTAX Gauge32 1398 MAX-ACCESS read-only 1399 STATUS current 1400 DESCRIPTION 1401 "The current congestion window, in octets. See [RFC2581]." 1402 ::= { tcpEStatsPerfEntry 36 } 1404 tcpEStatsPerfMaxSsCwnd OBJECT-TYPE 1405 SYNTAX Gauge32 1406 MAX-ACCESS read-only 1407 STATUS current 1408 DESCRIPTION 1409 "The maximum congestion window used during Slow Start, in 1410 octets." 1411 ::= { tcpEStatsPerfEntry 37 } 1413 tcpEStatsPerfMaxCaCwnd OBJECT-TYPE 1414 SYNTAX Gauge32 1415 MAX-ACCESS read-only 1416 STATUS current 1417 DESCRIPTION 1418 "The maximum congestion window used during Congestion 1419 Avoidance, in octets." 1420 ::= { tcpEStatsPerfEntry 38 } 1422 tcpEStatsPerfCurSsthresh OBJECT-TYPE 1423 SYNTAX Gauge32 1424 MAX-ACCESS read-only 1425 STATUS current 1426 DESCRIPTION 1427 "The current slow start threshold in octets. See [RFC2581]." 1428 ::= { tcpEStatsPerfEntry 39 } 1430 tcpEStatsPerfMaxSsthresh OBJECT-TYPE 1431 SYNTAX Gauge32 1432 MAX-ACCESS read-only 1433 STATUS current 1434 DESCRIPTION 1435 "The maximum slow start threshold, excluding the initial 1436 value." 1437 ::= { tcpEStatsPerfEntry 40 } 1439 tcpEStatsPerfMinSsthresh OBJECT-TYPE 1440 SYNTAX Gauge32 1441 MAX-ACCESS read-only 1442 STATUS current 1443 DESCRIPTION 1444 "The minimum slow start threshold." 1445 ::= { tcpEStatsPerfEntry 41 } 1447 tcpEStatsPerfPipeSize OBJECT-TYPE 1448 SYNTAX Gauge32 1449 MAX-ACCESS read-only 1450 STATUS current 1451 DESCRIPTION 1452 "The TCP senders current estimate of the number of 1453 unacknowledged data octets in the network. 1455 While not in recovery, this is the same as ``Flight Size'' 1456 as defined in RFC2581. 1458 While in recovery, this is the same as ``pipe'' as defined 1459 in RFC3517. 1461 If RFC3517 is not in effect, the data octets in flight can 1462 be estimated as SND.NXT minus SND.UNA plus any 1463 retransmitted data, minus some measure of the data that has 1464 left the network. For example, with Reno or NewReno style 1465 TCP, the number of duplicate acknowledgement is used to 1466 count the number of segments that have left the network. 1467 I.e.: 1469 PipeSize=SND.NXT-SND.UNA+(retransmits-dupacks)*CurMSS" 1470 ::= { tcpEStatsPerfEntry 42 } 1472 tcpEStatsPerfMaxPipeSize OBJECT-TYPE 1473 SYNTAX Gauge32 1474 MAX-ACCESS read-only 1475 STATUS current 1476 DESCRIPTION 1477 "The maximum value of PipeSize, for this connection." 1478 ::= { tcpEStatsPerfEntry 43 } 1480 tcpEStatsPerfTimeouts OBJECT-TYPE 1481 SYNTAX ZeroBasedCounter32 1482 MAX-ACCESS read-only 1483 STATUS current 1484 DESCRIPTION 1485 "The number of times the retransmit timeout has expired when 1486 the RTO backoff multiplier is equal to one. See [RFC2988]." 1487 ::= { tcpEStatsPerfEntry 44 } 1489 tcpEStatsPerfSegsRetrans OBJECT-TYPE 1490 SYNTAX ZeroBasedCounter32 1491 MAX-ACCESS read-only 1492 STATUS current 1493 DESCRIPTION 1494 "The number of segments transmitted containing at least some 1495 retransmitted data." 1496 ::= { tcpEStatsPerfEntry 45 } 1498 tcpEStatsPerfOctetsRetrans OBJECT-TYPE 1499 SYNTAX ZeroBasedCounter32 1500 MAX-ACCESS read-only 1501 STATUS current 1502 DESCRIPTION 1503 "The number of octets retransmitted." 1504 ::= { tcpEStatsPerfEntry 46 } 1506 tcpEStatsPerfDupAcksIn OBJECT-TYPE 1507 SYNTAX ZeroBasedCounter32 1508 MAX-ACCESS read-only 1509 STATUS current 1510 DESCRIPTION 1511 "The number of duplicate ACKs received." 1512 ::= { tcpEStatsPerfEntry 47 } 1514 tcpEStatsPerfRetranThresh OBJECT-TYPE 1515 SYNTAX Gauge32 1516 MAX-ACCESS read-only 1517 STATUS current 1518 DESCRIPTION 1519 "The number of duplicate acknowledgments required to trigger 1520 Fast Retransmit." 1521 ::= { tcpEStatsPerfEntry 48 } 1523 tcpEStatsPerfNonRecovDAEpisodes OBJECT-TYPE 1524 SYNTAX Integer32 1525 MAX-ACCESS read-only 1526 STATUS current 1527 DESCRIPTION 1528 "The number of duplicate acknowledgment episodes that did 1529 not trigger a Fast Retransmit because ACK advanced prior to 1530 the number of duplicate acknowledgements reaching 1531 RetranThresh. See [RFC2581]. 1533 In many implementations this is the number of times the 1534 'dupacks' counter is set to zero when it is non-zero but 1535 less than RetranThresh. 1537 Note that tcpEStatsPathNonRecovDAEpisodes divided by 1538 tcpEStatsPerfDataSegsOut is an estimate of the frequency of 1539 data reordering on the forward path." 1540 ::= { tcpEStatsPerfEntry 49 } 1542 tcpEStatsPerfSumOctetsReordered OBJECT-TYPE 1543 SYNTAX Integer32 1544 MAX-ACCESS read-only 1545 STATUS current 1546 DESCRIPTION 1547 "The sum of the amounts SND.UNA advances on the 1548 acknowledgment which ends a dup-ack episode without a 1549 retransmission. 1551 Note tcpEStatsPathSumOctetsReordered divided by 1552 tcpEStatsPathNonRecovDAEpisodes is an estimates of the 1553 average reordering distance, in octets." 1554 ::= { tcpEStatsPerfEntry 50 } 1556 tcpEStatsPerfNonRecovDA OBJECT-TYPE 1557 SYNTAX ZeroBasedCounter32 1558 MAX-ACCESS read-only 1559 STATUS current 1560 DESCRIPTION 1561 "Duplicate acks (or SACKS) that did not trigger a Fast 1562 Retransmit because ACK advanced prior to the number of 1563 duplicate acknowledgements reaching RetranThresh. 1565 In many implementations, this is the sum of the 'dupacks' 1566 counter, just before it is set to zero because ACK advanced 1567 without a Fast Retransmit. 1569 Note that tcpEStatsPathNonRecovDA divided by 1570 tcpEStatsPathNonRecovDAEpisodes is an estimate of the 1571 average reordering distance in segments." 1572 ::= { tcpEStatsPerfEntry 51 } 1574 tcpEStatsPerfAckAfterFR OBJECT-TYPE 1575 SYNTAX ZeroBasedCounter32 1576 MAX-ACCESS read-only 1577 STATUS current 1578 DESCRIPTION 1579 "The number of acknowledgments reporting out-of-order 1580 segments after the segments have already be retransmitted 1581 (For example as detected by the Eiffle algorithm, 1582 [RFC3522])." 1583 ::= { tcpEStatsPerfEntry 52 } 1585 -- 1586 -- The following objects instrument the round trip time 1587 -- estimator and the retransmission timeout timer. See 1588 -- [RFC2988]. 1589 -- 1591 tcpEStatsPerfSmoothedRTT OBJECT-TYPE 1592 SYNTAX Gauge32 1593 MAX-ACCESS read-only 1594 STATUS current 1595 DESCRIPTION 1596 "The smoothed round trip time, in milliseconds, used in 1597 calculation of the RTO. See SRTT in [RFC2988]." 1598 ::= { tcpEStatsPerfEntry 53 } 1600 tcpEStatsPerfRTTVar OBJECT-TYPE 1601 SYNTAX Gauge32 1602 MAX-ACCESS read-only 1603 STATUS current 1604 DESCRIPTION 1605 "The round trip time variation, in milliseconds, used in 1606 calculation of the RTO. See RTTVAR in [RFC2988]." 1607 ::= { tcpEStatsPerfEntry 54 } 1609 tcpEStatsPerfMaxRTT OBJECT-TYPE 1610 SYNTAX Gauge32 1611 MAX-ACCESS read-only 1612 STATUS current 1613 DESCRIPTION 1614 "The maximum sampled round trip time, in milliseconds." 1615 ::= { tcpEStatsPerfEntry 55 } 1617 tcpEStatsPerfMinRTT OBJECT-TYPE 1618 SYNTAX Gauge32 1619 MAX-ACCESS read-only 1620 STATUS current 1621 DESCRIPTION 1622 "The minimum sampled round trip time, in milliseconds." 1623 ::= { tcpEStatsPerfEntry 56 } 1625 tcpEStatsPerfCurRTO OBJECT-TYPE 1626 SYNTAX Gauge32 1627 MAX-ACCESS read-only 1628 STATUS current 1629 DESCRIPTION 1630 "The current value of the retransmit timer RTO, in 1631 milliseconds, not scaled by the RTO backoff multiplier. See 1632 [RFC2988]." 1633 ::= { tcpEStatsPerfEntry 57 } 1635 -- 1636 -- The following objects instrument the local receiver. Nearly 1637 -- all other instruments report how well the local sender is 1638 -- coping with the path and application. These objects 1639 -- instrument how the receiver is processing incoming data. 1640 -- 1642 tcpEStatsPerfCurRwinSent OBJECT-TYPE 1643 SYNTAX Gauge32 1644 MAX-ACCESS read-only 1645 STATUS current 1646 DESCRIPTION 1647 "The most recent window advertisement sent, in octets." 1648 ::= { tcpEStatsPerfEntry 58 } 1650 tcpEStatsPerfMaxRwinSent OBJECT-TYPE 1651 SYNTAX Gauge32 1652 MAX-ACCESS read-only 1653 STATUS current 1654 DESCRIPTION 1655 "The maximum window advertisement sent, in octets." 1656 ::= { tcpEStatsPerfEntry 59 } 1658 tcpEStatsPerfZeroRwinSent OBJECT-TYPE 1659 SYNTAX Gauge32 1660 MAX-ACCESS read-only 1661 STATUS current 1662 DESCRIPTION 1663 "The number of acknowledgements sent announcing a zero 1664 receive window, when the previously announced window was 1665 not zero." 1666 ::= { tcpEStatsPerfEntry 60 } 1668 tcpEStatsPerfDupAckEpisodes OBJECT-TYPE 1669 SYNTAX ZeroBasedCounter32 1670 MAX-ACCESS read-only 1671 STATUS current 1672 DESCRIPTION 1673 "The number of Duplicate Acks Sent when prior Ack was not 1674 duplicate. This is the number of times that a contiguous 1675 series of duplicate acknowledgments have been sent. 1677 This is an indication of the number of data segmets lost 1678 (or reordered) on the path from the remote TCP endpoint to 1679 the near TCP endpoint." 1680 ::= { tcpEStatsPerfEntry 61 } 1682 tcpEStatsPerfDupAcksOut OBJECT-TYPE 1683 SYNTAX ZeroBasedCounter32 1684 MAX-ACCESS read-only 1685 STATUS current 1686 DESCRIPTION 1687 "The number of duplicate ACKs sent. The ratio of 1688 tcpEStatsPerfDupAcksOut to tcpEStatsPerfDupAckEpisodes is 1689 an indication of reorder or recovery distance." 1690 ::= { tcpEStatsPerfEntry 62 } 1692 -- 1693 -- The following objects instrument receiver window updates 1694 -- from the far end-system to determine if the remote receiver 1695 -- has sufficient buffer space or is exerting flow-control 1696 -- back pressure on the local sender. 1697 -- 1699 tcpEStatsPerfCurRwinRcvd OBJECT-TYPE 1700 SYNTAX Gauge32 1701 MAX-ACCESS read-only 1702 STATUS current 1703 DESCRIPTION 1704 "The most recent window advertisement received, in octets." 1705 ::= { tcpEStatsPerfEntry 63 } 1707 tcpEStatsPerfMaxRwinRcvd OBJECT-TYPE 1708 SYNTAX Gauge32 1709 MAX-ACCESS read-only 1710 STATUS current 1711 DESCRIPTION 1712 "The maximum window advertisement received, in octets." 1713 ::= { tcpEStatsPerfEntry 64 } 1715 tcpEStatsPerfZeroRwinRcvd OBJECT-TYPE 1716 SYNTAX Gauge32 1717 MAX-ACCESS read-only 1718 STATUS current 1719 DESCRIPTION 1720 "The number of acknowledgements received announcing a zero 1721 receive window, when the previously announced window was 1722 not zero." 1723 ::= { tcpEStatsPerfEntry 65 } 1725 -- ================================================================ 1726 -- 1727 -- Additional statistics for diagnosing path problems 1728 -- 1730 tcpEStatsPathTable OBJECT-TYPE 1731 SYNTAX SEQUENCE OF TcpEStatsPathEntry 1732 MAX-ACCESS not-accessible 1733 STATUS current 1734 DESCRIPTION 1735 "This table contains objects that can be used to infer 1736 detailed behavior of the Internet path, such as the 1737 extent that there is reordering, ECN bits and if 1738 RTT fluctuations are correlated to losses." 1739 ::= { tcpEStats 3 } 1741 tcpEStatsPathEntry OBJECT-TYPE 1742 SYNTAX TcpEStatsPathEntry 1743 MAX-ACCESS not-accessible 1744 STATUS current 1745 DESCRIPTION 1746 "Each entry in this table has information about the 1747 characteristics of each active and recently closed tcp 1748 connection." 1749 INDEX { tcpEStatsConnectIndex } 1750 ::= { tcpEStatsPathTable 1 } 1752 TcpEStatsPathEntry ::= SEQUENCE { 1753 tcpEStatsPathIpTtl Integer32, 1754 tcpEStatsPathIpTosIn Integer32, 1755 tcpEStatsPathIpTosOut Integer32, 1756 tcpEStatsPathPreCongSumCwnd ZeroBasedCounter32, 1757 tcpEStatsPathPreCongSumRTT ZeroBasedCounter32, 1758 tcpEStatsPathPostCongSumRTT ZeroBasedCounter32, 1759 tcpEStatsPathPostCongCountRTT ZeroBasedCounter32, 1760 tcpEStatsPathECNsignals ZeroBasedCounter32, 1761 tcpEStatsPathECERcvd ZeroBasedCounter32, 1762 tcpEStatsPathQuenchRcvd ZeroBasedCounter32, 1763 tcpEStatsPathSumRTT ZeroBasedCounter32, 1764 tcpEStatsPathHCSumRTT ZeroBasedCounter64, 1765 tcpEStatsPathCountRTT ZeroBasedCounter32, 1766 tcpEStatsPathCERcvd ZeroBasedCounter32, 1767 tcpEStatsPathECNSent ZeroBasedCounter32, 1768 tcpEStatsPathECNNonceRcvd ZeroBasedCounter32 1769 } 1771 -- 1772 -- The following objects provide information about how TCP is 1773 -- using the IP layer. 1774 -- 1776 tcpEStatsPathIpTtl OBJECT-TYPE 1777 SYNTAX Integer32 1778 MAX-ACCESS read-only 1779 STATUS current 1780 DESCRIPTION 1781 "The value of the TTL field carried in the most recently 1782 received IP header. This is sometimes useful to detect 1783 changing or unstable routes." 1784 ::= { tcpEStatsPathEntry 1 } 1786 tcpEStatsPathIpTosIn OBJECT-TYPE 1787 SYNTAX Integer32 1788 MAX-ACCESS read-only 1789 STATUS current 1790 DESCRIPTION 1791 "The value of the IPv4 Type Of Service octet, or the IPv6 1792 traffic class octet, carried in the most recently received 1793 IP header. See [RFC2474] and [RFC3260]. 1795 This is useful to diagnose interactions between TCP and any 1796 IP layer packet scheduling and delivery policy, which might 1797 be in effect to implement QoS." 1798 ::= { tcpEStatsPathEntry 2 } 1800 tcpEStatsPathIpTosOut OBJECT-TYPE 1801 SYNTAX Integer32 1802 MAX-ACCESS read-only 1803 STATUS current 1804 DESCRIPTION 1805 "The value of the IPv4 Type Of Service octet, or the IPv6 1806 traffic class octet, carried in the most recently 1807 transmitted IP header. See [RFC2474] and [RFC3260]. 1809 This is useful to diagnose interactions between TCP and any 1810 IP layer packet scheduling and delivery policy, which might 1811 be in effect to implement QoS." 1812 ::= { tcpEStatsPathEntry 3 } 1814 -- 1815 -- The following objects characterize the congestion feedback 1816 -- signals by collecting statistics on how the congestion 1817 -- events are correlated to losses, changes in RTT and other 1818 -- protocol events. 1819 -- 1820 tcpEStatsPathPreCongSumCwnd OBJECT-TYPE 1821 SYNTAX ZeroBasedCounter32 1822 MAX-ACCESS read-only 1823 STATUS current 1824 DESCRIPTION 1825 "The sum of the values of the congestion window, in octets, 1826 captured each time a congestion signal is received. This 1827 MUST be updated each time tcpEStatsPerfCongSignals is 1828 incremented, such that the ratio is the average window at 1829 congestion." 1830 ::= { tcpEStatsPathEntry 4 } 1832 tcpEStatsPathPreCongSumRTT OBJECT-TYPE 1833 SYNTAX ZeroBasedCounter32 1834 MAX-ACCESS read-only 1835 STATUS current 1836 DESCRIPTION 1837 "Sum of the last sample of the RTT (tcpEStatsPerfSampleRTT) 1838 prior to received congestion signals. This MUST be updated 1839 each time tcpEStatsPerfCongSignals is incremented, such 1840 that the ratio is the average RTT just prior to congestion." 1841 ::= { tcpEStatsPathEntry 5 } 1843 tcpEStatsPathPostCongSumRTT OBJECT-TYPE 1844 SYNTAX ZeroBasedCounter32 1845 MAX-ACCESS read-only 1846 STATUS current 1847 DESCRIPTION 1848 "Sum of the first RTT sample following a received congestion 1849 signal." 1850 ::= { tcpEStatsPathEntry 6 } 1852 tcpEStatsPathPostCongCountRTT OBJECT-TYPE 1853 SYNTAX ZeroBasedCounter32 1854 MAX-ACCESS read-only 1855 STATUS current 1856 DESCRIPTION 1857 "The number of RTT samples included in 1858 tcpEStatsPathPostCongSumRTT and 1859 tcpEStatsPathPostCongHCSumRTT, such that the ratio is 1860 average RTT just after congestion." 1861 ::= { tcpEStatsPathEntry 7 } 1863 -- 1864 -- The following objects can be used to detect other types of 1865 -- non-loss congestion signals such as source quench or ECN. 1866 -- 1867 tcpEStatsPathECNsignals OBJECT-TYPE 1868 SYNTAX ZeroBasedCounter32 1869 MAX-ACCESS read-only 1870 STATUS current 1871 DESCRIPTION 1872 "The number of congestion signals delivered via all forms of 1873 explicit congestion notification including the ECE bit and 1874 failing the ECN nonce check, etc." 1875 ::= { tcpEStatsPathEntry 8 } 1877 tcpEStatsPathECERcvd OBJECT-TYPE 1878 SYNTAX ZeroBasedCounter32 1879 MAX-ACCESS read-only 1880 STATUS current 1881 DESCRIPTION 1882 "The number of congestion signals received via the [RFC3168] 1883 ECE bit." 1884 ::= { tcpEStatsPathEntry 9 } 1886 tcpEStatsPathQuenchRcvd OBJECT-TYPE 1887 SYNTAX ZeroBasedCounter32 1888 MAX-ACCESS read-only 1889 STATUS current 1890 DESCRIPTION 1891 "The number of ICMP quench messages that are treated as 1892 congestion signals." 1893 ::= { tcpEStatsPathEntry 10 } 1895 tcpEStatsPathSumRTT OBJECT-TYPE 1896 SYNTAX ZeroBasedCounter32 1897 MAX-ACCESS read-only 1898 STATUS current 1899 DESCRIPTION 1900 "The sum of all sampled round trip times, in milliseconds." 1901 ::= { tcpEStatsPathEntry 11 } 1903 tcpEStatsPathHCSumRTT OBJECT-TYPE 1904 SYNTAX ZeroBasedCounter64 1905 MAX-ACCESS read-only 1906 STATUS current 1907 DESCRIPTION 1908 "The sum of all sampled round trip times, in milliseconds, 1909 on all systems that implement multiple concurrent RTT 1910 measurements." 1911 ::= { tcpEStatsPathEntry 12 } 1913 tcpEStatsPathCountRTT OBJECT-TYPE 1914 SYNTAX ZeroBasedCounter32 1915 MAX-ACCESS read-only 1916 STATUS current 1917 DESCRIPTION 1918 "The number of round trip time samples included in 1919 tcpEStatsPerfSumRTT." 1920 ::= { tcpEStatsPathEntry 13 } 1922 tcpEStatsPathCERcvd OBJECT-TYPE 1923 SYNTAX ZeroBasedCounter32 1924 MAX-ACCESS read-only 1925 STATUS current 1926 DESCRIPTION 1927 "Received segments with Congestion Experienced bits. See 1928 [RFC3168]." 1929 ::= { tcpEStatsPathEntry 14 } 1931 tcpEStatsPathECNSent OBJECT-TYPE 1932 SYNTAX ZeroBasedCounter32 1933 MAX-ACCESS read-only 1934 STATUS current 1935 DESCRIPTION 1936 "Number of times CE bits have set ECN. See [RFC3168]." 1937 ::= { tcpEStatsPathEntry 15 } 1939 tcpEStatsPathECNNonceRcvd OBJECT-TYPE 1940 SYNTAX ZeroBasedCounter32 1941 MAX-ACCESS read-only 1942 STATUS current 1943 DESCRIPTION 1944 "Number of ECN Nonces received. Note that the low bit is the 1945 same as the one bit nonce sum." 1946 ::= { tcpEStatsPathEntry 16 } 1948 -- ================================================================ 1949 -- 1950 -- Additional statistics for diagnosing stack algorithms 1951 -- 1953 tcpEStatsStackTable OBJECT-TYPE 1954 SYNTAX SEQUENCE OF TcpEStatsStackEntry 1955 MAX-ACCESS not-accessible 1956 STATUS current 1957 DESCRIPTION 1958 "This table contains objects that are most useful for 1959 determining how well some of the TCP control 1960 algorithms are coping with this particular 1961 path." 1962 ::= { tcpEStats 4 } 1964 tcpEStatsStackEntry OBJECT-TYPE 1965 SYNTAX TcpEStatsStackEntry 1966 MAX-ACCESS not-accessible 1967 STATUS current 1968 DESCRIPTION 1969 "Each entry in this table has information about the 1970 characteristics of each active and recently closed tcp 1971 connection." 1972 INDEX { tcpEStatsConnectIndex } 1973 ::= { tcpEStatsStackTable 1 } 1975 TcpEStatsStackEntry ::= SEQUENCE { 1976 tcpEStatsStackMSSSent Unsigned32, 1977 tcpEStatsStackMSSRcvd Unsigned32, 1978 tcpEStatsStackWinScaleSent Integer32, 1979 tcpEStatsStackWinScaleRcvd Integer32, 1980 tcpEStatsStackSACKokSent TruthValue, 1981 tcpEStatsStackSACKokRcvd TruthValue, 1982 tcpEStatsStackTimeStampSent TruthValue, 1983 tcpEStatsStackTimeStampRcvd TruthValue, 1984 tcpEStatsStackSoftErrors ZeroBasedCounter32, 1985 tcpEStatsStackSoftErrorReason INTEGER, 1986 tcpEStatsStackSndInitial Counter32, 1987 tcpEStatsStackRecInitial Counter32, 1988 tcpEStatsStackSlowStart ZeroBasedCounter32, 1989 tcpEStatsStackCongAvoid ZeroBasedCounter32, 1990 tcpEStatsStackOtherReductions ZeroBasedCounter32, 1991 tcpEStatsStackCongOverCount ZeroBasedCounter32, 1992 tcpEStatsStackInRecovery INTEGER, 1993 tcpEStatsStackFastRetran ZeroBasedCounter32, 1994 tcpEStatsStackSubsequentTimeouts ZeroBasedCounter32, 1995 tcpEStatsStackCurTimeoutCount Gauge32, 1996 tcpEStatsStackAbruptTimeouts ZeroBasedCounter32, 1997 tcpEStatsStackSACKsRcvd ZeroBasedCounter32, 1998 tcpEStatsStackSACKBlocksRcvd ZeroBasedCounter32, 1999 tcpEStatsStackSendStall ZeroBasedCounter32, 2000 tcpEStatsStackDSACKDups ZeroBasedCounter32, 2001 tcpEStatsStackSampleRTT Gauge32, 2002 tcpEStatsStackMaxRTO Gauge32, 2003 tcpEStatsStackMinRTO Gauge32, 2004 tcpEStatsStackMaxMSS Gauge32, 2005 tcpEStatsStackMinMSS Gauge32, 2006 tcpEStatsStackCurRetxQueue Gauge32, 2007 tcpEStatsStackMaxRetxQueue Gauge32, 2008 tcpEStatsStackCurReasmQueue Gauge32, 2009 tcpEStatsStackMaxReasmQueue Gauge32 2010 } 2012 -- 2013 -- The following objects reflect the options requested on the 2014 -- SYN and/or SYN-ACK. These are useful for debugging problems 2015 -- with TCP option negotiation. 2016 -- 2018 tcpEStatsStackMSSSent OBJECT-TYPE 2019 SYNTAX Unsigned32 2020 MAX-ACCESS read-only 2021 STATUS current 2022 DESCRIPTION 2023 "The value sent in an MSS option, or zero if none." 2024 ::= { tcpEStatsStackEntry 1 } 2026 tcpEStatsStackMSSRcvd OBJECT-TYPE 2027 SYNTAX Unsigned32 2028 MAX-ACCESS read-only 2029 STATUS current 2030 DESCRIPTION 2031 "The value received in an MSS option, or zero if none." 2032 ::= { tcpEStatsStackEntry 2 } 2034 tcpEStatsStackWinScaleSent OBJECT-TYPE 2035 SYNTAX Integer32 (-1..14) 2036 MAX-ACCESS read-only 2037 STATUS current 2038 DESCRIPTION 2039 "The value of the transmitted window scale option if one was 2040 sent; otherwise, a value of -1. See [RFC1323]." 2041 ::= { tcpEStatsStackEntry 3 } 2043 tcpEStatsStackWinScaleRcvd OBJECT-TYPE 2044 SYNTAX Integer32 (-1..14) 2045 MAX-ACCESS read-only 2046 STATUS current 2047 DESCRIPTION 2048 "The value of the received window scale option if one was 2049 received; otherwise, a value of -1. See [RFC1323]." 2050 ::= { tcpEStatsStackEntry 4 } 2052 tcpEStatsStackSACKokSent OBJECT-TYPE 2053 SYNTAX TruthValue 2054 MAX-ACCESS read-only 2055 STATUS current 2056 DESCRIPTION 2057 "True(1) if SACKok option was sent, else false(2). See 2058 [RFC2018]." 2059 ::= { tcpEStatsStackEntry 5 } 2061 tcpEStatsStackSACKokRcvd OBJECT-TYPE 2062 SYNTAX TruthValue 2063 MAX-ACCESS read-only 2064 STATUS current 2065 DESCRIPTION 2066 "True(1) if SACKok option was received, else false(2). See 2067 [RFC2018]." 2068 ::= { tcpEStatsStackEntry 6 } 2070 tcpEStatsStackTimeStampSent OBJECT-TYPE 2071 SYNTAX TruthValue 2072 MAX-ACCESS read-only 2073 STATUS current 2074 DESCRIPTION 2075 "True(1) if Timestamp option was sent, else false(2). See 2076 [RFC1323]." 2077 ::= { tcpEStatsStackEntry 7 } 2079 tcpEStatsStackTimeStampRcvd OBJECT-TYPE 2080 SYNTAX TruthValue 2081 MAX-ACCESS read-only 2082 STATUS current 2083 DESCRIPTION 2084 "True(1) if Timestamp option was received, else false(2). 2085 See [RFC1323]." 2086 ::= { tcpEStatsStackEntry 8 } 2088 -- 2089 -- The following objects instrument unusual protocol events 2090 -- that probably indicate implementation problems in the 2091 -- protocol or path. 2092 -- 2094 tcpEStatsStackSoftErrors OBJECT-TYPE 2095 SYNTAX ZeroBasedCounter32 2096 MAX-ACCESS read-only 2097 STATUS current 2098 DESCRIPTION 2099 "The number segments that fail various consistency tests 2100 during TCP input processing. Soft errors might cause the 2101 segment to be discard but some do not. Some of these soft 2102 errors cause the the generation of a TCP ancknowledgement, 2103 others are silently discarded." 2104 ::= { tcpEStatsStackEntry 9 } 2106 tcpEStatsStackSoftErrorReason OBJECT-TYPE 2107 SYNTAX INTEGER { 2108 belowDataWindow(1), 2109 aboveDataWindow(2), 2110 belowAckWindow(3), 2111 aboveAckWindow(4), 2112 belowTSWindow(5), 2113 aboveTSWindow(6), 2114 dataCheckSum(7), 2115 otherSoftError(8) 2116 } 2117 MAX-ACCESS read-only 2118 STATUS current 2119 DESCRIPTION 2120 "This object identities which consistency test most recently 2121 failed during tcp input processing. This object should be 2122 set every time tcpEStatsStackSoftErrors is incremented. The 2123 codes are as follows: 2125 belowDataWindow - All data in the segment is to below 2126 SND.UNA. (Normal for keep alives and possibly zero window 2127 probes). 2129 aboveDataWindow - Some data in the segment is above 2130 SND.WND. (Indicates an implementation bug or serious 2131 fraud). 2133 belowAckWindow - ACK below SND.UNA. (Indicates that the 2134 return path is reordering ACKs) 2136 aboveAckWindow - An ACK for data that we have not sent. 2137 (Indicates an implementation bug or serious fraud). 2139 belowTSWindow - TSecr on the segment is older than the 2140 current TS.Recent [RFC1323] (Normal for PAWS detecting data 2141 reordered by the network.) 2143 aboveTSWindow - TSecr on the segment is newer than the 2144 current TS.Recent [RFC1323]. (Indicates an implementation 2145 bug or serious fraud). 2147 dataCheckSum - Incorrect checksum. Note that this value is 2148 intrinsicly fragile, because the header fields used to 2149 identify the connection may have been corrupted. 2151 otherSoftError - All other soft errors. 2153 Implementors are permitted to assign additional codes 2154 greater than 8 such that all SoftErrors in their 2155 implementation have unique codes. Management stations are 2156 to accumulate all unassigned codes as 'otherSoftErrors'" 2158 ::= { tcpEStatsStackEntry 10 } 2160 tcpEStatsStackSndInitial OBJECT-TYPE 2161 SYNTAX Counter32 2162 MAX-ACCESS read-only 2163 STATUS current 2164 DESCRIPTION 2165 "Initial send sequence number. Note that by definition 2166 tcpEStatsStackSndInitial never changes for a given 2167 connection. See [RFC793]." 2168 ::= { tcpEStatsStackEntry 11 } 2170 tcpEStatsStackRecInitial OBJECT-TYPE 2171 SYNTAX Counter32 2172 MAX-ACCESS read-only 2173 STATUS current 2174 DESCRIPTION 2175 "Initial receive sequence number. Note that by definition 2176 tcpEStatsStackRecInitial never changes for a given 2177 connection. See [RFC793]." 2178 ::= { tcpEStatsStackEntry 12 } 2180 -- 2181 -- The following objects expose the detailed operation of the 2182 -- congestion control algorithms. 2183 -- 2185 tcpEStatsStackSlowStart OBJECT-TYPE 2186 SYNTAX ZeroBasedCounter32 2187 MAX-ACCESS read-only 2188 STATUS current 2189 DESCRIPTION 2190 "The number of times the congestion window has been 2191 increased by the Slow Start algorithm. See [RFC2581]." 2192 ::= { tcpEStatsStackEntry 13 } 2194 tcpEStatsStackCongAvoid OBJECT-TYPE 2195 SYNTAX ZeroBasedCounter32 2196 MAX-ACCESS read-only 2197 STATUS current 2198 DESCRIPTION 2199 "The number of times the congestion window has been 2200 increased by the Congestion Avoidance algorithm. See 2201 [RFC2581]." 2202 ::= { tcpEStatsStackEntry 14 } 2204 tcpEStatsStackOtherReductions OBJECT-TYPE 2205 SYNTAX ZeroBasedCounter32 2206 MAX-ACCESS read-only 2207 STATUS current 2208 DESCRIPTION 2209 "The number of congestion window reductions made as a result 2210 of anything other than AIMD congestion control algorithms. 2211 Examples of non-multiplicative window reductions include 2212 experimental algorithms such as Vegas [Bra94], and 2213 Congestion Window Validation [RFC2861]. 2215 All window reductions MUST be counted as either 2216 tcpEStatsPerfCongSignals or tcpEStatsPerfOtherReductions." 2217 ::= { tcpEStatsStackEntry 15 } 2219 tcpEStatsStackCongOverCount OBJECT-TYPE 2220 SYNTAX ZeroBasedCounter32 2221 MAX-ACCESS read-only 2222 STATUS current 2223 DESCRIPTION 2224 "The number of congestion events which were 'backed out' of 2225 the congestion control state machine such that the 2226 congestion window was restored to a prior value. This can 2227 happen due to the Eiffle algorithm [RFC3522] or other 2228 algorithms which can be used to detect and cancel spurious 2229 invocations of the Fast Retransmit Algorithm. 2231 Although it may be feasible to undo the effects of spurious 2232 invocation of the Fast Retransmit the congestion events can 2233 not easily be backed out of tcpEStatsPerfCongSignals and 2234 tcpEStatsPathPreCongSumCwnd, etc." 2235 ::= { tcpEStatsStackEntry 16 } 2237 tcpEStatsStackInRecovery OBJECT-TYPE 2238 SYNTAX INTEGER { 2239 wcDataContiguous(1), 2240 wcDataUnordered(2), 2241 wcDataRecovery(3) 2242 } 2243 MAX-ACCESS read-only 2244 STATUS current 2245 DESCRIPTION 2246 "An integer value representing the state of the loss 2247 recovery for this connection. 2249 wcDataContiguous(1) indicates that the remote receiver is 2250 reporting contiguous data (no duplicate acknowledgments or 2251 SACK options) and that there are no unacknowledged 2252 retransmissions. 2254 wcDataUnordered(2) indicates that the remote receiver is 2255 reporting missing or out-of-order data (sending duplicate 2256 acknowledgments or SACK options) and that there are no 2257 unacknowledged retransmissions (because the missing data 2258 has not yet been retransmitted). 2260 wcDataRecovery(3) indicates that the sender has outstanding 2261 retransmitted data which is still in flight (i.e. is still 2262 unacknowledged). 2264 tcpEStatsStackInRecovery is useful for qualifying 2265 consistency checks on other instruments. E.g. does the 2266 total data acknowledged agree with the total data sent. 2267 This and other checks may not be valid during recovery." 2268 ::= { tcpEStatsStackEntry 17 } 2270 tcpEStatsStackFastRetran OBJECT-TYPE 2271 SYNTAX ZeroBasedCounter32 2272 MAX-ACCESS read-only 2273 STATUS current 2274 DESCRIPTION 2275 "The number of invocations of the Fast Retransmit algorithm. 2276 See [RFC2581]." 2277 ::= { tcpEStatsStackEntry 18 } 2279 tcpEStatsStackSubsequentTimeouts OBJECT-TYPE 2280 SYNTAX ZeroBasedCounter32 2281 MAX-ACCESS read-only 2282 STATUS current 2283 DESCRIPTION 2284 "The number of times the retransmit timeout has expired when 2285 the RTO backoff multiplier is greater than one. See 2286 [RFC2988]." 2287 ::= { tcpEStatsStackEntry 19 } 2289 tcpEStatsStackCurTimeoutCount OBJECT-TYPE 2290 SYNTAX Gauge32 2291 MAX-ACCESS read-only 2292 STATUS current 2293 DESCRIPTION 2294 "The current number of times the retransmit timeout has 2295 expired without receiving an acknowledgment for new data. 2296 CurTimeoutCount is reset to zero when new data is 2297 acknowledged. See [RFC2988]." 2298 ::= { tcpEStatsStackEntry 20 } 2300 tcpEStatsStackAbruptTimeouts OBJECT-TYPE 2301 SYNTAX ZeroBasedCounter32 2302 MAX-ACCESS read-only 2303 STATUS current 2304 DESCRIPTION 2305 "The number of timeouts that occurred without any 2306 immediately preceding duplicate acknowledgments or other 2307 indications of congestion. Abrupt Timeouts indicate that 2308 the path lost an entire window of data or acknowledgements. 2310 Timeouts that are preceded by duplicate acknowledgements or 2311 other congestion signals (e.g. ECN) are not counted as 2312 abrupt, and might have been avoided by a more sophisticated 2313 Fast Retransmit algorithm." 2314 ::= { tcpEStatsStackEntry 21 } 2316 tcpEStatsStackSACKsRcvd OBJECT-TYPE 2317 SYNTAX ZeroBasedCounter32 2318 MAX-ACCESS read-only 2319 STATUS current 2320 DESCRIPTION 2321 "The number of SACK options received. See [RFC2018]." 2322 ::= { tcpEStatsStackEntry 22 } 2324 tcpEStatsStackSACKBlocksRcvd OBJECT-TYPE 2325 SYNTAX ZeroBasedCounter32 2326 MAX-ACCESS read-only 2327 STATUS current 2328 DESCRIPTION 2329 "The number of SACK blocks received (within SACK options)." 2330 ::= { tcpEStatsStackEntry 23 } 2332 tcpEStatsStackSendStall OBJECT-TYPE 2333 SYNTAX ZeroBasedCounter32 2334 MAX-ACCESS read-only 2335 STATUS current 2336 DESCRIPTION 2337 "The number of interface stalls or other sender local 2338 resource limitations that are treated as congestion 2339 signals." 2340 ::= { tcpEStatsStackEntry 24 } 2342 tcpEStatsStackDSACKDups OBJECT-TYPE 2343 SYNTAX ZeroBasedCounter32 2344 MAX-ACCESS read-only 2345 STATUS current 2346 DESCRIPTION 2347 "The number of duplicate segments reported to the local host 2348 by D-SACK blocks. See [RFC2883]." 2349 ::= { tcpEStatsStackEntry 25 } 2351 tcpEStatsStackSampleRTT OBJECT-TYPE 2352 SYNTAX Gauge32 2353 MAX-ACCESS read-only 2354 STATUS current 2355 DESCRIPTION 2356 "The most recent raw round trip time measurement, in 2357 milliseconds, used in calculation of the RTO." 2358 ::= { tcpEStatsStackEntry 26 } 2360 tcpEStatsStackMaxRTO OBJECT-TYPE 2361 SYNTAX Gauge32 2362 MAX-ACCESS read-only 2363 STATUS current 2364 DESCRIPTION 2365 "The maximum value of the retransmit timer RTO, in 2366 milliseconds, not scaled by the RTO backoff multiplier. See 2367 [RFC2988]." 2368 ::= { tcpEStatsStackEntry 27 } 2370 tcpEStatsStackMinRTO OBJECT-TYPE 2371 SYNTAX Gauge32 2372 MAX-ACCESS read-only 2373 STATUS current 2374 DESCRIPTION 2375 "The minimum value of the retransmit timer RTO, in 2376 milliseconds, not scaled by the RTO backoff multiplier. See 2377 [RFC2988]." 2378 ::= { tcpEStatsStackEntry 28 } 2380 -- 2381 -- The following objects instrument path MTU discovery. 2382 -- 2384 tcpEStatsStackMaxMSS OBJECT-TYPE 2385 SYNTAX Gauge32 2386 MAX-ACCESS read-only 2387 STATUS current 2388 DESCRIPTION 2389 "The maximum MSS, in octets. See [RFC1191]." 2390 ::= { tcpEStatsStackEntry 29 } 2392 tcpEStatsStackMinMSS OBJECT-TYPE 2393 SYNTAX Gauge32 2394 MAX-ACCESS read-only 2395 STATUS current 2396 DESCRIPTION 2397 "The minimum MSS, in octets. See [RFC1191]." 2398 ::= { tcpEStatsStackEntry 30 } 2400 -- 2401 -- The following objects instrument the senders buffer usage, 2402 -- including any buffering in the application interface to TCP 2403 -- and the retransmit queue. All 'buffer memory' instruments 2404 -- are assumed to include OS data structure overhead. 2405 -- 2407 tcpEStatsStackCurRetxQueue OBJECT-TYPE 2408 SYNTAX Gauge32 2409 MAX-ACCESS read-only 2410 STATUS current 2411 DESCRIPTION 2412 "The current number of octets of data occupying the 2413 retransmit queue." 2414 ::= { tcpEStatsStackEntry 31 } 2416 tcpEStatsStackMaxRetxQueue OBJECT-TYPE 2417 SYNTAX Gauge32 2418 MAX-ACCESS read-only 2419 STATUS current 2420 DESCRIPTION 2421 "The maximum number of octets of data occupying the 2422 retransmit queue." 2423 ::= { tcpEStatsStackEntry 32 } 2425 tcpEStatsStackCurReasmQueue OBJECT-TYPE 2426 SYNTAX Gauge32 2427 MAX-ACCESS read-only 2428 STATUS current 2429 DESCRIPTION 2430 "The current number of octets of sequence space spanned by 2431 the reassembly queue. This is generally the difference 2432 between rcv.nxt and the sequence number of the right most 2433 edge of the reassembly queue." 2434 ::= { tcpEStatsStackEntry 33 } 2436 tcpEStatsStackMaxReasmQueue OBJECT-TYPE 2437 SYNTAX Gauge32 2438 MAX-ACCESS read-only 2439 STATUS current 2440 DESCRIPTION 2441 "The maximum value of tcpEStatsStackCurReasmQueue" 2442 ::= { tcpEStatsStackEntry 34 } 2444 -- ================================================================ 2445 -- 2446 -- Additional statistics for diagnosing interactions between 2447 -- applications and TCP. 2449 -- 2451 tcpEStatsAppTable OBJECT-TYPE 2452 SYNTAX SEQUENCE OF TcpEStatsAppEntry 2453 MAX-ACCESS not-accessible 2454 STATUS current 2455 DESCRIPTION 2456 "This table contains objects that are useful for 2457 determining if the application using TCP is 2458 limiting TCP performance" 2459 ::= { tcpEStats 5 } 2461 tcpEStatsAppEntry OBJECT-TYPE 2462 SYNTAX TcpEStatsAppEntry 2463 MAX-ACCESS not-accessible 2464 STATUS current 2465 DESCRIPTION 2466 "Each entry in this table has information about the 2467 characteristics of each active and recently closed tcp 2468 connection." 2469 INDEX { tcpEStatsConnectIndex } 2470 ::= { tcpEStatsAppTable 1 } 2472 TcpEStatsAppEntry ::= SEQUENCE { 2473 tcpEStatsAppCurAppWQueue Gauge32, 2474 tcpEStatsAppMaxAppWQueue Gauge32, 2475 tcpEStatsAppCurAppRQueue Gauge32, 2476 tcpEStatsAppMaxAppRQueue Gauge32 2477 } 2479 tcpEStatsAppCurAppWQueue OBJECT-TYPE 2480 SYNTAX Gauge32 2481 MAX-ACCESS read-only 2482 STATUS current 2483 DESCRIPTION 2484 "The current number of octets of application data buffered 2485 by TCP, pending first transmission. i.e. to the left of 2486 SND.NXT or SndMax. This data will generally be transmitted 2487 (and SND.NXT advanced to the left) as soon as there is 2488 available congestion window (cwnd) or receiver window 2489 (rwin). This is the amount of data readily available for 2490 transmission, without scheduling the application. TCP 2491 performance may suffer if there is insufficient queued 2492 write data." 2493 ::= { tcpEStatsAppEntry 1 } 2495 tcpEStatsAppMaxAppWQueue OBJECT-TYPE 2496 SYNTAX Gauge32 2497 MAX-ACCESS read-only 2498 STATUS current 2499 DESCRIPTION 2500 "The maximum number of octets of application data buffered 2501 by TCP, pending first transmission. This is the maximum 2502 value of tcpEStatsAppCurAppWQueue. This pair of objects can 2503 be used to determine if insufficient queued data is steady 2504 state (suggesting insufficient queue space) or transient 2505 (suggesting insufficient application performance or 2506 excessive CPU load or scheduler latency)." 2507 ::= { tcpEStatsAppEntry 2 } 2509 tcpEStatsAppCurAppRQueue OBJECT-TYPE 2510 SYNTAX Gauge32 2511 MAX-ACCESS read-only 2512 STATUS current 2513 DESCRIPTION 2514 "The current number of octets of application data that has 2515 been acknowledged by TCP but not yet delivered to the 2516 application." 2517 ::= { tcpEStatsAppEntry 3 } 2519 tcpEStatsAppMaxAppRQueue OBJECT-TYPE 2520 SYNTAX Gauge32 2521 MAX-ACCESS read-only 2522 STATUS current 2523 DESCRIPTION 2524 "The maximum number of octets of application data that has 2525 been acknowledged by TCP but not yet delivered to the 2526 application." 2527 ::= { tcpEStatsAppEntry 4 } 2529 -- ================================================================ 2530 -- 2531 -- Controls for Tuning TCP 2532 -- 2534 tcpEStatsTuneTable OBJECT-TYPE 2535 SYNTAX SEQUENCE OF TcpEStatsTuneEntry 2536 MAX-ACCESS not-accessible 2537 STATUS current 2538 DESCRIPTION 2539 "This table contains per connection controls that can 2540 be used to work around a number of common problems that 2541 plague TCP over some paths. All can be characterize as 2542 limiting the growth of the congestion window so as to 2543 prevent TCP from overwhelming some component in the path." 2544 ::= { tcpEStats 6 } 2546 tcpEStatsTuneEntry OBJECT-TYPE 2547 SYNTAX TcpEStatsTuneEntry 2548 MAX-ACCESS not-accessible 2549 STATUS current 2550 DESCRIPTION 2551 "Each entry in this table has information about the 2552 characteristics of each active and recently closed tcp 2553 connection." 2554 INDEX { tcpEStatsConnectIndex } 2555 ::= { tcpEStatsTuneTable 1 } 2557 TcpEStatsTuneEntry ::= SEQUENCE { 2558 tcpEStatsTuneLimCwnd Gauge32, 2559 tcpEStatsTuneLimSsthresh Gauge32, 2560 tcpEStatsTuneLimRwin Gauge32 2561 } 2563 tcpEStatsTuneLimCwnd OBJECT-TYPE 2564 SYNTAX Gauge32 2565 MAX-ACCESS read-write 2566 STATUS current 2567 DESCRIPTION 2568 "A control to set the maximum congestion window which may be 2569 used, in octets." 2570 ::= { tcpEStatsTuneEntry 1 } 2572 tcpEStatsTuneLimSsthresh OBJECT-TYPE 2573 SYNTAX Gauge32 2574 MAX-ACCESS read-write 2575 STATUS current 2576 DESCRIPTION 2577 "A control to limit the maximum queue space (in octets) that 2578 this TCP connection is likely to occupy during slowstart. 2580 It can be implemented with the algorithm described in 2581 RFC3742 by setting the max_sstrhesh parameter to twice 2582 tcpEStatsTuneLimSsthresh. 2584 This algorithm can be used to overcome some TCP performance 2585 problems over network paths that do not have sufficient 2586 buffering to withstand the bursts normally present during 2587 slowstart." 2588 ::= { tcpEStatsTuneEntry 2 } 2590 tcpEStatsTuneLimRwin OBJECT-TYPE 2591 SYNTAX Gauge32 2592 MAX-ACCESS read-write 2593 STATUS current 2594 DESCRIPTION 2595 "A control to set the maximum window advertisement which may 2596 be sent, in octets." 2597 ::= { tcpEStatsTuneEntry 3 } 2599 -- ================================================================ 2600 -- 2601 -- TCP Extended Statistics Notifications Group 2602 -- 2604 tcpEStatsEstablishNotification NOTIFICATION-TYPE 2605 OBJECTS { 2606 tcpEStatsConnectIndex 2607 } 2608 STATUS current 2609 DESCRIPTION 2610 "The indicated connection has been accepted 2611 (or alternatively entered the established state)." 2612 ::= { tcpEStatsNotifications 1 } 2614 tcpEStatsCloseNotification NOTIFICATION-TYPE 2615 OBJECTS { 2616 tcpEStatsConnectIndex 2617 } 2618 STATUS current 2619 DESCRIPTION 2620 "The indicated connection has left the 2621 established state" 2622 ::= { tcpEStatsNotifications 2 } 2624 -- ================================================================ 2625 -- 2626 -- Conformance Definitions 2627 -- 2629 tcpEStatsCompliances OBJECT IDENTIFIER 2630 ::= { tcpEStatsConformance 1 } 2631 tcpEStatsGroups OBJECT IDENTIFIER 2632 ::= { tcpEStatsConformance 2 } 2634 -- 2635 -- Compliance Statements 2636 -- 2638 tcpEStatsCompliance MODULE-COMPLIANCE 2639 STATUS current 2640 DESCRIPTION 2641 "Compliance statement for all systems that implement TCP 2642 extended statistics." 2643 MODULE -- this module 2644 MANDATORY-GROUPS { 2645 tcpEStatsListenerGroup, 2646 tcpEStatsConnectIdGroup, 2647 tcpEStatsPerfGroup 2648 } 2649 GROUP tcpEStatsListenerHCGroup 2650 DESCRIPTION 2651 "This group is mandatory for all systems that can 2652 wrap the values of the 32-bit counters in 2653 tcpEStatsListenerGroup in less than one hour." 2655 GROUP tcpEStatsPerfHCGroup 2656 DESCRIPTION 2657 "This group is mandatory for systems that can 2658 wrap the values of the 32-bit counters in 2659 tcpEStatsPerfGroup in less than one hour. 2661 Note that any system that can attain 10 Mb/s 2662 can potentially wrap 32-Bit Octet counters in 2663 under one hour." 2665 GROUP tcpEStatsPathGroup 2666 DESCRIPTION 2667 "This group is optional for all systems." 2669 GROUP tcpEStatsPathHCGroup 2670 DESCRIPTION 2671 "This group is mandatory for systems that can 2672 wrap the values of the 32-bit counters in 2673 tcpEStatsPathGroup in less than one hour. 2675 Note that any system that can attain 10 Mb/s 2676 can potentially wrap 32-Bit Octet counters in 2677 under one hour." 2679 GROUP tcpEStatsStackGroup 2680 DESCRIPTION 2681 "This group is optional for all systems." 2683 GROUP tcpEStatsAppGroup 2684 DESCRIPTION 2685 "This group is optional for all systems." 2687 GROUP tcpEStatsTuneGroup 2688 DESCRIPTION 2689 "This group is optional for all systems." 2691 GROUP tcpEStatsNotificationsGroup 2692 DESCRIPTION 2693 "This group is optional for all systems." 2695 GROUP tcpEStatsNotificationsCtlGroup 2696 DESCRIPTION 2697 "This group is mandatory for systems that include the 2698 tcpEStatsNotificationGroup." 2700 OBJECT tcpEStatsControlNotify 2701 MIN-ACCESS read-only 2702 DESCRIPTION 2703 "Write access is not required." 2705 ::= { tcpEStatsCompliances 1 } 2707 -- ================================================================ 2708 -- 2709 -- Units of Conformance 2710 -- 2711 tcpEStatsListenerGroup OBJECT-GROUP 2712 OBJECTS { 2713 tcpEStatsListenerTableLastChange, 2714 tcpEStatsListenerStartTime, 2715 tcpEStatsListenerSynRcvd, 2716 tcpEStatsListenerInitial, 2717 tcpEStatsListenerEstablished, 2718 tcpEStatsListenerAccepted, 2719 tcpEStatsListenerExceedBacklog, 2720 tcpEStatsListenerCurrConns, 2721 tcpEStatsListenerMaxBacklog, 2722 tcpEStatsListenerCurBacklog, 2723 tcpEStatsListenerCurEstabBacklog 2724 } 2725 STATUS current 2726 DESCRIPTION 2727 "The tcpEStatsListener group includes objects that 2728 provide valuable statistics and debugging 2729 information for TCP Listeners." 2730 ::= { tcpEStatsGroups 1 } 2732 tcpEStatsListenerHCGroup OBJECT-GROUP 2733 OBJECTS { 2734 tcpEStatsListenerHCSynRcvd, 2735 tcpEStatsListenerHCInitial, 2736 tcpEStatsListenerHCEstablished, 2737 tcpEStatsListenerHCAccepted, 2738 tcpEStatsListenerHCExceedBacklog 2740 } 2741 STATUS current 2742 DESCRIPTION 2743 "The tcpEStatsListenerHC group includes 64 bit 2744 counter in tcpEStatsListenerTable." 2745 ::= { tcpEStatsGroups 2 } 2747 tcpEStatsConnectIdGroup OBJECT-GROUP 2748 OBJECTS { 2749 tcpEStatsConnTableLatency, 2750 tcpEStatsConnectIndex 2751 } 2752 STATUS current 2753 DESCRIPTION 2754 "The tcpEStatsConnectId group includes objects that 2755 identify TCP connections and control how long TCP 2756 connection entries are retained in the tables." 2757 ::= { tcpEStatsGroups 3 } 2759 tcpEStatsPerfGroup OBJECT-GROUP 2760 OBJECTS { 2761 tcpEStatsPerfState, tcpEStatsPerfSACK, 2762 tcpEStatsPerfTimeStamps, tcpEStatsPerfECN, 2763 tcpEStatsPerfNagle, tcpEStatsPerfSndWindScale, 2764 tcpEStatsPerfRcvWindScale, 2765 tcpEStatsPerfActiveOpen, tcpEStatsPerfSegsOut, 2766 tcpEStatsPerfDataSegsOut, 2767 tcpEStatsPerfDataOctetsOut, tcpEStatsPerfSegsIn, 2768 tcpEStatsPerfDataSegsIn, 2769 tcpEStatsPerfDataOctetsIn, tcpEStatsPerfCurMSS, 2770 tcpEStatsPerfSndUna, tcpEStatsPerfSndNxt, 2771 tcpEStatsPerfSndMax, tcpEStatsPerfThruOctetsAcked, 2772 tcpEStatsPerfRcvNxt, 2773 tcpEStatsPerfThruOctetsReceived, 2774 tcpEStatsPerfElapsedSecs, 2775 tcpEStatsPerfElapsedMicroSecs, 2776 tcpEStatsPerfStartTimeStamp, 2777 tcpEStatsPerfSndLimTransRwin, 2778 tcpEStatsPerfSndLimTransCwnd, 2779 tcpEStatsPerfSndLimTransSnd, 2780 tcpEStatsPerfSndLimTimeRwin, 2781 tcpEStatsPerfSndLimTimeCwnd, 2782 tcpEStatsPerfSndLimTimeSnd, 2783 tcpEStatsPerfCongSignals, tcpEStatsPerfCurCwnd, 2784 tcpEStatsPerfMaxSsCwnd, tcpEStatsPerfMaxCaCwnd, 2785 tcpEStatsPerfCurSsthresh, 2786 tcpEStatsPerfMaxSsthresh, 2787 tcpEStatsPerfMinSsthresh, tcpEStatsPerfPipeSize, 2788 tcpEStatsPerfMaxPipeSize, tcpEStatsPerfTimeouts, 2789 tcpEStatsPerfSegsRetrans, 2790 tcpEStatsPerfOctetsRetrans, 2791 tcpEStatsPerfDupAcksIn, tcpEStatsPerfRetranThresh, 2792 tcpEStatsPerfNonRecovDAEpisodes, 2793 tcpEStatsPerfSumOctetsReordered, 2794 tcpEStatsPerfNonRecovDA, tcpEStatsPerfAckAfterFR, 2795 tcpEStatsPerfSmoothedRTT, tcpEStatsPerfRTTVar, 2796 tcpEStatsPerfMaxRTT, tcpEStatsPerfMinRTT, 2797 tcpEStatsPerfCurRTO, tcpEStatsPerfCurRwinSent, 2798 tcpEStatsPerfMaxRwinSent, 2799 tcpEStatsPerfZeroRwinSent, 2800 tcpEStatsPerfDupAckEpisodes, 2801 tcpEStatsPerfDupAcksOut, tcpEStatsPerfCurRwinRcvd, 2802 tcpEStatsPerfMaxRwinRcvd, 2803 tcpEStatsPerfZeroRwinRcvd 2804 } 2805 STATUS current 2806 DESCRIPTION 2807 "The tcpEStatsPerf group includes those objects that 2808 provide basic performance data for a TCP connection." 2809 ::= { tcpEStatsGroups 4 } 2811 tcpEStatsPerfHCGroup OBJECT-GROUP 2812 OBJECTS { 2813 tcpEStatsPerfHCDataOctetsOut, 2814 tcpEStatsPerfHCDataOctetsIn, 2815 tcpEStatsPerfHCThruOctetsAcked, 2816 tcpEStatsPerfHCThruOctetsReceived 2817 } 2818 STATUS current 2819 DESCRIPTION 2820 "The tcpEStatsPerfHC group includes 64 bit 2821 counters in the tcpEStatsPerfTable." 2822 ::= { tcpEStatsGroups 5 } 2824 tcpEStatsPathGroup OBJECT-GROUP 2825 OBJECTS { 2826 tcpEStatsControlPath, 2827 tcpEStatsPathIpTtl, tcpEStatsPathIpTosIn, 2828 tcpEStatsPathIpTosOut, 2829 tcpEStatsPathPreCongSumCwnd, 2830 tcpEStatsPathPreCongSumRTT, 2831 tcpEStatsPathPostCongSumRTT, 2832 tcpEStatsPathPostCongCountRTT, 2833 tcpEStatsPathECNsignals, tcpEStatsPathECERcvd, 2834 tcpEStatsPathQuenchRcvd, tcpEStatsPathSumRTT, 2835 tcpEStatsPathCountRTT, tcpEStatsPathCERcvd, 2836 tcpEStatsPathECNSent, tcpEStatsPathECNNonceRcvd 2837 } 2838 STATUS current 2839 DESCRIPTION 2840 "The tcpEStatsPath group includes objects that 2841 control the creation of the tcpEStatsPathTable, 2842 and provide information about the path 2843 for each TCP connection." 2844 ::= { tcpEStatsGroups 6 } 2846 tcpEStatsPathHCGroup OBJECT-GROUP 2847 OBJECTS { 2848 tcpEStatsPathHCSumRTT 2849 } 2850 STATUS current 2851 DESCRIPTION 2852 "The tcpEStatsPathHC group includes 64 bit 2853 counters in the tcpEStatsPathTable." 2854 ::= { tcpEStatsGroups 7 } 2856 tcpEStatsStackGroup OBJECT-GROUP 2857 OBJECTS { 2858 tcpEStatsControlStack, 2859 tcpEStatsStackMSSSent, tcpEStatsStackMSSRcvd, 2860 tcpEStatsStackWinScaleSent, 2861 tcpEStatsStackWinScaleRcvd, 2862 tcpEStatsStackSACKokSent, 2863 tcpEStatsStackSACKokRcvd, 2864 tcpEStatsStackTimeStampSent, 2865 tcpEStatsStackTimeStampRcvd, 2866 tcpEStatsStackSoftErrors, 2867 tcpEStatsStackSoftErrorReason, 2868 tcpEStatsStackSndInitial, 2869 tcpEStatsStackRecInitial, tcpEStatsStackSlowStart, 2870 tcpEStatsStackCongAvoid, 2871 tcpEStatsStackOtherReductions, 2872 tcpEStatsStackCongOverCount, 2873 tcpEStatsStackInRecovery, 2874 tcpEStatsStackFastRetran, 2875 tcpEStatsStackSubsequentTimeouts, 2876 tcpEStatsStackCurTimeoutCount, 2877 tcpEStatsStackAbruptTimeouts, 2878 tcpEStatsStackSACKsRcvd, 2879 tcpEStatsStackSACKBlocksRcvd, 2880 tcpEStatsStackSendStall, tcpEStatsStackDSACKDups, 2881 tcpEStatsStackSampleRTT, tcpEStatsStackMaxRTO, 2882 tcpEStatsStackMinRTO, tcpEStatsStackMaxMSS, 2883 tcpEStatsStackMinMSS, tcpEStatsStackCurRetxQueue, 2884 tcpEStatsStackMaxRetxQueue, 2885 tcpEStatsStackCurReasmQueue, 2886 tcpEStatsStackMaxReasmQueue 2887 } 2888 STATUS current 2889 DESCRIPTION 2890 "The tcpEStatsConnState group includes objects that 2891 control the creation of the tcpEStatsStackTable, 2892 and provide information about the operation of 2893 algorithms used within TCP." 2894 ::= { tcpEStatsGroups 8 } 2896 tcpEStatsAppGroup OBJECT-GROUP 2897 OBJECTS { 2898 tcpEStatsControlApp, 2899 tcpEStatsAppCurAppWQueue, 2900 tcpEStatsAppMaxAppWQueue, 2901 tcpEStatsAppCurAppRQueue, 2902 tcpEStatsAppMaxAppRQueue 2903 } 2904 STATUS current 2905 DESCRIPTION 2906 "The tcpEStatsConnState group includes objects that 2907 control the creation of the tcpEStatsAppTable, 2908 and provide information about how applications 2909 are interacting with each TCP connection." 2910 ::= { tcpEStatsGroups 9 } 2912 tcpEStatsTuneGroup OBJECT-GROUP 2913 OBJECTS { 2914 tcpEStatsControlTune, 2915 tcpEStatsTuneLimCwnd, tcpEStatsTuneLimSsthresh, 2916 tcpEStatsTuneLimRwin 2917 } 2918 STATUS current 2919 DESCRIPTION 2920 "The tcpEStatsConnState group includes objects that 2921 control the creation of the tcpEStatsConnectionTable, 2922 which can be used to set tuning parameters 2923 for each TCP connection." 2924 ::= { tcpEStatsGroups 10 } 2926 tcpEStatsNotificationsGroup NOTIFICATION-GROUP 2927 NOTIFICATIONS { 2928 tcpEStatsEstablishNotification, 2929 tcpEStatsCloseNotification 2930 } 2931 STATUS current 2932 DESCRIPTION 2933 "Notifications sent by a TCP extended statistics agent." 2934 ::= { tcpEStatsGroups 11 } 2936 tcpEStatsNotificationsCtlGroup OBJECT-GROUP 2937 OBJECTS { 2938 tcpEStatsControlNotify 2939 } 2940 STATUS current 2941 DESCRIPTION 2942 "The tcpEStatsNotificationsCtl group includes the 2943 object that controls the creation of the events 2944 in the tcpEStatsNotificationsGroup." 2945 ::= { tcpEStatsGroups 12 } 2947 END 2949 5. Normative References 2951 [RFC2012bis] Bill Fenner, et al, "Management Information Base for the 2952 Transmission Control Protocol (TCP)" Internet-Draft draft-ietf- 2953 ipngwg-rfc2012-update-00.txt, expires January 2002. 2955 [RFC2574] U. Blumenthal, B. Wijnen, "User-based Security Model (USM) for 2956 version 3 of the Simple Network Management Protocol (SNMPv3)", 2957 RFC2574, April 1999. 2959 [RFC2575] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access 2960 Control Model (VACM) for the Simple Network Management Protocol 2961 (SNMP)", RFC 2575, April 1999. 2963 [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., 2964 Rose, M., and S. Waldbusser, "Structure of Management Information 2965 Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. 2967 [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., 2968 Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", STD 2969 58, RFC 2579, April 1999. 2971 [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., 2972 Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", 2973 STD 58, RFC 2580, April 1999. 2975 6. Informative References 2977 [Mat97] M. Mathis, J. Semke, J. Mahdavi, T. Ott, "The Macroscopic Behav- 2978 ior of the TCP Congestion Avoidance Algorithm", Computer Communica- 2979 tion Review, volume 27, number3, July 1997. 2981 [Bra94] Brakmo, L., O'Malley, S., "TCP Vegas, New Techniques for Conges- 2982 tion Detection and Avoidance," SIGCOMM'94, London, pp 24-35, Octo- 2983 ber 1994. 2985 [POSIX] Portable Operating System Interface, IEEE Std 1003.1 2987 [Pad98] Padhye, J., Firoiu, V., Towsley, D., Kurose, J., "Modeling TCP 2988 Throughput: A Simple Model and its Empirical Validation", SIG- 2989 COMM'98 2991 [Web100] Mathis, M., J. Heffner, R. Reddy, "Web100: Extended TCP Instru- 2992 mentation for Research, Education and Diagnosis", ACM Computer Com- 2993 munications Review, Vol 33, Num 3, July 2003. 2995 [RFC793] J. Postel Ed., "Transmission Control Protocol", Sep 1981. 2997 [RFC896] J. Nagle, "Congestion control in IP/TCP internetworks", 2998 Jan-06-1984. 3000 [RFC1122] R. Braden, Ed, "Requirements for Internet Hosts - Communica- 3001 tion Layers", October 1989. 3003 [RFC1191] J.C. Mogul, S.E. Deering, "Path MTU discovery", Nov-01-1990. 3005 [RFC1323] V. Jacobson, R. Braden, D. Borman, "TCP Extensions for High 3006 Performance", May 1992. 3008 [RFC2012] McCloghrie, K., "SNMPv2 Management Information Base for the 3009 Transmission Control Protocol using SMIv2", RFC 2012, November 3010 1996. 3012 [RFC2018] M. Mathis, J. Mahdavi, S. Floyd, A. Romanow, "TCP Selective 3013 Acknowledgement Options", October 1996. 3015 [RFC2021] S. Waldbusser, "Remote Network Monitoring Management Informa- 3016 tion Base Version 2 using SMIv2", January 1997. 3018 [RFC2474] K. Nichols, S. Blake, F. Baker, D. Black, "Definition of the 3019 Differentiated Services Field (DS Field) in the IPv4 and IPv6 Head- 3020 ers", December 1998. 3022 [RFC2856] A. Bierman, K. McCloghrie, R. Presuhn, "Textual Conventions 3023 for Additional High Capacity Data Types", June 2000. 3025 [RFC2861] M. Handley, J. Padhye, S. Floyd, "TCP Congestion Window Vali- 3026 dation", June 2000. 3028 [RFC2883] S. Floyd, J. Mahdavi, M. Mathis, M. Podolsky, "An Extension to 3029 the Selective Acknowledgement (SACK) Option for TCP", July 2000. 3031 [RFC3168] K. Ramakrishnan, S. Floyd, D. Black, "The Addition of Explicit 3032 Congestion Notification (ECN) to IP", September 2001. 3034 [RFC3260] D. Grossman, "New Terminology and Clarifications for Diff- 3035 serv", April 2002. 3037 [RFC3291bis] M. Daniele, B. Haberman, S. Routhier, J. Schoenwaelder, 3038 "Textual Conventions for Internet Network Addresses", Work in 3039 progress update to RFC3291, draft-ietf-ops-rfc3291bis-06.txt, 3040 August, 2004. 3042 [RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction 3043 and Applicability Statements for Internet-Standard Management 3044 Framework", RFC 3410, December 2002. 3046 [RFC3522] R. Ludwig, M. Meyer, "The Eifel Detection Algorithm for TCP", 3047 April 2003. 3049 [RFC2581] M. Allman, V. Paxson, W. Stevens, "TCP Congestion Control", 3050 April 1999. 3052 [RFC2988] V. Paxson, M. Allman, "Computing TCP's Retransmission Timer", 3053 November 2000. 3055 [RFC3291] M. Daniele, B. Haberman, S. Routhier, J. Schoenwaelder, "Tex- 3056 tual Conventions for Internet Network Addresses", May 2002. 3058 7. Security Considerations 3060 There are a number of management objects defined in this MIB that 3061 have a MAX-ACCESS clause of read-write and/or read-create. Such 3062 objects may be considered sensitive or vulnerable in some network 3063 environments. The support for SET operations in a non-secure 3064 environment without proper protection can have a negative effect on 3065 network operations. 3067 There are a number of managed objects in this MIB that may contain 3068 sensitive information. These are: 3070 tcpEStatsConnectRemAddress tcpEStatsPerfSndUna tcpEStatsPerfSndNxt 3071 tcpEStatsPerfSndMax tcpEStatsStackSndInitial tcpEStatsPerfRcvNxt 3072 tcpEStatsStackRecInitial 3074 It is thus important to control even GET access to these objects and 3075 possibly to even encrypt the values of these objects when sending 3076 them over the network via SNMP. Not all versions of SNMP provide 3077 features for such a secure environment. SNMPv1 by itself is not a 3078 secure environment. Even if the network itself is secure (for 3079 example by using IPSec) there is no control as to who on the secure 3080 network is allowed to access and GET/SET (read/change/create/delete) 3081 the objects in this MIB. 3083 It is recommended that implementers consider using the security 3084 features as provided by the SNMPv3 framework. Specifically, the use 3085 of the User-based Security Model RFC 2574 [RFC2574] and the View- 3086 based Access Control Model RFC 2575 [RFC2575] is recommended. 3088 It is then a customer/user responsibility to ensure that the SNMP 3089 entity giving access to an instance of this MIB, is properly 3090 configured to only give access to the objects to those principals 3091 (users) that have legitimate rights to indeed GET or SET 3092 (change/create/delete) them. 3094 8. Contributors 3096 The following people have contributed substantially to this document. 3098 Some of the objects in this document were moved from an early draft 3099 of RFC2012bis, by Bill Fenner et al. 3101 Some of the object descriptions are based on an earlier unpublished 3102 document by Jeff Semke. 3104 9. Acknowledgments 3106 This document is a product of Web100 (see: www.web100.org), a joint 3107 project of the Pittsburgh Supercomputing Center (www.psc.edu), 3108 National Center for Atmospheric Research (www.ncar.ucar.edu) and 3109 National Center for Supercomputer Applications (www.ncsa.edu). It 3110 was supported by the National Science Foundation under Grant No. 3111 0083285 and a research grant from Cisco Systems. 3113 10. Authors' Addresses 3115 Matt Mathis 3116 Raghu Reddy 3117 John Heffner 3118 Pittsburgh Supercomputing Center 3119 4400 Fifth Ave 3120 Pittsburgh, PA 15216 3121 Phone: 412-268-4960 3122 Email: mathis@web100.org, rreddy@psc.edu, jheffner@psc.edu 3124 Rajiv Raghunarayan 3125 Cisco Systems Inc. 3126 San Jose, CA 95134 3127 Phone: 408 853 9612 3128 Email: raraghun@cisco.com 3130 Jon Saperia 3131 JDS Consulting, Inc. 3132 174 Chapman Street 3133 Watertown, MA 02472 3134 Phone: 617-744-1079 3135 Email: saperia@jdscons.com 3137 11. Intellectual Property 3139 The IETF takes no position regarding the validity or scope of any 3140 Intellectual Property Rights or other rights that might be claimed to 3141 pertain to the implementation or use of the technology described in 3142 this document or the extent to which any license under such rights 3143 might or might not be available; nor does it represent that it has 3144 made any independent effort to identify any such rights. Information 3145 on the procedures with respect to rights in RFC documents can be 3146 found in BCP 78 and BCP 79. 3148 Copies of IPR disclosures made to the IETF Secretariat and any 3149 assurances of licenses to be made available, or the result of an 3150 attempt made to obtain a general license or permission for the use of 3151 such proprietary rights by implementers or users of this 3152 specification can be obtained from the IETF on-line IPR repository at 3153 http://www.ietf.org/ipr. 3155 The IETF invites any interested party to bring to its attention any 3156 copyrights, patents or patent applications, or other proprietary 3157 rights that may cover technology that may be required to implement 3158 this standard. Please address the information to the IETF at ietf- 3159 ipr@ietf.org. 3161 12. Disclaimer of Validity 3163 This document and the information contained herein are provided on an 3164 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 3165 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 3166 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 3167 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 3168 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 3169 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 3171 13. Copyright Statement 3173 Copyright (C) The Internet Society (2005). 3175 This document is subject to the rights, licenses and restrictions 3176 contained in BCP 78, and except as set forth therein, the authors 3177 retain all their rights.