Annotation of 43BSDReno/contrib/isode-beta/doc/rfcs/rfc1157.txt, revision 1.1.1.1

1.1       root        1: 
                      2: 
                      3: 
                      4: 
                      5: 
                      6: 
                      7: Network Working Group                                            J. Case
                      8: Request for Comments:  1157                                SNMP Research
                      9: Obsoletes:  RFC 1098                                            M. Fedor
                     10:                                        Performance Systems International
                     11:                                                           M. Schoffstall
                     12:                                        Performance Systems International
                     13:                                                                 J. Davin
                     14:                                      MIT Laboratory for Computer Science
                     15:                                                                 May 1990
                     16: 
                     17: 
                     18:               A Simple Network Management Protocol (SNMP)
                     19: 
                     20:                            Table of Contents
                     21: 
                     22:    1. Status of this Memo ...................................    2
                     23:    2. Introduction ..........................................    2
                     24:    3. The SNMP Architecture .................................    5
                     25:    3.1 Goals of the Architecture ............................    5
                     26:    3.2 Elements of the Architecture .........................    5
                     27:    3.2.1 Scope of Management Information ....................    6
                     28:    3.2.2 Representation of Management Information ...........    6
                     29:    3.2.3 Operations Supported on Management Information .....    7
                     30:    3.2.4 Form and Meaning of Protocol Exchanges .............    8
                     31:    3.2.5 Definition of Administrative Relationships .........    8
                     32:    3.2.6 Form and Meaning of References to Managed Objects ..   12
                     33:    3.2.6.1 Resolution of Ambiguous MIB References ...........   12
                     34:    3.2.6.2 Resolution of References across MIB Versions......   12
                     35:    3.2.6.3 Identification of Object Instances ...............   12
                     36:    3.2.6.3.1 ifTable Object Type Names ......................   13
                     37:    3.2.6.3.2 atTable Object Type Names ......................   13
                     38:    3.2.6.3.3 ipAddrTable Object Type Names ..................   14
                     39:    3.2.6.3.4 ipRoutingTable Object Type Names ...............   14
                     40:    3.2.6.3.5 tcpConnTable Object Type Names .................   14
                     41:    3.2.6.3.6 egpNeighTable Object Type Names ................   15
                     42:    4. Protocol Specification ................................   16
                     43:    4.1 Elements of Procedure ................................   17
                     44:    4.1.1 Common Constructs ..................................   19
                     45:    4.1.2 The GetRequest-PDU .................................   20
                     46:    4.1.3 The GetNextRequest-PDU .............................   21
                     47:    4.1.3.1 Example of Table Traversal .......................   23
                     48:    4.1.4 The GetResponse-PDU ................................   24
                     49:    4.1.5 The SetRequest-PDU .................................   25
                     50:    4.1.6 The Trap-PDU .......................................   27
                     51:    4.1.6.1 The coldStart Trap ...............................   28
                     52:    4.1.6.2 The warmStart Trap ...............................   28
                     53:    4.1.6.3 The linkDown Trap ................................   28
                     54:    4.1.6.4 The linkUp Trap ..................................   28
                     55: 
                     56: 
                     57: 
                     58: Case, Fedor, Schoffstall, & Davin                               [Page 1]
                     59: 
                     60: RFC 1157                          SNMP                          May 1990
                     61: 
                     62: 
                     63:    4.1.6.5 The authenticationFailure Trap ...................   28
                     64:    4.1.6.6 The egpNeighborLoss Trap .........................   28
                     65:    4.1.6.7 The enterpriseSpecific Trap ......................   29
                     66:    5. Definitions ...........................................   30
                     67:    6. Acknowledgements ......................................   33
                     68:    7. References ............................................   34
                     69:    8. Security Considerations................................   35
                     70:    9. Authors' Addresses.....................................   35
                     71: 
                     72: 1.  Status of this Memo
                     73: 
                     74:    This RFC is a re-release of RFC 1098, with a changed "Status of this
                     75:    Memo" section plus a few minor typographical corrections.  This memo
                     76:    defines a simple protocol by which management information for a
                     77:    network element may be inspected or altered by logically remote
                     78:    users.  In particular, together with its companion memos which
                     79:    describe the structure of management information along with the
                     80:    management information base, these documents provide a simple,
                     81:    workable architecture and system for managing TCP/IP-based internets
                     82:    and in particular the Internet.
                     83: 
                     84:    The Internet Activities Board recommends that all IP and TCP
                     85:    implementations be network manageable.  This implies implementation
                     86:    of the Internet MIB (RFC-1156) and at least one of the two
                     87:    recommended management protocols SNMP (RFC-1157) or CMOT (RFC-1095).
                     88:    It should be noted that, at this time, SNMP is a full Internet
                     89:    standard and CMOT is a draft standard.  See also the Host and Gateway
                     90:    Requirements RFCs for more specific information on the applicability
                     91:    of this standard.
                     92: 
                     93:    Please refer to the latest edition of the "IAB Official Protocol
                     94:    Standards" RFC for current information on the state and status of
                     95:    standard Internet protocols.
                     96: 
                     97:    Distribution of this memo is unlimited.
                     98: 
                     99: 2.  Introduction
                    100: 
                    101:    As reported in RFC 1052, IAB Recommendations for the Development of
                    102:    Internet Network Management Standards [1], a two-prong strategy for
                    103:    network management of TCP/IP-based internets was undertaken.  In the
                    104:    short-term, the Simple Network Management Protocol (SNMP) was to be
                    105:    used to manage nodes in the Internet community.  In the long-term,
                    106:    the use of the OSI network management framework was to be examined.
                    107:    Two documents were produced to define the management information: RFC
                    108:    1065, which defined the Structure of Management Information (SMI)
                    109:    [2], and RFC 1066, which defined the Management Information Base
                    110:    (MIB) [3].  Both of these documents were designed so as to be
                    111: 
                    112: 
                    113: 
                    114: Case, Fedor, Schoffstall, & Davin                               [Page 2]
                    115: 
                    116: RFC 1157                          SNMP                          May 1990
                    117: 
                    118: 
                    119:    compatible with both the SNMP and the OSI network management
                    120:    framework.
                    121: 
                    122:    This strategy was quite successful in the short-term: Internet-based
                    123:    network management technology was fielded, by both the research and
                    124:    commercial communities, within a few months.  As a result of this,
                    125:    portions of the Internet community became network manageable in a
                    126:    timely fashion.
                    127: 
                    128:    As reported in RFC 1109, Report of the Second Ad Hoc Network
                    129:    Management Review Group [4], the requirements of the SNMP and the OSI
                    130:    network management frameworks were more different than anticipated.
                    131:    As such, the requirement for compatibility between the SMI/MIB and
                    132:    both frameworks was suspended.  This action permitted the operational
                    133:    network management framework, the SNMP, to respond to new operational
                    134:    needs in the Internet community by producing documents defining new
                    135:    MIB items.
                    136: 
                    137:    The IAB has designated the SNMP, SMI, and the initial Internet MIB to
                    138:    be full "Standard Protocols" with "Recommended" status.  By this
                    139:    action, the IAB recommends that all IP and TCP implementations be
                    140:    network manageable and that the implementations that are network
                    141:    manageable are expected to adopt and implement the SMI, MIB, and
                    142:    SNMP.
                    143: 
                    144:    As such, the current network management framework for TCP/IP- based
                    145:    internets consists of:  Structure and Identification of Management
                    146:    Information for TCP/IP-based Internets, which describes how managed
                    147:    objects contained in the MIB are defined as set forth in RFC 1155
                    148:    [5]; Management Information Base for Network Management of TCP/IP-
                    149:    based Internets, which describes the managed objects contained in the
                    150:    MIB as set forth in RFC 1156 [6]; and, the Simple Network Management
                    151:    Protocol, which defines the protocol used to manage these objects, as
                    152:    set forth in this memo.
                    153: 
                    154:    As reported in RFC 1052, IAB Recommendations for the Development of
                    155:    Internet Network Management Standards [1], the Internet Activities
                    156:    Board has directed the Internet Engineering Task Force (IETF) to
                    157:    create two new working groups in the area of network management.  One
                    158:    group was charged with the further specification and definition of
                    159:    elements to be included in the Management Information Base (MIB).
                    160:    The other was charged with defining the modifications to the Simple
                    161:    Network Management Protocol (SNMP) to accommodate the short-term
                    162:    needs of the network vendor and operations communities, and to align
                    163:    with the output of the MIB working group.
                    164: 
                    165:    The MIB working group produced two memos, one which defines a
                    166:    Structure for Management Information (SMI) [2] for use by the managed
                    167: 
                    168: 
                    169: 
                    170: Case, Fedor, Schoffstall, & Davin                               [Page 3]
                    171: 
                    172: RFC 1157                          SNMP                          May 1990
                    173: 
                    174: 
                    175:    objects contained in the MIB.  A second memo [3] defines the list of
                    176:    managed objects.
                    177: 
                    178:    The output of the SNMP Extensions working group is this memo, which
                    179:    incorporates changes to the initial SNMP definition [7] required to
                    180:    attain alignment with the output of the MIB working group.  The
                    181:    changes should be minimal in order to be consistent with the IAB's
                    182:    directive that the working groups be "extremely sensitive to the need
                    183:    to keep the SNMP simple."  Although considerable care and debate has
                    184:    gone into the changes to the SNMP which are reflected in this memo,
                    185:    the resulting protocol is not backwardly-compatible with its
                    186:    predecessor, the Simple Gateway Monitoring Protocol (SGMP) [8].
                    187:    Although the syntax of the protocol has been altered, the original
                    188:    philosophy, design decisions, and architecture remain intact.  In
                    189:    order to avoid confusion, new UDP ports have been allocated for use
                    190:    by the protocol described in this memo.
                    191: 
                    192: 
                    193: 
                    194: 
                    195: 
                    196: 
                    197: 
                    198: 
                    199: 
                    200: 
                    201: 
                    202: 
                    203: 
                    204: 
                    205: 
                    206: 
                    207: 
                    208: 
                    209: 
                    210: 
                    211: 
                    212: 
                    213: 
                    214: 
                    215: 
                    216: 
                    217: 
                    218: 
                    219: 
                    220: 
                    221: 
                    222: 
                    223: 
                    224: 
                    225: 
                    226: Case, Fedor, Schoffstall, & Davin                               [Page 4]
                    227: 
                    228: RFC 1157                          SNMP                          May 1990
                    229: 
                    230: 
                    231: 3.  The SNMP Architecture
                    232: 
                    233:    Implicit in the SNMP architectural model is a collection of network
                    234:    management stations and network elements.  Network management
                    235:    stations execute management applications which monitor and control
                    236:    network elements.  Network elements are devices such as hosts,
                    237:    gateways, terminal servers, and the like, which have management
                    238:    agents responsible for performing the network management functions
                    239:    requested by the network management stations.  The Simple Network
                    240:    Management Protocol (SNMP) is used to communicate management
                    241:    information between the network management stations and the agents in
                    242:    the network elements.
                    243: 
                    244: 3.1.  Goals of the Architecture
                    245: 
                    246:    The SNMP explicitly minimizes the number and complexity of management
                    247:    functions realized by the management agent itself.  This goal is
                    248:    attractive in at least four respects:
                    249: 
                    250:       (1)  The development cost for management agent software
                    251:            necessary to support the protocol is accordingly reduced.
                    252: 
                    253:       (2)  The degree of management function that is remotely
                    254:            supported is accordingly increased, thereby admitting
                    255:            fullest use of internet resources in the management task.
                    256: 
                    257:       (3)  The degree of management function that is remotely
                    258:            supported is accordingly increased, thereby imposing the
                    259:            fewest possible restrictions on the form and
                    260:            sophistication of management tools.
                    261: 
                    262:       (4)  Simplified sets of management functions are easily
                    263:            understood and used by developers of network management
                    264:            tools.
                    265: 
                    266:    A second goal of the protocol is that the functional paradigm for
                    267:    monitoring and control be sufficiently extensible to accommodate
                    268:    additional, possibly unanticipated aspects of network operation and
                    269:    management.
                    270: 
                    271:    A third goal is that the architecture be, as much as possible,
                    272:    independent of the architecture and mechanisms of particular hosts or
                    273:    particular gateways.
                    274: 
                    275: 3.2.  Elements of the Architecture
                    276: 
                    277:    The SNMP architecture articulates a solution to the network
                    278:    management problem in terms of:
                    279: 
                    280: 
                    281: 
                    282: Case, Fedor, Schoffstall, & Davin                               [Page 5]
                    283: 
                    284: RFC 1157                          SNMP                          May 1990
                    285: 
                    286: 
                    287:       (1)  the scope of the management information communicated by
                    288:            the protocol,
                    289: 
                    290:       (2)  the representation of the management information
                    291:            communicated by the protocol,
                    292: 
                    293:       (3)  operations on management information supported by the
                    294:            protocol,
                    295: 
                    296:       (4)  the form and meaning of exchanges among management
                    297:            entities,
                    298: 
                    299:       (5)  the definition of administrative relationships among
                    300:            management entities, and
                    301: 
                    302:       (6)  the form and meaning of references to management
                    303:            information.
                    304: 
                    305: 3.2.1.  Scope of Management Information
                    306: 
                    307:    The scope of the management information communicated by operation of
                    308:    the SNMP is exactly that represented by instances of all non-
                    309:    aggregate object types either defined in Internet-standard MIB or
                    310:    defined elsewhere according to the conventions set forth in
                    311:    Internet-standard SMI [5].
                    312: 
                    313:    Support for aggregate object types in the MIB is neither required for
                    314:    conformance with the SMI nor realized by the SNMP.
                    315: 
                    316: 3.2.2.  Representation of Management Information
                    317: 
                    318:    Management information communicated by operation of the SNMP is
                    319:    represented according to the subset of the ASN.1 language [9] that is
                    320:    specified for the definition of non-aggregate types in the SMI.
                    321: 
                    322:    The SGMP adopted the convention of using a well-defined subset of the
                    323:    ASN.1 language [9].  The SNMP continues and extends this tradition by
                    324:    utilizing a moderately more complex subset of ASN.1 for describing
                    325:    managed objects and for describing the protocol data units used for
                    326:    managing those objects.  In addition, the desire to ease eventual
                    327:    transition to OSI-based network management protocols led to the
                    328:    definition in the ASN.1 language of an Internet-standard Structure of
                    329:    Management Information (SMI) [5] and Management Information Base
                    330:    (MIB) [6].  The use of the ASN.1 language, was, in part, encouraged
                    331:    by the successful use of ASN.1 in earlier efforts, in particular, the
                    332:    SGMP.  The restrictions on the use of ASN.1 that are part of the SMI
                    333:    contribute to the simplicity espoused and validated by experience
                    334:    with the SGMP.
                    335: 
                    336: 
                    337: 
                    338: Case, Fedor, Schoffstall, & Davin                               [Page 6]
                    339: 
                    340: RFC 1157                          SNMP                          May 1990
                    341: 
                    342: 
                    343:    Also for the sake of simplicity, the SNMP uses only a subset of the
                    344:    basic encoding rules of ASN.1 [10].  Namely, all encodings use the
                    345:    definite-length form.  Further, whenever permissible, non-constructor
                    346:    encodings are used rather than constructor encodings.  This
                    347:    restriction applies to all aspects of ASN.1 encoding, both for the
                    348:    top-level protocol data units and the data objects they contain.
                    349: 
                    350: 3.2.3.  Operations Supported on Management Information
                    351: 
                    352:    The SNMP models all management agent functions as alterations or
                    353:    inspections of variables.  Thus, a protocol entity on a logically
                    354:    remote host (possibly the network element itself) interacts with the
                    355:    management agent resident on the network element in order to retrieve
                    356:    (get) or alter (set) variables.  This strategy has at least two
                    357:    positive consequences:
                    358: 
                    359:       (1)  It has the effect of limiting the number of essential
                    360:            management functions realized by the management agent to
                    361:            two:  one operation to assign a value to a specified
                    362:            configuration or other parameter and another to retrieve
                    363:            such a value.
                    364: 
                    365:       (2)  A second effect of this decision is to avoid introducing
                    366:            into the protocol definition support for imperative
                    367:            management commands:  the number of such commands is in
                    368:            practice ever-increasing, and the semantics of such
                    369:            commands are in general arbitrarily complex.
                    370: 
                    371:    The strategy implicit in the SNMP is that the monitoring of network
                    372:    state at any significant level of detail is accomplished primarily by
                    373:    polling for appropriate information on the part of the monitoring
                    374:    center(s).  A limited number of unsolicited messages (traps) guide
                    375:    the timing and focus of the polling.  Limiting the number of
                    376:    unsolicited messages is consistent with the goal of simplicity and
                    377:    minimizing the amount of traffic generated by the network management
                    378:    function.
                    379: 
                    380:    The exclusion of imperative commands from the set of explicitly
                    381:    supported management functions is unlikely to preclude any desirable
                    382:    management agent operation.  Currently, most commands are requests
                    383:    either to set the value of some parameter or to retrieve such a
                    384:    value, and the function of the few imperative commands currently
                    385:    supported is easily accommodated in an asynchronous mode by this
                    386:    management model.  In this scheme, an imperative command might be
                    387:    realized as the setting of a parameter value that subsequently
                    388:    triggers the desired action.  For example, rather than implementing a
                    389:    "reboot command," this action might be invoked by simply setting a
                    390:    parameter indicating the number of seconds until system reboot.
                    391: 
                    392: 
                    393: 
                    394: Case, Fedor, Schoffstall, & Davin                               [Page 7]
                    395: 
                    396: RFC 1157                          SNMP                          May 1990
                    397: 
                    398: 
                    399: 3.2.4.  Form and Meaning of Protocol Exchanges
                    400: 
                    401:    The communication of management information among management entities
                    402:    is realized in the SNMP through the exchange of protocol messages.
                    403:    The form and meaning of those messages is defined below in Section 4.
                    404: 
                    405:    Consistent with the goal of minimizing complexity of the management
                    406:    agent, the exchange of SNMP messages requires only an unreliable
                    407:    datagram service, and every message is entirely and independently
                    408:    represented by a single transport datagram.  While this document
                    409:    specifies the exchange of messages via the UDP protocol [11], the
                    410:    mechanisms of the SNMP are generally suitable for use with a wide
                    411:    variety of transport services.
                    412: 
                    413: 3.2.5.  Definition of Administrative Relationships
                    414: 
                    415:    The SNMP architecture admits a variety of administrative
                    416:    relationships among entities that participate in the protocol.  The
                    417:    entities residing at management stations and network elements which
                    418:    communicate with one another using the SNMP are termed SNMP
                    419:    application entities.  The peer processes which implement the SNMP,
                    420:    and thus support the SNMP application entities, are termed protocol
                    421:    entities.
                    422: 
                    423:    A pairing of an SNMP agent with some arbitrary set of SNMP
                    424:    application entities is called an SNMP community.  Each SNMP
                    425:    community is named by a string of octets, that is called the
                    426:    community name for said community.
                    427: 
                    428:    An SNMP message originated by an SNMP application entity that in fact
                    429:    belongs to the SNMP community named by the community component of
                    430:    said message is called an authentic SNMP message.  The set of rules
                    431:    by which an SNMP message is identified as an authentic SNMP message
                    432:    for a particular SNMP community is called an authentication scheme.
                    433:    An implementation of a function that identifies authentic SNMP
                    434:    messages according to one or more authentication schemes is called an
                    435:    authentication service.
                    436: 
                    437:    Clearly, effective management of administrative relationships among
                    438:    SNMP application entities requires authentication services that (by
                    439:    the use of encryption or other techniques) are able to identify
                    440:    authentic SNMP messages with a high degree of certainty.  Some SNMP
                    441:    implementations may wish to support only a trivial authentication
                    442:    service that identifies all SNMP messages as authentic SNMP messages.
                    443: 
                    444:    For any network element, a subset of objects in the MIB that pertain
                    445:    to that element is called a SNMP MIB view.  Note that the names of
                    446:    the object types represented in a SNMP MIB view need not belong to a
                    447: 
                    448: 
                    449: 
                    450: Case, Fedor, Schoffstall, & Davin                               [Page 8]
                    451: 
                    452: RFC 1157                          SNMP                          May 1990
                    453: 
                    454: 
                    455:    single sub-tree of the object type name space.
                    456: 
                    457:    An element of the set { READ-ONLY, READ-WRITE } is called an SNMP
                    458:    access mode.
                    459: 
                    460:    A pairing of a SNMP access mode with a SNMP MIB view is called an
                    461:    SNMP community profile.  A SNMP community profile represents
                    462:    specified access privileges to variables in a specified MIB view. For
                    463:    every variable in the MIB view in a given SNMP community profile,
                    464:    access to that variable is represented by the profile according to
                    465:    the following conventions:
                    466: 
                    467:       (1)  if said variable is defined in the MIB with "Access:" of
                    468:            "none," it is unavailable as an operand for any operator;
                    469: 
                    470:       (2)  if said variable is defined in the MIB with "Access:" of
                    471:            "read-write" or "write-only" and the access mode of the
                    472:            given profile is READ-WRITE, that variable is available
                    473:            as an operand for the get, set, and trap operations;
                    474: 
                    475:       (3)  otherwise, the variable is available as an operand for
                    476:            the get and trap operations.
                    477: 
                    478:       (4)  In those cases where a "write-only" variable is an
                    479:            operand used for the get or trap operations, the value
                    480:            given for the variable is implementation-specific.
                    481: 
                    482:    A pairing of a SNMP community with a SNMP community profile is called
                    483:    a SNMP access policy. An access policy represents a specified
                    484:    community profile afforded by the SNMP agent of a specified SNMP
                    485:    community to other members of that community.  All administrative
                    486:    relationships among SNMP application entities are architecturally
                    487:    defined in terms of SNMP access policies.
                    488: 
                    489:    For every SNMP access policy, if the network element on which the
                    490:    SNMP agent for the specified SNMP community resides is not that to
                    491:    which the MIB view for the specified profile pertains, then that
                    492:    policy is called a SNMP proxy access policy. The SNMP agent
                    493:    associated with a proxy access policy is called a SNMP proxy agent.
                    494:    While careless definition of proxy access policies can result in
                    495:    management loops, prudent definition of proxy policies is useful in
                    496:    at least two ways:
                    497: 
                    498:       (1)  It permits the monitoring and control of network elements
                    499:            which are otherwise not addressable using the management
                    500:            protocol and the transport protocol.  That is, a proxy
                    501:            agent may provide a protocol conversion function allowing
                    502:            a management station to apply a consistent management
                    503: 
                    504: 
                    505: 
                    506: Case, Fedor, Schoffstall, & Davin                               [Page 9]
                    507: 
                    508: RFC 1157                          SNMP                          May 1990
                    509: 
                    510: 
                    511:            framework to all network elements, including devices such
                    512:            as modems, multiplexors, and other devices which support
                    513:            different management frameworks.
                    514: 
                    515:       (2)  It potentially shields network elements from elaborate
                    516:            access control policies.  For example, a proxy agent may
                    517:            implement sophisticated access control whereby diverse
                    518:            subsets of variables within the MIB are made accessible
                    519:            to different management stations without increasing the
                    520:            complexity of the network element.
                    521: 
                    522:    By way of example, Figure 1 illustrates the relationship between
                    523:    management stations, proxy agents, and management agents.  In this
                    524:    example, the proxy agent is envisioned to be a normal Internet
                    525:    Network Operations Center (INOC) of some administrative domain which
                    526:    has a standard managerial relationship with a set of management
                    527:    agents.
                    528: 
                    529: 
                    530: 
                    531: 
                    532: 
                    533: 
                    534: 
                    535: 
                    536: 
                    537: 
                    538: 
                    539: 
                    540: 
                    541: 
                    542: 
                    543: 
                    544: 
                    545: 
                    546: 
                    547: 
                    548: 
                    549: 
                    550: 
                    551: 
                    552: 
                    553: 
                    554: 
                    555: 
                    556: 
                    557: 
                    558: 
                    559: 
                    560: 
                    561: 
                    562: Case, Fedor, Schoffstall, & Davin                              [Page 10]
                    563: 
                    564: RFC 1157                          SNMP                          May 1990
                    565: 
                    566: 
                    567:    +------------------+       +----------------+      +----------------+
                    568:    |  Region #1 INOC  |       |Region #2 INOC  |      |PC in Region #3 |
                    569:    |                  |       |                |      |                |
                    570:    |Domain=Region #1  |       |Domain=Region #2|      |Domain=Region #3|
                    571:    |CPU=super-mini-1  |       |CPU=super-mini-1|      |CPU=Clone-1     |
                    572:    |PCommunity=pub    |       |PCommunity=pub  |      |PCommunity=slate|
                    573:    |                  |       |                |      |                |
                    574:    +------------------+       +----------------+      +----------------+
                    575:           /|\                      /|\                     /|\
                    576:            |                        |                       |
                    577:            |                        |                       |
                    578:            |                       \|/                      |
                    579:            |               +-----------------+              |
                    580:            +-------------->| Region #3 INOC  |<-------------+
                    581:                            |                 |
                    582:                            |Domain=Region #3 |
                    583:                            |CPU=super-mini-2 |
                    584:                            |PCommunity=pub,  |
                    585:                            |         slate   |
                    586:                            |DCommunity=secret|
                    587:            +-------------->|                 |<-------------+
                    588:            |               +-----------------+              |
                    589:            |                       /|\                      |
                    590:            |                        |                       |
                    591:            |                        |                       |
                    592:           \|/                      \|/                     \|/
                    593:    +-----------------+     +-----------------+       +-----------------+
                    594:    |Domain=Region#3  |     |Domain=Region#3  |       |Domain=Region#3  |
                    595:    |CPU=router-1     |     |CPU=mainframe-1  |       |CPU=modem-1      |
                    596:    |DCommunity=secret|     |DCommunity=secret|       |DCommunity=secret|
                    597:    +-----------------+     +-----------------+       +-----------------+
                    598: 
                    599: 
                    600:    Domain:  the administrative domain of the element
                    601:    PCommunity:  the name of a community utilizing a proxy agent
                    602:    DCommunity:  the name of a direct community
                    603: 
                    604: 
                    605:                                  Figure 1
                    606:                  Example Network Management Configuration
                    607: 
                    608: 
                    609: 
                    610: 
                    611: 
                    612: 
                    613: 
                    614: 
                    615: 
                    616: 
                    617: 
                    618: Case, Fedor, Schoffstall, & Davin                              [Page 11]
                    619: 
                    620: RFC 1157                          SNMP                          May 1990
                    621: 
                    622: 
                    623: 3.2.6.  Form and Meaning of References to Managed Objects
                    624: 
                    625:    The SMI requires that the definition of a conformant management
                    626:    protocol address:
                    627: 
                    628:       (1)  the resolution of ambiguous MIB references,
                    629: 
                    630:       (2)  the resolution of MIB references in the presence multiple
                    631:            MIB versions, and
                    632: 
                    633:       (3)  the identification of particular instances of object
                    634:            types defined in the MIB.
                    635: 
                    636: 3.2.6.1.  Resolution of Ambiguous MIB References
                    637: 
                    638:    Because the scope of any SNMP operation is conceptually confined to
                    639:    objects relevant to a single network element, and because all SNMP
                    640:    references to MIB objects are (implicitly or explicitly) by unique
                    641:    variable names, there is no possibility that any SNMP reference to
                    642:    any object type defined in the MIB could resolve to multiple
                    643:    instances of that type.
                    644: 
                    645: 3.2.6.2.  Resolution of References across MIB Versions
                    646: 
                    647:    The object instance referred to by any SNMP operation is exactly that
                    648:    specified as part of the operation request or (in the case of a get-
                    649:    next operation) its immediate successor in the MIB as a whole.  In
                    650:    particular, a reference to an object as part of some version of the
                    651:    Internet-standard MIB does not resolve to any object that is not part
                    652:    of said version of the Internet-standard MIB, except in the case that
                    653:    the requested operation is get-next and the specified object name is
                    654:    lexicographically last among the names of all objects presented as
                    655:    part of said version of the Internet-Standard MIB.
                    656: 
                    657: 3.2.6.3.  Identification of Object Instances
                    658: 
                    659:    The names for all object types in the MIB are defined explicitly
                    660:    either in the Internet-standard MIB or in other documents which
                    661:    conform to the naming conventions of the SMI.  The SMI requires that
                    662:    conformant management protocols define mechanisms for identifying
                    663:    individual instances of those object types for a particular network
                    664:    element.
                    665: 
                    666:    Each instance of any object type defined in the MIB is identified in
                    667:    SNMP operations by a unique name called its "variable name." In
                    668:    general, the name of an SNMP variable is an OBJECT IDENTIFIER of the
                    669:    form x.y, where x is the name of a non-aggregate object type defined
                    670:    in the MIB and y is an OBJECT IDENTIFIER fragment that, in a way
                    671: 
                    672: 
                    673: 
                    674: Case, Fedor, Schoffstall, & Davin                              [Page 12]
                    675: 
                    676: RFC 1157                          SNMP                          May 1990
                    677: 
                    678: 
                    679:    specific to the named object type, identifies the desired instance.
                    680: 
                    681:    This naming strategy admits the fullest exploitation of the semantics
                    682:    of the GetNextRequest-PDU (see Section 4), because it assigns names
                    683:    for related variables so as to be contiguous in the lexicographical
                    684:    ordering of all variable names known in the MIB.
                    685: 
                    686:    The type-specific naming of object instances is defined below for a
                    687:    number of classes of object types.  Instances of an object type to
                    688:    which none of the following naming conventions are applicable are
                    689:    named by OBJECT IDENTIFIERs of the form x.0, where x is the name of
                    690:    said object type in the MIB definition.
                    691: 
                    692:    For example, suppose one wanted to identify an instance of the
                    693:    variable sysDescr The object class for sysDescr is:
                    694: 
                    695:              iso org dod internet mgmt mib system sysDescr
                    696:               1   3   6     1      2    1    1       1
                    697: 
                    698:    Hence, the object type, x, would be 1.3.6.1.2.1.1.1 to which is
                    699:    appended an instance sub-identifier of 0.  That is, 1.3.6.1.2.1.1.1.0
                    700:    identifies the one and only instance of sysDescr.
                    701: 
                    702: 3.2.6.3.1.  ifTable Object Type Names
                    703: 
                    704:    The name of a subnet interface, s, is the OBJECT IDENTIFIER value of
                    705:    the form i, where i has the value of that instance of the ifIndex
                    706:    object type associated with s.
                    707: 
                    708:    For each object type, t, for which the defined name, n, has a prefix
                    709:    of ifEntry, an instance, i, of t is named by an OBJECT IDENTIFIER of
                    710:    the form n.s, where s is the name of the subnet interface about which
                    711:    i represents information.
                    712: 
                    713:    For example, suppose one wanted to identify the instance of the
                    714:    variable ifType associated with interface 2.  Accordingly, ifType.2
                    715:    would identify the desired instance.
                    716: 
                    717: 3.2.6.3.2.  atTable Object Type Names
                    718: 
                    719:    The name of an AT-cached network address, x, is an OBJECT IDENTIFIER
                    720:    of the form 1.a.b.c.d, where a.b.c.d is the value (in the familiar
                    721:    "dot" notation) of the atNetAddress object type associated with x.
                    722: 
                    723:    The name of an address translation equivalence e is an OBJECT
                    724:    IDENTIFIER value of the form s.w, such that s is the value of that
                    725:    instance of the atIndex object type associated with e and such that w
                    726:    is the name of the AT-cached network address associated with e.
                    727: 
                    728: 
                    729: 
                    730: Case, Fedor, Schoffstall, & Davin                              [Page 13]
                    731: 
                    732: RFC 1157                          SNMP                          May 1990
                    733: 
                    734: 
                    735:    For each object type, t, for which the defined name, n, has a prefix
                    736:    of atEntry, an instance, i, of t is named by an OBJECT IDENTIFIER of
                    737:    the form n.y, where y is the name of the address translation
                    738:    equivalence about which i represents information.
                    739: 
                    740:    For example, suppose one wanted to find the physical address of an
                    741:    entry in the address translation table (ARP cache) associated with an
                    742:    IP address of 89.1.1.42 and interface 3.  Accordingly,
                    743:    atPhysAddress.3.1.89.1.1.42 would identify the desired instance.
                    744: 
                    745: 3.2.6.3.3.  ipAddrTable Object Type Names
                    746: 
                    747:    The name of an IP-addressable network element, x, is the OBJECT
                    748:    IDENTIFIER of the form a.b.c.d such that a.b.c.d is the value (in the
                    749:    familiar "dot" notation) of that instance of the ipAdEntAddr object
                    750:    type associated with x.
                    751: 
                    752:    For each object type, t, for which the defined name, n, has a prefix
                    753:    of ipAddrEntry, an instance, i, of t is named by an OBJECT IDENTIFIER
                    754:    of the form n.y, where y is the name of the IP-addressable network
                    755:    element about which i represents information.
                    756: 
                    757:    For example, suppose one wanted to find the network mask of an entry
                    758:    in the IP interface table associated with an IP address of 89.1.1.42.
                    759:    Accordingly, ipAdEntNetMask.89.1.1.42 would identify the desired
                    760:    instance.
                    761: 
                    762: 3.2.6.3.4.  ipRoutingTable Object Type Names
                    763: 
                    764:    The name of an IP route, x, is the OBJECT IDENTIFIER of the form
                    765:    a.b.c.d such that a.b.c.d is the value (in the familiar "dot"
                    766:    notation) of that instance of the ipRouteDest object type associated
                    767:    with x.
                    768: 
                    769:    For each object type, t, for which the defined name, n, has a prefix
                    770:    of ipRoutingEntry, an instance, i, of t is named by an OBJECT
                    771:    IDENTIFIER of the form n.y, where y is the name of the IP route about
                    772:    which i represents information.
                    773: 
                    774:    For example, suppose one wanted to find the next hop of an entry in
                    775:    the IP routing table associated  with the destination of 89.1.1.42.
                    776:    Accordingly, ipRouteNextHop.89.1.1.42 would identify the desired
                    777:    instance.
                    778: 
                    779: 3.2.6.3.5.  tcpConnTable Object Type Names
                    780: 
                    781:    The name of a TCP connection, x, is the OBJECT IDENTIFIER of the form
                    782:    a.b.c.d.e.f.g.h.i.j such that a.b.c.d is the value (in the familiar
                    783: 
                    784: 
                    785: 
                    786: Case, Fedor, Schoffstall, & Davin                              [Page 14]
                    787: 
                    788: RFC 1157                          SNMP                          May 1990
                    789: 
                    790: 
                    791:    "dot" notation) of that instance of the tcpConnLocalAddress object
                    792:    type associated with x and such that f.g.h.i is the value (in the
                    793:    familiar "dot" notation) of that instance of the tcpConnRemoteAddress
                    794:    object type associated with x and such that e is the value of that
                    795:    instance of the tcpConnLocalPort object type associated with x and
                    796:    such that j is the value of that instance of the tcpConnRemotePort
                    797:    object type associated with x.
                    798: 
                    799:    For each object type, t, for which the defined name, n, has a prefix
                    800:    of  tcpConnEntry, an instance, i, of t is named by an OBJECT
                    801:    IDENTIFIER of the form n.y, where y is the name of the TCP connection
                    802:    about which i represents information.
                    803: 
                    804:    For example, suppose one wanted to find the state of a TCP connection
                    805:    between the local address of 89.1.1.42 on TCP port 21 and the remote
                    806:    address of 10.0.0.51 on TCP port 2059.  Accordingly,
                    807:    tcpConnState.89.1.1.42.21.10.0.0.51.2059 would identify the desired
                    808:    instance.
                    809: 
                    810: 3.2.6.3.6.  egpNeighTable Object Type Names
                    811: 
                    812:    The name of an EGP neighbor, x, is the OBJECT IDENTIFIER of the form
                    813:    a.b.c.d such that a.b.c.d is the value (in the familiar "dot"
                    814:    notation) of that instance of the egpNeighAddr object type associated
                    815:    with x.
                    816: 
                    817:    For each object type, t, for which the defined name, n, has a prefix
                    818:    of egpNeighEntry, an instance, i, of t is named by an OBJECT
                    819:    IDENTIFIER of the form n.y, where y is the name of the EGP neighbor
                    820:    about which i represents information.
                    821: 
                    822:    For example, suppose one wanted to find the neighbor state for the IP
                    823:    address of 89.1.1.42.  Accordingly, egpNeighState.89.1.1.42 would
                    824:    identify the desired instance.
                    825: 
                    826: 
                    827: 
                    828: 
                    829: 
                    830: 
                    831: 
                    832: 
                    833: 
                    834: 
                    835: 
                    836: 
                    837: 
                    838: 
                    839: 
                    840: 
                    841: 
                    842: Case, Fedor, Schoffstall, & Davin                              [Page 15]
                    843: 
                    844: RFC 1157                          SNMP                          May 1990
                    845: 
                    846: 
                    847: 4.  Protocol Specification
                    848: 
                    849:    The network management protocol is an application protocol by which
                    850:    the variables of an agent's MIB may be inspected or altered.
                    851: 
                    852:    Communication among protocol entities is accomplished by the exchange
                    853:    of messages, each of which is entirely and independently represented
                    854:    within a single UDP datagram using the basic encoding rules of ASN.1
                    855:    (as discussed in Section 3.2.2).  A message consists of a version
                    856:    identifier, an SNMP community name, and a protocol data unit (PDU).
                    857:    A protocol entity receives messages at UDP port 161 on the host with
                    858:    which it is associated for all messages except for those which report
                    859:    traps (i.e., all messages except those which contain the Trap-PDU).
                    860:    Messages which report traps should be received on UDP port 162 for
                    861:    further processing.  An implementation of this protocol need not
                    862:    accept messages whose length exceeds 484 octets.  However, it is
                    863:    recommended that implementations support larger datagrams whenever
                    864:    feasible.
                    865: 
                    866:    It is mandatory that all implementations of the SNMP support the five
                    867:    PDUs:  GetRequest-PDU, GetNextRequest-PDU, GetResponse-PDU,
                    868:    SetRequest-PDU, and Trap-PDU.
                    869: 
                    870:     RFC1157-SNMP DEFINITIONS ::= BEGIN
                    871: 
                    872:      IMPORTS
                    873:           ObjectName, ObjectSyntax, NetworkAddress, IpAddress, TimeTicks
                    874:                   FROM RFC1155-SMI;
                    875: 
                    876: 
                    877:      -- top-level message
                    878: 
                    879:              Message ::=
                    880:                      SEQUENCE {
                    881:                           version        -- version-1 for this RFC
                    882:                              INTEGER {
                    883:                                  version-1(0)
                    884:                              },
                    885: 
                    886:                          community      -- community name
                    887:                              OCTET STRING,
                    888: 
                    889:                          data           -- e.g., PDUs if trivial
                    890:                              ANY        -- authentication is being used
                    891:                      }
                    892: 
                    893: 
                    894: 
                    895: 
                    896: 
                    897: 
                    898: Case, Fedor, Schoffstall, & Davin                              [Page 16]
                    899: 
                    900: RFC 1157                          SNMP                          May 1990
                    901: 
                    902: 
                    903:      -- protocol data units
                    904: 
                    905:              PDUs ::=
                    906:                      CHOICE {
                    907:                          get-request
                    908:                              GetRequest-PDU,
                    909: 
                    910:                          get-next-request
                    911:                              GetNextRequest-PDU,
                    912: 
                    913:                          get-response
                    914:                              GetResponse-PDU,
                    915: 
                    916:                          set-request
                    917:                              SetRequest-PDU,
                    918: 
                    919:                          trap
                    920:                              Trap-PDU
                    921:                           }
                    922: 
                    923:      -- the individual PDUs and commonly used
                    924:      -- data types will be defined later
                    925: 
                    926:      END
                    927: 
                    928: 
                    929: 4.1.  Elements of Procedure
                    930: 
                    931:    This section describes the actions of a protocol entity implementing
                    932:    the SNMP. Note, however, that it is not intended to constrain the
                    933:    internal architecture of any conformant implementation.
                    934: 
                    935:    In the text that follows, the term transport address is used.  In the
                    936:    case of the UDP, a transport address consists of an IP address along
                    937:    with a UDP port.  Other transport services may be used to support the
                    938:    SNMP.  In these cases, the definition of a transport address should
                    939:    be made accordingly.
                    940: 
                    941:    The top-level actions of a protocol entity which generates a message
                    942:    are as follows:
                    943: 
                    944:         (1)  It first constructs the appropriate PDU, e.g., the
                    945:              GetRequest-PDU, as an ASN.1 object.
                    946: 
                    947:         (2)  It then passes this ASN.1 object along with a community
                    948:              name its source transport address and the destination
                    949:              transport address, to the service which implements the
                    950:              desired authentication scheme.  This authentication
                    951: 
                    952: 
                    953: 
                    954: Case, Fedor, Schoffstall, & Davin                              [Page 17]
                    955: 
                    956: RFC 1157                          SNMP                          May 1990
                    957: 
                    958: 
                    959:              service returns another ASN.1 object.
                    960: 
                    961:         (3)  The protocol entity then constructs an ASN.1 Message
                    962:              object, using the community name and the resulting ASN.1
                    963:              object.
                    964: 
                    965:         (4)  This new ASN.1 object is then serialized, using the basic
                    966:              encoding rules of ASN.1, and then sent using a transport
                    967:              service to the peer protocol entity.
                    968: 
                    969:    Similarly, the top-level actions of a protocol entity which receives
                    970:    a message are as follows:
                    971: 
                    972:         (1)  It performs a rudimentary parse of the incoming datagram
                    973:              to build an ASN.1 object corresponding to an ASN.1
                    974:              Message object. If the parse fails, it discards the
                    975:              datagram and performs no further actions.
                    976: 
                    977:         (2)  It then verifies the version number of the SNMP message.
                    978:              If there is a mismatch, it discards the datagram and
                    979:              performs no further actions.
                    980: 
                    981:         (3)  The protocol entity then passes the community name and
                    982:              user data found in the ASN.1 Message object, along with
                    983:              the datagram's source and destination transport addresses
                    984:              to the service which implements the desired
                    985:              authentication scheme.  This entity returns another ASN.1
                    986:              object, or signals an authentication failure.  In the
                    987:              latter case, the protocol entity notes this failure,
                    988:              (possibly) generates a trap, and discards the datagram
                    989:              and performs no further actions.
                    990: 
                    991:         (4)  The protocol entity then performs a rudimentary parse on
                    992:              the ASN.1 object returned from the authentication service
                    993:              to build an ASN.1 object corresponding to an ASN.1 PDUs
                    994:              object.  If the parse fails, it discards the datagram and
                    995:              performs no further actions.  Otherwise, using the named
                    996:              SNMP community, the appropriate profile is selected, and
                    997:              the PDU is processed accordingly.  If, as a result of
                    998:              this processing, a message is returned then the source
                    999:              transport address that the response message is sent from
                   1000:              shall be identical to the destination transport address
                   1001:              that the original request message was sent to.
                   1002: 
                   1003: 
                   1004: 
                   1005: 
                   1006: 
                   1007: 
                   1008: 
                   1009: 
                   1010: Case, Fedor, Schoffstall, & Davin                              [Page 18]
                   1011: 
                   1012: RFC 1157                          SNMP                          May 1990
                   1013: 
                   1014: 
                   1015: 4.1.1.  Common Constructs
                   1016: 
                   1017:    Before introducing the six PDU types of the protocol, it is
                   1018:    appropriate to consider some of the ASN.1 constructs used frequently:
                   1019: 
                   1020:                   -- request/response information
                   1021: 
                   1022:                   RequestID ::=
                   1023:                           INTEGER
                   1024: 
                   1025:                   ErrorStatus ::=
                   1026:                           INTEGER {
                   1027:                               noError(0),
                   1028:                               tooBig(1),
                   1029:                               noSuchName(2),
                   1030:                               badValue(3),
                   1031:                               readOnly(4)
                   1032:                               genErr(5)
                   1033:                           }
                   1034: 
                   1035:                   ErrorIndex ::=
                   1036:                           INTEGER
                   1037: 
                   1038: 
                   1039:                   -- variable bindings
                   1040: 
                   1041:                   VarBind ::=
                   1042:                           SEQUENCE {
                   1043:                               name
                   1044:                                   ObjectName,
                   1045: 
                   1046:                               value
                   1047:                                   ObjectSyntax
                   1048:                           }
                   1049: 
                   1050:                   VarBindList ::=
                   1051:                           SEQUENCE OF
                   1052:                               VarBind
                   1053: 
                   1054: 
                   1055:    RequestIDs are used to distinguish among outstanding requests.  By
                   1056:    use of the RequestID, an SNMP application entity can correlate
                   1057:    incoming responses with outstanding requests.  In cases where an
                   1058:    unreliable datagram service is being used, the RequestID also
                   1059:    provides a simple means of identifying messages duplicated by the
                   1060:    network.
                   1061: 
                   1062:    A non-zero instance of ErrorStatus is used to indicate that an
                   1063: 
                   1064: 
                   1065: 
                   1066: Case, Fedor, Schoffstall, & Davin                              [Page 19]
                   1067: 
                   1068: RFC 1157                          SNMP                          May 1990
                   1069: 
                   1070: 
                   1071:    exception occurred while processing a request.  In these cases,
                   1072:    ErrorIndex may provide additional information by indicating which
                   1073:    variable in a list caused the exception.
                   1074: 
                   1075:    The term variable refers to an instance of a managed object.  A
                   1076:    variable binding, or VarBind, refers to the pairing of the name of a
                   1077:    variable to the variable's value.  A VarBindList is a simple list of
                   1078:    variable names and corresponding values.  Some PDUs are concerned
                   1079:    only with the name of a variable and not its value (e.g., the
                   1080:    GetRequest-PDU).  In this case, the value portion of the binding is
                   1081:    ignored by the protocol entity.  However, the value portion must
                   1082:    still have valid ASN.1 syntax and encoding.  It is recommended that
                   1083:    the ASN.1 value NULL be used for the value portion of such bindings.
                   1084: 
                   1085: 4.1.2.  The GetRequest-PDU
                   1086: 
                   1087:              The form of the GetRequest-PDU is:
                   1088:                   GetRequest-PDU ::=
                   1089:                       [0]
                   1090:                           IMPLICIT SEQUENCE {
                   1091:                               request-id
                   1092:                                   RequestID,
                   1093: 
                   1094:                               error-status        -- always 0
                   1095:                                   ErrorStatus,
                   1096: 
                   1097:                               error-index         -- always 0
                   1098:                                   ErrorIndex,
                   1099: 
                   1100:                               variable-bindings
                   1101:                                   VarBindList
                   1102:                           }
                   1103: 
                   1104: 
                   1105:    The GetRequest-PDU is generated by a protocol entity only at the
                   1106:    request of its SNMP application entity.
                   1107: 
                   1108:    Upon receipt of the GetRequest-PDU, the receiving protocol entity
                   1109:    responds according to any applicable rule in the list below:
                   1110: 
                   1111:         (1)  If, for any object named in the variable-bindings field,
                   1112:              the object's name does not exactly match the name of some
                   1113:              object available for get operations in the relevant MIB
                   1114:              view, then the receiving entity sends to the originator
                   1115:              of the received message the GetResponse-PDU of identical
                   1116:              form, except that the value of the error-status field is
                   1117:              noSuchName, and the value of the error-index field is the
                   1118:              index of said object name component in the received
                   1119: 
                   1120: 
                   1121: 
                   1122: Case, Fedor, Schoffstall, & Davin                              [Page 20]
                   1123: 
                   1124: RFC 1157                          SNMP                          May 1990
                   1125: 
                   1126: 
                   1127:              message.
                   1128: 
                   1129:         (2)  If, for any object named in the variable-bindings field,
                   1130:              the object is an aggregate type (as defined in the SMI),
                   1131:              then the receiving entity sends to the originator of the
                   1132:              received message the GetResponse-PDU of identical form,
                   1133:              except that the value of the error-status field is
                   1134:              noSuchName, and the value of the error-index field is the
                   1135:              index of said object name component in the received
                   1136:              message.
                   1137: 
                   1138:         (3)  If the size of the GetResponse-PDU generated as described
                   1139:              below would exceed a local limitation, then the receiving
                   1140:              entity sends to the originator of the received message
                   1141:              the GetResponse-PDU of identical form, except that the
                   1142:              value of the error-status field is tooBig, and the value
                   1143:              of the error-index field is zero.
                   1144: 
                   1145:         (4)  If, for any object named in the variable-bindings field,
                   1146:              the value of the object cannot be retrieved for reasons
                   1147:              not covered by any of the foregoing rules, then the
                   1148:              receiving entity sends to the originator of the received
                   1149:              message the GetResponse-PDU of identical form, except
                   1150:              that the value of the error-status field is genErr and
                   1151:              the value of the error-index field is the index of said
                   1152:              object name component in the received message.
                   1153: 
                   1154:    If none of the foregoing rules apply, then the receiving protocol
                   1155:    entity sends to the originator of the received message the
                   1156:    GetResponse-PDU such that, for each object named in the variable-
                   1157:    bindings field of the received message, the corresponding component
                   1158:    of the GetResponse-PDU represents the name and value of that
                   1159:    variable.  The value of the error- status field of the GetResponse-
                   1160:    PDU is noError and the value of the error-index field is zero.  The
                   1161:    value of the request-id field of the GetResponse-PDU is that of the
                   1162:    received message.
                   1163: 
                   1164: 4.1.3.  The GetNextRequest-PDU
                   1165: 
                   1166:    The form of the GetNextRequest-PDU is identical to that of the
                   1167:    GetRequest-PDU except for the indication of the PDU type.  In the
                   1168:    ASN.1 language:
                   1169: 
                   1170:                   GetNextRequest-PDU ::=
                   1171:                       [1]
                   1172:                           IMPLICIT SEQUENCE {
                   1173:                               request-id
                   1174:                                   RequestID,
                   1175: 
                   1176: 
                   1177: 
                   1178: Case, Fedor, Schoffstall, & Davin                              [Page 21]
                   1179: 
                   1180: RFC 1157                          SNMP                          May 1990
                   1181: 
                   1182: 
                   1183:                               error-status        -- always 0
                   1184:                                   ErrorStatus,
                   1185: 
                   1186:                               error-index         -- always 0
                   1187:                                   ErrorIndex,
                   1188: 
                   1189:                               variable-bindings
                   1190:                                   VarBindList
                   1191:                           }
                   1192: 
                   1193: 
                   1194:    The GetNextRequest-PDU is generated by a protocol entity only at the
                   1195:    request of its SNMP application entity.
                   1196: 
                   1197:    Upon receipt of the GetNextRequest-PDU, the receiving protocol entity
                   1198:    responds according to any applicable rule in the list below:
                   1199: 
                   1200:         (1)  If, for any object name in the variable-bindings field,
                   1201:              that name does not lexicographically precede the name of
                   1202:              some object available for get operations in the relevant
                   1203:              MIB view, then the receiving entity sends to the
                   1204:              originator of the received message the GetResponse-PDU of
                   1205:              identical form, except that the value of the error-status
                   1206:              field is noSuchName, and the value of the error-index
                   1207:              field is the index of said object name component in the
                   1208:              received message.
                   1209: 
                   1210:         (2)  If the size of the GetResponse-PDU generated as described
                   1211:              below would exceed a local limitation, then the receiving
                   1212:              entity sends to the originator of the received message
                   1213:              the GetResponse-PDU of identical form, except that the
                   1214:              value of the error-status field is tooBig, and the value
                   1215:              of the error-index field is zero.
                   1216: 
                   1217:         (3)  If, for any object named in the variable-bindings field,
                   1218:              the value of the lexicographical successor to the named
                   1219:              object cannot be retrieved for reasons not covered by any
                   1220:              of the foregoing rules, then the receiving entity sends
                   1221:              to the originator of the received message the
                   1222:              GetResponse-PDU of identical form, except that the value
                   1223:              of the error-status field is genErr and the value of the
                   1224:              error-index field is the index of said object name
                   1225:              component in the received message.
                   1226: 
                   1227:    If none of the foregoing rules apply, then the receiving protocol
                   1228:    entity sends to the originator of the received message the
                   1229:    GetResponse-PDU such that, for each name in the variable-bindings
                   1230:    field of the received message, the corresponding component of the
                   1231: 
                   1232: 
                   1233: 
                   1234: Case, Fedor, Schoffstall, & Davin                              [Page 22]
                   1235: 
                   1236: RFC 1157                          SNMP                          May 1990
                   1237: 
                   1238: 
                   1239:    GetResponse-PDU represents the name and value of that object whose
                   1240:    name is, in the lexicographical ordering of the names of all objects
                   1241:    available for get operations in the relevant MIB view, together with
                   1242:    the value of the name field of the given component, the immediate
                   1243:    successor to that value.  The value of the error-status field of the
                   1244:    GetResponse-PDU is noError and the value of the errorindex field is
                   1245:    zero.  The value of the request-id field of the GetResponse-PDU is
                   1246:    that of the received message.
                   1247: 
                   1248: 4.1.3.1.  Example of Table Traversal
                   1249: 
                   1250:    One important use of the GetNextRequest-PDU is the traversal of
                   1251:    conceptual tables of information within the MIB. The semantics of
                   1252:    this type of SNMP message, together with the protocol-specific
                   1253:    mechanisms for identifying individual instances of object types in
                   1254:    the MIB, affords  access to related objects in the MIB as if they
                   1255:    enjoyed a tabular organization.
                   1256: 
                   1257:    By the SNMP exchange sketched below, an SNMP application entity might
                   1258:    extract the destination address and next hop gateway for each entry
                   1259:    in the routing table of a particular network element. Suppose that
                   1260:    this routing table has three entries:
                   1261: 
                   1262:          Destination                     NextHop         Metric
                   1263: 
                   1264:          10.0.0.99                       89.1.1.42       5
                   1265:          9.1.2.3                         99.0.0.3        3
                   1266:          10.0.0.51                       89.1.1.42       5
                   1267: 
                   1268: 
                   1269:    The management station sends to the SNMP agent a GetNextRequest-PDU
                   1270:    containing the indicated OBJECT IDENTIFIER values as the requested
                   1271:    variable names:
                   1272: 
                   1273:    GetNextRequest ( ipRouteDest, ipRouteNextHop, ipRouteMetric1 )
                   1274: 
                   1275: 
                   1276:    The SNMP agent responds with a GetResponse-PDU:
                   1277: 
                   1278:                  GetResponse (( ipRouteDest.9.1.2.3 =  "9.1.2.3" ),
                   1279:                          ( ipRouteNextHop.9.1.2.3 = "99.0.0.3" ),
                   1280:                          ( ipRouteMetric1.9.1.2.3 = 3 ))
                   1281: 
                   1282: 
                   1283:    The management station continues with:
                   1284: 
                   1285:                  GetNextRequest ( ipRouteDest.9.1.2.3,
                   1286:                          ipRouteNextHop.9.1.2.3,
                   1287: 
                   1288: 
                   1289: 
                   1290: Case, Fedor, Schoffstall, & Davin                              [Page 23]
                   1291: 
                   1292: RFC 1157                          SNMP                          May 1990
                   1293: 
                   1294: 
                   1295:                          ipRouteMetric1.9.1.2.3 )
                   1296: 
                   1297: 
                   1298:    The SNMP agent responds:
                   1299: 
                   1300:                  GetResponse (( ipRouteDest.10.0.0.51 = "10.0.0.51" ),
                   1301:                          ( ipRouteNextHop.10.0.0.51 = "89.1.1.42" ),
                   1302:                          ( ipRouteMetric1.10.0.0.51 = 5 ))
                   1303: 
                   1304: 
                   1305:    The management station continues with:
                   1306: 
                   1307:                  GetNextRequest ( ipRouteDest.10.0.0.51,
                   1308:                          ipRouteNextHop.10.0.0.51,
                   1309:                          ipRouteMetric1.10.0.0.51 )
                   1310: 
                   1311: 
                   1312:    The SNMP agent responds:
                   1313: 
                   1314:                  GetResponse (( ipRouteDest.10.0.0.99 = "10.0.0.99" ),
                   1315:                          ( ipRouteNextHop.10.0.0.99 = "89.1.1.42" ),
                   1316:                          ( ipRouteMetric1.10.0.0.99 = 5 ))
                   1317: 
                   1318: 
                   1319:    The management station continues with:
                   1320: 
                   1321:                  GetNextRequest ( ipRouteDest.10.0.0.99,
                   1322:                          ipRouteNextHop.10.0.0.99,
                   1323:                          ipRouteMetric1.10.0.0.99 )
                   1324: 
                   1325: 
                   1326:    As there are no further entries in the table, the SNMP agent returns
                   1327:    those objects that are next in the lexicographical ordering of the
                   1328:    known object names.  This response signals the end of the routing
                   1329:    table to the management station.
                   1330: 
                   1331: 4.1.4.  The GetResponse-PDU
                   1332: 
                   1333:    The form of the GetResponse-PDU is identical to that of the
                   1334:    GetRequest-PDU except for the indication of the PDU type.  In the
                   1335:    ASN.1 language:
                   1336: 
                   1337:                   GetResponse-PDU ::=
                   1338:                       [2]
                   1339:                           IMPLICIT SEQUENCE {
                   1340:                               request-id
                   1341:                                   RequestID,
                   1342: 
                   1343: 
                   1344: 
                   1345: 
                   1346: Case, Fedor, Schoffstall, & Davin                              [Page 24]
                   1347: 
                   1348: RFC 1157                          SNMP                          May 1990
                   1349: 
                   1350: 
                   1351:                               error-status
                   1352:                                   ErrorStatus,
                   1353: 
                   1354:                               error-index
                   1355:                                   ErrorIndex,
                   1356: 
                   1357:                               variable-bindings
                   1358:                                   VarBindList
                   1359:                           }
                   1360: 
                   1361: 
                   1362:    The GetResponse-PDU is generated by a protocol entity only upon
                   1363:    receipt of the GetRequest-PDU, GetNextRequest-PDU, or SetRequest-PDU,
                   1364:    as described elsewhere in this document.
                   1365: 
                   1366:    Upon receipt of the GetResponse-PDU, the receiving protocol entity
                   1367:    presents its contents to its SNMP application entity.
                   1368: 
                   1369: 4.1.5.  The SetRequest-PDU
                   1370: 
                   1371:    The form of the SetRequest-PDU is identical to that of the
                   1372:    GetRequest-PDU except for the indication of the PDU type.  In the
                   1373:    ASN.1 language:
                   1374: 
                   1375:                   SetRequest-PDU ::=
                   1376:                       [3]
                   1377:                           IMPLICIT SEQUENCE {
                   1378:                               request-id
                   1379:                                   RequestID,
                   1380: 
                   1381:                               error-status        -- always 0
                   1382:                                   ErrorStatus,
                   1383: 
                   1384:                               error-index         -- always 0
                   1385:                                   ErrorIndex,
                   1386: 
                   1387:                               variable-bindings
                   1388:                                   VarBindList
                   1389:                           }
                   1390: 
                   1391: 
                   1392:    The SetRequest-PDU is generated by a protocol entity only at the
                   1393:    request of its SNMP application entity.
                   1394: 
                   1395:    Upon receipt of the SetRequest-PDU, the receiving entity responds
                   1396:    according to any applicable rule in the list below:
                   1397: 
                   1398:         (1)  If, for any object named in the variable-bindings field,
                   1399: 
                   1400: 
                   1401: 
                   1402: Case, Fedor, Schoffstall, & Davin                              [Page 25]
                   1403: 
                   1404: RFC 1157                          SNMP                          May 1990
                   1405: 
                   1406: 
                   1407:              the object is not available for set operations in the
                   1408:              relevant MIB view, then the receiving entity sends to the
                   1409:              originator of the received message the GetResponse-PDU of
                   1410:              identical form, except that the value of the error-status
                   1411:              field is noSuchName, and the value of the error-index
                   1412:              field is the index of said object name component in the
                   1413:              received message.
                   1414: 
                   1415:         (2)  If, for any object named in the variable-bindings field,
                   1416:              the contents of the value field does not, according to
                   1417:              the ASN.1 language, manifest a type, length, and value
                   1418:              that is consistent with that required for the variable,
                   1419:              then the receiving entity sends to the originator of the
                   1420:              received message the GetResponse-PDU of identical form,
                   1421:              except that the value of the error-status field is
                   1422:              badValue, and the value of the error-index field is the
                   1423:              index of said object name in the received message.
                   1424: 
                   1425:         (3)  If the size of the Get Response type message generated as
                   1426:              described below would exceed a local limitation, then the
                   1427:              receiving entity sends to the originator of the received
                   1428:              message the GetResponse-PDU of identical form, except
                   1429:              that the value of the error-status field is tooBig, and
                   1430:              the value of the error-index field is zero.
                   1431: 
                   1432:         (4)  If, for any object named in the variable-bindings field,
                   1433:              the value of the named object cannot be altered for
                   1434:              reasons not covered by any of the foregoing rules, then
                   1435:              the receiving entity sends to the originator of the
                   1436:              received message the GetResponse-PDU of identical form,
                   1437:              except that the value of the error-status field is genErr
                   1438:              and the value of the error-index field is the index of
                   1439:              said object name component in the received message.
                   1440: 
                   1441:    If none of the foregoing rules apply, then for each object named in
                   1442:    the variable-bindings field of the received message, the
                   1443:    corresponding value is assigned to the variable.  Each variable
                   1444:    assignment specified by the SetRequest-PDU should be effected as if
                   1445:    simultaneously set with respect to all other assignments specified in
                   1446:    the same message.
                   1447: 
                   1448:    The receiving entity then sends to the originator of the received
                   1449:    message the GetResponse-PDU of identical form except that the value
                   1450:    of the error-status field of the generated message is noError and the
                   1451:    value of the error-index field is zero.
                   1452: 
                   1453: 
                   1454: 
                   1455: 
                   1456: 
                   1457: 
                   1458: Case, Fedor, Schoffstall, & Davin                              [Page 26]
                   1459: 
                   1460: RFC 1157                          SNMP                          May 1990
                   1461: 
                   1462: 
                   1463: 4.1.6.  The Trap-PDU
                   1464: 
                   1465:    The form of the Trap-PDU is:
                   1466: 
                   1467:      Trap-PDU ::=
                   1468:          [4]
                   1469: 
                   1470:               IMPLICIT SEQUENCE {
                   1471:                  enterprise          -- type of object generating
                   1472:                                      -- trap, see sysObjectID in [5]
                   1473:                      OBJECT IDENTIFIER,
                   1474: 
                   1475:                  agent-addr          -- address of object generating
                   1476:                      NetworkAddress, -- trap
                   1477: 
                   1478:                  generic-trap        -- generic trap type
                   1479:                      INTEGER {
                   1480:                          coldStart(0),
                   1481:                          warmStart(1),
                   1482:                          linkDown(2),
                   1483:                          linkUp(3),
                   1484:                          authenticationFailure(4),
                   1485:                          egpNeighborLoss(5),
                   1486:                          enterpriseSpecific(6)
                   1487:                      },
                   1488: 
                   1489:                  specific-trap     -- specific code, present even
                   1490:                      INTEGER,      -- if generic-trap is not
                   1491:                                    -- enterpriseSpecific
                   1492: 
                   1493:                  time-stamp        -- time elapsed between the last
                   1494:                    TimeTicks,      -- (re)initialization of the network
                   1495:                                    -- entity and the generation of the
                   1496:                                       trap
                   1497: 
                   1498:                  variable-bindings   -- "interesting" information
                   1499:                       VarBindList
                   1500:              }
                   1501: 
                   1502: 
                   1503:    The Trap-PDU is generated by a protocol entity only at the request of
                   1504:    the SNMP application entity.  The means by which an SNMP application
                   1505:    entity selects the destination addresses of the SNMP application
                   1506:    entities is implementation-specific.
                   1507: 
                   1508:    Upon receipt of the Trap-PDU, the receiving protocol entity presents
                   1509:    its contents to its SNMP application entity.
                   1510: 
                   1511: 
                   1512: 
                   1513: 
                   1514: Case, Fedor, Schoffstall, & Davin                              [Page 27]
                   1515: 
                   1516: RFC 1157                          SNMP                          May 1990
                   1517: 
                   1518: 
                   1519:    The significance of the variable-bindings component of the Trap-PDU
                   1520:    is implementation-specific.
                   1521: 
                   1522:    Interpretations of the value of the generic-trap field are:
                   1523: 
                   1524: 4.1.6.1.  The coldStart Trap
                   1525: 
                   1526:    A coldStart(0) trap signifies that the sending protocol entity is
                   1527:    reinitializing itself such that the agent's configuration or the
                   1528:    protocol entity implementation may be altered.
                   1529: 
                   1530: 4.1.6.2.  The warmStart Trap
                   1531: 
                   1532:    A warmStart(1) trap signifies that the sending protocol entity is
                   1533:    reinitializing itself such that neither the agent configuration nor
                   1534:    the protocol entity implementation is altered.
                   1535: 
                   1536: 4.1.6.3.  The linkDown Trap
                   1537: 
                   1538:    A linkDown(2) trap signifies that the sending protocol entity
                   1539:    recognizes a failure in one of the communication links represented in
                   1540:    the agent's configuration.
                   1541: 
                   1542:    The Trap-PDU of type linkDown contains as the first element of its
                   1543:    variable-bindings, the name and value of the ifIndex instance for the
                   1544:    affected interface.
                   1545: 
                   1546: 4.1.6.4.  The linkUp Trap
                   1547: 
                   1548:    A linkUp(3) trap signifies that the sending protocol entity
                   1549:    recognizes that one of the communication links represented in the
                   1550:    agent's configuration has come up.
                   1551: 
                   1552:    The Trap-PDU of type linkUp contains as the first element of its
                   1553:    variable-bindings, the name and value of the ifIndex instance for the
                   1554:    affected interface.
                   1555: 
                   1556: 4.1.6.5.  The authenticationFailure Trap
                   1557: 
                   1558:    An authenticationFailure(4) trap signifies that the sending protocol
                   1559:    entity is the addressee of a protocol message that is not properly
                   1560:    authenticated.  While implementations of the SNMP must be capable of
                   1561:    generating this trap, they must also be capable of suppressing the
                   1562:    emission of such traps via an implementation-specific mechanism.
                   1563: 
                   1564: 4.1.6.6.  The egpNeighborLoss Trap
                   1565: 
                   1566:    An egpNeighborLoss(5) trap signifies that an EGP neighbor for whom
                   1567: 
                   1568: 
                   1569: 
                   1570: Case, Fedor, Schoffstall, & Davin                              [Page 28]
                   1571: 
                   1572: RFC 1157                          SNMP                          May 1990
                   1573: 
                   1574: 
                   1575:    the sending protocol entity was an EGP peer has been marked down and
                   1576:    the peer relationship no longer obtains.
                   1577: 
                   1578:    The Trap-PDU of type egpNeighborLoss contains as the first element of
                   1579:    its variable-bindings, the name and value of the egpNeighAddr
                   1580:    instance for the affected neighbor.
                   1581: 
                   1582: 4.1.6.7.  The enterpriseSpecific Trap
                   1583: 
                   1584:    A enterpriseSpecific(6) trap signifies that the sending protocol
                   1585:    entity recognizes that some enterprise-specific event has occurred.
                   1586:    The specific-trap field identifies the particular trap which
                   1587:    occurred.
                   1588: 
                   1589: 
                   1590: 
                   1591: 
                   1592: 
                   1593: 
                   1594: 
                   1595: 
                   1596: 
                   1597: 
                   1598: 
                   1599: 
                   1600: 
                   1601: 
                   1602: 
                   1603: 
                   1604: 
                   1605: 
                   1606: 
                   1607: 
                   1608: 
                   1609: 
                   1610: 
                   1611: 
                   1612: 
                   1613: 
                   1614: 
                   1615: 
                   1616: 
                   1617: 
                   1618: 
                   1619: 
                   1620: 
                   1621: 
                   1622: 
                   1623: 
                   1624: 
                   1625: 
                   1626: Case, Fedor, Schoffstall, & Davin                              [Page 29]
                   1627: 
                   1628: RFC 1157                          SNMP                          May 1990
                   1629: 
                   1630: 
                   1631: 5.  Definitions
                   1632: 
                   1633:      RFC1157-SNMP DEFINITIONS ::= BEGIN
                   1634: 
                   1635:       IMPORTS
                   1636:           ObjectName, ObjectSyntax, NetworkAddress, IpAddress, TimeTicks
                   1637:               FROM RFC1155-SMI;
                   1638: 
                   1639: 
                   1640:           -- top-level message
                   1641: 
                   1642:           Message ::=
                   1643:                   SEQUENCE {
                   1644:                       version          -- version-1 for this RFC
                   1645:                           INTEGER {
                   1646:                               version-1(0)
                   1647:                           },
                   1648: 
                   1649:                       community        -- community name
                   1650:                           OCTET STRING,
                   1651: 
                   1652:                       data             -- e.g., PDUs if trivial
                   1653:                           ANY          -- authentication is being used
                   1654:                   }
                   1655: 
                   1656: 
                   1657:           -- protocol data units
                   1658: 
                   1659:           PDUs ::=
                   1660:                   CHOICE {
                   1661:                               get-request
                   1662:                                   GetRequest-PDU,
                   1663: 
                   1664:                               get-next-request
                   1665:                                   GetNextRequest-PDU,
                   1666: 
                   1667:                               get-response
                   1668:                                   GetResponse-PDU,
                   1669: 
                   1670:                               set-request
                   1671:                                   SetRequest-PDU,
                   1672: 
                   1673:                               trap
                   1674:                                   Trap-PDU
                   1675:                           }
                   1676: 
                   1677: 
                   1678: 
                   1679: 
                   1680: 
                   1681: 
                   1682: Case, Fedor, Schoffstall, & Davin                              [Page 30]
                   1683: 
                   1684: RFC 1157                          SNMP                          May 1990
                   1685: 
                   1686: 
                   1687:           -- PDUs
                   1688: 
                   1689:           GetRequest-PDU ::=
                   1690:               [0]
                   1691:                   IMPLICIT PDU
                   1692: 
                   1693:           GetNextRequest-PDU ::=
                   1694:               [1]
                   1695:                   IMPLICIT PDU
                   1696: 
                   1697:           GetResponse-PDU ::=
                   1698:               [2]
                   1699:                   IMPLICIT PDU
                   1700: 
                   1701:           SetRequest-PDU ::=
                   1702:               [3]
                   1703:                   IMPLICIT PDU
                   1704: 
                   1705:           PDU ::=
                   1706:                   SEQUENCE {
                   1707:                      request-id
                   1708:                           INTEGER,
                   1709: 
                   1710:                       error-status      -- sometimes ignored
                   1711:                           INTEGER {
                   1712:                               noError(0),
                   1713:                               tooBig(1),
                   1714:                               noSuchName(2),
                   1715:                               badValue(3),
                   1716:                               readOnly(4),
                   1717:                               genErr(5)
                   1718:                           },
                   1719: 
                   1720:                       error-index       -- sometimes ignored
                   1721:                          INTEGER,
                   1722: 
                   1723:                       variable-bindings -- values are sometimes ignored
                   1724:                           VarBindList
                   1725:                   }
                   1726: 
                   1727:           Trap-PDU ::=
                   1728:               [4]
                   1729:                  IMPLICIT SEQUENCE {
                   1730:                       enterprise        -- type of object generating
                   1731:                                         -- trap, see sysObjectID in [5]
                   1732: 
                   1733: 
                   1734:                           OBJECT IDENTIFIER,
                   1735: 
                   1736: 
                   1737: 
                   1738: Case, Fedor, Schoffstall, & Davin                              [Page 31]
                   1739: 
                   1740: RFC 1157                          SNMP                          May 1990
                   1741: 
                   1742: 
                   1743:                       agent-addr        -- address of object generating
                   1744:                           NetworkAddress, -- trap
                   1745: 
                   1746:                       generic-trap      -- generic trap type
                   1747:                           INTEGER {
                   1748:                               coldStart(0),
                   1749:                               warmStart(1),
                   1750:                               linkDown(2),
                   1751:                               linkUp(3),
                   1752:                               authenticationFailure(4),
                   1753:                               egpNeighborLoss(5),
                   1754:                               enterpriseSpecific(6)
                   1755:                           },
                   1756: 
                   1757:                       specific-trap  -- specific code, present even
                   1758:                           INTEGER,   -- if generic-trap is not
                   1759:                                      -- enterpriseSpecific
                   1760: 
                   1761:                       time-stamp     -- time elapsed between the last
                   1762:                           TimeTicks, -- (re)initialization of the
                   1763:                                         network
                   1764:                                      -- entity and the generation of the
                   1765:                                         trap
                   1766: 
                   1767:                        variable-bindings -- "interesting" information
                   1768:                           VarBindList
                   1769:                   }
                   1770: 
                   1771: 
                   1772:           -- variable bindings
                   1773: 
                   1774:           VarBind ::=
                   1775:                   SEQUENCE {
                   1776:                       name
                   1777:                           ObjectName,
                   1778: 
                   1779:                       value
                   1780:                           ObjectSyntax
                   1781:                   }
                   1782: 
                   1783:          VarBindList ::=
                   1784:                   SEQUENCE OF
                   1785:                      VarBind
                   1786: 
                   1787:          END
                   1788: 
                   1789: 
                   1790: 
                   1791: 
                   1792: 
                   1793: 
                   1794: Case, Fedor, Schoffstall, & Davin                              [Page 32]
                   1795: 
                   1796: RFC 1157                          SNMP                          May 1990
                   1797: 
                   1798: 
                   1799: 6.  Acknowledgements
                   1800: 
                   1801:    This memo was influenced by the IETF SNMP Extensions working
                   1802:    group:
                   1803: 
                   1804:              Karl Auerbach, Epilogue Technology
                   1805:              K. Ramesh Babu, Excelan
                   1806:              Amatzia Ben-Artzi, 3Com/Bridge
                   1807:              Lawrence Besaw, Hewlett-Packard
                   1808:              Jeffrey D. Case, University of Tennessee at Knoxville
                   1809:              Anthony Chung, Sytek
                   1810:              James Davidson, The Wollongong Group
                   1811:              James R. Davin, MIT Laboratory for Computer Science
                   1812:              Mark S. Fedor, NYSERNet
                   1813:              Phill Gross, The MITRE Corporation
                   1814:              Satish Joshi, ACC
                   1815:              Dan Lynch, Advanced Computing Environments
                   1816:              Keith McCloghrie, The Wollongong Group
                   1817:              Marshall T. Rose, The Wollongong Group (chair)
                   1818:              Greg Satz, cisco
                   1819:              Martin Lee Schoffstall, Rensselaer Polytechnic Institute
                   1820:              Wengyik Yeong, NYSERNet
                   1821: 
                   1822: 
                   1823: 
                   1824: 
                   1825: 
                   1826: 
                   1827: 
                   1828: 
                   1829: 
                   1830: 
                   1831: 
                   1832: 
                   1833: 
                   1834: 
                   1835: 
                   1836: 
                   1837: 
                   1838: 
                   1839: 
                   1840: 
                   1841: 
                   1842: 
                   1843: 
                   1844: 
                   1845: 
                   1846: 
                   1847: 
                   1848: 
                   1849: 
                   1850: Case, Fedor, Schoffstall, & Davin                              [Page 33]
                   1851: 
                   1852: RFC 1157                          SNMP                          May 1990
                   1853: 
                   1854: 
                   1855: 7.  References
                   1856: 
                   1857:    [1] Cerf, V., "IAB Recommendations for the Development of
                   1858:        Internet Network Management Standards", RFC 1052, IAB,
                   1859:        April 1988.
                   1860: 
                   1861:    [2] Rose, M., and K. McCloghrie, "Structure and Identification
                   1862:        of Management Information for TCP/IP-based internets",
                   1863:        RFC 1065, TWG, August 1988.
                   1864: 
                   1865:    [3] McCloghrie, K., and M. Rose, "Management Information Base
                   1866:        for Network Management of TCP/IP-based internets",
                   1867:        RFC 1066, TWG, August 1988.
                   1868: 
                   1869:    [4] Cerf, V., "Report of the Second Ad Hoc Network Management
                   1870:        Review Group", RFC 1109, IAB, August 1989.
                   1871: 
                   1872:    [5] Rose, M., and K. McCloghrie, "Structure and Identification
                   1873:        of Management Information for TCP/IP-based Internets",
                   1874:        RFC 1155, Performance Systems International and Hughes LAN
                   1875:        Systems, May 1990.
                   1876: 
                   1877:    [6] McCloghrie, K., and M. Rose, "Management Information Base
                   1878:        for Network Management of TCP/IP-based Internets",
                   1879:        RFC 1156, Hughes LAN Systems and Performance Systems
                   1880:        International, May 1990.
                   1881: 
                   1882:    [7] Case, J., M. Fedor, M. Schoffstall, and J. Davin,
                   1883:        "A Simple Network Management Protocol", Internet
                   1884:        Engineering Task Force working note, Network Information
                   1885:        Center, SRI International, Menlo Park, California,
                   1886:        March 1988.
                   1887: 
                   1888:    [8] Davin, J., J. Case, M. Fedor, and M. Schoffstall,
                   1889:        "A Simple Gateway Monitoring Protocol", RFC 1028,
                   1890:        Proteon, University of Tennessee at Knoxville,
                   1891:        Cornell University, and Rensselaer Polytechnic
                   1892:        Institute, November 1987.
                   1893: 
                   1894:    [9] Information processing systems - Open Systems
                   1895:        Interconnection, "Specification of Abstract Syntax
                   1896:        Notation One (ASN.1)", International Organization for
                   1897:        Standardization, International Standard 8824,
                   1898:        December 1987.
                   1899: 
                   1900:   [10] Information processing systems - Open Systems
                   1901:        Interconnection, "Specification of Basic Encoding Rules
                   1902:        for Abstract Notation One (ASN.1)", International
                   1903: 
                   1904: 
                   1905: 
                   1906: Case, Fedor, Schoffstall, & Davin                              [Page 34]
                   1907: 
                   1908: RFC 1157                          SNMP                          May 1990
                   1909: 
                   1910: 
                   1911:        Organization for Standardization, International Standard
                   1912:        8825, December 1987.
                   1913: 
                   1914:   [11] Postel, J., "User Datagram Protocol", RFC 768,
                   1915:        USC/Information Sciences Institute, November 1980.
                   1916: 
                   1917: Security Considerations
                   1918: 
                   1919:    Security issues are not discussed in this memo.
                   1920: 
                   1921: Authors' Addresses
                   1922: 
                   1923:    Jeffrey D. Case
                   1924:    SNMP Research
                   1925:    P.O. Box 8593
                   1926:    Knoxville, TN 37996-4800
                   1927: 
                   1928:    Phone:  (615) 573-1434
                   1929: 
                   1930:    Email:  [email protected]
                   1931: 
                   1932: 
                   1933:    Mark Fedor
                   1934:    Performance Systems International
                   1935:    Rensselaer Technology Park
                   1936:    125 Jordan Road
                   1937:    Troy, NY 12180
                   1938: 
                   1939:    Phone:  (518) 283-8860
                   1940: 
                   1941:    Email:  [email protected]
                   1942: 
                   1943: 
                   1944:    Martin Lee Schoffstall
                   1945:    Performance Systems International
                   1946:    Rensselaer Technology Park
                   1947:    165 Jordan Road
                   1948:    Troy, NY 12180
                   1949: 
                   1950:    Phone:  (518) 283-8860
                   1951: 
                   1952:    Email:  [email protected]
                   1953: 
                   1954: 
                   1955: 
                   1956: 
                   1957: 
                   1958: 
                   1959: 
                   1960: 
                   1961: 
                   1962: Case, Fedor, Schoffstall, & Davin                              [Page 35]
                   1963: 
                   1964: RFC 1157                          SNMP                          May 1990
                   1965: 
                   1966: 
                   1967:    James R. Davin
                   1968:    MIT Laboratory for Computer Science, NE43-507
                   1969:    545 Technology Square
                   1970:    Cambridge, MA 02139
                   1971: 
                   1972:    Phone:  (617) 253-6020
                   1973: 
                   1974:    EMail:  [email protected]
                   1975: 
                   1976: 
                   1977: 
                   1978: 
                   1979: 
                   1980: 
                   1981: 
                   1982: 
                   1983: 
                   1984: 
                   1985: 
                   1986: 
                   1987: 
                   1988: 
                   1989: 
                   1990: 
                   1991: 
                   1992: 
                   1993: 
                   1994: 
                   1995: 
                   1996: 
                   1997: 
                   1998: 
                   1999: 
                   2000: 
                   2001: 
                   2002: 
                   2003: 
                   2004: 
                   2005: 
                   2006: 
                   2007: 
                   2008: 
                   2009: 
                   2010: 
                   2011: 
                   2012: 
                   2013: 
                   2014: 
                   2015: 
                   2016: 
                   2017: 
                   2018: Case, Fedor, Schoffstall, & Davin                              [Page 36]
                   2019: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.