INTERNET-DRAFT          EXPIRES: SEPTEMBER 1997       INTERNET-DRAFT

Network Working Group                                      A.Romanov
Internet Draft                                   Quality Quorum, Inc
Category: Informational                                   March 1997
Expire in six months


Practical Approach to Improving Scalability  and
Interoperability of SNMP Applications
<draft-rfced-info-romanov-00.txt>

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 and may be updated, replaced, or obsoleted by other
documents at any time.  It is inappropriate to use Internet-Drafts
as reference material or to cite them other than as "work in
progress".

To learn the current status of any Internet-Draft, please check the
"1id-abstract.txt" listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
ftp.isi.edu (US West Coast).

Abstract

The goal of this memo is to provide a simple solution for apparent practical
problem of scalability and interoperability of network management
applications.


Table of Contents

1. Introduction
2. Proposed Solution
3. MIB Definitions
4. Acknowledgments
5. References

1.  Introduction

Both the SNMPv1 protocol (RFC1157 [1]) and the SNMPv2 protocol (RFC1905 [2])
were developed with the goal of providing scalable  network management
environment. However, both these protocols did not specify limits on the
complexity of the SET requests.  At the same time both these protocols
required 100% atomicity  (also known "as if simultaneous" principle) of SET
requests.  These two requirements combined can be satisfied only by
impractically complex SNMP agents.  So, these requirements were ignored to
one or another degree by practically all existing SNMP agent implementations
accepting SET requests.

In this environment network management applications (NMA) have no other way
than to accept worse case and use less common denominator approach by
utilizing only simplest forms SET requests in all cases. So, NMA with
additional information is not able to utilize capabilities of high end
SNMP agent implementations, so SNMP is not so good scaling up, it also
has negative impact on interoprability between NMAs and network devices
provided by diffrenet vendors.


2.  Proposed Solution

It seems imperative to find practical solution  allowing  (1)really simple
SNMP agent implementations, (2) NMAs able to adapt itself to both exploiting
full capabilities of high end SNMP agents and utilizing modest capabilites
of low end implementations. Proposed solution consists of two parts:
(a) an implementation agreement to use error-status 'inconsistenValue'  by
SNMPv2 agents and 'badValue' by SNMPv1 agents to reject SET requests whose
complexity exceeds agent abilities to process it, (b) MIB variables allowing
NMAs to get information about acceptable level of SET request complexity for
given SNMP agent before sending any requests.

This solution is (1)simple, (2)compliant with both SNMPv1 and SNMPv2,
(3)backward compatible with existing implementations.


3.  MIB Definitions

QQI-MIB DEFINITIONS ::= BEGIN

IMPORTS
    enterprises  FROM SNMPv2-SMI;

qqiMIB MODULE-IDENTITY
    LAST-UPDATED "9703010000Z"
    ORGANIZATION "Quality Quorum, Inc."
    CONTACT-INFO
            "        Aleksey Romanov
           Email:  qqi@world.std.com"
    DESCRIPTION
            "QQI private MIB tree."
    REVISION      "9703010000Z"
    DESCRIPTION
            "The initial revision of this MIB module."
    ::= { enterprises  3023 }

END




QQI-PUBLIC-MIB DEFINITIONS ::= BEGIN

IMPORTS
    qqiMIB  FROM QQI-MIB;

qqiPublicMIB MODULE-IDENTITY
    LAST-UPDATED "9703010000Z"
    ORGANIZATION "Quality Quorum, Inc."
    CONTACT-INFO
            "        Aleksey Romanov
           Email:  qqi@world.std.com"
    DESCRIPTION
            "Part of QQI private MIB tree intended for public use."
    REVISION      "9703010000Z"
    DESCRIPTION
            "The initial revision of this MIB module."
    ::= { qqiMIB   25 }

-- Group providing information about acceptable complexity of
-- of  SET requests for given SNMP agent

qqiPublicGroups OBJECT IDENTIFIER ::= { qqiPublicMIB  1}
qqiSetRequest   OBJECT IDENTIFIER ::= { qqiPublicGroups 1 }

qqiSetLevel OBJECT-TYPE
    SYNTAX      INTEGER(0..7)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The relative measure of SET request complexity acceptable for
         given SNMP agent. Its values has to be interpreted as follows:
             0  - the most primitive form of SNMP agent, it can reliably
                  process  SET request which limited to single instance or
                  single row in the conceptual table. Also it is not able
                  to identify and reject too complex request,
             1  - Same as '0' plus it is able to process 'snmpSetSerialNo',
             2  - Same as '1' plus it is able to reliably identify and reject
                  too complex SET request (this is lowest level of really
                  compliant SNMP implementation),
             3  - Same as '2' plus it is able to process simplest case of
                  multiple rows/scalars in one PDU, e.g. it is able to add
                  several new PVCs to ATM switch configuration, however,
                  it will be unable  to properly process resource reallocation
                  within a request, e.g. to reuse VCI freed by PVC being
                  deleted in PVC being created by the same request,
             4  - Same as '2'  plus it is able to process complex updates
                  of multiple rows within a single table,
             5  - Same as '3' plus it is able to process simple updates in
                  several tables simultaneously,
             6  - Same as '4' plus it is able to process complex updates in
                  several rows simultaneously,
             7  - No limits.
         For all practical purposes all agents which do not implement this
         variable should be considered of level 0."
    ::= { qqiSetRequest 1 }

qqiSetLimit OBJECT-TYPE
    SYNTAX      INTEGER(1..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Limit on the number of rows/scalars to be processed by SNMP agent
        having value of qqiSetLevel in the range of (3..6). This value is
        not applicable to SNMP agent with qqiSetLevels 0, 1, 2, and 7."
   ::= { qqiSetRequest 2 }

-- Conformance statements
qqiPublicMIBConformance OBJECT IDENTIFIER ::= { qqiPublicMIB 2 }

qqiPublicMIBCompliance  OBJECT IDENTIFIER ::= { qqiPublicMIBConformance 1 }
qqiPublicMIBGroups      OBJECT IDENTIFIER ::= { qqiPublicMIBConformance 2 }

-- compliance statements


qqiPublicMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for SNMP entities which
        implement objects of qqiPublic MIB"
    MODULE
    MANDATORY-GROUPS { qqiSetGroup }
    ::= { qqiPublicMIBCompliance 1 }

-- units of conformance

qqiSetRequestGroup OBJECT-GROUP
    OBJECTS   { qqiSetLevel, qqiSetLimit}
    STATUS    current
    DESCRIPTION
        "The qqiSetRequest  group of objects providing information about
        acceptable complexity of set request."
    ::= { qqiPublicMIBGroups 1 }

END


4. Acknowledgments

This memo was inspired by author's discussion with Bob Natale (ACE*COMM).

5. References

[1]  Jeffrey  D. Case, Mark Fedor, Martin Lee Schoffstall and James
     R. Davin, Simple  Network  Management  Protocol  (SNMP),  SNMP
     Research,  Performance  Systems  International, MIT Laboratory
     for Computer Science, RFC 1157, May 1990.

[2]  Jeffrey D. Case, Keith McCloghrie, Marshall T. Rose and Steven
     Waldbusser, Protocol Operations for Version 2  of  the  Simple
     Network Management Protocol (SNMPv2), SNMP Research Inc, Cisco
     Systems Inc, Dover Beach Consulting Inc, International Network
     Services, RFC1905, January 1996.


INTERNET-DRAFT          EXPIRES: SEPTEMBER 1997        INTERNET-DRAFT


Author's Address:

Mr. Aleksey Y. Romanov
Quality Quorum, Inc.
60 Lincoln Road
Sutton, MA  01590
USA
E-mail:        qqi@world.std.com