RFC2856

From RFC-Wiki

Network Working Group A. Bierman Request for Comments: 2856 K. McCloghrie Category: Standards Track Cisco Systems, Inc.

                                                         R. Presuhn
                                                 BMC Software, Inc.
                                                          June 2000
  Textual Conventions for Additional High Capacity Data Types

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 (2000). All Rights Reserved.

Abstract

This memo specifies new textual conventions for additional high capacity data types, intended for SNMP implementations which already support the Counter64 data type. The definitions contained in this document represent a short term solution which may be deprecated in the future.

The SNMP Management Framework

The SNMP Management Framework presently consists of five major components:

o An overall architecture, described in RFC 2571 RFC2571.

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 RFC1155, STD 16, RFC 1212 RFC1212 and RFC 1215
   RFC1215.  The second version, called SMIv2, is described in STD
   58, RFC 2578 RFC2578, STD 58, RFC 2579 RFC2579 and STD 58,
   RFC 2580 RFC2580.

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 RFC1157.  A second version of the
   SNMP message protocol, which is not an Internet standards track
   protocol, is called SNMPv2c and described in RFC 1901 RFC1901
   and RFC 1906 RFC1906.  The third version of the message
   protocol is called SNMPv3 and described in RFC 1906 RFC1906,
   RFC 2572 RFC2572 and RFC 2574 RFC2574.

o Protocol operations for accessing management information. The

   first set of protocol operations and associated PDU formats is
   described in STD 15, RFC 1157 RFC1157.  A second set of
   protocol operations and associated PDU formats is described in
   RFC 1905 RFC1905.

o A set of fundamental applications described in RFC 2573 RFC2573

   and the view-based access control mechanism described in RFC 2575
   RFC2575.

A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 RFC2570.

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. The textual conventions defined in this MIB module cannot be translated to SMIv1 since the Counter64 type does not exist in SMIv1.

Overview

The Structure of Management Information RFC2578 does not explicitly address the question of how to represent integer objects other than counters that would require up to 64 bits to provide the necessary range and precision. There are MIBs in progress targeted for the standards track, which need such data types. This memo specifies a short term solution, using textual conventions, to meet these needs.

Short Term and Long Term Objectives

There is an immediate need to provide a Gauge64 data type, similar in semantics to the Gauge32 data type, in order to support common data representations such as:

- a snapshot of a Counter64 at a given moment, e.g., history ring

  buffer

- the difference between two Counter64 values

There is also an immediate need for a 64-bit zero-based counter type, similar in semantics to the ZeroBasedCounter32 TC defined in the RMON-2 MIB RFC2021.

Both of these textual conventions should use a base type of Gauge64 or Unsigned64, but such a base type is not available. Until such a base type is defined and deployed, these temporary textual conventions (which use a base type of Counter64) will be used in MIBs which require unsigned 64-bit data types.

In order to be backward compatible with existing implementations of Counter64, the ASN.1 encoding of unsigned 64-bit data types must be identical to the encoding of Counter64 objects, i.e., identified by the [APPLICATION 6] ASN.1 tag.

Note that the textual conventions defined in this document represent a limited and short-term solution to the problem. These textual conventions may be deprecated as a long term solution is defined and deployed to replace them. A MIB object which uses either of these textual conventions may also eventually have to be deprecated.

Limitations of the Textual Convention Approach

New unsigned data types with textual conventions based on the Counter64 tag, instead of a new (or other existing) ASN.1 tag have some limitations:

- The MAX-ACCESS of the TC must be read-only, because the MAX-ACCESS

  of the underlying Counter64 type is read-only.

- No sub-range can be specified on the TC-derived types, because

  sub-ranges are not allowed on Counter64 objects.

- No DEFVAL clause can be specified for the TC-derived types,

  because DEFVALs are not allowed on Counter64 objects.

- The TC-derived types cannot be used in an INDEX clause, because

  there is no INDEX clause mapping defined for objects of type
  Counter64.

New Textual Conventions

The following textual conventions are defined to support unsigned 64-bit data types.

CounterBasedGauge64

This textual convention defines a 64-bit gauge, but defined with Counter64 syntax, since no Gauge64 or Unsigned64 base type is available in SMIv2.

This TC is used for storing the difference between two Counter64 values, or simply storing a snapshot of a Counter64 value at a given moment in time.

ZeroBasedCounter64

This textual convention defines a 64-bit counter with an initial value of zero, instead of an arbitrary initial value.

This TC is used for counter objects in tables which are instantiated by management application action.

Definitions

HCNUM-TC DEFINITIONS ::= BEGIN

IMPORTS

 MODULE-IDENTITY, mib-2, Counter64
     FROM SNMPv2-SMI
 TEXTUAL-CONVENTION
     FROM SNMPv2-TC;

hcnumTC MODULE-IDENTITY

 LAST-UPDATED "200006080000Z"
 ORGANIZATION "IETF OPS Area"
 CONTACT-INFO
       "        E-mail: [email protected]
                Subscribe: [email protected]
                  with msg body: subscribe mibs
                Andy Bierman
                Cisco Systems Inc.
                170 West Tasman Drive
                San Jose, CA 95134 USA
                +1 408-527-3711
                [email protected]
                Keith McCloghrie
                Cisco Systems Inc.
                170 West Tasman Drive
                San Jose, CA 95134 USA
                +1 408-526-5260
                [email protected]
                Randy Presuhn
                BMC Software, Inc.
                Office 1-3141
                2141 North First Street
                San Jose,  California 95131 USA
                +1 408 546-1006
                [email protected]"
 DESCRIPTION
       "A MIB module containing textual conventions
        for high capacity data types. This module
        addresses an immediate need for data types not directly
        supported in the SMIv2. This short-term solution
        is meant to be deprecated as a long-term solution
        is deployed."
 REVISION        "200006080000Z"
 DESCRIPTION
       "Initial Version of the High Capacity Numbers
        MIB module, published as RFC 2856."
 ::= { mib-2 78 }

CounterBasedGauge64 ::= TEXTUAL-CONVENTION

 STATUS       current
 DESCRIPTION
       "The CounterBasedGauge64 type represents a non-negative
       integer, which may increase or decrease, but shall never
       exceed a maximum value, nor fall below a minimum value. The
       maximum value can not be greater than 2^64-1
       (18446744073709551615 decimal), and the minimum value can
       not be smaller than 0.  The value of a CounterBasedGauge64
       has its maximum value whenever the information being modeled
       is greater than or equal to its maximum value, and has its
       minimum value whenever the information being modeled is
       smaller than or equal to its minimum value.  If the
       information being modeled subsequently decreases below
       (increases above) the maximum (minimum) value, the
       CounterBasedGauge64 also decreases (increases).
       Note that this TC is not strictly supported in SMIv2,
       because the 'always increasing' and 'counter wrap' semantics
       associated with the Counter64 base type are not preserved.
       It is possible that management applications which rely
       solely upon the (Counter64) ASN.1 tag to determine object
       semantics will mistakenly operate upon objects of this type
       as they would for Counter64 objects.
       This textual convention represents a limited and short-term
       solution, and may be deprecated as a long term solution is
       defined and deployed to replace it."
 SYNTAX Counter64

ZeroBasedCounter64 ::= TEXTUAL-CONVENTION

 STATUS current
 DESCRIPTION
       "This TC describes an object which counts events with the
       following semantics: objects of this type will be set to
       zero(0) on creation and will thereafter count appropriate
       events, wrapping back to zero(0) when the value 2^64 is
       reached.
       Provided that an application discovers the new object within
       the minimum time to wrap it can use the initial value as a
       delta since it last polled the table of which this object is
       part.  It is important for a management station to be aware
       of this minimum time and the actual time between polls, and
       to discard data if the actual time is too long or there is
       no defined minimum time.
       Typically this TC is used in tables where the INDEX space is
       constantly changing and/or the TimeFilter mechanism is in
       use.
       Note that this textual convention does not retain all the
       semantics of the Counter64 base type. Specifically, a
       Counter64 has an arbitrary initial value, but objects
       defined with this TC are required to start at the value
       zero.  This behavior is not likely to have any adverse
       effects on management applications which are expecting
       Counter64 semantics.
       This textual convention represents a limited and short-term
       solution, and may be deprecated as a long term solution is
       defined and deployed to replace it."
 SYNTAX Counter64

END

Intellectual Property

The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards- related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director.

References

RFC1155 Rose, M. and K. McCloghrie, "Structure and Identification

           of Management Information for TCP/IP-based Internets",
           STD 16, RFC 1155, May 1990.

RFC1157 Case, J., Fedor, M., Schoffstall, M. and J. Davin,

           "Simple Network Management Protocol", STD 15, RFC 1157,
           May 1990.

RFC1212 Rose, M. and K. McCloghrie, "Concise MIB Definitions",

           STD 16, RFC 1212, March 1991.

RFC1215 Rose, M., "A Convention for Defining Traps for use with

           the SNMP", RFC 1215, March 1991.

RFC1901 Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,

           "Introduction to Community-based SNMPv2", RFC 1901,
           January 1996.

RFC1905 Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,

           "Protocol Operations for Version 2 of the Simple Network
           Management Protocol (SNMPv2)", RFC 1905, January 1996.

RFC1906 Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,

           "Transport Mappings for Version 2 of the Simple Network
           Management Protocol (SNMPv2)", RFC 1906, January 1996.

RFC2021 Waldbusser, S., "Remote Network Monitoring MIB (RMON-2)",

           RFC 2021, January 1997.

RFC2026 Bradner, S., "The Internet Standards Process -- Revision

           3", BCP 9, RFC 2026, October 1996.

RFC2570 Case, J., Mundy, R., Partain, D. and B. Stewart,

           "Introduction to Version 3 of the Internet-standard
           Network Management Framework", RFC 2570, April 1999.

RFC2571 Harrington, D., Presuhn, R. and B. Wijnen, "An

           Architecture for Describing SNMP Management Frameworks",
           RFC 2571, April 1999.

RFC2572 Case, J., Harrington D., Presuhn R. and B. Wijnen,

           "Message Processing and Dispatching for the Simple
           Network Management Protocol (SNMP)", RFC 2572, April
           1999.

RFC2573 Levi, D., Meyer, P. and B. Stewart, "SNMPv3

           Applications", RFC 2573, April 1999.

RFC2574 Blumenthal, U. and B. Wijnen, "User-based Security Model

           (USM) for version 3 of the Simple Network Management
           Protocol (SNMPv3)", RFC 2574, April 1999.

RFC2575 Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based

           Access Control Model (VACM) for the Simple Network
           Management Protocol (SNMP)", RFC 2575, April 1999.

RFC2578 McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,

           Rose, M. and S. Waldbusser, "Structure of Management
           Information Version 2 (SMIv2)", STD 58, RFC 2578, April
           1999.

RFC2579 McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,

           Rose, M. and S. Waldbusser, "Textual Conventions for
           SMIv2", STD 58, RFC 2579, April 1999.

RFC2580 McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,

           Rose, M. and S. Waldbusser, "Conformance Statements for
           SMIv2", STD 58, RFC 2580, April 1999.

Security Considerations

This module does not define any management objects. Instead, it defines a set of textual conventions which may be used by other MIB modules to define management objects.

Meaningful security considerations can only be written in the modules that define management objects.

Authors' Addresses

Andy Bierman Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134 USA

Phone: +1 408-527-3711 EMail: [email protected]

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

Phone: +1 408-526-5260 EMail: [email protected]

Randy Presuhn BMC Software, Inc. Office 1-3141 2141 North First Street San Jose, California 95131 USA

Phone: +1 408 546-1006 EMail: [email protected]

Full Copyright Statement

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

Acknowledgement

Funding for the RFC Editor function is currently provided by the Internet Society.