Network Working Group J. Pastor INTERNET-DRAFT M. Belinchon Expires: May 2003 Ericsson November, 2002 Stream Control Transmission Protocol Management Information Base Status of this memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or cite them other than as "work in progress". The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/lid-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html This document is an individual submission to the IETF. Comments should be directed to the authors. Abstract The Stream Control Transmission Protocol (SCTP) is a reliable transport protocol operating on top of a connectionless packet network such as IP, designed to transport PSTN signaling messages over the connectionless packet network, but is capable of broader applications. This memo defines the Management Information Base (MIB) module which describes the minimum amount of objects needed to manage the implementation of the SCTP. Pastor, Belinchon [Page 1] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 Open Issues - Remove this section. - Remove Revision History - Decide under which object identifier branch of the SNMP tree, SCTP should be placed. This value will be obtained when submitted to the IETF queue. - Update references to [RFC2012-update] - Syntax of sctpAssocRemHostName TABLE OF CONTENTS Open Issues.........................................................2 1. Introduction.....................................................3 1.1 Abbreviations...................................................3 2. The SNMP Framework...............................................3 3. MIB Structure....................................................4 3.1 SCTP Objets.....................................................5 3.1.1 SCTP Statistics...............................................5 3.1.2 SCTP Parameters...............................................6 3.1.3 MIB Tables....................................................6 3.1.3.1 Association Table..........................................7 3.1.3.2 Reverse Lookup Table.......................................9 3.2 Conformance....................................................10 4. Definitions.....................................................11 5. Compiling Notes.................................................36 6. References......................................................37 6.1 Normative References...........................................37 6.1 Informative References.........................................38 7. Security Consideration..........................................39 8. Acknowledgments.................................................40 9. Authors' Addresses..............................................40 10. Revision History...............................................41 10.1 Changes from .......................41 10.2 Changes from .............41 10.3 Changes from .............43 10.3 Changes from .............44 10.4 Changes from .............44 10.5 Changes from .............45 10.6 Changes from .............46 10.7 Changes from .............47 10.8 Changes from .............48 Pastor, Belinchon [Page 2] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 1. Introduction This memo defines the Management Information Base (MIB) module which describes managed objects for implementations of the SCTP. The document starts with a brief description of the SNMP framework and continues with the MIB explanation and security consideration among others. The managed objects in this MIB module have been based on [RFC2012] update: "Management Information Base for the Transmission Control Protocol (TCP)" [TCPMIB], work in progress, and the RFC 3291 "Textual Conventions for Internet Network Addresses" [TADDRESS], work in progress. Terms related to the SCTP architecture are explained in [RFC2960]. Other specific abbreviations are listed below. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 1.1 Abbreviations DNS - Domain Name System IANA - Internet Assigned Numbers Authority IETF - Internet Engineering Task Force IP - Internet Protocol MIB - Management Information Base RFC - Request For Comment RTO - Retransmission Time Out SCTP - Stream Control Transmission Protocol SMI - Structure of Management Information SNMP - Simple Network Management Protocol TCB - Transmission Control Block TCP - Transmission Control Protocol 2. The SNMP Framework The SNMP Management Framework presently consists of five major components: - An overall architecture, described in [RFC2571]. Pastor, Belinchon [Page 3] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 - Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and described in [RFC1155] , [RFC1212] and [RFC1215]. The second version, called SMIv2, is described in [RFC1902], [RFC1903] and [RFC1904]. - Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in [RFC1157]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in [RFC1901] and [RFC1906]. The third version of the message protocol is called SNMPv3 and described in [RFC1906], [RFC2272] and [RFC2574]. - Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in [RFC1157]. A second set of protocol operations and associated PDU formats is described in [RFC1905]. - A set of fundamental applications described in [RFC2273] and the view-based access control mechanism described in [RFC2575]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI. This memo specifies a MIB module that is compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine-readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine-readable information is not considered to change the semantics of the MIB. 3. MIB Structure This chapter will explain the main objects this MIB defines. A detailed view of the MIB structure with the OID values is below. MIB-2 {1 3 6 1 2 2} +--(xxx)sctpMIB | +--(1) sctpObjects | | | +--(1) sctpStats | | | | | +-- Pastor, Belinchon [Page 4] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 | | | +--(2)sctpParameters | | | | | +-- | | | +--(3) sctpAssocTable | | | +--(4) sctpAssocLocalAddressTable | | | +--(5) sctpAssocRemAddressTable | | | +--(6) sctpLookupLocalPortTable | | | +--(7) sctpLookupRemPortTable | | | +--(8) sctpLookupRemHostNameTable | | | +--(9) sctpLookupRemPrimIPAddrTable | | | +--(10) sctpLookupRemIPAddrTable | | +--(2)sctpConformance | +--(1) sctpCompliances | | | +--(1) sctpCompliance | +--(2) sctpGroups | +--(1) sctpLayerParamsGroup | +--(2) sctpStatsGroup | +--(3) sctpPerAssocParamsGroup The main groups are further explained along the MIB definition. 3.1 SCTP Objets This branch contains the SCTP statistics and general parameters (both of them scalars) and the SCTP MIB tables. 3.1.1 SCTP Statistics Pastor, Belinchon [Page 5] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 SCTP MIB includes both Counter32 and Counter64 to deal with statistics. Counter64 has been applied to those counters, which are likely to wrap around in less than one hour, according to [RFC2863]. In addition Gauge32 is also used. 3.1.1.1 State-Related Statistics These measures are based in the TCP model, but adapted to the SCTP states. They store the number of succeeded association attempts, how many associations have been initiated by the local or the remote SCTP layer, or just the number of associations terminated in a graceful (by means of SHUTDOWN procedure) or ungraceful way (by means of CLOSE procedure). 3.1.1.2 Statistics for traffic Measurements It has been specified statistics related to the whole SCTP layer. There are, e.g., statistics related to either SCTP packets or SCTP chunks. Statistics related to a specific association, or local/remote IP addresses are defined inside its concerned table. 3.1.2 SCTP Parameters This section of the MIB contains the general variables of the SCTP protocol. Maximum, minimum, initial values, and values by default are listed here. SCTP RTO mechanism definition is based on the TCP MIB [RFC2012- update]. In SCTP protocol, only options 'other' and 'vanj' are valid since SCTP protocol defines Van Jacobson's algorithm as the one to be used to calculate RTO. 'Other' is left for future use. 3.1.3 MIB Tables There are several tables included in the SCTP MIB. The first group deals with the Association variables and is composed of a main and two extended tables. The second group is a bunch of tables used for the reverse lookup. It is NOT possible to create rows in any table (sctpAssocTable, sctpAssocLocalAddressTable, sctpRemAddressTable and Reverse Lookup tables). Pastor, Belinchon [Page 6] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 It is NOT possible to delete rows in any table except in sctpAssocTable under the particular conditions explained below. 3.1.3.1 Association Table This is the main MIB table, where all the association related information is stored per association basis. It is structured according to expanded tables. The main table is called sctpAssocTable and is indexed by sctpAssocId (the association identification) that is a value that uniquely identifies an association. The MIB does not restrict which value must be written here,, however it must be unique within the table. The sctpAssoc index is also shared by two more tables: - sctpAssocLocalAddressTable: to store the local IP address(-es). - sctpAssocRemAddressTable: to store the remote addresses and the per-remote-address(-es)related information. Entries in the sctpAssocTable are created when trying to establish the association, i.e., when sending the COOKIE-ECHO message (originating side) or the COOKIE-ACK message (server side). At this point, i.e., at established state, all entry fields are filled in with valid values. Note: The following representation is a conceptual mode of describing the relationship between the tables in this MIB. Note that the real relationship of the tables is by sharing an index, so tables are not truly within tables. Every entry is explained when defining the corresponding objects in the MIB. MIB-2 {1 3 6 1 2 2} +--(xxx)sctpMIB | +--(1) sctpObjects | | . . . . | +--(3) sctpAssocTable | | | +--(1) sctpAssocId (index) | | | +--(1) sctpAssocRemHostName | | | +--(1) sctpAssocLocalPort | | | +--(1) sctpAssocRemPort | | Pastor, Belinchon [Page 7] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 | +--(1) sctpAssocRemPrimaryAddressType | | | +--(1) sctpAssocRemPrimaryAddress | | | +--(1) sctpAssocHeartBeatInterval | | | +--(1) sctpAssocState | | | +--(1) sctpAssocInStreams | | | +--(1) sctpAssocOutStreams | | | +--(1) sctpAssocMaxRetr | | | +--(1) sctpAssocPrimaryProcess | | | +--(1) sctpAssocT1expireds | | | +--(1) sctpAssocT2expireds | | | +--(1) sctpAssocRtxChunks | | | +--(1) sctpAssocStartTime | | | +--(1) sctpAssocDiscontinuityTime | | +--(4) sctpAssocLocalAddressTable | | | |-- sctpAssocId (shared index) | | | +--(1) sctpAssocLocalAddressType(index) | | | +--(1) sctpAssocLocalAddress (index) | | | +--(1) sctpAssocLocalAddressStartTime | | +--(5) sctpAssocRemAddressTable | | | |-- sctpAssocId (shared index) | | | +--(1) sctpAssocRemAddressType (index) . | . +--(1) sctpAssocRemAddress (index) . | +--(1) sctpAssocRemAddressActive | +--(1) sctpAssocRemAddressHBActive | +--(1) sctpAssocRemAddressRTO Pastor, Belinchon [Page 8] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 | +--(1) sctpAssocRemAddressMaxPathRtx | +--(1) sctpAssocRemAddressRtx | +--(1) sctpAssocRemAddressStartTime Both sctpAssocLocalAddressTable and sctpAssocRemAddressTable are indexed by addresses. 'Address' and 'AddressType' use the syntax InetAddress and InetAddressType defined in the Textual Conventions for Internet Network Address [RFC 3291]. In the general case this syntax is valid for Unknown IP addresses, IPv4, IPv6, non-global IPv4, non-global IPv6 address and DNS, but only the IPv4 and IPv6 address options will be allowed in this MIB. The sctpAssocLocalAddressTable table will have as many entries as local IP addresses have been defined. The sctpAssocRemAddressTable table will contain as many entries as remote IP addresses are known to reach the peer. For multihoming concept see reference [RFC2960]. DNS value is not used to identify an IP address since it is only valid during initialization (once this stage is finished, both sides only use IP addresses). To keep the name of the remote peer (when provided by the peer at initialization time), an entry has been created in the sctpAssocTable (sctpAssocRemHostName). When no DNS name is provided by the remote endpoint, this value will be NULL (zero-length string). Otherwise, the received DNS name will be stored here. If it is required to abort an existing association, the value deleteTCB has to be written in the variable sctpAssocState. That is the only way to delete rows in any of the mentioned tables. 3.1.3.2 Reverse Lookup Table There are five reverse lookup tables to help management applications to efficiently access conceptual rows in other tables. This is the way for not performing expensive tree walks through large number of associations. All of these tables are optional. In case of implementing them, any entry must be created after the main table (sctpAssocTable) concerned Pastor, Belinchon [Page 9] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 entry has been created. This ensures that the field indexing the lookup table exists. The defined reversed lookup tables allow performing a lookup using the following variables: - Local Port: It allows a management application to find out all the associations that use a specific local port - Remote Port: It allows a management application to find out all the associations that use a specific remote port - Remote Host Name: It allows a management application to find out all the associations to a specific host name. - Remote Primary IP Address: It allows a management application to find out all the associations that use a specific remote IP address as primary. - Remote IP address: a management application to find out all the associations that use a specific remote IP address. As an example the picture below shows the table to look up by local port. MIB-2 {1 3 6 1 2 2} +--(xxx)sctpMIB | +--(1) sctpObjects | | . . . . | | | +--(6) sctpLookupLocalPortTable | | | . . +--(1) sctpAssocLocalPort (index) . . | +--(2) sctpAssocId (index) | +--(3) sctpAssocState All the lookup tables contains the sctpAssocState object. This allows getting the three objects in an easier way. It is not possible to either create or delete rows in these tables. 3.2 Conformance The conformance section recommends as optional the general SCTP statistics and those per association or remote IP address statistics. Pastor, Belinchon [Page 10] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 Also, IP address will take the format of IPv4 and IPv6 addresses (not scoped). DNS name will not be accepted either (since names will be stored û if present û in the sctpRemoteHostName variable). 4. Definitions SCTP-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, Gauge32, Counter32, Counter64, mib-2 FROM SNMPv2-SMI -- RFC2578 TimeStamp, TruthValue FROM SNMPv2-TC -- RFC2579 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- RFC2580 InetAddressType, InetAddress, InetPortNumber FROM INET-ADDRESS-MIB -- RFC 3291 ; sctpMIB MODULE-IDENTITY LAST-UPDATED "200208290000Z" -- 29th August 2002 ORGANIZATION "IETF SIGTRAN Working Group" CONTACT-INFO " Maria-Carmen Belinchon-Vergara Jose-Javier Pastor-Balbas Postal: Ericsson Espana S. A. C/ Retama 1 28045 Madrid Spain Phones: +34 91 339 3535 +34 91 339 3819 Emails: Maria.C.Belinchon@ericsson.com J.Javier.Pastor@ericsson.com" DESCRIPTION "The MIB module for managing an SCTP implementation." REVISION "200208290000Z" -- 29th August 2002 DESCRIPTION " Initial version, published as RFC XXXX" -- RFC Editor to assign XXXX ::= { mib-2 xxxx 300 } -- IANA to assign xxxx -- the SCTP base variables group sctpObjects OBJECT IDENTIFIER ::= { sctpMIB 1 } Pastor, Belinchon [Page 11] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 sctpStats OBJECT IDENTIFIER ::= { sctpObjects 1 } sctpParams OBJECT IDENTIFIER ::= { sctpObjects 2 } -- STATISTICS -- ********** -- STATE-RELATED STATISTICS sctpCurrEstab OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of SCTP associations for which the current state is either ESTABLISHED, SHUTDOWN-RECEIVED or SHUTDOWN-PENDING." ::= { sctpStats 1 } sctpActiveEstabs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times that SCTP associations have made a direct transition to the ESTABLISHED state from the COOKIE-ECHOED state: COOKIE-ECHOED -> ESTABLISHED. The upper layer has initiated the association attempt." ::= { sctpStats 2 } sctpPassiveEstabs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times that SCTP associations have made a direct transition to the ESTABLISHED state from the CLOSED state: CLOSED -> ESTABLISHED. The remote endpoint has initiated the association attempt." ::= { sctpStats 3 } sctpAborteds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only Pastor, Belinchon [Page 12] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 STATUS current DESCRIPTION "The number of times that SCTP associations have made a direct transition to the CLOSED state from any state using the primitive 'ABORT': AnyState --Abort--> CLOSED. Ungraceful termination of the association." ::= { sctpStats 4 } sctpShutdowns OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times that SCTP associations have made a direct transition to the CLOSED state from either the SHUTDOWN-SENT state or the SHUTDOWN-ACK-SENT state. Graceful termination of the association." ::= { sctpStats 5 } -- OTHER LAYER STATISTICS sctpOutOfBlues OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of out of the blue packets (SCTP packet correctly formed -right checksum- but the receiver is not able to identify the association to which this packet belongs) received by the host." ::= { sctpStats 6 } sctpChecksumErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of SCTP packets received from the peers with an invalid checksum." ::= { sctpStats 7 } sctpOutCtrlChunks OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current Pastor, Belinchon [Page 13] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 DESCRIPTION "Number of SCTP control chunks sent to the peers (no retransmissions included)." ::= { sctpStats 8 } sctpOutOrderChunks OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of SCTP ordered data chunks sent to the peers (no retransmissions included)." ::= { sctpStats 9 } sctpOutUnorderChunks OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of SCTP unordered chunks (data chunks in which the U bit is set to 1) sent to the peers (no retransmissions included)." ::= { sctpStats 10 } sctpInCtrlChunks OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of SCTP control chunks received from the peers (no duplicated included)." ::= { sctpStats 11 } sctpInOrderChunks OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of SCTP ordered data chunks received from the peers (no duplicated included)." ::= { sctpStats 12 } sctpInUnorderChunks OBJECT-TYPE SYNTAX Counter64 Pastor, Belinchon [Page 14] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of SCTP unordered chunks (data chunks in which the U bit is set to 1) received from the peers (no duplicated included)." ::= { sctpStats 13 } sctpFragUsrMsgs OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of user messages that have to be fragmented because of the MTU." ::= { sctpStats 14 } sctpReasmUsrMsgs OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of user messages reassembled." ::= { sctpStats 15 } sctpOutSCTPPacks OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of SCTP packets sent to the peers." ::= { sctpStats 16 } sctpInSCTPPacks OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of SCTP packets received from the peers." ::= { sctpStats 17 } Pastor, Belinchon [Page 15] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 -- PROTOCOL GENERAL VARIABLES -- ************************** sctpRtoAlgorithm OBJECT-TYPE SYNTAX INTEGER { other(1), -- Other new one. Future use vanj(2) -- Van Jacobson's algorithm } MAX-ACCESS read-only STATUS current DESCRIPTION "The algorithm used to determine the timeout value (T3-rtx) used for re-transmitting unacknowledged chunks." ::= { sctpParams 1 } sctpRtoMin OBJECT-TYPE SYNTAX Unsigned32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum value permitted by a SCTP implementation for the retransmission timeout, measured in milliseconds. More refined semantics for objects of this type depend upon the algorithm used to determine the retransmission timeout. The recommended value is 1000 milliseconds as per [RFC2960]. Zero value means immediate re-transmission. The value of this object has to be lower or equal than stcpRtoMax's value." ::= { sctpParams 2 } sctpRtoMax OBJECT-TYPE SYNTAX Unsigned32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum value permitted by a SCTP implementation for the retransmission timeout, measured in milliseconds. More refined semantics for objects of this type depend upon the algorithm used to determine the retransmission timeout. Recommended value is 60000 milliseconds as per [RFC2960]. Zero value means immediate re-transmission. Pastor, Belinchon [Page 16] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 The value of this object has to be greater or equal than stcpRtoMin's value." ::= { sctpParams 3 } sctpRtoInitial OBJECT-TYPE SYNTAX Unsigned32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "Initial value for the Retransmission timer. Recommended value is 3000 milliseconds as per [RFC2960]. Zero value means immediate re-transmission." ::= { sctpParams 4 } sctpMaxAssociations OBJECT-TYPE SYNTAX Integer32 (-1 | 0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The limit on the total number of SCTP associations the entity can support. In entities where the maximum number of associations is dynamic, this object should contain the value -1." ::= { sctpParams 5 } sctpValCookieLife OBJECT-TYPE SYNTAX Unsigned32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "Valid cookie life in the 4-way start-up handshake procedure. Recommended value: 60000 milliseconds." ::= { sctpParams 6 } sctpMaxInitRetr OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION Pastor, Belinchon [Page 17] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 "The maximum number of retransmissions at the start-up phase (INIT and COOKIE ECHO chunks). Recommended value: 8 attempts." ::= { sctpParams 7 } -- TABLES -- ****** -- the SCTP Association TABLE -- The SCTP association table contains information about each -- association in which the local endpoint is involved. sctpAssocTable OBJECT-TYPE SYNTAX SEQUENCE OF SctpAssocEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table containing SCTP association-specific information." ::= { sctpObjects 3 } sctpAssocEntry OBJECT-TYPE SYNTAX SctpAssocEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "General common variables and statistics for the whole association." INDEX { sctpAssocId } ::= { sctpAssocTable 1 } SctpAssocEntry ::= SEQUENCE { sctpAssocId Unsigned32, sctpAssocRemHostName OCTET STRING, sctpAssocLocalPort InetPortNumber, sctpAssocRemPort InetPortNumber, sctpAssocRemPrimaryAddressType InetAddressType, sctpAssocRemPrimaryAddress InetAddress, sctpAssocHeartBeatInterval Unsigned32, sctpAssocState INTEGER, sctpAssocInStreams Unsigned32, sctpAssocOutStreams Unsigned32, sctpAssocMaxRetr Unsigned32, Pastor, Belinchon [Page 18] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 sctpAssocPrimaryProcess Unsigned32, sctpAssocT1expireds Counter32, -- Statistic sctpAssocT2expireds Counter32, -- Statistic sctpAssocRtxChunks Counter32, -- Statistic sctpAssocStartTime TimeStamp, sctpAssocDiscontinuityTime TimeStamp } sctpAssocId OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Association Identification. Value identifying the association. The recommended option is to use the local Initiate Tag, a.k.a. Verification Tag (see [RFC2960]). " ::= { sctpAssocEntry 1 } sctpAssocRemHostName OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..115)) MAX-ACCESS read-only STATUS current DESCRIPTION "Peer's DNS name. Currently only US ASCII format is the only one allowed by DNS. But this object is open to include UTF-8 names if DNS evolve in this way. If no DNS domain name was received at init time (embedded in the INIT or INIT-ACK chunk) from the peer, this entry will be meaningless, therefore it will contain a zero-length string value. Otherwise, the remote host name received at init time will be stored." ::= { sctpAssocEntry 2 } sctpAssocLocalPort OBJECT-TYPE SYNTAX InetPortNumber (1..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "Local SCTP port number used for this association.." ::= { sctpAssocEntry 3 } sctpAssocRemPort OBJECT-TYPE SYNTAX InetPortNumber (1..65535) Pastor, Belinchon [Page 19] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 MAX-ACCESS read-only STATUS current DESCRIPTION "Remote SCTP port number used for this association." ::= { sctpAssocEntry 4 } sctpAssocRemPrimaryAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "Internet type of primary remote IP address. Only IPv4 and IPv6 addresses are expected." ::= { sctpAssocEntry 5 } sctpAssocRemPrimaryAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Primary remote IP address. The type of this address is determined by the value of sctpAssocRemPrimaryAddressType. The client side will know this value after INIT_ACK message reception, the server side will know this value when sending INIT ACK message. However, values will be filled in at established state." ::= { sctpAssocEntry 6 } sctpAssocHeartBeatInterval OBJECT-TYPE SYNTAX Unsigned32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The current heartbeat interval. The recommended default value is 30000 milliseconds as per [RFC2960]. Zero value means no HeartBeat, even when the concerned sctpAssocRemAddressHBFlag object is active." ::= { sctpAssocEntry 7 } sctpAssocState OBJECT-TYPE Pastor, Belinchon [Page 20] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 SYNTAX INTEGER { closed(1), cookieWait(2), cookieEchoed(3), established(4), shutdownPending(5), shutdownSent(6), shutdownReceived(7), shutdownAckSent(8), deleteTCB(9) } MAX-ACCESS read-write STATUS current DESCRIPTION "The state of this SCTP association. As in TCP, deleteTCB is the only value that may be set by a management station. If any other value is received, then the agent must return a badValue error. If a management station sets this object to the value deleteTCB(9), then this has the effect of deleting the TCB (as defined in SCTP) of the corresponding association on the managed node, resulting in immediate termination of the association. A SET operation to the same(current) value is allowed. As an implementation-specific option, an ABORT chunk may be sent from the managed node to the other SCTP endpoint." ::= { sctpAssocEntry 8 } sctpAssocInStreams OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "Inbound Streams according to the negotiation at association start up. " ::= { sctpAssocEntry 9 } sctpAssocOutStreams OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "Outbound Streams according to the negotiation at association start up. " Pastor, Belinchon [Page 21] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 ::= { sctpAssocEntry 10 } sctpAssocMaxRetr OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum number of data retransmissions in the association context. This value is specific for each association and the upper layer can change it calling the appropriate primitives. This value has to be smaller than the addition of all the maximum number for all the paths (sctpAssocRemAddressMaxPathRtx). Recommended value: 10 attempts. Zero value means no retransmissions." ::= { sctpAssocEntry 11 } sctpAssocPrimaryProcess OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number identifies the system level process which holds primary responsibility of the SCTP association. Wherever possible, this should be the system's native unique identification number. The special value 0 can be used to indicate that no primary process is known. Note that the value of this object can be used as a pointer into the swRunTable of the HOST-RESOURCES-MIB (if the value is smaller than 2147483647) or into the sysApplElmtRunTable of the SYSAPPL-MIB." ::= { sctpAssocEntry 12 } -- Association Statistics sctpAssocT1expireds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION Pastor, Belinchon [Page 22] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 "Number of times that T1 timer expired (timer for sending either INIT or COOKIE-ECHO chunks and receiving an acknowledgment). Discontinuities in the value of this counter can occur at re- initialization of the management system, and at other times as indicated by the value of sctpAssocDiscontinuityTime." ::= { sctpAssocEntry 13 } sctpAssocT2expireds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of times that T2-shutdown timer expired (shutdown timer). Discontinuities in the value of this counter can occur at re- initialization of the management system, and at other times as indicated by the value of sctpAssocDiscontinuityTime." ::= { sctpAssocEntry 14 } sctpAssocRtxChunks OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of data chunks retransmitted to the peer in the current association. Discontinuities in the value of this counter can occur at re- initialization of the management system, and at other times as indicated by the value of sctpAssocDiscontinuityTime." ::= { sctpAssocEntry 15 } sctpAssocStartTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of SysUpTime at the time that this row association was established. The value of this object will be zero: - before the association enters the established state, or - if the established state was entered prior to the last Pastor, Belinchon [Page 23] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 re-initialization of the local network management subsystem." ::= { sctpAssocEntry 16 } sctpAssocDiscontinuityTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime on the most recent occasion at which any one or more of this sctp's counters suffered a discontinuity. The relevant counters are the specific instances associated with this interface of any Counter32 or Counter64 object contained in the sctpAssocTable or sctpXTable. If no such discontinuities have occurred since the last re-initialization of the local management subsystem, then this object contains a zero value. The inclusion of this object is recommended by [RFC2578]" ::= { sctpAssocEntry 17 } -- Expanded tables: Including Multi-home feature -- Local Address TABLE -- ******************* sctpAssocLocalAddressTable OBJECT-TYPE SYNTAX SEQUENCE OF SctpAssocLocalAddressEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Expanded table of sctpAssocTable based on the AssocId index. This table shows data related to each local IP address which is used by this association." ::= { sctpObjects 4 } sctpAssocLocalAddressEntry OBJECT-TYPE SYNTAX SctpAssocLocalAddressEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Local information about the available addresses. There will be an entry for every local IP address defined for this association." Pastor, Belinchon [Page 24] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 INDEX { sctpAssocId, -- shared index sctpAssocLocalAddressType, sctpAssocLocalAddress } ::= { sctpAssocLocalAddressTable 1 } SctpAssocLocalAddressEntry ::= SEQUENCE { sctpAssocLocalAddressType InetAddressType, sctpAssocLocalAddress InetAddress, sctpAssocLocalAddressStartTime TimeStamp } sctpAssocLocalAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "Internet type of local IP address used for this association. Only IPv4 and IPv6 addresses are expected." ::= { sctpAssocLocalAddressEntry 1 } sctpAssocLocalAddress OBJECT-TYPE SYNTAX InetAddress (SIZE(1..36)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The value of a local IP address available for this association. The type of this address is determined by the value of sctpAssocLocalAddressType. " ::= { sctpAssocLocalAddressEntry 2 } sctpAssocLocalAddressStartTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of SysUpTime at the time that this row was created." ::= { sctpAssocLocalAddressEntry 3 } Pastor, Belinchon [Page 25] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 -- Remote Addresses TABLE -- ********************** sctpAssocRemAddressTable OBJECT-TYPE SYNTAX SEQUENCE OF SctpAssocRemAddressEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Expanded table of sctpAssocTable based on the AssocId index. This table shows data related to each remote peer IP address which is used by this association." ::= { sctpObjects 5 } sctpAssocRemAddressEntry OBJECT-TYPE SYNTAX SctpAssocRemAddressEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about the most important variables for every remote IP address. There will be an entry for every remote IP address defined for this association." INDEX { sctpAssocId, -- shared index sctpAssocRemAddressType, sctpAssocRemAddress } ::= { sctpAssocRemAddressTable 1 } SctpAssocRemAddressEntry ::= SEQUENCE { sctpAssocRemAddressType InetAddressType, sctpAssocRemAddress InetAddress, sctpAssocRemAddressActive TruthValue, sctpAssocRemAddressHBActive INTEGER, sctpAssocRemAddressRTO Unsigned32, sctpAssocRemAddressMaxPathRtx Unsigned32, sctpAssocRemAddressRtx Counter32, -- Statistic sctpAssocRemAddressStartTime TimeStamp } sctpAssocRemAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "Internet type of a remote IP address available for this association. Only IPv4 and IPv6 addresses are expected." Pastor, Belinchon [Page 26] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 ::= { sctpAssocRemAddressEntry 1 } sctpAssocRemAddress OBJECT-TYPE SYNTAX InetAddress (SIZE(1..36)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The value of a remote IP address available for this association. The type of this address is determined by the value of sctpAssocLocalAddressType. " ::= { sctpAssocRemAddressEntry 2 } sctpAssocRemAddressActive OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object gives information about the reachability of this specific remote IP address. When the object is set to 'true' (1), the remote IP address is understood as Active. Active means that the threshold of no answers received from this IP address has not been reached. When the object is set to 'false' (2), the remote IP address in understood as Inactive. Inactive means that either no heartbeat or any other message was received from this address, reaching the threshold defined by the protocol." REFERENCE "The remote transport states are defined as Active and Inactive in the SCTP, [RFC2960]." ::= { sctpAssocRemAddressEntry 3 } sctpAssocRemAddressHBActive OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates whether the optional Heartbeat check associated to one destination transport address is activated or not (value equal to true or false, respectively). " ::= { sctpAssocRemAddressEntry 4 } Pastor, Belinchon [Page 27] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 sctpAssocRemAddressRTO OBJECT-TYPE -- T3-rtx- Timer SYNTAX Unsigned32 UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The current Retransmission Timeout. T3-rtx timer as defined in the protocol SCTP." ::= { sctpAssocRemAddressEntry 5 } sctpAssocRemAddressMaxPathRtx OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Maximum number of DATA chunks retransmissions allowed to a remote IP address before it is considered inactive, as defined in [RFC2960]. Recommended value 5 attempts." ::= { sctpAssocRemAddressEntry 6 } -- Remote Address Statistic sctpAssocRemAddressRtx OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of DATA chunks retransmissions as defined in [RFC2960]. Discontinuities in the value of this counter can occur at re- initialization of the management system, and at other times as indicated by the value of sctpAssocDiscontinuityTime." ::= { sctpAssocRemAddressEntry 7 } sctpAssocRemAddressStartTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of SysUpTime at the time that this row was created." ::= { sctpAssocRemAddressEntry 8 } Pastor, Belinchon [Page 28] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 -- ASSOCIATION INVERSE TABLE -- ************************* -- BY LOCAL PORT sctpLookupLocalPortTable OBJECT-TYPE SYNTAX SEQUENCE OF SctpLookupLocalPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "With the use of this table, a list of associations which are using the specified local port can be got" ::= { sctpObjects 6 } sctpLookupLocalPortEntry OBJECT-TYPE SYNTAX SctpLookupLocalPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is indexed by local port and association ID. Specifying a local port, we would get a list of the associations whose local port is the one specified" INDEX { sctpAssocLocalPort, sctpAssocId } ::= { sctpLookupLocalPortTable 1 } SctpLookupLocalPortEntry::= SEQUENCE { sctpLookupLocalPortStartTime TimeStamp } sctpLookupLocalPortStartTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of SysUpTime at the time that this row was created." ::= { sctpLookupLocalPortEntry 1 } -- BY REMOTE PORT Pastor, Belinchon [Page 29] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 sctpLookupRemPortTable OBJECT-TYPE SYNTAX SEQUENCE OF SctpLookupRemPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "With the use of this table, a list of associations which are using the specified remote port can be got" ::= { sctpObjects 7 } sctpLookupRemPortEntry OBJECT-TYPE SYNTAX SctpLookupRemPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is indexed by remote port and association ID. Specifying a remote port we would get a list of the associations whose local port is the one specified " INDEX { sctpAssocRemPort, sctpAssocId } ::= { sctpLookupRemPortTable 1 } SctpLookupRemPortEntry::= SEQUENCE { sctpLookupRemPortStartTime TimeStamp } sctpLookupRemPortStartTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of SysUpTime at the time that this row was created." ::= { sctpLookupRemPortEntry 1 } -- BY REMOTE HOST NAME sctpLookupRemHostNameTable OBJECT-TYPE SYNTAX SEQUENCE OF SctpLookupRemHostNameEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Pastor, Belinchon [Page 30] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 "With the use of this table, a list of associations with that particular host can be got" ::= { sctpObjects 8 } sctpLookupRemHostNameEntry OBJECT-TYPE SYNTAX SctpLookupRemHostNameEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is indexed by remote host name and association ID. Specifying a host name we would get a list of the associations specifying that host name as the remote one" INDEX { sctpAssocRemHostName, sctpAssocId } ::= { sctpLookupRemHostNameTable 1 } SctpLookupRemHostNameEntry::= SEQUENCE { sctpLookupRemHostNameStartTime TimeStamp } sctpLookupRemHostNameStartTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of SysUpTime at the time that this row was created." ::= { sctpLookupRemHostNameEntry 1 } -- BY REMOTE PRIMARY IP ADDRESS sctpLookupRemPrimIPAddrTable OBJECT-TYPE SYNTAX SEQUENCE OF SctpLookupRemPrimIPAddrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "With the use of this table, it can be got a list of associations that have that the specified IP address as primary within the remote set of active addresses " ::= { sctpObjects 9 } Pastor, Belinchon [Page 31] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 sctpLookupRemPrimIPAddrEntry OBJECT-TYPE SYNTAX SctpLookupRemPrimIPAddrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is indexed by primary address and association ID. Specifying a primary address, we would get a list of the associations that have the specified remote IP address marked as primary. " INDEX { sctpAssocRemPrimaryAddressType, sctpAssocRemPrimaryAddress, sctpAssocId } ::= { sctpLookupRemPrimIPAddrTable 1 } SctpLookupRemPrimIPAddrEntry::= SEQUENCE { sctpLookupRemPrimIPAddrStartTime TimeStamp } sctpLookupRemPrimIPAddrStartTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of SysUpTime at the time that this row was created." ::= { sctpLookupRemPrimIPAddrEntry 1 } -- BY REMOTE IP ADDRESS sctpLookupRemIPAddrTable OBJECT-TYPE SYNTAX SEQUENCE OF SctpLookupRemIPAddrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "With the use of this table, a list of associations that have the specified IP address as one of the remote ones can be got" ::= { sctpObjects 10 } sctpLookupRemIPAddrEntry OBJECT-TYPE SYNTAX SctpLookupRemIPAddrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Pastor, Belinchon [Page 32] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 "This table is indexed by a remote IP address and association ID. Specifying an IP address we would get a list of the associations that have the specified IP address included within the set of remote IP addresses" INDEX { sctpAssocRemAddressType, sctpAssocRemAddress, sctpAssocId } ::= { sctpLookupRemIPAddrTable 1 } SctpLookupRemIPAddrEntry::= SEQUENCE { sctpLookupRemIPAddrStartTime TimeStamp } sctpLookupRemIPAddrStartTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of SysUpTime at the time that this row was created." ::= { sctpLookupRemIPAddrEntry 1 } -- 4.1 Conformance Information sctpConformance OBJECT IDENTIFIER ::= { sctpMIB 2 } sctpCompliances OBJECT IDENTIFIER ::= { sctpConformance 1 } sctpGroups OBJECT IDENTIFIER ::= { sctpConformance 2 } -- 4.1.1 Units of conformance -- -- MODULE GROUPS -- sctpLayerParamsGroup OBJECT-GROUP OBJECTS { sctpRtoAlgorithm, sctpRtoMin, sctpRtoMax, sctpRtoInitial, sctpMaxAssociations, sctpValCookieLife, sctpMaxInitRetr Pastor, Belinchon [Page 33] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 } STATUS current DESCRIPTION "Common parameters for the SCTP layer, i.e. for all the associations. They can usually be referred as configuration parameters." ::= { sctpGroups 1 } sctpStatsGroup OBJECT-GROUP OBJECTS {sctpCurrEstab, sctpActiveEstabs, sctpPassiveEstabs, sctpAborteds, sctpShutdowns, sctpOutOfBlues, sctpChecksumErrors, sctpOutCtrlChunks, sctpOutOrderChunks, sctpOutUnorderChunks, sctpInCtrlChunks, sctpInOrderChunks, sctpInUnorderChunks, sctpFragUsrMsgs, sctpReasmUsrMsgs, sctpOutSCTPPacks, sctpInSCTPPacks, sctpAssocT1expireds, sctpAssocT2expireds, sctpAssocRtxChunks, sctpAssocRemAddressRtx } STATUS current DESCRIPTION "Statistics group. It includes the objects to collect state changes in the SCTP protocol local layer and flow control statistics. Also per-association statistics are included." ::= { sctpGroups 2 } sctpPerAssocParamsGroup OBJECT-GROUP OBJECTS {sctpAssocRemHostName, sctpAssocLocalPort, sctpAssocRemPort, sctpAssocRemPrimaryAddressType, sctpAssocRemPrimaryAddress, sctpAssocHeartBeatInterval, Pastor, Belinchon [Page 34] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 sctpAssocState, sctpAssocInStreams, sctpAssocOutStreams, sctpAssocMaxRetr, sctpAssocPrimaryProcess, sctpAssocStartTime, sctpAssocDiscontinuityTime, sctpAssocLocalAddressStartTime, sctpAssocRemAddressActive, sctpAssocRemAddressHBActive, sctpAssocRemAddressRTO, sctpAssocRemAddressMaxPathRtx, sctpAssocRemAddressStartTime } STATUS current DESCRIPTION "The SCTP group of objects to manage per-association parameters. These variables include all the SCTP basic features." ::= { sctpGroups 3 } sctpInverseGroup OBJECT-GROUP OBJECTS {sctpLookupLocalPortStartTime, sctpLookupRemPortStartTime, sctpLookupRemHostNameStartTime, sctpLookupRemPrimIPAddrStartTime, sctpLookupRemIPAddrStartTime } STATUS current DESCRIPTION "Objects used in the inverse lookup table." ::= { sctpGroups 4 } -- 4.1.2 Compliance Statements -- -- MODULE COMPLIANCES -- sctpCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION Pastor, Belinchon [Page 35] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 "The compliance statement for SNMP entities which implement SCTP. " MODULE -- this module MANDATORY-GROUPS { sctpLayerParamsGroup, sctpPerAssocParamsGroup, sctpStatsGroup } GROUP sctpInverseGroup DESCRIPTION "Objects used in inverse lookup tables. This should be implemented for easier lookups in the association tables, when it is required." OBJECT sctpAssocRemPrimaryAddressType SYNTAX InetAddressType { ipv4(1), ipv6(2) } DESCRIPTION "It is only required to have IPv4 and IPv6 addresses without zone indices. The address with zone indices is required if an implementation can connect multiple zones." OBJECT sctpAssocRemPrimaryAddress SYNTAX InetAddress (SIZE(4|16)) DESCRIPTION "An implementation is only required to support globally unique IPv4 and globally unique IPv6 addresses." OBJECT sctpAssocState WRITE-SYNTAX INTEGER { deleteTCB(9) } DESCRIPTION "Only the deletedTCB(9) object's value can be written" ::= { sctpCompliances 1 } END 5. Compiling Notes After compiling the MIB the following warning can be got: Pastor, Belinchon [Page 36] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 @ index of row `sctpLookupRemPrimIPAddrEntry' can exceed OID size limit by 141 subidentifier(s) This comes from the fact that sctpAssocRemPrimaryAddress has the default InetAddress size of (0..255) which exceeds OID size limitations. Introducing a size restriction on sctpAssocRemPrimaryAddress would make the warning go away û although it would be one of those more arbitrary restrictions. 6. References 6.1 Normative References [RFC2960] R. Stewart, Q. Xie, K. Morneault, C. Sharp, H. J. Schwarzbauer, T. Taylor, I. Rytina, M. Kalla, L. Zhang, V. Paxson, "Stream Control Transmission Protocol", October 2000. [sctpcheck] R. Stewart, J. Stone, D. Otis, "SCTP Checksum Change", January 18, 2002, draft-ietf-tsvwg-sctpcsum-07.txt, work in progress [sctpImplem] R. Stewart, L. Ong, I. Arias-Rodriguez, A. Caro, M. Tuexen, "Stream Control Transmission Protocol (SCTP) Implementers Guide", January 18, 2002, draft-ietf-tsvwg- sctpimpguide-06.txt, work in progress [RFC1905] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996. [RFC1906] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996. [RFC2571] D. Harrington, R. Presuhn, B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999. [RFC2572] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999. [RFC2573] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2573, April 1999. [RFC2574] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999. Pastor, Belinchon [Page 37] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 [RFC2575] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999. [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. 6.1 Informative References [SecSNMP] Stallings, W., "SNMP3: A Security Enhancement for SNMP", IEEE Communication Surveys, Forth quarter 1998, Vol. 1 No. 1. [Cong] Jacobson, V., "Congestion Avoidance and Control", SIGCOMM 1988, Stanford, California. [RFC1155] Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990. [RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990. [RFC1212] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991. [RFC1215] M. Rose, "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991. [RFC1901] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996. [RFC2012] K. McCloghrie, "SNMPv2 Management Information Base for the Transmission Control Protocol using SMIv2", RFC 2012, November 1996. [RFC2570] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction to Version 3 of the Internet-standard Network Management Framework", RFC 2570, April 1999. Pastor, Belinchon [Page 38] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 [RFC3291] M. Daniele, B. Haberman, S. Routhier, J. Schoenwaelder, "Textual Conventions for Internet Network Addresses", May 2002. [IPv6ARCH] Deering, S., Haberman, B., Jinmei, T., Nordmark, E., Onoe, A. and B. Zill, "IPv6 Scoped Address Architecture", draft- ietf-ipngwg-scoping-arch-04.txt, December 2002. Work in progress. [TADDRESS] M. Daniele , J. Schoenwaelder , "Textual Conventions for Transport Addresses", draft-ietf-ops-taddress-mib-03.txt, July 22, 2002. Work in progress. [TCPMIB] Bill Fenner, Keith McCloghrie, Rajiv Raghunarayan, Juergen Schoenwalder, "Management Information Base for the Transmission Control Protocol (TCP) ", draft-ietf-ipv6-rfc2012-update-00.txt , June 2002. Work in progress. [UDPMIB] Bill Fenner, "Management Information Base for User Datagram Protocol (UDP draft-ietf-ipv6-rfc2013-update-00.txt, June 2002. Work in progress. 7. Full Copyright Statement Copyright (C) The Internet Society (2002). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 8. Security Consideration Pastor, Belinchon [Page 39] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 The deleteTCB management object, defined in this MIB, has a MAX- ACCESS clause of read-write. This is because it allows operators to tear down the associations. Such object may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations. It is thus important to control even GET access to these objects and possibly to even encrypt the values of these object when sending them over the network via SNMP. Not all versions of SNMP provide features for such a secure environment. SNMPv1 by itself is not a secure environment. Even if security measures are taken (e.g., using IPSEC), there is no per-user control as to who (once an IPSEC association is established between hosts) is allowed to GET or SET the objects in this MIB It is recommended that the implementers consider the security features as provided by the SNMPv3 framework. Specifically, the use of the User-based Security Model RFC 2574 [RFC2574] and the View- based Access Control Model RFC 2575 [RFC2575] is recommended. It is then a customer/user responsibility to ensure that the SNMP entity giving access to an instance of this MIB, is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them. 8. Acknowledgments The authors wish to thank Juergen Schoenwaelder, David Partain, Shawn A. Routhier, Ed Yarwood, John Linton, Shyamal Prasad Juan-Francisco Martin, Dave Thaler, and Bert Wijnen for their invaluable comments. 9. Authors' Addresses Javier Pastor-Balbas Tel: +34-91-339-3819 Ericsson Espana S.A. eMail: J.Javier.Pastor@ericsson.com Network Communication Services Ombu 3, 4th floor Madrid, 28045 Spain Maria-Carmen Belinchon Tel: +34-91-339-3535 Ericsson Espana S.A. eMail: Maria.C.Belinchon@ericsson.com Network Communication Services Ombu 3, 4th floor Madrid, 28045 Spain Pastor, Belinchon [Page 40] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 10. Revision History RFC-Editor to remove this section before publication as RFC. 10.1 Changes from o Open issues updated o Section 2: Reference to RFC227x changed to RFC257x o Section 4: Inside the sctpRtoAlgorithm definition has been put "other" first rather than last. That way, it won't end up in the middle of things when new enumerations are added later. 10.2 Changes from o Change of "Simple" word to "Stream" word in SCTP acronyms o Version of the MIB based on SCTPv10 o Section 2: Update SNMP Framework to include the standard explanation o New Structure for the MIB: sctp \- sctpObjects \- sctpScalars \- sctpTables \- sctpMIBConformance o Section 4.1.2: Unit of Conformance updated (functional structure). o MAX-ACCESS clauses reviewed o The general statistics has been re-ordered, placed before the tables. o In SMIv2, indexes should be not-accessible (= the object type is a column in a table used as index and may not be used as an operand in any operation != SMIv1) (pp109-110 in []) o IPv6 compatible: - Change of Primary/Local/Remote addresses - PENDING: check "MODULE-COMPLIANCE" o Row Status included in AssocTable, AssocLocal and AssocRem to create, modify and delete rows in the tables. Pastor, Belinchon [Page 41] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 o SCTP general statistics changed from Counter32 to Counter64 since it supports more data changes. o sctpCurrEstab ("State-related variables and statistics" section) variable changed from Gauge32 to Counter32. o sctpAssocRemAddressT1expired and sctpAssocRemAddressT2expired have been removed from the remote table and added in the general association data since they are variables per association (not per IP address). o sctpAssocDropDatag statistic has been removed from the general association statistics since it had an ambiguous meaning. o Explained the meaning of the unordered chunks (chunks in which the U bit is set to 1) in sctpStatOutOfOrderSentChunks and sctpStatOutOfOrderRecChunks. o Added sctpChecksumErrorCounter to collect information about wrong checksums received from the peer. o Specify that sctpStatSentChunks and sctpStatRecChunks does not contain retransmission chunks. o Reword the Security Considerations chapter pointing out that IPsec does not secure the network but it provides end-to-end security over a network. o sctpAssocRemAddressRtxChunks replaced as a variable per association, meaning the number of chunks retransmited to the peer in the current association. o sctpHeartBeatMisses and sctpMaxRetr have been replaced from the general SCTP statistics to the remote IP address table (sctpHeartBeatMisses) and in the association table (sctpMaxRetr). o Specify that the retransmissions in the general SCTP statistics include control plus data chunks. o Included heartbeat timer for remote IP address. o Removed sctpAssocRemAddressHeartBeatMisses variable from the remote IP address table. o Removed sctpAssocRemAddressT3expired variable from the remote IP address table. o Updated variables to the new SCTP states defined in v10. Pastor, Belinchon [Page 42] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 10.3 Changes from o sctpRtoMin - stray "." outside the double-quotes in the DESCRIPTION clause. o sctpRtoMax - stray "." outside the double-quotes in the DESCRIPTION clause. o sctpAssocRemHostName - the type OCTECT STRING should be OCTET STRING. o sctpAssocRemPrimaryAddress - the DESCRIPTION clause is missing its closing ouble-quote. o sctpConformance - this is defined as { sctpMIB 2 }, then never used; instead sctpMIBConformance (which is undefined) is used in the definition of sctpMIBGroups and sctpMIBCompliances. o Reworded the MIB organization o Removed maximum number of concurrent associations o In sctpMIBCompliance, removed a missing comma in MANDATORY-GROUPS. o In sctpAssocTablesVariablesGroup and sctpAssocStatGroup, removed extra commas at end of OBJECTS list. o sctpAssocInStreams. ACCESS changed from read-create to read-only. o sctpAssocRemAddressHeartBeatFlag and sctpAssocRemAddressHBTimer changed from per remote IP address to per association. o Comment on sctpAssocRemAddressHBTimer specifies now that the manager can change it. o ACCESS on sctpAssocRemAddressHBTimer changed from read-only to read-write. o ACCESS on sctpAssocRemAddressRetransCount changed from read-write to read-only. o Move sctpStatChecksumErrorCounter from general statistics to per association. o sctpMaxInStreams û ItÆs a sctp-user feature. o sctpStatRetransChunks û ItÆs more useful to have this statistic in a association basis o sctpAssocRemAddressHeartBeatFlag and sctpAssocRemAddressHBTimer have been created again instead of per association in order to follow Pastor, Belinchon [Page 43] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 the draft. If some implementations want to have the same value for all the associations they have, they should set all the variables in the different remote addresses to the same value. 10.3 Changes from o Deleting all the RowStatus Structure. Associated text rewording in Tables section. o Variable StartTime added in all the tables in order to specify the creation time. o Adding the Association reverse lookup table for easier management. Associated text rewording in tables section. o Remove sctpInitialT1 and sctpInitialT2, since these values are equal to RTO. o Change of the Heartbeats to a per-association basis o Conformance up-to-date with all of this. 10.4 Changes from Main changes are due to the alignment with the TCP and UDP MIBs and the inclusion of new lookup tables. o Convert MIB to a read-only o Counters ends with ôsö o Include ôunknownö as an option for InetAddressType in conformance o Terminology fix: CLOSED state, unordered chunks instead of out-of- order, .. o HBFlag changed to per remote address o ChecksumErrors out of the AssocTable and hangs from Scalars o Update Ports from Unsigned32 to InetPortNumber according to RFC2851-update o Rework inverse tables: five new lookup tables o Remove INTEGER32 and change it to UNSIGNED32 o Replace Counter32 by Counter64 Pastor, Belinchon [Page 44] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 o Split Sent and Received chunks per association into control, ordered and unordered chunks 10.5 Changes from Changes due to the IETF-51 meeting and requests from the mailing list. o Typo errors o Objects renumbering o All counters to Counter32 to be backward compatible, not to waste memory. Operators needing more than 32 bits will do it by augmentations. o Limit the number of IP address size when index o Specify that a port number with value zero means unknown port number according to the RFC2851-update Changes due to the alignment with the RFC2851-update. o Include clarification text of the IP address types supported in the SCTP MIB. Chapter 3.1.2.1 (Association table) o Remote Primary IP address: Addition of the ipv4z an ipv6z types for non-globally IP addresses in which a scope identifier is needed. Addition of the scope of ipv6 type. All of them according to the RFC2851-update v04 o InetAddressType for local and remote IP addresses: Limit UNKNOWN type only for unknown IP address format. Remove UNKNOWN type for zero-length value in the InetAddress since it will be never zero-length due to the size restriction (0..64) Addition of the ipv4z an ipv6z types for non-globally IP addresses in which a scope identifier is needed. Addition of the scope of ipv6 type. All of them according to the RFC2851-update v04 o Clarify when mapping DNS <-> IPaddress occurs with the remote IP addresses o Conformance: Description: Specify that the SCTP MIB only need to support IPv4/IPv6 addresses without a zone index, unknown type and DNS names. Support for IPv4/IPv6 addresses with zone indices is not required. Pastor, Belinchon [Page 45] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 InetAddressType for primary, local and remote IP addresses: Clarify that the implementation is only required to support IPv4 and IPv6 address types without zone indices. Clarify also that UNKONWN type is only used in case of local and remote addresses when invalid/unknown IP address format InetAddress value of primary, local and remote IP address: Removal of the InetAddress values supported. Limitation of the supported IP address types is already included in the InetAddressType o Revision of the RFC2851-update v05. Changes in this draft does not affect the SCTP MIB. 10.6 Changes from Changes due to the IPv6mib Design Team and the Sigtran mailing list. o RFC2851-update v06 (changes) does not affect the SCTP MIB o Typo errors o Restructure the MIB organization (tree): sctp \- sctpParameters \- sctpStats o Modify conformance section according to the new MIB structure. Statistics and lookup tables will be optional o Clarify that the SCTP MIB is based on the TCP MIB update (RFC2012update) and the TCs for Internet Network Addresses (RFC2851update) û remove reference to RFC2452 o Replace "Sent" by "out" and "Received" by "in" in statistics o Change the sctpAssocId to exclude the value zero. This allows other MIBs to reference associations and to use the value 0 to indicate no association o Clarify sctpRemHostName to be zero-length value when no remote host name was received at the initialization stage o Limit the range of local and remote ports to (1..65535). Value 0 (unknown port number according to RFC2851-update) is not valid in SCTP associations since there is no way of having an assoc with an unknown local or remote port o sctpAssocRemPrimaryAddressType and sctpAssocRemPrimaryAddress value to be filled in with a zero length string until valid values are received in the INIT or INIT ACK chunk Pastor, Belinchon [Page 46] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 o sctpAssocRemAddress and sctpAssocLocalAddressIP size upper limit restriction to 36, as TCP MIB o Change to Counter64 those counters which may wrap in less than an hour o Change sctpMaxAssoc variable to Integer32 since value û1 is allowed for dynamic maximum number of associations o Added a new column in the association table to give a pointer to the primary system level process which holds the association endpoint(sctpAssocPrimaryProcess) o Specify in the security section, which object should be handled carefully for security reasons 10.7 Changes from o Change of the variable structure to: MIB-2 {1 3 6 1 2 2} +--(xxx)sctpMIB | +--(1) sctpObjects | | | +--(1) sctpStats | | | | | +-- | | | +--(2)sctpParameters | | | | | +-- | | | +--(3) sctpAssocTable | | | +--(4) sctpAssocLocalAddressTable | | | +--(5) sctpAssocRemAddressTable | | | +--(6) sctpLookupLocalPortTable | | | +--(7) sctpLookupRemPortTable | | | +--(8) sctpLookupRemHostNameTable | | | +--(9) sctpLookupRemPrimIPAddrTable | | | +--(10) sctpLookupRemIPAddrTable Pastor, Belinchon [Page 47] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 | | +--(2)sctpConformance | +--(1) sctpCompliances | | | +-sctpCompliance | +--(2) sctpGroups | +--(1) sctpParametersGroup | +--(2) sctpStatGroup | +--(3) sctpAssocTableParametersGroup | +--(4) sctpInverseGroup o New chapter for compilation notes created o References ordered and updated 10.8 Changes from Changes due to the TSV WG, Sigtran technical advisor and O&M A-Ds review. o Typo errors o Include a REVISION clause in the MODULE-IDENTITY macro o Included a discontinuity timer object for sctpAssocTable. Such is needed as per RFC2978, sect 7.1.6 and sect 7.1.10 o Define which objects allow to have a zero value and specify in which cases. o Eliminate zero value in indexes. o sctpAssocRemHostName is OCTET STRING and it will be interpreted under the DNS criteria. o Eliminated redundant information from RFC 3291 o Only IPv4 and IPv6 addresses are expected o Accept a SET for a value that is exactly the same as the current value (a NO-OP). Comment added to show this. Pastor, Belinchon [Page 48] INTERNET-DRAFT SCTP MIB using SMIv2 May, 2003 o Tables are created with values from INIT and INIT ACK SCTP messages. All values are present when rows are created. o Use of TruthValue for IP addresses state and Heart Beat. o Reword of Lookup tables description o Lookup Tables. Place Associatio State instead of Stamp Time object o Removed ôunknownö type from addresses. They will be always known, otherwise row will not be created. o Same restriction added for the the Address itself o For the object sctpAssocState, formally indicated that only one enum (deleteTCB) is writable o SNMP boiler plate (Sect 2) changed. o IPR section added as per RFC2026 Sect 10. o Removed Tag value identifier as possible value inside AssocId object. Pastor, Belinchon [Page 49]