RFC 2512 PROPOSED STANDARD ATM · ACCOUNTING · SNMP

ATM Accounting MIB: Accounting Information for ATM Networks

A menu of per-connection usage items that an ATM switch can record for billing and tracking.

On rfc-editor.org ↗
PUBLISHED
February 1999
AUTHORS
K. McCloghrie, J. Heinanen, W. Greene, A. Prasad
STREAM
IETF
MIB MODULE
ATM-ACCOUNTING-INFORMATION-MIB at mib-2 59
ACCOUNTING OBJECTS
33, under atmAcctngDataObjects
CONNECTION TYPES
10
VPI RANGE
0 to 4095
VCI RANGE
0 to 65535
CHECKSUM
CRC-16, 2 octets
DOI
10.17487/RFC2512

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                      K. McCloghrie
Request for Comments: 2512                           Cisco Systems, Inc.
Category: Standards Track                                    J. Heinanen
                                                     Telia Finland, Inc.
                                                               W. Greene
                                            MCI Telecommunications Corp.
                                                               A. Prasad
                                                     Cisco Systems, Inc.
                                                           February 1999


                Accounting Information for ATM Networks

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (1999).  All Rights Reserved.

Table of Contents

   1 Introduction ................................................... 1
   2 The SNMP Network Management Framework .......................... 2
   3 Overview ....................................................... 3
   4 Definitions .................................................... 3
   5 Acknowledgements ...............................................12
   6 References .....................................................12
   7 Security Considerations ........................................13
   8 IANA Considerations ............................................13
   9 Authors' Addresses .............................................14
   10 Full Copyright Statement ......................................15

1.  Introduction

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   A separate memo [16] defines managed objects, in a manner independent
   of the type of network, for controlling the selection, collection and
   storage of accounting information into files for later retrieval via
   a file transfer protocol. This memo defines a set of ATM-specific
   accounting information which can be collected for connections on ATM
   networks.

2.  The SNMP Network Management Framework

   The SNMP Management Framework presently consists of five major
   components:

   o    An overall architecture, described in RFC 2271 [1].

   o    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
        STD 16, RFC 1155 [2], STD 16, RFC 1212 [3] and RFC 1215 [4].
        The second version, called SMIv2, is described in RFC 1902 [5],
        RFC 1903 [6] and RFC 1904 [7].

   o    Message protocols for transferring management information.  The
        first version of the SNMP message protocol is called SNMPv1 and
        described in STD 15, RFC 1157 [8].  A second version of the SNMP
        message protocol, which is not an Internet standards track
        protocol, is called SNMPv2c and described in RFC 1901 [9] and
        RFC 1906 [10].  The third version of the message protocol is
        called SNMPv3 and described in RFC 1906 [10], RFC 2272 [11] and
        RFC 2274 [12].

   o    Protocol operations for accessing management information.  The
        first set of protocol operations and associated PDU formats is
        described in STD 15, RFC 1157 [8].  A second set of protocol
        operations and associated PDU formats is described in RFC 1905
        [13].

   o    A set of fundamental applications described in RFC 2273 [14] and
        the view-based access control mechanism described in RFC 2275
        [15].

   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 (e.g., 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.  Overview

   In [16], the items of accounting data to be collected are specified
   as a set of objects.  Which objects are contained in such a set is
   selectable by an administrator through the specification of one or
   more (subtree, list) tuples, where the set of objects to be collected
   is the union of the subsets specified by each tuple:

       'subtree' specifies a OBJECT IDENTIFIER value such that every
           object in the subset is named by the subtree's value appended
           with a single additional sub-identifier.

       'list' specifies an OCTET STRING value, such that if the N-th bit
           of the string's value is set then the the subset contains the
           object named by appending N as a single additional sub-
           identifier to the subtree.

   This memo specifies such a subtree containing a set of objects
   defining items of accounting information which are applicable to ATM
   connections.

   Note that all of the objects defined here have a MAX-ACCESS clause of
   not-accessible, since their purpose is not to be read/written by
   SNMP, but rather, to be the syntax and semantics of the set of
   information which can be represented within a single (subtree, list)
   tuple.

4.  Definitions

ATM-ACCOUNTING-INFORMATION-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
    mib-2, Integer32, Counter64                   FROM SNMPv2-SMI
    DisplayString, DateAndTime                    FROM SNMPv2-TC
    AtmAddr                                       FROM ATM-TC-MIB;


atmAccountingInformationMIB MODULE-IDENTITY
    LAST-UPDATED "9611052000Z"
    ORGANIZATION "IETF AToM MIB Working Group"
    CONTACT-INFO "
                  Keith McCloghrie
                  Cisco Systems, Inc.
                  170 West Tasman Drive,
                  San Jose CA 95134-1706.
                  Phone: +1 408 526 5260
                  Email: kzm@cisco.com"

    DESCRIPTION
            "The MIB module for identifying items of accounting
            information which are applicable to ATM connections."
    ::= { mib-2 59 }


atmAcctngMIBObjects OBJECT IDENTIFIER ::=
                                        { atmAccountingInformationMIB 1 }


-- Definitions of objects for use in specifying ATM accounting
-- data to be collected

atmAcctngDataObjects OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
            "This identifier defines a subtree under which various
            objects are defined such that a set of objects to be
            collected as ATM accounting data can be specified as a
            (subtree, list) tuple using this identifier as the subtree."
    ::= { atmAcctngMIBObjects 1 }

-- Objects defined under the atmAcctngDataObjects subtree
--
-- In each case the semantics of the object are interpreted with
-- respect to the creation/storage of an accounting record for a
-- particular connection on a particular interface.

atmAcctngConnectionType OBJECT-TYPE
    SYNTAX      INTEGER { pvc(1),
                          pvp(2),
                          svcIncoming(3),
                          svcOutgoing(4),
                          svpIncoming(5),
                          svpOutgoing(6),
                          spvcInitiator(7),
                          spvcTarget(8),
                          spvpInitiator(9),
                          spvpTarget(10) }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The type of connection."
    ::= { atmAcctngDataObjects 1 }

atmAcctngCastType OBJECT-TYPE
    SYNTAX      INTEGER { p2p(1), p2mp(2) }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An indication of whether the connection is point-to-point
            or point-to-multipoint."
    ::= { atmAcctngDataObjects 2 }

atmAcctngIfName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A textual name for the interface on which the data for the
            connection was collected.  If the local SNMP agent supports
            the object ifName, the value of this object must be
            identical to that of ifName in the conceptual row of the
            ifTable corresponding to this interface."
    ::= { atmAcctngDataObjects 3 }

atmAcctngIfAlias OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The 'alias' name for the interface as specified by a
            network manager, e.g., via a management set operation to
            modify the relevant instance of the ifAlias object.  Note
            that in contrast to ifIndex, ifAlias provides a non-volatile
            'handle' for the interface, the value of which is retained
            across agent reboots."
    ::= { atmAcctngDataObjects 4 }

atmAcctngVpi OBJECT-TYPE
    SYNTAX      INTEGER (0..4095)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The VPI used for the connection."
    ::= { atmAcctngDataObjects 5 }

atmAcctngVci OBJECT-TYPE
    SYNTAX      INTEGER (0..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The VCI used for the connection."
    ::= { atmAcctngDataObjects 6 }

atmAcctngCallingParty OBJECT-TYPE

    SYNTAX      AtmAddr
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The connection's calling party.  If unknown (e.g., for a
            PVC), then the value of this object is the zero-length
            string."
    ::= { atmAcctngDataObjects 7 }

atmAcctngCalledParty OBJECT-TYPE
    SYNTAX      AtmAddr
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The connection's called party.  If unknown (e.g., for a
            PVC), then the value of this object is the zero-length
            string."
    ::= { atmAcctngDataObjects 8 }

atmAcctngCallReference OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..3))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The connection's call reference value (e.g., from Q.2931).
            If unknown (e.g., for a PVC), then the value of this object
            is the zero-length string."
    ::= { atmAcctngDataObjects 9 }

atmAcctngStartTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The time when the connection was established."
    ::= { atmAcctngDataObjects 10 }

atmAcctngCollectionTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The time at which the data in this record was collected."
    ::= { atmAcctngDataObjects 11 }

atmAcctngCollectMode OBJECT-TYPE
    SYNTAX      INTEGER { onRelease(1),
                          periodically(2),
                          onCommand(3) }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The reason why this connection data was collected."
    ::= { atmAcctngDataObjects 12 }

atmAcctngReleaseCause OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "If the connection data was collected because of the release
            of an SVC, then this is the cause code in the Release
            message for the connection; otherwise, this object has the
            value zero."
    ::= { atmAcctngDataObjects 13 }

atmAcctngServiceCategory OBJECT-TYPE
    SYNTAX      INTEGER { other(1), cbr(2), vbrRt(3), vbrNrt(4),
                          abr(5), ubr(6), unknown(7) }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The connection's service category."
    ::= { atmAcctngDataObjects 14 }

atmAcctngTransmittedCells OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The number of cells, including OAM cells, transmitted by
            this switch on this connection."
    ::= { atmAcctngDataObjects 15 }

atmAcctngTransmittedClp0Cells OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The number of cells with CLP=0, including OAM cells,
            transmitted by this switch on this connection."
    ::= { atmAcctngDataObjects 16 }

atmAcctngReceivedCells OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The number of cells, including OAM cells, received by this
            switch on this connection."
    ::= { atmAcctngDataObjects 17 }

atmAcctngReceivedClp0Cells OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The number of cells with CLP=0, including OAM cells,
            received by this switch on this connection."
    ::= { atmAcctngDataObjects 18 }

atmAcctngTransmitTrafficDescriptorType OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The traffic descriptor type (as defined in RFC 1695 and its
            successors) in the direction in which the switch transmits
            cells on the connection."
    REFERENCE
            "See atmTrafficDescriptorTypes in ATM-MIB.my in RFC 1695 and
            its successors."
    ::= { atmAcctngDataObjects 19 }

atmAcctngTransmitTrafficDescriptorParam1 OBJECT-TYPE
    SYNTAX      INTEGER (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The first traffic descriptor parameter in the direction in
            which this switch transmits cells on this connection.
            Interpretation of this parameter is dependent on the value
            of atmAcctngTransmitTrafficDescriptorType."
    ::= { atmAcctngDataObjects 20 }

atmAcctngTransmitTrafficDescriptorParam2 OBJECT-TYPE
    SYNTAX      INTEGER (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The second traffic descriptor parameter in the direction in
            which this switch transmits cells on this connection.
            Interpretation of this parameter is dependent on the value
            of atmAcctngTransmitTrafficDescriptorType."

    ::= { atmAcctngDataObjects 21 }

atmAcctngTransmitTrafficDescriptorParam3 OBJECT-TYPE
    SYNTAX      INTEGER (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The third traffic descriptor parameter in the direction in
            which this switch transmits cells on this connection.
            Interpretation of this parameter is dependent on the value
            of atmAcctngTransmitTrafficDescriptorType."
    ::= { atmAcctngDataObjects 22 }

atmAcctngTransmitTrafficDescriptorParam4 OBJECT-TYPE
    SYNTAX      INTEGER (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The fourth traffic descriptor parameter in the direction in
            which this switch transmits cells on this connection.
            Interpretation of this parameter is dependent on the value
            of atmAcctngTransmitTrafficDescriptorType."
    ::= { atmAcctngDataObjects 23 }

atmAcctngTransmitTrafficDescriptorParam5 OBJECT-TYPE
    SYNTAX      INTEGER (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The fifth traffic descriptor parameter in the direction in
            which this switch transmits cells on this connection.
            Interpretation of this parameter is dependent on the value
            of atmAcctngTransmitTrafficDescriptorType."
    ::= { atmAcctngDataObjects 24 }

atmAcctngReceiveTrafficDescriptorType OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The traffic descriptor type (as defined in RFC 1695 and its
            successors) in the direction in which this switch receives
            cells on this connection."
    REFERENCE
            "See atmTrafficDescriptorTypes in ATM-MIB.my in RFC 1695 and
            its successors."
    ::= { atmAcctngDataObjects 25 }

atmAcctngReceiveTrafficDescriptorParam1 OBJECT-TYPE
    SYNTAX      INTEGER (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The first traffic descriptor parameter in the direction in
            which this switch receives cells on this connection.
            Interpretation of this parameter is dependent on the value
            of atmAcctngReceiveTrafficDescriptorType."
    ::= { atmAcctngDataObjects 26 }

atmAcctngReceiveTrafficDescriptorParam2 OBJECT-TYPE
    SYNTAX      INTEGER (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The second traffic descriptor parameter in the direction in
            which this switch receives cells on this connection.
            Interpretation of this parameter is dependent on the value
            of atmAcctngReceiveTrafficDescriptorType."
    ::= { atmAcctngDataObjects 27 }

atmAcctngReceiveTrafficDescriptorParam3 OBJECT-TYPE
    SYNTAX      INTEGER (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The third traffic descriptor parameter in the direction in
            which this switch receives cells on this connection.
            Interpretation of this parameter is dependent on the value
            of atmAcctngReceiveTrafficDescriptorType."
    ::= { atmAcctngDataObjects 28 }

atmAcctngReceiveTrafficDescriptorParam4 OBJECT-TYPE
    SYNTAX      INTEGER (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The fourth traffic descriptor parameter in the direction in
            which this switch receives cells on this connection.
            Interpretation of this parameter is dependent on the value
            of atmAcctngReceiveTrafficDescriptorType."
    ::= { atmAcctngDataObjects 29 }

atmAcctngReceiveTrafficDescriptorParam5 OBJECT-TYPE
    SYNTAX      INTEGER (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The fifth traffic descriptor parameter in the direction in
            which this switch receives cells on this connection.
            Interpretation of this parameter is dependent on the value
            of atmAcctngReceiveTrafficDescriptorType."
    ::= { atmAcctngDataObjects 30 }

atmAcctngCallingPartySubAddress OBJECT-TYPE
    SYNTAX      AtmAddr
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The connection's calling party sub-address.  If the
            connection has no calling party sub-address, or it's value
            is unknown, then the value of this object is the zero-length
            string."
    ::= { atmAcctngDataObjects 31 }

atmAcctngCalledPartySubAddress OBJECT-TYPE
    SYNTAX      AtmAddr
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The connection's called party sub-address.  If the
            connection has no called party sub-address, or it's value is
            unknown, then the value of this object is the zero-length
            string."
    ::= { atmAcctngDataObjects 32 }

atmAcctngRecordCrc16 OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(2))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The value of the CRC-16 checksum (as defined by ISO 3309
            (HDLC) and/or ITU X.25) calculated over the accounting
            record containing this object.

            While the mechanism for calculating/encoding the checksum
            value is specific to the method of encoding the accounting
            record, an accounting record containing this object is
            typically generated by initializing the value of this object
            to the all-zeros string ('0000'H), with the location of
            these zeros being saved.  After generating the record, the
            checksum is calculated over the whole connection record and
            then the all-zeros value is overwritten (at the saved
            location) by the calculated value of the checksum."
    ::= { atmAcctngDataObjects 33 }

END

5.  Acknowledgements

   The comments of the IETF's AToM MIB Working Group are acknowledged.

6.  References

   [1]  Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for
        Describing SNMP Management Frameworks", RFC 2271, January 1998.

   [2]  Rose, M. and K. McCloghrie, "Structure and Identification of
        Management Information for TCP/IP-based Internets", STD 16, RFC
        1155, May 1990.

   [3]  Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16,
        RFC 1212, March 1991.

   [4]  Rose, M., "A Convention for Defining Traps for use with the
        SNMP", RFC 1215, March 1991.

   [5]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and S.
        Waldbusser, "Structure of Management Information for Version 2
        of the Simple Network Management Protocol (SNMPv2)", RFC 1902,
        January 1996.

   [6]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and S.
        Waldbusser, "Textual Conventions for Version 2 of the Simple
        Network Management Protocol (SNMPv2)", RFC 1903, January 1996.

   [7]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and S.
        Waldbusser, "Conformance Statements for Version 2 of the Simple
        Network Management Protocol (SNMPv2)", RFC 1904, January 1996.

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

   [9]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and S.
        Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901,
        January 1996.

   [10] SNMPv2 Working Group, 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.

   [11] Case, J., Harrington D., Presuhn R. and B. Wijnen, "Message
        Processing and Dispatching for the Simple Network Management
        Protocol (SNMP)", RFC 2272, January 1998.

   [12] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM)
        for version 3 of the Simple Network Management Protocol
        (SNMPv3)", RFC 2274, January 1998.

   [13] SNMPv2 Working Group, 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.

   [14] Levi, D., Meyer, P. and B. Stewart, "SNMPv3 Applications", RFC
        2273, January 1998.

   [15] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access
        Control Model (VACM) for the Simple Network Management Protocol
        (SNMP)", RFC 2275, January 1998.

   [16] McCloghrie, K., Heinanen, J., Greene, W. and A. Prasad, "Managed
        Objects for Controlling the Collection and Storage of Accounting
        Information for Connection-Oriented Networks", RFC 2513,
        February 1999.

   [17] Noto, M., Spiegel, E. and K. Tesink, "Definitions of Textual
        Conventions and OBJECT-IDENTITIES for ATM Management", RFC 2514,
        February 1999.

7.  Security Considerations

   This MIB module defines data items for potential use as accounting
   information.  Each of these data items is only accessible through a
   collected accounting file.  After being collected, the accounting
   data should be protected against modification or unauthorized
   deletion.

8.  IANA Considerations

   Prior to publication of this memo as an RFC, IANA is requested to
   make a suitable OBJECT IDENTIFIER assignment.

9.  Authors' Addresses

   Keith McCloghrie
   Cisco Systems, Inc.
   170 West Tasman Drive,
   San Jose CA 95134

   Phone: +1 408 526 5260
   EMail: kzm@cisco.com


   Juha Heinanen
   Telia Finland, Inc.
   Myyrmaentie 2
   01600 VANTAA
   Finland

   Phone +358 303 944 808
   EMail: jh@telia.fi


   Wedge Greene
   MCI Telecommunications Corporation
   901 International Parkway
   Richardson, Texas 75081

   Phone: 214-498-1232 or 972-729-1232
   EMail: wedge.greene@mci.com


   Anil Prasad
   Cisco Systems, Inc.
   170 West Tasman Drive,
   San Jose CA 95134

   Phone: +1 408 525-7209
   EMail: aprasad@cisco.com

10.  Full Copyright Statement

   Copyright (C) The Internet Society (1999).  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.

AI ELI5

On this page
PROBLEMOperators of ATM networks need to record how each connection was used, and the data must be described the same way on every vendor's switch.
MECHANISMThe MIB module defines 33 accounting items under one subtree, such as connection type, VPI, VCI, calling and called party, timestamps and cell counters. An administrator picks the items to collect as a (subtree, list) tuple.
WHY IT MATTERSIt is a Proposed Standard, not obsoleted. It supplies the vocabulary for accounting records while RFC 2513 controls how they are collected and stored.

§1Introduction and Purpose

RFC 2512 defines a portion of the Management Information Base (MIB) for ATM-specific accounting information: data that can be collected for connections on ATM networks. It is a companion to RFC 2513, which defines, independently of the network type, how selected accounting data is collected and stored into files for later retrieval by a file transfer protocol.

The MIB module is named ATM-ACCOUNTING-INFORMATION-MIB and sits at mib-2 59. It was written by the IETF AToM MIB Working Group. Like the other modules in this family it is written in SMIv2, and the document includes the standard description of the SNMP Management Framework.

This document is the list of facts a switch can jot down about each ATM connection. A sister document explains how to save the notes.

§3How Items Are Selected

In RFC 2513 the items of accounting data are specified as a set of objects. The administrator picks which objects with one or more (subtree, list) tuples, and the set collected is the union of the subsets from each tuple.

  • The subtree is an OBJECT IDENTIFIER. Every object in the subset is named by that value plus one more sub-identifier.
  • The list is an OCTET STRING. If its N-th bit is set, the subset contains the object named by appending N to the subtree.

RFC 2512 supplies such a subtree: atmAcctngDataObjects. A tuple using it as the subtree selects which ATM items go into each record.

All the objects here have a MAX-ACCESS of not-accessible. They are not meant to be read or written with SNMP. They only define the syntax and meaning of values inside an accounting record.

It is like a checklist with numbered boxes. You tick the boxes for the facts you want, and the switch writes down just those for every connection.

§4.1Identity and Timing Items

The accounting objects are interpreted for one connection on one interface. Several of them say what the connection is and who was involved.

  • atmAcctngConnectionType takes one of ten values: pvc, pvp, svcIncoming, svcOutgoing, svpIncoming, svpOutgoing, spvcInitiator, spvcTarget, spvpInitiator and spvpTarget.
  • atmAcctngCastType says whether the connection is point-to-point or point-to-multipoint.
  • atmAcctngIfName and atmAcctngIfAlias name the interface. The name must match ifName when the agent supports it, and the alias stays across agent reboots.
  • atmAcctngVpi is 0 to 4095 and atmAcctngVci is 0 to 65535.
  • atmAcctngCallingParty, atmAcctngCalledParty, atmAcctngCallReference and the two sub-address objects are the zero-length string when unknown, for example on a PVC.

atmAcctngStartTime is when the connection was established and atmAcctngCollectionTime is when the record was collected. atmAcctngCollectMode gives the reason for collection: onRelease, periodically or onCommand. atmAcctngReleaseCause holds the cause code from the Release message of a released SVC, and is zero otherwise.

These items say what kind of connection it was, which doors it used, who called whom, and when the notes were taken.

§4.2Usage Counters and Traffic Descriptors

The usage items are 64-bit counters kept by the switch for the connection:

  • atmAcctngTransmittedCells and atmAcctngReceivedCells, which include OAM cells.
  • atmAcctngTransmittedClp0Cells and atmAcctngReceivedClp0Cells, which count only cells with CLP=0, again including OAM cells.

atmAcctngServiceCategory is one of other, cbr, vbrRt, vbrNrt, abr, ubr or unknown.

For each direction there is a traffic descriptor type, an OBJECT IDENTIFIER defined in RFC 1695 and its successors, plus five parameter objects, each from 0 to 2147483647. What each parameter means depends on the descriptor type.

The counters are tally marks for how many small data packets (cells) went each way. The descriptors record the speed rules the connection was promised.

§4.3The Record Checksum

The last object, atmAcctngRecordCrc16, is a 2-octet CRC-16 checksum (as defined by ISO 3309 (HDLC) and/or ITU X.25) calculated over the accounting record that contains it.

The way it is calculated depends on how the record is encoded, but the typical method is: start with the all-zeros string, remember where those zeros sit, generate the record, compute the checksum over the whole connection record, then overwrite the zeros with the result.

It is a seal on the page. If someone scribbles on the record later, the seal no longer matches.

§7Security and IANA Notes

The data items are only accessible through a collected accounting file. After collection, the accounting data should be protected against modification or unauthorized deletion.

The IANA section says that, prior to publication as an RFC, IANA is requested to make a suitable OBJECT IDENTIFIER assignment.

Once the notes are written down, keep them safe so nobody changes the bill.

§7References