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

1.1       root        1: 
                      2: 
                      3: 
                      4: 
                      5:           draft                        SMUX                     May 1990
                      6: 
                      7: 
                      8:                             SNMP MUX Protocol and MIB
                      9: 
                     10:                              Sun May 13 14:53:58 1990
                     11: 
                     12: 
                     13:                                  Marshall T. Rose
                     14: 
                     15:                      Performance Systems International, Inc.
                     16:                             11800 Sunrise Valley Drive
                     17:                                     Suite 1100
                     18:                                 Reston, VA  22091
                     19: 
                     20:                                   [email protected]
                     21: 
                     22: 
                     23: 
                     24: 
                     25: 
                     26: 
                     27:           1.  Status of this Memo
                     28: 
                     29:           This document defines a mechanism by which multiple UNIX
                     30:           daemons may communicate with the local SNMP agent on a host.
                     31:           This is a local mechanism.
                     32: 
                     33: 
                     34: 
                     35: 
                     36: 
                     37: 
                     38: 
                     39: 
                     40: 
                     41: 
                     42: 
                     43: 
                     44: 
                     45: 
                     46: 
                     47: 
                     48: 
                     49: 
                     50: 
                     51: 
                     52: 
                     53: 
                     54: 
                     55: 
                     56: 
                     57: 
                     58:           M.T. Rose                                             [Page 1]
                     59: 
                     60: 
                     61: 
                     62: 
                     63: 
                     64:           draft                        SMUX                     May 1990
                     65: 
                     66: 
                     67:           2.  Introduction
                     68: 
                     69:           On kernel/user systems such as BSD UNIX, an agent speaking the
                     70:           SNMP [1] is often implemented as a user-process, which reads
                     71:           kernel variables in order to realize the Internet-standard MIB
                     72:           [2].  This approach works fine as long as all of the
                     73:           information needed by the SNMP agent resides in either the
                     74:           kernel or in stable storage (i.e., files).  However, when
                     75:           other user-processes are employed to implement other network
                     76:           services, such as routing protocols, communication between the
                     77:           SNMP agent the and other processes is problematic.
                     78: 
                     79:           In order to solve this problem, a new protocol, the SNMP
                     80:           multiplexing (SMUX) protocol is introduced.  When a user-
                     81:           process, termed a SMUX peer, wishes to export a MIB module, it
                     82:           initiates a SMUX association to the local SNMP agent,
                     83:           registers itself, and (later) fields management operations for
                     84:           objects in the MIB module.
                     85: 
                     86:           Carrying this approach to its fullest, it is possible to
                     87:           generalize the SNMP agent so that it knows about only the SNMP
                     88:           group of the Internet-standard MIB.  All other portions of the
                     89:           Internet-standard MIB can be implemented by another process.
                     90:           This is quite useful, for example, when a computer
                     91:           manufacturer wishes to provide SNMP access for its operating
                     92:           system in binary form.
                     93: 
                     94:           In addition to defining the SMUX protocol, this document
                     95:           defines a MIB for the SMUX.  Obviously, this MIB module must
                     96:           also be implemented in the local SNMP agent.
                     97: 
                     98: 
                     99: 
                    100: 
                    101: 
                    102: 
                    103: 
                    104: 
                    105: 
                    106: 
                    107: 
                    108: 
                    109: 
                    110: 
                    111: 
                    112: 
                    113: 
                    114: 
                    115: 
                    116: 
                    117:           M.T. Rose                                             [Page 2]
                    118: 
                    119: 
                    120: 
                    121: 
                    122: 
                    123:           draft                        SMUX                     May 1990
                    124: 
                    125: 
                    126:           3.  Architecture
                    127: 
                    128:           There are two approaches that can be taken when trying to
                    129:           integrate arbitrary MIB modules with the SNMP agent: request-
                    130:           response and cache-ahead.
                    131: 
                    132:           The request-response model simply propagates the SNMP requests
                    133:           received by the SNMP agent to the user process which exported
                    134:           the MIB module.  The SMUX peer then performs the operation and
                    135:           returns a response.  In turn, the SNMP agent propagates this
                    136:           response back to the network management station.  The
                    137:           request-response model is said to be agent-driven since, after
                    138:           registration, the SNMP agent initiates all transactions.
                    139: 
                    140:           The cache-ahead model requires that the SMUX peer, after
                    141:           registration, periodically updates the SNMP agent with the
                    142:           subtree for the MIB module which has been registered.  The
                    143:           SNMP agent, upon receiving an SNMP request, locally performs
                    144:           the operation, and returns a response to the network
                    145:           management station.  The cache-ahead model is said to be
                    146:           peer-driven since, after registration, the SMUX peer initiates
                    147:           all transactions.
                    148: 
                    149:           There are advantages and disadvantages to both approaches.  As
                    150:           such, the architecture envisioned supports both models in the
                    151:           following fashion: the protocol between the SNMP agent and the
                    152:           SMUX peer is based on the request-response model.  However,
                    153:           the SMUX peer, may itself be a user-process which employs the
                    154:           cache-ahead model with other user-processes.
                    155: 
                    156:           Obviously, the SMUX peer which employs the cache-ahead model
                    157:           acts as a "firewall" for those user-processes which actually
                    158:           implement the managed objects in the given MIB module.
                    159: 
                    160:           Note that this document describes only the SMUX protocol, for
                    161:           the request-response model.  Each SMUX peer is free to define
                    162:           a cache-ahead protocol specific for the application at hand.
                    163: 
                    164: 
                    165: 
                    166: 
                    167: 
                    168: 
                    169: 
                    170: 
                    171: 
                    172: 
                    173: 
                    174: 
                    175: 
                    176:           M.T. Rose                                             [Page 3]
                    177: 
                    178: 
                    179: 
                    180: 
                    181: 
                    182:           draft                        SMUX                     May 1990
                    183: 
                    184: 
                    185:           4.  Protocol
                    186: 
                    187:           The SMUX protocol is simple: the SNMP agent listens for
                    188:           incoming connections.  Upon establishing a connection, the
                    189:           SMUX peer issues an OpenPDU to initialize the SMUX
                    190:           association.  If the SNMP agent declines the association, it
                    191:           issues a closePDU and closes the connection.  If the SNMP
                    192:           agent accepts the association, no response is issued by the
                    193:           SNMP agent.
                    194: 
                    195:           For each subtree defined in a MIB module that the SMUX peer
                    196:           wishes to register (or unregister), the SMUX peer issues a
                    197:           RReqPDU.  When the SNMP agent receives such a PDU, it issues a
                    198:           corresponding RRspPDU.  The SNMP agent returns RRspPDUs in the
                    199:           same order as the RReqPDUs were received.
                    200: 
                    201:           When the SMUX peer wishes to issue a trap, it issues an SNMP
                    202:           Trap-PDU.  When the SNMP agent receives such a PDU, it
                    203:           propagates this to the network management stations that it is
                    204:           configured to send traps to.
                    205: 
                    206:           When the SNMP agent receives an SNMP GetRequest-PDU,
                    207:           GetNextRequest-PDU, or SetRequest-PDU which includes one or
                    208:           more variable-bindings within a subtree registered by a SMUX
                    209:           peer, the SNMP agent sends an equivalent SNMP PDU containing
                    210:           only those variables within the subtree registered by that
                    211:           SMUX peer.  When the SMUX peer receives such a PDU, it applies
                    212:           the indicated operation and issues a corresponding SNMP
                    213:           GetResponse-PDU.  The SNMP agent then correlates this result
                    214:           and propagates the resulting GetResponse-PDU to the network
                    215:           management station.
                    216: 
                    217:           When either the SNMP agent or the SMUX peer wishes to release
                    218:           the SMUX association, the ClosePDU is issued and the
                    219:           connection is closed.
                    220: 
                    221: 
                    222:           4.1.  Tricky Things
                    223: 
                    224:           Although straight-forward, there are a few nuances.
                    225: 
                    226: 
                    227: 
                    228: 
                    229: 
                    230: 
                    231: 
                    232: 
                    233: 
                    234: 
                    235:           M.T. Rose                                             [Page 4]
                    236: 
                    237: 
                    238: 
                    239: 
                    240: 
                    241:           draft                        SMUX                     May 1990
                    242: 
                    243: 
                    244:           4.1.1.  Registration
                    245: 
                    246:           Associated with each registration is an integer priority, from
                    247:           0 to (2^31)-1.  The lower the value, the higher the priority.
                    248: 
                    249:           Multiple SMUX peers may register the same subtree.  However,
                    250:           they must do so at different priorities (i.e., a subtree and a
                    251:           priority uniquely identifies a SMUX peer).  As such, if a SMUX
                    252:           peer wishes to register a subtree at a priority which is
                    253:           already taken, the SNMP agent repeatedly increments the
                    254:           integer value until an unused priority is found.
                    255: 
                    256:           When registering a subtree, the special priority -1 may be
                    257:           used, which selects the highest available priority.
                    258: 
                    259:           Of course, the SNMP agent may select an arbitrarily worse
                    260:           priority for a SMUX peer, based on local (configuration)
                    261:           information.
                    262: 
                    263:           Note that when a subtree is registered, the SMUX peer with the
                    264:           highest registration priority is exclusively consulted for all
                    265:           operations on that subtree.  Further note that SNMP agents
                    266:           must enforce the "subtree mounting effect", which hides the
                    267:           registrations by other SMUX peers of objects within the
                    268:           subtree.  For example, if a SMUX peer registered "sysDescr",
                    269:           and later another SMUX peer registered "system" (which scopes
                    270:           "sysDescr"), then all requests for "sysDescr" would be given
                    271:           to the latter SMUX peer.
                    272: 
                    273:           An SNMP agent should disallow any attempt to register at or
                    274:           within the SNMP and SMUX subtrees of the MIB.  Other subtrees
                    275:           may be disallowed as an implementation-specific option.
                    276: 
                    277: 
                    278:           4.1.2.  Removing Registration
                    279: 
                    280:           A SMUX peer may remove registrations for only those subtrees
                    281:           which it has registered.  If the priority given in the RReq-
                    282:           PDU is -1, then the registration of highest priority is
                    283:           selected for deletion.  Otherwise, only that registration with
                    284:           the precise registration is selected.
                    285: 
                    286: 
                    287: 
                    288: 
                    289: 
                    290: 
                    291: 
                    292: 
                    293: 
                    294:           M.T. Rose                                             [Page 5]
                    295: 
                    296: 
                    297: 
                    298: 
                    299: 
                    300:           draft                        SMUX                     May 1990
                    301: 
                    302: 
                    303:           4.1.3.  Variables in Requests
                    304: 
                    305:           When constructing an SNMP GetRequest-PDU, GetNextRequest-PDU,
                    306:           or SetRequest-PDU, for a SMUX peer, the SNMP agent may send
                    307:           one, or more than one variable in a single request.  In all
                    308:           cases, the SNMP agent should process each variable
                    309:           sequentially, and block accordingly when a SMUX peer is
                    310:           contacted.
                    311: 
                    312: 
                    313:           4.1.4.  Request-ID
                    314: 
                    315:           When the SNMP agent constructs an SNMP GetRequest-PDU,
                    316:           GetNextRequest-PDU, or SetRequest-PDU, for a SMUX peer, the
                    317:           request_id field of the SNMP takes a special meaning.
                    318:           Basically, this field should take a different value for each
                    319:           SNMP PDU received by the SNMP agent.  As such, if an SNMP
                    320:           agent generates multiple PDUs for a SMUX peer, upon receipt of
                    321:           a single PDU from the network management station, then the
                    322:           request_id field of the PDUs sent to the SMUX peer takes the
                    323:           same value (which need bear no relationship to the value of
                    324:           the request_id field of the PDU originally received by the
                    325:           SNMP agent.)
                    326: 
                    327: 
                    328:           4.1.5.  The powerful get-next operator
                    329: 
                    330:           Each SMUX peer acts as though it contains the entire MIB when
                    331:           processing the powerful get-next operator.  This means that
                    332:           the SNMP agent must check each variable named returned in the
                    333:           SNMP GetResponse-PDU generated by a SMUX peer and see if it is
                    334:           in the subtree of the managed object corresponding to original
                    335:           SNMP GetNextRequest-PDU.  If not, the SNMP agent will apply
                    336:           the get-next operator to the next managed object.  This may
                    337:           result in contacting a different SMUX peer, depending on the
                    338:           registration topology.
                    339: 
                    340: 
                    341:           4.2.  Protocol Data Units
                    342: 
                    343:           The SMUX protocol data units are defined using Abstract Syntax
                    344:           Notation One (ASN.1) [3]:
                    345: 
                    346:                SMUX DEFINITIONS ::= BEGIN
                    347: 
                    348: 
                    349: 
                    350: 
                    351: 
                    352: 
                    353:           M.T. Rose                                             [Page 6]
                    354: 
                    355: 
                    356: 
                    357: 
                    358: 
                    359:           draft                        SMUX                     May 1990
                    360: 
                    361: 
                    362:                IMPORTS
                    363:                        DisplayString, ObjectName
                    364:                                FROM RFC1155-SMI
                    365: 
                    366:                        PDUs
                    367:                                FROM RFC1157-SNMP;
                    368: 
                    369: 
                    370:                -- tags for SMUX-specific PDUs are application-wide to
                    371:                -- avoid conflict with tags for current (and future)
                    372:                -- SNMP-generic PDUs
                    373: 
                    374:                SMUX-PDUs ::=
                    375:                    CHOICE {
                    376:                        open            -- SMUX peer uses
                    377:                            OpenPDU,    -- immediately after TCP open
                    378: 
                    379:                        close           -- either uses immediately before TCP close
                    380:                            ClosePDU,
                    381: 
                    382:                        registerRequest -- SMUX peer uses
                    383:                            RReqPDU,
                    384: 
                    385:                        registerResponse -- SNMP agent uses
                    386:                            RRspPDU,
                    387: 
                    388:                        PDUs            -- note that roles are reversed:
                    389:                                        --   SNMP agent does get/get-next/set
                    390:                                        --   SMUX peer does get-response/trap
                    391:                    }
                    392: 
                    393: 
                    394:                -- open PDU
                    395:                -- currently only simple authentication
                    396: 
                    397:                OpenPDU ::=
                    398:                    CHOICE {
                    399:                        simple
                    400:                            SimpleOpen
                    401:                    }
                    402: 
                    403:                SimpleOpen ::=
                    404:                    [APPLICATION 0] IMPLICIT
                    405:                        SEQUENCE {
                    406:                            version     -- of SMUX protocol
                    407: 
                    408: 
                    409: 
                    410: 
                    411: 
                    412:           M.T. Rose                                             [Page 7]
                    413: 
                    414: 
                    415: 
                    416: 
                    417: 
                    418:           draft                        SMUX                     May 1990
                    419: 
                    420: 
                    421:                                INTEGER {
                    422:                                    version-1(0)
                    423:                                },
                    424: 
                    425:                            identity    -- of SMUX peer, authoritative
                    426:                                OBJECT IDENTIFIER,
                    427: 
                    428:                            description -- of SMUX peer, implementation-specific
                    429:                                DisplayString,
                    430: 
                    431:                            password    -- zero length indicates no authentication
                    432:                                OCTET STRING
                    433:                        }
                    434: 
                    435: 
                    436:                -- close PDU
                    437: 
                    438:                ClosePDU ::=
                    439:                    [APPLICATION 1] IMPLICIT
                    440:                        INTEGER {
                    441:                            goingDown(0),
                    442:                            unsupportedVersion(1),
                    443:                            packetFormat(2),
                    444:                            protocolError(3),
                    445:                            internalError(4),
                    446:                            authenticationFailure(5)
                    447:                        }
                    448: 
                    449: 
                    450:                -- insert PDU
                    451: 
                    452:                RReqPDU ::=
                    453:                    [APPLICATION 2] IMPLICIT
                    454:                        SEQUENCE {
                    455:                            subtree
                    456:                                ObjectName,
                    457: 
                    458:                            priority    -- the lower the better, "-1" means default
                    459:                                INTEGER (-1..2147483647),
                    460: 
                    461:                            operation
                    462:                                INTEGER {
                    463:                                    delete(0),
                    464:                                    readOnly(1),
                    465:                                    readWrite(2)
                    466: 
                    467: 
                    468: 
                    469: 
                    470: 
                    471:           M.T. Rose                                             [Page 8]
                    472: 
                    473: 
                    474: 
                    475: 
                    476: 
                    477:           draft                        SMUX                     May 1990
                    478: 
                    479: 
                    480:                                }
                    481:                        }
                    482: 
                    483:                RRspPDU ::=
                    484:                    [APPLICATION 3] IMPLICIT
                    485:                        INTEGER {
                    486:                            failure(-1)
                    487: 
                    488:                            -- on success the non-negative priority is returned
                    489:                        }
                    490: 
                    491:                END
                    492: 
                    493: 
                    494: 
                    495:           4.3.  Mappings on Transport Service
                    496: 
                    497:           The SMUX protocol may be mapped onto any CO-mode transport
                    498:           service.  At present, only one such mapping is defined.
                    499: 
                    500: 
                    501:           4.3.1.  Mapping onto the TCP
                    502: 
                    503:           When using the TCP to provide the transport-backing for the
                    504:           SMUX protocol, the SNMP agent listens on TCP port 199.
                    505: 
                    506:           Each SMUX PDU is serialized using the Basic Encoding Rules [4]
                    507:           and sent on the TCP.  As ASN.1 objects are self-delimiting
                    508:           when encoding using the BER, so no packetization protocol is
                    509:           required.
                    510: 
                    511: 
                    512: 
                    513: 
                    514: 
                    515: 
                    516: 
                    517: 
                    518: 
                    519: 
                    520: 
                    521: 
                    522: 
                    523: 
                    524: 
                    525: 
                    526: 
                    527: 
                    528: 
                    529: 
                    530:           M.T. Rose                                             [Page 9]
                    531: 
                    532: 
                    533: 
                    534: 
                    535: 
                    536:           draft                        SMUX                     May 1990
                    537: 
                    538: 
                    539:           5.  MIB for the SMUX
                    540: 
                    541:           The MIB objects for the SMUX are implemented by the local SNMP
                    542:           agent:
                    543: 
                    544:                SMUX-MIB DEFINITIONS ::= BEGIN
                    545: 
                    546:                IMPORTS
                    547:                        enterprises, OBJECT-TYPE, ObjectName
                    548:                                FROM RFC1155-SMI;
                    549: 
                    550: 
                    551:                unix    OBJECT IDENTIFIER ::= { enterprises 4 }
                    552: 
                    553: 
                    554:                smux    OBJECT IDENTIFIER ::= { unix 4 }
                    555: 
                    556:                smuxPeerTable   OBJECT-TYPE
                    557:                        SYNTAX  SEQUENCE OF SmuxPeerEntry
                    558:                        ACCESS  not-accessible
                    559:                        STATUS  mandatory
                    560:                        ::= { smux 1 }
                    561: 
                    562:                smuxPeerEntry   OBJECT-TYPE
                    563:                        SYNTAX  SmuxPeerEntry
                    564:                        ACCESS  not-accessible
                    565:                        STATUS  mandatory
                    566:                --      INDEX   { smuxPindex }
                    567:                        ::= { smuxPeerTable 1}
                    568: 
                    569:                SmuxPeerEntry ::= SEQUENCE {
                    570:                    smuxPindex
                    571:                        INTEGER,
                    572:                    smuxPidentity
                    573:                        OBJECT IDENTIFIER,
                    574:                    smuxPdescription
                    575:                        DisplayString,
                    576:                    smuxPstatus
                    577:                        INTEGER
                    578:                }
                    579: 
                    580:                smuxPindex      OBJECT-TYPE
                    581:                        SYNTAX  INTEGER
                    582:                        ACCESS  read-write
                    583:                        STATUS  mandatory
                    584: 
                    585: 
                    586: 
                    587: 
                    588: 
                    589:           M.T. Rose                                            [Page 10]
                    590: 
                    591: 
                    592: 
                    593: 
                    594: 
                    595:           draft                        SMUX                     May 1990
                    596: 
                    597: 
                    598:                        ::= { smuxPeerEntry 1 }
                    599: 
                    600:                smuxPidentity   OBJECT-TYPE
                    601:                        SYNTAX  OBJECT IDENTIFIER
                    602:                        ACCESS  read-write
                    603:                        STATUS  mandatory
                    604:                        ::= { smuxPeerEntry 2 }
                    605: 
                    606:                smuxPdescription OBJECT-TYPE
                    607:                        SYNTAX  DisplayString (SIZE (0..255))
                    608:                        ACCESS  read-write
                    609:                        STATUS  mandatory
                    610:                        ::= { smuxPeerEntry 3 }
                    611: 
                    612:                smuxPstatus     OBJECT-TYPE
                    613:                        SYNTAX  INTEGER { valid(1), invalid(2), connecting(3) }
                    614:                        ACCESS  read-write
                    615:                        STATUS  mandatory
                    616:                        ::= { smuxPeerEntry 4 }
                    617: 
                    618:                smuxTreeTable   OBJECT-TYPE
                    619:                        SYNTAX  SEQUENCE OF SmuxTreeEntry
                    620:                        ACCESS  not-accessible
                    621:                        STATUS  mandatory
                    622:                        ::= { smux 2 }
                    623: 
                    624:                smuxTreeEntry   OBJECT-TYPE
                    625:                        SYNTAX  SmuxTreeEntry
                    626:                        ACCESS  not-accessible
                    627:                        STATUS  mandatory
                    628:                        ::= { smuxTreeTable 1}
                    629: 
                    630:                SmuxTreeEntry ::= SEQUENCE {
                    631:                    smuxTsubtree
                    632:                        ObjectName
                    633:                    smuxTpriority
                    634:                        INTEGER,
                    635:                    smuxTindex
                    636:                        INTEGER,
                    637:                    smuxTstatus
                    638:                        INTEGER
                    639:                }
                    640: 
                    641:                smuxTsubtree    OBJECT-TYPE
                    642:                        SYNTAX  ObjectName
                    643: 
                    644: 
                    645: 
                    646: 
                    647: 
                    648:           M.T. Rose                                            [Page 11]
                    649: 
                    650: 
                    651: 
                    652: 
                    653: 
                    654:           draft                        SMUX                     May 1990
                    655: 
                    656: 
                    657:                        ACCESS  read-write
                    658:                        STATUS  mandatory
                    659:                --      INDEX   { smuxTsubtree, smuxTpriority }
                    660:                        ::= { smuxTreeEntry 1 }
                    661: 
                    662:                smuxTpriority OBJECT-TYPE
                    663:                        SYNTAX  INTEGER (0..2147483647)
                    664:                        ACCESS  read-write
                    665:                        STATUS  mandatory
                    666:                        ::= { smuxTreeEntry 2 }
                    667: 
                    668:                smuxTindex OBJECT-TYPE
                    669:                        SYNTAX  INTEGER (0..2147483647)
                    670:                        ACCESS  read-write
                    671:                        STATUS  mandatory
                    672:                        ::= { smuxTreeEntry 3 }
                    673: 
                    674:                smuxTstatus     OBJECT-TYPE
                    675:                        SYNTAX  INTEGER { valid(1), invalid(2) }
                    676:                        ACCESS  read-write
                    677:                        STATUS  mandatory
                    678:                        ::= { smuxTreeEntry 4 }
                    679: 
                    680:                END
                    681: 
                    682: 
                    683: 
                    684:           5.1.  Identification of OBJECT instances for use with the
                    685:           SNMP
                    686: 
                    687:           The names for all object types in the MIB are defined
                    688:           explicitly either in the Internet-standard MIB or in other
                    689:           documents which conform to the naming conventions of the
                    690:           SMI[5]. The SMI requires that conformant management protocols
                    691:           define mechanisms for identifying individual instances of
                    692:           those object types for a particular network element.
                    693: 
                    694:           Each instance of any object type defined in the MIB is
                    695:           identified in SNMP operations by a unique name called its
                    696:           "variable name." In general, the name of an SNMP variable is
                    697:           an OBJECT IDENTIFIER of the form x.y, where x is the name of a
                    698:           non-aggregate object type defined in the MIB and y is an
                    699:           OBJECT IDENTIFIER fragment that, in a way specific to the
                    700:           named object type, identifies the desired instance.
                    701: 
                    702: 
                    703: 
                    704: 
                    705: 
                    706: 
                    707:           M.T. Rose                                            [Page 12]
                    708: 
                    709: 
                    710: 
                    711: 
                    712: 
                    713:           draft                        SMUX                     May 1990
                    714: 
                    715: 
                    716:           This naming strategy admits the fullest exploitation of the
                    717:           semantics of the powerful SNMP get-next operator, because it
                    718:           assigns names for related variables so as to be contiguous in
                    719:           the lexicographical ordering of all variable names known in
                    720:           the MIB.
                    721: 
                    722:           The type-specific naming of object instances is defined below
                    723:           for a number of classes of object types.  Instances of an
                    724:           object type to which none of the following naming conventions
                    725:           are applicable are named by OBJECT IDENTIFIERs of the form
                    726:           x.0, where x is the name of said object type in the MIB
                    727:           definition.
                    728: 
                    729:           For example, suppose one wanted to identify an instance of the
                    730:           variable sysDescr.  The object class for sysDescr is:
                    731: 
                    732:           iso org dod internet mgmt mib system sysDescr
                    733:            1   3   6     1      2    1    1       1
                    734: 
                    735:           Hence, the object type, x, would be 1.3.6.1.2.1.1.1 to which
                    736:           is appended an instance sub-identifier of 0.  That is,
                    737:           1.3.6.1.2.1.1.1.0 identifies the one and only instance of
                    738:           sysDescr.
                    739: 
                    740: 
                    741:           5.1.1.  smuxPeerTable Object Type Names
                    742: 
                    743:           The name of a SMUX peer relationship, s, is the OBJECT
                    744:           IDENTIFIER value of the form i, where i has the value of that
                    745:           instance of the smuxPindex object type associated with s.
                    746: 
                    747:           For each object type, t, for which the defined name, n, has a
                    748:           prefix of smuxPeerEntry, an instance, i, of t is named by an
                    749:           OBJECT IDENTIFIER of the form n.s, where s is the name of the
                    750:           SMUX peer relationship about which i represents information.
                    751: 
                    752:           For example, suppose one wanted to identify the instance of
                    753:           the variable smuxPidentity associated with peer relationship
                    754:           number 2.  Accordingly, smuxPidentity.2 would identify the
                    755:           desired instance.
                    756: 
                    757: 
                    758: 
                    759: 
                    760: 
                    761: 
                    762: 
                    763: 
                    764: 
                    765: 
                    766:           M.T. Rose                                            [Page 13]
                    767: 
                    768: 
                    769: 
                    770: 
                    771: 
                    772:           draft                        SMUX                     May 1990
                    773: 
                    774: 
                    775:           5.1.2.  smuxTreeTable Object Type Names
                    776: 
                    777:           The name of a SMUX subtree relationship, s, is the OBJECT
                    778:           IDENTIFIER value of the form i.j, where i has the value of
                    779:           that instance of the smuxTsubtree object type, and j has the
                    780:           value of that instance of the smuxTpriority object type,
                    781:           associated with s.
                    782: 
                    783:           For each object type, t, for which the defined name, n, has a
                    784:           prefix of smuxTreeEntry, an instance, i, of t is named by an
                    785:           OBJECT IDENTIFIER of the form n.s.t.u, where s is the number
                    786:           of sub-identifiers in the corresponding instance of
                    787:           smuxTsubtree, t is the value of the instance of smuxTsubtree
                    788:           corresponding to this entry, and u is the value of the
                    789:           instance of smuxTpriority corresponding to this entry.
                    790: 
                    791:           For example, suppose one wanted to identify the instance of
                    792:           the variable smuxTindex associated with the subtree 1.3.6.1.5
                    793:           for priority 3.  Accordingly, smuxTindex.5.1.3.6.1.5.3 would
                    794:           identify the desired instance.
                    795: 
                    796: 
                    797: 
                    798: 
                    799: 
                    800: 
                    801: 
                    802: 
                    803: 
                    804: 
                    805: 
                    806: 
                    807: 
                    808: 
                    809: 
                    810: 
                    811: 
                    812: 
                    813: 
                    814: 
                    815: 
                    816: 
                    817: 
                    818: 
                    819: 
                    820: 
                    821: 
                    822: 
                    823: 
                    824: 
                    825:           M.T. Rose                                            [Page 14]
                    826: 
                    827: 
                    828: 
                    829: 
                    830: 
                    831:           draft                        SMUX                     May 1990
                    832: 
                    833: 
                    834:           6.  Acknowledgements
                    835: 
                    836:           SMUX was designed one afternoon by these people:
                    837: 
                    838:                Jeffrey S. Case, UTK-CS
                    839:                James R. Davin, MIT-LCS
                    840:                Mark S. Fedor, PSI
                    841:                Jeffrey C. Honig, Cornell
                    842:                Louie A. Mamakos, UMD
                    843:                Michael G. Petry, UMD
                    844:                Yakov Rekhter, IBM
                    845:                Marshall T. Rose, PSI
                    846: 
                    847: 
                    848: 
                    849: 
                    850: 
                    851: 
                    852: 
                    853: 
                    854: 
                    855: 
                    856: 
                    857: 
                    858: 
                    859: 
                    860: 
                    861: 
                    862: 
                    863: 
                    864: 
                    865: 
                    866: 
                    867: 
                    868: 
                    869: 
                    870: 
                    871: 
                    872: 
                    873: 
                    874: 
                    875: 
                    876: 
                    877: 
                    878: 
                    879: 
                    880: 
                    881: 
                    882: 
                    883: 
                    884:           M.T. Rose                                            [Page 15]
                    885: 
                    886: 
                    887: 
                    888: 
                    889: 
                    890:           draft                        SMUX                     May 1990
                    891: 
                    892: 
                    893:           7.  References
                    894: 
                    895:           [1]  J.D. Case, M.S. Fedor, M.L. Schoffstall, and J.R. Davin,
                    896:                Simple Network Management Protocol, Internet Working
                    897:                Group Request for Comments 1157.  Network Information
                    898:                Center, SRI International, Menlo Park, California, (May,
                    899:                1990).
                    900: 
                    901:           [2]  K. McCloghrie and M.T. Rose, Management Information Base
                    902:                for Network Management of TCP/IP-based internets,
                    903:                Internet Working Group Request for Comments 1156.
                    904:                Network Information Center, SRI International, Menlo
                    905:                Park, California, (May, 1990).
                    906: 
                    907:           [3]  Information processing systems - Open Systems
                    908:                Interconnection - Specification of Abstract Syntax
                    909:                Notation One (ASN.1), International Organization for
                    910:                Standardization.  International Standard 8824, (December,
                    911:                1987).
                    912: 
                    913:           [4]  Information processing systems - Open Systems
                    914:                Interconnection - Specification of Basic Encoding Rules
                    915:                for Abstract Notation One (ASN.1), International
                    916:                Organization for Standardization.  International Standard
                    917:                8825, (December, 1987).
                    918: 
                    919:           [5]  M.T. Rose and K. McCloghrie, Structure and Identification
                    920:                of Management Information for TCP/IP-based internets,
                    921:                Internet Working Group Request for Comments 1155.
                    922:                Network Information Center, SRI International, Menlo
                    923:                Park, California, (May, 1990).
                    924: 
                    925: 
                    926: 
                    927: 
                    928: 
                    929: 
                    930: 
                    931: 
                    932: 
                    933: 
                    934: 
                    935: 
                    936: 
                    937: 
                    938: 
                    939: 
                    940: 
                    941: 
                    942: 
                    943:           M.T. Rose                                            [Page 16]
                    944: 
                    945: 
                    946: 
                    947: 
                    948: 
                    949:           draft                        SMUX                     May 1990
                    950: 
                    951: 
                    952:           Table of Contents
                    953: 
                    954: 
                    955:           1 Status of this Memo ...................................    1
                    956:           2 Introduction ..........................................    2
                    957:           3 Architecture ..........................................    3
                    958:           4 Protocol ..............................................    4
                    959:           4.1 Tricky Things .......................................    4
                    960:           4.1.1 Registration ......................................    5
                    961:           4.1.2 Removing Registration .............................    5
                    962:           4.1.3 Variables in Requests .............................    6
                    963:           4.1.4 Request-ID ........................................    6
                    964:           4.1.5 The powerful get-next operator ....................    6
                    965:           4.2 Protocol Data Units .................................    6
                    966:           4.3 Mappings on Transport Service .......................    9
                    967:           4.3.1 Mapping onto the TCP ..............................    9
                    968:           5 MIB for the SMUX ......................................   10
                    969:           5.1 Identification of OBJECT instances  for  use  with
                    970:                the SNMP ...........................................   12
                    971:           5.1.1 smuxPeerTable Object Type Names ...................   13
                    972:           5.1.2 smuxTreeTable Object Type Names ...................   14
                    973:           6 Acknowledgements ......................................   15
                    974:           7 References ............................................   16
                    975: 
                    976: 
                    977: 
                    978: 
                    979: 
                    980: 
                    981: 
                    982: 
                    983: 
                    984: 
                    985: 
                    986: 
                    987: 
                    988: 
                    989: 
                    990: 
                    991: 
                    992: 
                    993: 
                    994: 
                    995: 
                    996: 
                    997: 
                    998: 
                    999: 
                   1000: 
                   1001: 
                   1002:           M.T. Rose                                            [Page 17]
                   1003: 

unix.superglobalmegacorp.com

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