INTERNET-DRAFT          Expires December 1997            INTERNET-DRAFT

Draft                   Large Integers in SNMP             June 8, 1997


                       Support for Large Integers
                                in SNMP

                       <draft-perkins-bigint-00.txt>

                              June 8, 1997

                            David T. Perkins
                         dperkins@snmpinfo.com



1.  Status of this Memo

   This document is an Internet Draft.  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.

   Internet Drafts are draft documents valid for a maximum of six
   months.  Internet Drafts may be updated, replaced, or obsoleted by
   other documents at any time.  It is not appropriate to use Internet
   Drafts as reference material or to cite them other than as a
   "working draft" or "work in progress."

   To learn the current status of any Internet-Draft, please check the
   "1id-abstracts.txt" listing contained in the internet-drafts Shadow
   Directories on:

         ftp.is.co.za (Africa)
         nic.nordu.net (Europe)
         ds.internic.net (US East Coast)
         ftp.isi.edu (US West Coast)
         munnari.oz.au (Pacific Rim)

















Expires 12/08/97                                               [Page 1]


Draft                   Large Integers in SNMP             June 8, 1997


2.  Introduction

This memo is informational.  It specifies an approach to add 64-bit
signed and unsigned integer types to versions 1 and 2 of the SNMP
SMI[1][2][3][4][5][6], and versions 1 and 2 of the SNMP
protocol[7][8][9] without changes. Thus, this addition requires no
modifications to existing SNMP MIB compilers, and no changes to existing
SNMP protocol engines used in SNMP agents and SNMP management
applications.

This memo does not specify a standard for the Internet community.


3.  Background

The SNMP protocol and SMI is based on elements from ASN.1[10] and
BER[11].  The SMI allows use of only a few ASN.1 base types plus a few
SNMP application specific types.  Support for large integer types is not
currently found in SNMP.  This is primarily due to two factors.  The
first was the focus during the original development of SNMP to keep SNMP
simple and use it for managing computer network devices using the
Internet protocol suite.  The second factor was to limit the resource
requirements for agents to support SNMP.

SNMP has been found to be useful for purposes other than those for which
it was originally developed.  However, some of the limitations in SNMP
have restricted its continuing growth.  Lack of support for large
integer types has been a problem in some areas.  The first example is in
mid-level managers that gather and process management information from
many sources.  The processing includes computing values for mathematical
formulas that require use of 64-bit integer arithmetic.  Mid-level
managers typically execute on general purpose computers. Some have
direct support for 64-bit integers, and all should have access to
libraries to support multi-precision arithmetic. Thus, supporting 64-bit
integer types is not a burden for them.  A second area is using SNMP in
equipment that require 64-bit integer precision objects to monitor,
control, and configure them due to very high-speed network interfaces,
such as ATM, and giga-bit ethernet.



4.  Large Integer Types

ASN.1 already has support for large integer data types.  However, the
SNMP SMI restricts their range.  Thus, they cannot be used directly.
The current need for large integer data types is satisfied by the
addition of a 64-bit signed integer, and a 64-bit unsigned integer data
type, which are called Integer64 and Unsigned64, respectively, in this
memo.  Section 5.1.2 of "The Domestication of the Opaque Type for
SNMP"[12] requires that a new base type be identified and a textual



Expires 12/08/97                                               [Page 2]


Draft                   Large Integers in SNMP             June 8, 1997


convention be defined for each new "wrapped" type.  Shown below are the
definitions for these types and corresponding textual conventions.


   -- A signed integer of up to 64 bits of precision.
   I64Type ::= [APPLICATION 10] IMPLICIT
                   INTEGER (-9223372036854775808..9223372036854775807)

   -- An unsigned integer of up to 64 bit of precision.
   U64Type ::= [APPLICATION 11] IMPLICIT
                    INTEGER (0.. 18446744073709551615)

   Integer64 TEXTUAL-CONVENTION
       STATUS      current
       DESCRIPTION
           "A 64-bit signed integer.  The value is restricted to
           the BER serialization of the following ASN.1 type:
               I64TYPE ::= [122] IMPLICIT I64Type
           (note: the value 122 is the sum of '30'h and '4a'h)
           The BER serialization of the length for values of
           this type must use the definite length, short
           encoding form.

           For example, the BER serialization of value 129
           of type I64TYPE is '9f7a020081'h.  (The tag is '9f7a'h;
           the length is '02'h; and the value is '0081'h.) The
           BER serialization of value '9f7a020081'h of data
           type Opaque is '44059f7a020081'h. (The tag is '44'h;
           the length is '05'h; and the value is '9f7a020081'h.)
           Also for example, the BER serialization of value -129
           of type I64TYPE is '9f7a02ff7f'h.  (The tag is '9f7a'h;
           the length is '02'h; and the value is 'ff7f'h.) The
           BER serialization of value '9f7a02ff7f'h of data
           type Opaque is '44059f7a02ff7f'h. (The tag is '44'h;
           the length is '05'h; and the value is '9f7a02ff7f'h.)"
       SYNTAX      Opaque (SIZE(4..11))


   Unsigned64 TEXTUAL-CONVENTION
       STATUS      current
       DESCRIPTION
           "A 64-bit unsigned signed integer.  The value is
           restricted to the BER serialization of the following
           ASN.1 type:
               U64TYPE ::= [123] IMPLICIT U64Type
           (note: the value 123 is the sum of '30'h and '4b'h)
           The BER serialization of the length for values of
           this type must use the definite length, short
           encoding form.




Expires 12/08/97                                               [Page 3]


Draft                   Large Integers in SNMP             June 8, 1997


           For example, the BER serialization of value 129
           of type U64TYPE is '9f7b020081'h.  (The tag is '9f7b'h;
           the length is '02'h; and the value is '0081'h.) The
           BER serialization of value '9f7b020081'h of data
           type Opaque is '44059f7b020081'h. (The tag is '44'h;
           the length is '05'h; and the value is '9f7b020081'h.)"
           SYNTAX      Opaque (SIZE(4..12))




6.  References


[1]  K. McCloghrie, M. Rose, "Structure and Identification of Management
     Information for TCP/IP-based Internets", RFC 1155, 05/10/1990.

[2]  K. McCloghrie, M. Rose, "Concise MIB Definitions", RFC 1212,
     03/26/1991.

[3]  M. Rose, "A Convention for Defining Traps for use with the SNMP",
     RFC 1215, 03/27/1991.

[4]  J. Case, K. McCloghrie, M. Rose, S. Waldbusser, "Structure of
     Management Information for Version 2 of the Simple Network
     Management Protocol (SNMPv2)", RFC 1902, 01/22/1996.

[5]  J. Case, K. McCloghrie, M. Rose, S. Waldbusser, "Textual
     Conventions for Version 2 of the Simple Network Management Protocol
     (SNMPv2)", RFC 1903, 01/22/1996.

[6]  J. Case, K. McCloghrie, M. Rose, S. Waldbusser, "Conformance
     Statements for Version 2 of the Simple Network Management Protocol
     (SNMPv2)", RFC 1904, 01/22/1996.

[7]  M. Schoffstall, M. Fedor, J. Davin, J. Case, "A Simple Network
     Management Protocol (SNMP)", RFC 1157, 05/10/1990.

[8]  J. Case, K. McCloghrie, M. Rose, S. Waldbusser, "Protocol
     Operations for Version 2 of the Simple Network Management Protocol
     (SNMPv2)", RFC 1905, 01/22/1996.

[9]  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, 01/22/1996.

[10] Information processing systems - Open Systems Interconnection -
     Specification of Abstract Syntax Notation One (ASN.1),
     International Organization for Standardization.  International
     Standard 8824, (December, 1987).



Expires 12/08/97                                               [Page 4]


Draft                   Large Integers in SNMP             June 8, 1997


[11] Information processing systems - Open Systems Interconnection -
     Specification of Basic Encoding Rules for Abstract Syntax Notation
     One (ASN.1), International Organization for Standardization.
     International Standard 8825, (December, 1987).

[12] Perkins, D., "Domestication of the Opaque Type for SNMP",
     Internet-draft <name-pending> (Replace with reference
     to RFC).













































Expires 12/08/97                                               [Page 5]