Internet Draft

Network Working Group                                         J. Pastor
INTERNET-DRAFT                                             M. Belinchon
                                                               Ericsson

expires in six months                                      June 07,2000


                   Stream Control Transmission Protocol 
                  Management Information Base using SMIv2
                    <draft-ietf-sigtran-sctp-mib-01.txt>

Status of This Memo

   This document is an Internet-Draft and is in full conformance with all
   provisions of Section 10 of RFC 2026. 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.

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.



Abstract

   The Stream Control Transmission Protocol (SCTP) 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 managed objects for implementation of the SCTP.




Open Issues


   - Remove this section.
   
   - Remove Revision History

   - Decide under which object identifier branch of the SNMP tree, SCTP 
     will be placed (value obtained when submitted to the IETF editor).

   - The MIB cannot be compiled because new textual convention for
     Internet Network Address (draft-ops-endpoint-mib-08.txt) is work
     in progress, not an RFC.
   
   - Update references to drafts.

   - Format draft accoring to the IETF rules.



Table of Contents

   1. Introduction ................................................
   1.1 Abbreviations ..............................................
   2. The SNMP framework ..........................................
   3. Structure of the MIB ........................................
   3.1 Protocol General Variables .................................
   3.2 Statistics for Traffic Measurements ........................
   3.2.1 State-Related Statistics .................................
   3.2.2 Other Statistics .........................................
   3.3 Association Tables .........................................
   4. Definitions .................................................    
   4.1 Conformance Information ....................................    
   4.1.1 Compliance Statements ....................................    
   4.1.2 Units of Conformance .....................................    
   5. References ..................................................   
   6. Security Considerations .....................................   
   7. Acknowledgements ............................................
   8. Authors' Addresses ..........................................   
   9. Revision History ............................................   



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 RFC 2012: 
"SNMPv2 Management Information Base for the Transmission Control 
Protocol using SMIv2" [2]. 

Terms related to the SCTP architecture are explained in [1]. Other 
especific abbreviations are listed below.


1.1  Abbreviations

MIB     - Management Information Base
SCTP    - Stream Control Transmission Protocol
SMI     - Structure of Management Information
SNMP    - Simple Network Management Protocol



2.  The SNMP Framework

   The SNMP Management Framework presently consists of five major
   components:
   
   -  An overall architecture, described in RFC 2271 [SNMPArch].
   
   -  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
      RFC 1155 [SMIv1], RFC 1212 [SNMPv1MIBDef] and RFC 1215
      [SNMPv1Traps].  The second version, called SMIv2, is described
      in RFC 1902 [SMIv2], RFC 1903 [SNMPv2TC] and RFC 1904
      [SNMPv2Conf].
   
   -  Message protocols for transferring management information.  The
      first version of the SNMP message protocol is called SNMPv1
      and described in RFC 1157 [SNMPv1].  A second version of the
      SNMP message protocol, which is not an Internet standards
      track protocol, is called SNMPv2c and described in RFC 1901
      [SNMPv2c] and RFC 1906 [SNMPv2TM].  The third version of the
      message protocol is called SNMPv3 and described in RFC 1906
      [SNMPv2TM], RFC 2272 [SNMPv3MP] and RFC 2574 [SNMPv3USM].
   
   -  Protocol operations for accessing management information.  The
      first set of protocol operations and associated PDU formats is
      described in RFC 1157 [SNMPv1].  A second set of protocol
      operations and associated PDU formats is described in RFC 1905
      [SNMPv2PO].
   
   -  A set of fundamental applications described in RFC 2273
      [SNMPv3App] and the view-based access control mechanism
      described in RFC 2575 [SNMPv3VACM].
   
   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.  Structure of the MIB

The MIB is structured in the following way:

			 sctpMib
			/	\
		sctpObjects	sctpConformance
		/	\
	sctpScalars	sctpTables

where the following sections are described :
	- sctpObjects, where all the SCTP objects are defined under 
	this branch.

		- sctpScalars, where scalars values are placed. It is 
		divided in:

			- General variables, where the main SCTP initial
			variables are listed. 

			- Statistics for traffic measurements.
				- state related
				- other statistics

		- sctpTables, to hold data from each association 
		together with the main statistics (per association or 
		transport address). Local and remote tables are included
		into the general association table to allow multiples 
		IP addresses in order to support the multihome feature.
	
	- sctpConformance, for the Unit of Conformance.

	
3.1  Scalars

3.1.1 Protocol General Variables

The first section of the MIB contains the general variables for the 
SCTP protocol. Parameters as the RTO related variables, streams, timers 
and heartbeat are described. Maximum and Minimum values can be found here.

SCTP RTO mechanism is the same as defined in TCP. So, the variable is 
based on the one defined in RFC 2012. In SCTP protocol, only options 
'other' and 'vanj' remain because SCTP protocol defines Van Jacobson's 
algorithm as the one to be used to calculate RTO. 'Other' is left for 
future use ('rsre' algorithm was eliminated because MIL-STD-1778 is 
Cancelled-No Superseding Document according to the Military Standard 
library and 'constant' option doesn't fulfill the SCTP protocol 
description). 

Cookies and heartbeat values have been added acording to the SCTP 
protocol.

Timers for initialization and shutdown procedures have been included, 
so the operator can check them and take the proper actions when 
required.

Since SCTP is based on the transmission through streams, it's 
interesting to know the maximum number of streams allowed in a given 
association. The number of used streams will be negotiated at 
initialization time.


3.1.2  Statistics for traffic Measurements

3.1.2.1 State-Related Statistics

These measures are considered important and are also based in the TCP 
model, but adapted to the SCTP states. They allow to check how easy is 
to init an association, how many association connection attempts become 
established associations or how many associations terminate, amongst others.

3.1.2.2  Other Statistics

Other statistics are specified based on the data unit of SCTP: the chunk.
In this way, we have the whole picture of the bytes flow. 
Also, there are statistics related to the SCTP packets. I.e., the number
of out of the blue packets received by the host (SCTP packets correctly formed, 
i.e. rigth checksum, whose receiver is not able to identify the association to
which this packet belongs). And the number of SCTP packets received with an
invalid checksum.


3.2  Association Tables

The part of the MIB to define each association is structured 
according to a expanded table. There is a main table, indexed by the 
association identification. This main table contains information
common for a given association (association id, SCTP user ports, primary 
address, negotiated number of inbound/outbound streams, retransmited
chunks and statistics). 
This main table (for the association) contains two other tables :

	a) Table for local IP address/-ess information:
	   This table stores information related to the local IP
	   address/-ess reserved for the association. It's indexed by 
	   the IP address/-ess. 

	b) Table for remote IP address/-ess information:
	   This table stores information related to the remote IP
	   address/-ess reserved for the association. It's indexed by 
	   the IP addresses. It includes statistics, heartbeat issues, 
	   retransmissions counters and the state of the reachibility 
           of the referenced IP address. 

Note that the IP address indexing the tables is valid for IPv4, IPv6 and 
DNS [ConvIETF]. Therefore, IP address is defined by the Internet address
type and the value of the IP address, according to the Textual Conventions 
for Internet Network Address. 

However, DNS value is not being used to identify an IP address since it is 
only valid during initialization (once init is finished, both sides only use 
IP addresses). To keep the name of the remote peer, an entry has been created 
(sctpAssocRemHostName) in the association table. When no DNS name is 
provided by the remote endpoint at init time, this value will be NULL. 
Otherwise, the received DNS name will be stored.

The variable RowStatus allows creating and deleting rows in the table. 
Creation will be performed after the four handshake protocol at association 
start up phase (when the association is considered established). Deletion 
will be performed when the association is terminated either in a graceful 
or ungraceful way [ConvSMIv2].


sctpAssocTable 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sctpAssocId (index)					/	...	| 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sctpAssocRemHostName				        \ 	...	| 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sctpAssocLocalSCTPPort				/ 	...	| 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sctpAssocRemSCTPPort					\ 	...	| 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sctpAssocRemPrimaryAddressType			/ 	...	|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sctpAssocRemAddressPrimary     			\ 	...	|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sctpAssocState					/ 	...	| 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sctpAssocInStreams					\ 	...	|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sctpAssocOutStreams					/ 	...	|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sctpAssocT1expired			                \ 	...	|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sctpAssocT2expired				        / 	...	|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sctpAssocRtxChunks				        \ 	...	|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sctpAssocRowStatus				        / 	...	|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sctpAssocLocalAddressTable                        	\		|
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/+-+-+	/		|
| 	| sctpAssocLocalAddressIPType(index)\ ...|	\ 	...	|
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/+-+-+	/		|
| 	| sctpAssocLocalAddressIP (index)   \ ...|	\ 	...	|
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/+-+-+	/		|
| 	| sctpAssocLocalAddressRowStatus    \ ...|	\ 	...	|
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/+-+-+	/		|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sctpAssocRemAddressTable                              \		|
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/+-+-+	/		|
| 	| sctpAssocRemAddressIPType (index) \ ...|	\ 		|
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/+-+-+	/		|
| 	| sctpAssocRemAddressIP (index)     \ ...|	\ 		|
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/+-+-+	/		|
| 	| sctpAssocRemAddressStatus	    \ ...|	\ 		|
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/+-+-+	/		|
|       | sctpAssocRemAddressRTO  	    \ ...|	\ 		|
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/+-+-+	/		|
|       | sctpAssocRemAddressHeartBeatFlag  \ ...|	\ 		|
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/+-+-+	/		|
|       | sctpAssocRemAddressRetransCount   \ ...|	\ 		|
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/+-+-+	/		|
|       | sctpAssocRemAddressPathMaxRx      \ ...|	\ 		|
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/+-+-+	/		|
|       | sctpAssocRemAddressHBTimer        \ ...|	\ 		|
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/+-+-+	/		|
| 	| sctpAssocRemAddressT3expired 	    \ ...|	\ 		|
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/+-+-+	/		|
| 	| sctpAssocRemAddressRowStatus 	    \ ...|	\ 		|
|       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/+-+-+	/		|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Every entry is explained when defining the MIB.




4.  Definitions

SCTP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, INTEGER, Integer32, Unsigned32,  
    Counter32, Counter64, Gauge32, mib-2        
         FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP             
         FROM SNMPv2-CONF
    TEXTUAL-CONVENTION,  RowStatus, InetAddressType, InetAddress             
         FROM SNMPv2-CONF
    ;

sctpMIB MODULE-IDENTITY
    LAST-UPDATED "0004300000Z"
    ORGANIZATION "IETF SIGTRAN Working Group"
    CONTACT-INFO
            "        Maria-Carmen Belinchon-Vergara
                     Jose-Javier Pastor-Balbas

             Postal: Ericsson Espana S. A.
                     C/Retama 7
                     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 SCTP implementation."
    REVISION      "00007030000Z"
    DESCRIPTION
            "MIB module developed for the SIGTRAN IETF group. Based on SCTPv10"
    ::= { xxxx }  -- IANA needs to choose this value 
                  -- when sent to the RFC editor


-- Top-level structure of the MIB

sctpObjects      OBJECT IDENTIFIER ::= { sctpMIB 1 }  
sctpConformance  OBJECT IDENTIFIER ::= { sctpMIB 2 }

sctpScalars      OBJECT IDENTIFIER ::= { sctpObjects 1 }
sctpTables       OBJECT IDENTIFIER ::= { sctpObjects 2 }



-- 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 used for
            retransmitting unacknowledged chunks"
    ::= { sctpScalars 1 }

sctpRtoMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-write
    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.  
	    Recommended value is 1000 milliseconds".

    ::= { sctpScalars 2 }

sctpRtoMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-write
    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".
    ::= { sctpScalars 3 }


sctpRtoInitial OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Initial value for the Retransmission timer. Recommended
            value is 3000 milliseconds"
    ::= { sctpScalars 4 }

sctpValCookieLife OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Valid cookie life in the 4-way start-up handshake procedure.
            Recommended value: 5000 milliseconds"
    ::= { sctpScalars 5 }

sctpMaxInitRetr OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The maximum number of retransmissions at the start-up phase.
            Recommended value: 8 attempts"
    ::= { sctpScalars 8 }

sctpInitialT1 OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Initial value for the Start-up-T1 timer."
    ::= { sctpScalars 9 }

sctpInitialT2 OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Initial value for the Shutdown-T2 timer."
    ::= { sctpScalars 10 }

sctpMaxInStreams OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The maximum number of inbound streams that an SCTP  
            implementation allows. This value will be used to
	    negotiate at start-up phase the outbound streams number."
    ::= { sctpScalars 11 }


sctpMaxAssoc OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The maximum total number of associations that an SCTP
            implementation allows including all possible hosts to connect to."
    ::= { sctpScalars 12 }


-- STATE-RELATED STATISTICS

sctpCurrEstab OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of SCTP associations for which the current state
            is either ESTABLISHED or SHUTDOWN-RECEIVED."
    ::= { sctpScalars 13 }

sctpActiveEstab 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 ESTABLISH state from the COOKIE-ECHOED state: 
            COOKIE-ECHOED -> ESTABLISHED. This upper layer has been the starter
            of the communication."
    ::= { sctpScalars 14 }

sctpPassiveEstab 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. This means that the peer has  
            started the dialogue"
    ::= { sctpScalars 15 }

sctpAborted 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 any state using the 
            primitive 'ABORT': AnyState --Abort--> CLOSED."
    ::= { sctpScalars 16 }

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 CLOSE state from either the SHUTDOWN-
            SENT state or the SHUTDOWN-ACK-SENT state."
    ::= { sctpScalars 17 }


-- OTHER LAYER STATISTICS

sctpStatAssocOutOfBlue OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of out of the blue packets (SCTP packet correctly 
	     formed -rigth checksum- but the receiver is not able to  
	     identify the association to which this packet belongs) 
	     received  by the host."
    ::= { sctpScalars 18 }

sctpStatSentChunks OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of SCTP chunks, control and data chunks, sent to the peers (no retransmissions
	     included)."
    ::= { sctpScalars 19 }

sctpStatRecChunks OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of SCTP chunks, control and data chunks, received from the peers (no retransmissions
	     included)."
    ::= { sctpScalars 20 }

sctpStatRetransChunks OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of SCTP chunks, control and data chunks, retransmited to the peers."
    ::= { sctpScalars 21 }


sctpStatOutOfOrderSentChunks OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of unordered chunks  (chunks in which the U bit
	     is set to 1) sent to the peers."
    ::= { sctpScalars 22 }

sctpStatOutOfOrderRecChunks OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of unordered chunks (chunks in which the U bit 
	     is set to 1) received from the peers."
    ::= { sctpScalars 23 }

sctpStatChecksumErrorCounter OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of SCTP packets received from the peers with an invalid 
	     checksum."
    ::= { sctpScalars 24 }



-- SCTP ASSOCIATION DESCRIPTION PARAMETERS
-- ***************************************


-- the SCTP Association TABLE
-- **************************

-- The SCTP association table contains information about each
-- association that the local endpoint has established.


sctpAssocTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SctpAssocEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A table containing SCTP association-specific information."
    ::= { sctpTables 1 }

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		OCTECT STRING,
	sctpAssocLocalSCTPPort		Integer32,
	sctpAssocRemSCTPPort		Integer32,
        sctpAssocRemPrimaryAddressType	InetAddressType,
        sctpAssocRemPrimaryAddress	InetAddress,
	sctpAssocState			INTEGER,
        sctpAssocInStreams		Unsigned32,
        sctpAssocOutStreams		Unsigned32,
	sctpAssocMaxRetr		Unsigned32,
	sctpAssocT1expired 	        Counter32,	-- Statistic
	sctpAssocT2expired              Counter32,	-- Statistic
	sctpAssocRtxChunks              Counter32,	-- Statistic
	sctpAssocRowStatus		RowStatus
    }

sctpAssocId OBJECT-TYPE
    SYNTAX      Unsigned32 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Association Identification. Value identifying the association 
	     (tipically the Initiate Verification Tag)."
    ::= { sctpAssocEntry 1 }

sctpAssocRemHostName OBJECT-TYPE
    SYNTAX      OCTECT STRING (SIZE(0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Peer's DNS name. 
	     If no DNS domain name was received at init time from the peer, 
	     this entry will be meaningless, therefore it will store a NULL 
	     value. 
	     Otherwise, the remote host name received at init time will be 
	     stored."
    ::= { sctpAssocEntry 2 }

sctpAssocLocalSCTPPort OBJECT-TYPE
    SYNTAX      Integer32(0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Local Port number used for this association."
    ::= { sctpAssocEntry 3 }

sctpAssocRemSCTPPort OBJECT-TYPE
    SYNTAX      Integer32(0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The destination SCTP port number used to communicate with 
	     the remote peer for this association. Each value is defined 
	     by the IANA organization."
    ::= { sctpAssocEntry 4 }

sctpAssocRemPrimaryAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Internet type of primary destination IP address.
	     unknown (0) An unknown address type. This value MUST 
	     		 be used if the value of the corresponding 
			 InetAddress object is a zero-length string. 
			 It may also be used to indicate an IP address 
			 which is not one of the formats defined below.
			 This value is used in this MIB for error conditions.
 
 	     ipv4 (1)    An IPv4 address as defined by the InetAddressIPv4 
	     		 textual convention. 

 	     ipv6 (2)    An IPv6 address as defined by the InetAddressIPv6 
	     		 textual convention."

    ::= { sctpAssocEntry 5 }

sctpAssocRemPrimaryAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Primary destination IP address.
	     An InetAddress value is always interpreted within the 
	     context of an InetAddressType value.
	     This value will be filled in after INIT or INIT ACK messages
	     have been received (when the primary path is selected by SCTP).

    ::= { sctpAssocEntry 6 }

sctpAssocState OBJECT-TYPE
    SYNTAX      INTEGER {
                    closed(1),
                    cookieWait(2),
                    cookieEchoed(3),
                    established(4),
                    shutdownPending(5),
                    shutdownSent(6),
                    shutdownReceived(7),
                    shutdownAckSent(8),
                    deleteTCB(9)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The state of this SCTP association.

            As in TCP, the only value which may be set by a management 
            station is deleteTCB. Accordingly, it is appropriate for 
            an agent to return a 'badValue' response if a management 
            station attempts to set this object to any other value.

            If a management station sets this object to the value
            deleteTCB(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.

            As an implementation-specific option, an ABORT chunk may be
            sent from the managed node to the other SCTP endpoint."
    ::= { sctpAssocEntry 7 }

sctpAssocInStreams OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Inbound Streams according to the negotiation at association
             start up. This parameter has to be read-only by the manager.

	     If the local application acts as the server, the sctpAssoc table 
             will be created when the COOKIE chunk arrives, at the same 
             time the association becomes ESTABLISHED.

	     If the local node acts as the client, this table will be 
             created just before sending the INIT chunk. At that time, 
             there is no fixed value for this parameter as the negotiation 
             has not taken part. Initial value is set and modified locally 
             to the negotiated one at the same time the association becomes 
             ESTABLISHED or when the INIT_ACK chunk is received." 
	     
    ::= { sctpAssocEntry 8 }

sctpAssocOutStreams OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Outbound Streams according to the negotiation at association
             start up. This parameter has to be read-only by the manager.

	     When the local application acts as the server, the sctpAssoc table 
             will be created when the COOKIE chunk arrives, at the same 
             time the association becomes ESTABLISHED.

	     If the local node acts as the client, this table will be 
             created just before sending the INIT chunk. At that time, 
             there is no fixed value for this parameter as the negotiation 
             has not taken part. Initial value is set and modified locally 
             to the negotiated one at the same time the association becomes 
             ESTABLISHED or when the INIT_ACK chunk is received."

    ::= { sctpAssocEntry 9 }

sctpAssocMaxRetr OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "The maximum number of retransmissions for data sending.
            Recommended value: 10 attempts.

	    This value is specific for each association and the upper layer
	    can be able to change it calling the appropiates primitives."
    ::= { sctpAssocEntry 10 }

-- Association Statistics

sctpAssocT1expired OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of times that T1 timer expired (timer for sending
             INIT message and receiving an acknowledgment)."
    ::= { sctpAssocEntry 11}

sctpAssocT2expired OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of times that T2 timer expired (shutdown timer)."
    ::= { sctpAssocEntry 12}

sctpAssocRtxChunks OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Number of control and data chunks retransmited to the peer
             in the current association."
    ::= { sctpAssocEntry 13}

sctpAssocRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "An object that allows entries in this table to be created and
             deleted using the RowStatus convention.
	     A row in this table will be created after the endpoint sends or
	     receives the COOKIE_ECHOED message, i.e., when the initialization
	     start-up phase is completed (the association is fully 
	     established).The creation of this row implies the creation
             of at least another row (depending on the number of local and 
	     remote addresses) in the tables sctpAssocLocalAddressTable 
	     and sctpAssocRemAddressTable.
     	     A row is deleted in sctpAssocTable when an association turns 
	     down. The deletion of a row in sctpAssocTable implies the 
	     deletion of the tables related to this asociation 
	     (sctpAssocLocalAddressTable and sctpAssocRemAddressTable). 
	     Also, a row is deleted in sctpAssocTable when a set operation 
             is received from the manager with destroy option."
    ::= { sctpAssocEntry 14 }




-- Expanded tables: Including Multihome 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.
             It shows different interesting data for each local  
             address which takes part in this association."
    ::= { sctpTables 2 }

sctpAssocLocalAddressEntry OBJECT-TYPE
    SYNTAX      SctpAssocLocalAddressEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Local information about the available addresses."
    INDEX   { sctpAssocId,	-- shared index
	      sctpAssocLocalAddressIPType,
	      sctpAssocLocalAddressIP }
    ::= { sctpAssocLocalAddressTable 1 }

SctpAssocLocalAddressEntry ::= SEQUENCE {
	sctpAssocLocalAddressIPType	InetAddressType,
	sctpAssocLocalAddressIP		InetAddress,
	sctpAssocLocalAddressRowStatus	RowStatus	
        }

sctpAssocLocalAddressIPType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The type of a local IP address available for this association.
	     unknown (0) An unknown address type. This value MUST 
	     		 be used if the value of the corresponding 
			 InetAddress object is a zero-length string. 
			 It may also be used to indicate an IP address 
			 which is not one of the formats defined below.
 			 This value is used in this MIB for error conditions.

 	     ipv4 (1)    An IPv4 address as defined by the InetAddressIPv4 
	     		 textual convention. 

 	     ipv6 (2)    An IPv6 address as defined by the InetAddressIPv6 
	     		 textual convention."

    ::= { sctpAssocLocalAddressEntry 1 }

sctpAssocLocalAddressIP OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The value of a local IP address available for this association.
	     An InetAddress value is always interpreted within the 
	     context of an InetAddressType value
	     If SCTP are using DNS names, the mapping to IP address/-ess
	     will be done at reception of INIT or INIT_ACK messages."
    ::= { sctpAssocLocalAddressEntry 2 }

sctpAssocLocalAddressRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "An object that allows entries in this table to be created and
             deleted using the RowStatus convention.
	     A row in this table will be created per local IP address to be 
             used in this association. The creation takes part when
             a new row in the sctpAssocTable is created. 
	     A row in this table will be deleted per local IP address used 
             in this association when the corresponding row in sctpAssocTable 
	     is deleted."
    ::= { sctpAssocLocalAddressEntry 3 }



-- 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
             It shows different interesting data for each remote peer IP
             address which is used in this association."
    ::= { sctpTables 3 }

sctpAssocRemAddressEntry OBJECT-TYPE
    SYNTAX      SctpAssocRemAddressEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about the remote IP address most important variables"
    INDEX   { sctpAssocId,	-- shared index
              sctpAssocRemAddressIPType,
              sctpAssocRemAddressIP }
    ::= { sctpAssocRemAddressTable 1 }

SctpAssocRemAddressEntry ::= SEQUENCE {
	sctpAssocRemAddressIPType		InetAddressType,
	sctpAssocRemAddressIP			InetAddress,
	sctpAssocRemAddressStatus		INTEGER,
        sctpAssocRemAddressRTO  		Unsigned32,
        sctpAssocRemAddressHeartBeatFlag  	INTEGER,
	sctpAssocRemAddressHBTimer		Unsigned32,
	sctpAssocRemAddressRetransCount		Counter64,
	sctpAssocRemAddressMaxPathRetrans	Counter64,
	sctpAssocRemAddressRowStatus            RowStatus
	}

sctpAssocRemAddressIPType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The type of a remote IP address available for this association.
	     unknown (0) An unknown address type. This value MUST 
	     		 be used if the value of the corresponding 
			 InetAddress object is a zero-length string. 
			 It may also be used to indicate an IP address 
			 which is not one of the formats defined below.
 			 This value is used in this MIB for error conditions.

 	     ipv4 (1)    An IPv4 address as defined by the InetAddressIPv4 
	     		 textual convention. 

 	     ipv6 (2)    An IPv6 address as defined by the InetAddressIPv6 
	     		 textual convention."
    ::= { sctpAssocRemAddressEntry 1 }

sctpAssocRemAddressIP OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The value of a remote IP address available for this association.
	     An InetAddress value is always interpreted within the 
	     context of an InetAddressType value."
    ::= { sctpAssocRemAddressEntry 2 }

sctpAssocRemAddressStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    active(0),
                    inactive(1)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The current status of the remote transport address. Active means
	    that the threshold of no anwer received from this IP address has
	    not been reached. Inactive means that either no heartbeat was 
	    received from this address, or any other message, reaching
	    the threshold defined by the protocol."
    ::= { sctpAssocRemAddressEntry 3 }

sctpAssocRemAddressRTO OBJECT-TYPE	-- T3-Rtx Timer
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The current Retransmision Time-Out. Timer T3 as defined
            in the protocol SCTP."
    ::= { sctpAssocRemAddressEntry 4 }

sctpAssocRemAddressHeartBeatFlag OBJECT-TYPE
    SYNTAX      INTEGER {
                    active(0),
                    inactive(1)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The optional Heartbeat associated to one destination 
	    transport address could be actived or not (value equal to
	    1 or 0, respectively).

            An active destination transport address is is a transport 
	    address on a peer endpoint which a transmitting endpoint
	    considers available for receiving user messages, as it is
	    described in [sctp]."
    ::= { sctpAssocRemAddressEntry 5 }

sctpAssocRemAddressHBTimer OBJECT-TYPE	
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The current heartbeat time-out. The initial default value
	     is RTO. It may be change by the user in a per address basis."
    ::= { sctpAssocRemAddressEntry 6 }


-- Remote Address Statistics

sctpAssocRemAddressRetransCount OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Number of retransmissions as defined in [sctp]."
    ::= { sctpAssocRemAddressEntry 7 }
  		
sctpAssocRemAddressMaxPathRetrans OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Maximum number of retransmissions allowed to a remote IP 
	     address before it is considered inactive, as defined in
             [sctp]."
    ::= { sctpAssocRemAddressEntry 8 }

sctpAssocRemAddressRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "An object that allows entries in this table to be created and
             deleted using the RowStatus conventionn.
	     A row in this table will be created per remote IP address 
	     defined for the association when a row in sctpAssocTable
	     is created.
	     A row in this table will be deleted per remote IP address 
	     defined for the association when a row in sctpAssocTable
	     is deleted."
    ::= { sctpAssocRemAddressEntry 9 }


-- 4.1 Conformance Information

sctpMIBGroups      OBJECT IDENTIFIER ::= { sctpMIBConformance 1 }
sctpMIBCompliances OBJECT IDENTIFIER ::= { sctpMIBConformance 2 }


-- 4.1.1 Compliance Statements

sctpMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for SNMPv3 entities which
            implement SCTP."
    MODULE  -- this module
        MANDATORY-GROUPS { sctpGeneralVariablesGroup
        	           sctpAssocTablesVariablesGroup
                           }                                                                                 
    GROUP sctpStateStatGroup
    DESCRIPTION
         "The sctp group of objects to control state changes in the SCTP
          protocol."

    GROUP sctpOtherStatGroup
    DESCRIPTION
         "The sctp group of objects providing for management of SCTP
          general statistics."        

    GROUP sctpAssocStatGroup
    DESCRIPTION
         "The sctp group of objects to manage SCTP statistics related 
	  to the remote endpoint." 


    OBJECT  sctpAssocRemPrimaryAddressType OBJECT-TYPE
    SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
    DESCRIPTION
         "It is only required to have IPv4 and IPv6 addresses to be 
          stored since the use of the host names is limited to first 
          stage, when the association is being established."

    OBJECT  sctpAssocRemPrimaryAddress OBJECT-TYPE
    SYNTAX  InetAddress (SIZE(4|16))
    DESCRIPTION
         "It is only required to support OPv4 and globally unique IPv6
          addresses."

    OBJECT  sctpAssocLocalAddressIPType OBJECT-TYPE
    SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
    DESCRIPTION
         "It is only required to have IPv4 and IPv6 addresses to be 
          stored since the use of the host names is limited to first 
          stage, when the association is being established."

    OBJECT  sctpAssocLocalAddressIP OBJECT-TYPE
    SYNTAX  InetAddress (SIZE(4|16))
    DESCRIPTION
         "It is only required to support IPv4 and globally unique IPv6
          addresses."

    OBJECT  sctpAssocRemAddressIPType OBJECT-TYPE
    SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
    DESCRIPTION
         "It is only required to have IPv4 and IPv6 addresses to be 
          stored since the use of the host names is limited to first 
          stage, when the association is being established."

    OBJECT  sctpAssocRemAddressIP OBJECT-TYPE
    SYNTAX  InetAddress (SIZE(4|16))
    DESCRIPTION
         "It is only required to support IPv4 and globally unique IPv6
          addresses."
            
    ::= { sctpMIBCompliances 1 }

-- 4.1.2 Units of conformance

    sctpGeneralVariablesGroup OBJECT-GROUP
    OBJECTS   { sctpRtoAlgorithm, sctpRtoMin, sctpRtoMax, sctpRtoInitial, 
	sctpValCookieLife, sctpMaxInitRetr, sctpInitialT1, sctpInitialT2, 
        sctpMaxInStreams, sctpMaxAssoc
	}
    STATUS    current
    DESCRIPTION
            "The sctp group of objects providing for management of SCTP
            entities. Common parameters for the protocol."
    ::= { sctpMIBGroups 1 }
    

    sctpStateStatGroup OBJECT-GROUP
    OBJECTS   { sctpCurrEstab, sctpActiveEstab, sctpPassiveEstab, sctpAborted, 
                sctpShutdowns
	      }
    STATUS    current
    DESCRIPTION
            "The sctp group of objects to control state changes in the SCTP
            protocol."
    ::= { sctpMIBGroups 2 }

    sctpOtherStatGroup OBJECT-GROUP
    OBJECTS   {  sctpAssocOutOfBlue, sctpStatSentChunks, sctpStatRecChunks, 
	sctpStatRetransChunks, sctpStatOutOfOrderSentChunks, 
	sctpStatOutOfOrderRecChunks,sctpStatChecksumErrorCounter}
    STATUS    current
    DESCRIPTION
            "The sctp group of objects providing for management of SCTP
            general statistics."
    ::= { sctpMIBGroups 3 }

    sctpAssocTablesVariablesGroup OBJECT-GROUP
    OBJECTS   { sctpAssocId, sctpAssocRemHostName, sctpAssocLocalSCTPPort, 
	        sctpAssocRemSCTPPort, sctpAssocRemPrimaryAddressType, 
	        sctpAssocRemPrimaryAddress, sctpAssocState, 	
		sctpAssocInStreams,  sctpAssocOutStreams,
	        sctpAssocMaxRetr,sctpAssocT1expired, sctpAssocT2expired,
		sctpAssocRtxChunks, sctpAssocRowStatus,                      
		sctpAssocLocalAddressIPType,sctpAssocLocalAddressIP, 
		sctpAssocLocalAddressRowStatus,	
		sctpAssocRemAddressIPType, sctpAssocRemAddressIP,
		sctpAssocRemAddressStatus, sctpAssocRemAddressRTO, 
		sctpAssocRemAddressHeartBeatFlag, 
	        sctpAssocRemAddressHBTimer, 
		sctpAssocRemAddressRowStatus,
	}
    STATUS    current
    DESCRIPTION
            "The sctp group of objects to manage specific local and remote 
            SCTP variables (local and remote tables)."
    ::= { sctpMIBGroups 4 }

    sctpAssocStatGroup OBJECT-GROUP
    OBJECTS   { sctpAssocRemAddressRetransCount, 
		sctpAssocRemAddressMaxPathRetrans, 
	}
    STATUS    current
    DESCRIPTION
            "The sctp group of objects to manage SCTP statistics related 
	     to the remote endpoint."
    ::= { sctpMIBGroups 5 }


END



5.  References

[sctp]      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",  
	    Internet Draft , 
	    February 2000.

[ConvIETF]  Textual Conventions for Internet Network Addresses ,
     	    Internet Draft , April 2000. 

[MIBMPLS]   Cucchiara et al. "Definnitions of Managed Objects for the
	    Multiprotocol Label Switching, Label Distribution Protocol 
	    (LDP)", Internet Draf <draft-ietf-mpls-ldp-mib-04.txt>, 
	    January 2000. 

[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.

[RFC2012]   K. McCloghrie, "SNMPv2 Management Information Base for the
	    Transmission Control Protocol using SMIv2", RFC 2012, 
	    November 1996.
		
[RFC2571]   Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture
            for Describing SNMP Management Frameworks", RFC 2571, April
            1999.

[RFC1155]   Rose, M., and K. McCloghrie, "Structure and Identification
            of Management Information for TCP/IP-based Internets", STD
            16, RFC 1155, 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.

[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.

[RFC1157]   Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple
            Network Management Protocol", STD 15, RFC 1157, May 1990.

[RFC1901]   Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
            "Introduction to Community-based SNMPv2", RFC 1901, 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.

[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.

[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.

[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.

[RFC2573]   Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications",
            RFC 2573, April 1999.

[RFC2575]   Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
            Access Control Model (VACM) for the Simple Network
            Management Protocol (SNMP)", RFC 2575, April 1999.

[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.

    
6. Security Consideration

There are a number of management objects defined in this MIB that have 
a MAX-ACCESS clause of read-write and/or read-create.  Such objects may 
be considered sensitive or vulnerable in some network environments. The 
support for SET operations in a non-secure environment without proper 
protection can have a negative effect on network operations.

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.


7. Acknowledgments

The authors wish to thank David Partain for his invaluable comments.


8. Authors' Addresses

Javier Pastor                             Tel: +34-91-339-3819
Ericsson Espana S. A.                     EMail: J.Javier.Pastor@ericsson.com
Network Communication Services
Retama 7, 5th 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 
Retama 7, 5th floor		   
Madrid, 28045	   
Spain				   


9. Revision History


9.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. 


9.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:
             sctpMIB  
	         \- sctpObjects
	                 \- sctpScalars
	                 \- sctpTables
	         \- sctpConformance

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.

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.