Definitions of Managed Objects for Multicast over UNI 3.0/3.1 based ATM Networks
obsoletes
- rfc-2366 — Definitions of Managed Objects for Multicast over UNI 3.0/3.1 based ATM Networks
Extracted elements (28)
The backup MARS list received from the MARS via MARS_REDIRECT_MAP has higher preference than addresses manually configured into the client. When a MARS_REDIRECT_MAP is received, those addresses are inserted at the top of the backup list.
This RFC obsoletes RFC 2366 solely because of a clerical error in OID assignment: RFC 2366 rooted the MIB under snmpModules, whereas the corrected RFC 2417 roots it under mib-2 to be consistent with the location of other standard MIBs. No semantic changes to the managed objects were made.
The MARS MIB is designed to be used in conjunction with the ATM-MIB (RFC 1695), MIB-II (RFC 1213), and optionally the IF-MIB (RFC 1573). The marsClientTable indexes into ipAddrTable via ipAdEntAddr, and MARS/MCS tables reference interface indices from IF-MIB.
A marsClientTable or marsTable row cannot be made 'active' until the agent has also created a corresponding row in the associated statistics table (marsClientStatTable or marsStatTable, respectively). This coupling ensures statistics are always available for active entities.
A row in marsClientVcTable (and other tables with RowStatus) cannot be set to 'active' until all corresponding columns are appropriately configured. SVC-type VC rows (marsClientVcType = 'svc') cannot be modified or deleted via SNMP.
marsClientCmi holds the 16-bit Cluster Member Identifier (CMI) assigned by the MARS, uniquely identifying each endpoint in the cluster. The value becomes valid only after marsClientRegistration reaches 'registered(1)'.
marsClientHsn is a 32-bit Host Sequence Number initialized to zero at startup. It is set to the current Cluster Sequence Number (CSN) when the client receives the echoed copy of its own MARS_JOIN from the MARS, and is used to track MARS sequence numbers.
marsClientVcCtrlType enumerates three client VC roles: pointToPointVC(1) for client-to-MARS registration/query (bidirectional), clusterControlVC(2) for MARS-to-client asynchronous updates, and pointToMultiPointVC(3) for client-to-group-member or client-to-MCS multicast data delivery.
marsCsn (Cluster Sequence Number) is a 32-bit counter incremented by the MARS on every ClusterControlVC transmission. Cluster members use the CSN to detect message loss on ClusterControlVC and monitor membership changes. marsSsn serves the same role for ServerControlVC and MCS tracking.
marsRedirMapMsgTimer controls the periodic interval (1-2 minutes, default 1 minute) at which a MARS sends multi-part MARS_REDIRECT_MAP messages to inform cluster members of available backup MARS addresses.
The default MTU for cluster VCs is 9180 bytes (DEFVAL { 9180 }), applicable to both clients and MCS entities. The actual negotiated MTU per VC may differ from this default and is tracked in marsClientVcNegotiatedMtu / marsVcNegotiatedMtu / marsMcsVcNegotiatedMtu.
The marsClientBackupMarsTable holds a priority-ordered list of backup MARS ATM addresses; lower priority value indicates higher preference. The list is in descending preference order and supports failover when the primary MARS is unreachable.
The marsClientMcGrpTable represents IP multicast group memberships as (MinGrpAddr, MaxGrpAddr) IpAddress pairs forming a consecutive block. If MinGrpAddr equals MaxGrpAddr, the entry represents a single multicast group.
The marsClientStatTable collects per-client counters (Counter32) for transmitted MARS_REQUEST, MARS_JOIN, MARS_LEAVE, MARS_GROUPLIST_REQUEST messages and received MARS_JOIN, MARS_LEAVE, MARS_MULTI, MARS_NAK, MARS_MIGRATE, MARS_GROUPLIST_REPLY messages, plus a timeout counter for missing MARS_MULTI.
The marsClientTable holds per-client management objects indexed by (ipAdEntAddr, marsClientIndex), including the client's ATM address, default MARS ATM address, Host Sequence Number (HSN, 32-bit), registration status, CMI, default MTU, and a suite of configurable timers.
The marsClientVcTable tracks open ATM virtual circuits per client, indexed by (ipAdEntAddr, marsClientIndex, VPI, VCI, MinGrpAddr, MaxGrpAddr, PartyAddr). Each entry records VC signalling type (PVC/SVC), control type, idle timer, revalidate flag, encapsulation type (LLC/SNAP or other), and negotiated MTU.
The marsHostMapTable caches mappings from multicast group blocks (MinGrpAddr, MaxGrpAddr) to cluster member ATM addresses, with row type static(1) for configured entries or dynamic(2) for entries learned from MARS_JOIN/LEAVE processing. Dynamic rows cannot be modified or deleted via SNMP.
The marsMcGrpTable at the MARS server tracks IP multicast address blocks with a usage flag: hostMap(1), serverMap(2), or hostServerMap(3), indicating whether the block appears in the host map table, server map table, or both. Entries must be created before being referenced as indices by those tables.
The marsMcsTable manages Multicast Server (MCS) entities with objects mirroring the client table: ATM address, default MARS ATM address, registration state, SSN (32-bit server sequence number), default MTU (default 9180 bytes), and the same suite of configurable timers as the client.
The marsRegClientTable is a read-only table of all currently registered cluster members at a MARS, indexed by (marsIndex, marsIfIndex, marsRegClientCmi). Each entry maps a CMI to the corresponding client ATM address.
The marsRegMcsTable is a read-only table of all currently registered Multicast Servers (MCS) at a MARS, indexed by (marsIndex, marsIfIndex, marsRegMcsAtmAddr). Each entry holds the registered MCS's ATM address.
The marsServerMapTable caches mappings from multicast group blocks to MCS ATM addresses, with the same static/dynamic row type distinction as the host map table. It supports multiple MCS entries per group block via multiple table rows.
The marsStatTable collects per-MARS counters for 20 message types, including transmitted MARS_MULTI, MARS_GROUPLIST_REPLY, MARS_REDIRECT_MAP, MARS_MIGRATE, MARS_NAK, MARS_JOIN, MARS_LEAVE, MARS_SJOIN, MARS_SLEAVE, MARS_MSERV, MARS_UNSERV and received counterparts, plus counts of registered member and MCS groups.
The marsTable holds per-MARS-server objects including ATM address, locality flag (local vs. remote), service status (active/inactive/faulted), server type (primary/backup), priority, periodic MARS_REDIRECT_MAP interval, Cluster Sequence Number (CSN, 32-bit), and Server Sequence Number (SSN, 32-bit).
The marsVcTable tracks MARS server VCs with control type enum: pointToPointVC(1) for client/MCS registration VCs (bidirectional), clusterControlVC(2) for MARS-to-client asynchronous updates, and serverControlVC(3) for MARS-to-MCS updates (present only when at least one MCS is in use).
The IPATM-IPMC-MIB module is registered at mib-2 57 (OID { mib-2 57 }). This RFC corrects a clerical error in RFC 2366, which had incorrectly assigned the module under snmpModules; the corrected registration is under mib-2 for consistency with other MIBs.
Section 6 identifies security considerations for this MIB. Objects in the MIB provide read-create access to sensitive network configuration (ATM addresses, VC parameters, MARS server addresses), meaning unauthorized SNMP write access could disrupt multicast address resolution and redirect clients to rogue MARS servers. Implementations should apply SNMPv2 security mechanisms to restrict access.
Client and MCS registration state machine has five states: notRegistered(1), registering(2), registered(3), reRegisteringFault(4) — triggered by fault conditions — and reRegisteringRedirMap(5) — triggered by receipt of a MARS_REDIRECT_MAP directing registration with a different MARS.