rfc-3873

Stream Control Transmission Protocol (SCTP) Management Information Base (MIB)

J. Pastor, M. Belinchon
date2004-09 streamIETF arearai wgsigtran statusPROPOSED STANDARD pages46 canonicalhttps://www.rfc-editor.org/rfc/rfc3873 doi10.17487/RFC3873
The Stream Control Transmission Protocol (SCTP) is a reliable transport protocol operating on top of a connectionless packet network such as IP. It is designed to transport public switched telephone network (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 set of objects needed to manage the implementation of the SCTP. [STANDARDS-TRACK]

Extracted elements (25)

design-rationale §3.1.1

Counter64 is used instead of Counter32 for high-traffic SCTP statistics counters (chunks and packets) because Counter32 objects that would wrap around in less than one hour must use Counter64 per RFC 2863. Counter32 is retained for lower-rate association-state counters.

sctp, snmp

design-rationale §3.1.3.1

DNS addresses are not stored in the address index objects of this MIB. They are always resolved to the on-the-wire (numeric IP) form prior to connection setup, and only the resolved form appears in MIB objects. The DNS name received at init time is stored separately in sctpAssocRemHostName.

sctp, snmp, dns

design-rationale §3.1.3.1

Entries in sctpAssocTable are created when the association reaches the established state (COOKIE-ECHO sent on originating side, COOKIE-ACK sent on server side), not at earlier initiation phases. All entry fields are filled with valid values at this point.

sctp, snmp

design-rationale §3.1.2

sctpRtoAlgorithm only defines 'other(1)' and 'vanj(2)' as valid values because SCTP (RFC 2960) mandates Van Jacobson's algorithm for RTO calculation; 'other' is reserved for future use. This differs from the TCP MIB which has additional algorithm options.

sctp, snmp

interoperability-note §3.1.3.1

If the size of InetAddress index objects (sctpAssocLocalAddr, sctpAssocRemAddr) exceeds 114 octets, or sctpAssocRemHostName exceeds 115 octets, the resulting OIDs will have more than 128 sub-identifiers and cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3.

sctp, snmp

interoperability-note §4

The sctpAssocMaxRetr value for an association must be smaller than the sum of all sctpAssocRemAddrMaxPathRtx values across all paths, consistent with RFC 2960's requirement that the per-association retransmission limit not exceed the aggregate of per-path limits.

sctp, snmp

normative-requirement §7 RECOMMENDED

Deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. It is RECOMMENDED that implementers support SNMPv3 with full cryptographic mechanisms (authentication and privacy) for this MIB module.

sctp, snmp, security

normative-requirement §3.1.3.2 MUST

If the reverse lookup tables are implemented, an entry in them MUST be created after the corresponding entry in sctpAssocTable has been created, to ensure the indexed field exists.

sctp, snmp

normative-requirement §4 REQUIRED

Implementations are only required to support globally unique IPv4 (4-octet) and IPv6 (16-octet) addresses in address index objects. Implementations that connect multiple zones are expected to additionally support non-global IPv4 and non-global IPv6 address types with zone indices.

sctp, snmp, ip

normative-requirement §3.1.3 MUST NOT

It is NOT possible to create rows in any table (sctpAssocTable, sctpAssocLocalAddrTable, sctpAssocRemAddrTable, and reverse lookup tables) using SNMP. It is NOT possible to delete rows in any table using SNMP except via deleteTCB(9) in sctpAssocTable.

sctp, snmp

normative-requirement §4 MAY

The only value a management station MAY write to sctpAssocState is deleteTCB(9). If any other value is received, the agent MUST return a wrongValue error.

sctp, snmp

normative-requirement §4 MUST

The sctpAssocRemHostName object MUST contain a zero-length string when no DNS domain name was received from the peer at init time. Otherwise it contains the remote hostname received in the INIT or INIT-ACK chunk.

sctp, snmp

protocol-element §4

Conformance is defined by four mandatory groups: sctpLayerParamsGroup (7 layer-wide config objects), sctpStatsGroup (22 layer/association statistics), sctpPerAssocParamsGroup (19 per-association parameter objects), and sctpPerAssocStatsGroup (4 per-association flow control stats). The sctpInverseGroup (reverse lookup tables) is optional.

sctp, snmp

protocol-element §3.1.3.2

Five reverse lookup tables are defined to avoid expensive tree walks: sctpLookupLocalPortTable (by local port), sctpLookupRemPortTable (by remote port), sctpLookupRemHostNameTable (by remote hostname), sctpLookupRemPrimIPAddrTable (by primary remote IP), and sctpLookupRemIPAddrTable (by any remote IP).

sctp, snmp

protocol-element §3.1.3.1

sctpAssocLocalAddrTable (sctpObjects 4) is an expanded table indexed by {sctpAssocId, sctpAssocLocalAddrType, sctpAssocLocalAddr}, containing one entry per local IP address for each association. Supports SCTP multihoming.

sctp, snmp

protocol-element §4

sctpAssocRemAddrActive (TruthValue) indicates per-path reachability: true means the remote address is Active (failure threshold not reached); false means Inactive (no heartbeat or message received, threshold reached). sctpAssocRemAddrHBActive indicates whether heartbeat checking is enabled for that path.

sctp, snmp

protocol-element §3.1.3.1

sctpAssocRemAddrTable (sctpObjects 5) is an expanded table indexed by {sctpAssocId, sctpAssocRemAddrType, sctpAssocRemAddr}, storing per-path state including active/inactive status (sctpAssocRemAddrActive), heartbeat activation, current RTO, max path retransmissions, and retransmission count.

sctp, snmp

protocol-element §3.1.3.1

sctpAssocTable (OID sctpObjects 3) is the main per-association table, indexed by sctpAssocId (Unsigned32 1..4294967295). It stores remote hostname, local/remote ports, primary remote address, heartbeat interval, state, stream counts, max retransmissions, and per-association statistics.

sctp, snmp

protocol-element §3.1.2

The sctpParams group (sctpObjects 2) contains layer-wide configuration scalars: sctpRtoAlgorithm (other|vanj, default vanj), sctpRtoMin (default 1000 ms), sctpRtoMax (default 60000 ms), sctpRtoInitial (default 3000 ms), sctpMaxAssocs (-1 for dynamic), sctpValCookieLife (default 60000 ms), sctpMaxInitRetr (default 8).

sctp, snmp

protocol-element §3.1.1

The sctpStats group (sctpObjects 1) includes layer-wide scalars: sctpCurrEstab (Gauge32 of associations in ESTABLISHED/SHUTDOWN-RECEIVED/SHUTDOWN-PENDING), sctpActiveEstabs, sctpPassiveEstabs, sctpAborteds, sctpShutdowns, sctpOutOfBlues, sctpChecksumErrors, chunk and packet counters, and a discontinuity timestamp.

sctp, snmp

registry §4

The SCTP MIB module is assigned OID mib-2 104 (sctpMIB OBJECT IDENTIFIER ::= { mib-2 104 }). This is the top-level registration for all SCTP MIB objects.

sctp, snmp, registry

security-consideration §7

The association and address tables have privacy implications by disclosing which hosts are connected to which other hosts. This information is sensitive for preventing traffic analysis and protecting individual privacy.

sctp, snmp, security, privacy

security-consideration §7

The sctpAssocState object has MAX-ACCESS read-write, allowing a management station to terminate arbitrary associations by writing deleteTCB(9). Unauthorized SET access could cause a denial-of-service attack.

sctp, snmp, security

security-consideration §7

The sctpAssocTable, address tables, and lookup tables expose active association details including local/remote IP addresses and open ports, which an attacker could use to identify vulnerable services without running a port scanner.

sctp, snmp, security

state-machine §4

The sctpAssocState object represents the SCTP association finite state machine with states: closed(1), cookieWait(2), cookieEchoed(3), established(4), shutdownPending(5), shutdownSent(6), shutdownReceived(7), shutdownAckSent(8), and the management-only deleteTCB(9). Transitions follow RFC 2960 Section 4.

sctp, snmp