home *** CD-ROM | disk | FTP | other *** search
/ Internet Access: To the Information Highway / InternetAccessToTheInformationHighway1994.disc1of1.iso / internet / rfc4 / rfc1353.txt < prev    next >
Text File  |  1994-05-29  |  61KB  |  1,460 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                     K. McCloghrie
  8. Request for Comments: 1353                     Hughes LAN Systems, Inc.
  9.                                                                J. Davin
  10.                                     MIT Laboratory for Computer Science
  11.                                                               J. Galvin
  12.                                       Trusted Information Systems, Inc.
  13.                                                               July 1992
  14.  
  15.  
  16.                      Definitions of Managed Objects
  17.                    for Administration of SNMP Parties
  18.  
  19. Status of this Memo
  20.  
  21.    This document specifies an IAB standards track protocol for the
  22.    Internet community, and requests discussion and suggestions for
  23.    improvements. Please refer to the current edition of the "IAB
  24.    Official Protocol Standards" for the standardization state and status
  25.    of this protocol. Distribution of this memo is unlimited.
  26.  
  27. Abstract
  28.  
  29.    This memo defines a portion of the Management Information Base (MIB)
  30.    for use with network management protocols in TCP/IP-based internets.
  31.    In particular, it describes a representation of the SNMP parties
  32.    defined in [8] as objects defined according to the Internet Standard
  33.    SMI [1]. These definitions are consistent with the SNMP Security
  34.    protocols set forth in [9].
  35.  
  36. Table of Contents
  37.  
  38.    1. The Network Management Framework ...........................    2
  39.    2. Objects ....................................................    2
  40.    2.1 Format of Definitions .....................................    3
  41.    3. Overview ...................................................    3
  42.    3.1 Structure .................................................    3
  43.    3.2 Instance Identifiers ......................................    3
  44.    3.3 Textual Conventions .......................................    4
  45.    4. Definitions ................................................    4
  46.    4.1 The SNMP Party Public Database Group ......................    9
  47.    4.2 The SNMP Party Secrets Database Group .....................   15
  48.    4.3 The SNMP Access Privileges Database Group .................   18
  49.    4.4 The MIB View Database Group ...............................   21
  50.    5. Acknowledgments ............................................   25
  51.    6. References .................................................   25
  52.    7. Security Considerations.....................................   26
  53.    8. Authors' Addresses..........................................   26
  54.  
  55.  
  56.  
  57.  
  58. McCloghrie, Davin, & Galvin                                     [Page 1]
  59.  
  60. RFC 1353                     SNMP Party MIB                    July 1992
  61.  
  62.  
  63. 1.  The Network Management Framework
  64.  
  65.    the Internet-standard Network Management Framework consists of three
  66.    components.  They are:
  67.  
  68.       RFC 1155 which defines the SMI, the mechanisms used for describing
  69.       and naming objects for the purpose of management.  RFC 1212
  70.       defines a more concise description mechanism, which is wholly
  71.       consistent with the SMI.
  72.  
  73.       RFC 1156 which defines MIB-I, the core set of managed objects for
  74.       the Internet suite of protocols.  RFC 1213, defines MIB-II, an
  75.       evolution of MIB-I based on implementation experience and new
  76.       operational requirements.
  77.  
  78.       RFC 1157 which defines the SNMP, the protocol used for network
  79.       access to managed objects.
  80.  
  81.    The Framework permits new objects to be defined for the purpose of
  82.    experimentation and evaluation.
  83.  
  84. 2.  Objects
  85.  
  86.    Managed objects are accessed via a virtual information store, termed
  87.    the Management Information Base or MIB.  Objects in the MIB are
  88.    defined using the subset of Abstract Syntax Notation One (ASN.1) [5]
  89.    defined in the SMI.  In particular, each object has a name, a syntax,
  90.    and an encoding.  The name is an object identifier, an
  91.    administratively assigned name, which specifies an object type.  The
  92.    object type together with an object instance serves to uniquely
  93.    identify a specific instantiation of the object.  For human
  94.    convenience, we often use a textual string, termed the OBJECT
  95.    DESCRIPTOR, to also refer to the object type.
  96.  
  97.    The syntax of an object type defines the abstract data structure
  98.    corresponding to that object type.  The ASN.1 language is used for
  99.    this purpose.  However, the SMI [1] purposely restricts the ASN.1
  100.    constructs which may be used.  These restrictions are explicitly made
  101.    for simplicity.
  102.  
  103.    The encoding of an object type is simply how that object type is
  104.    represented using the object type's syntax.  Implicitly tied to the
  105.    notion of an object type's syntax and encoding is how the object type
  106.    is represented when being transmitted on the network.
  107.  
  108.    The SMI specifies the use of the basic encoding rules of ASN.1 [6],
  109.    subject to the additional requirements imposed by the SNMP.
  110.  
  111.  
  112.  
  113.  
  114. McCloghrie, Davin, & Galvin                                     [Page 2]
  115.  
  116. RFC 1353                     SNMP Party MIB                    July 1992
  117.  
  118.  
  119. 2.1.  Format of Definitions
  120.  
  121.    Section 4 contains the specification of all object types contained in
  122.    this MIB module.  The object types are defined using the conventions
  123.    defined in the SMI, as amended by the extensions specified in [7].
  124.  
  125. 3.  Overview
  126.  
  127. 3.1.  Structure
  128.  
  129.    This MIB contains the definitions for four tables, a number of OBJECT
  130.    IDENTIFIER assignments, and some conventions for initial use with
  131.    some of the assignments.  The four tables are the SNMP Party Public
  132.    database, the SNMP Party Secrets database, the SNMP Access Control
  133.    database, and the SNMP Views database.
  134.  
  135.    The SNMP Party Public database and the SNMP Party Secrets database
  136.    are defined as separate tables specifically for the purpose of
  137.    positioning them in different parts of the MIB tree namespace.  In
  138.    particular, the SNMP Party Secrets database contains secret
  139.    information, for which security demands that access to it be limited
  140.    to parties which use both authentication and privacy.  It is
  141.    therefore positioned in a separate branch of the MIB tree so as to
  142.    provide for the easiest means of accommodating the required
  143.    limitation.
  144.  
  145.    In contrast, the SNMP Party Public database contains public
  146.    information about SNMP parties.  In particular, it contains the
  147.    parties' clocks which need to be read-able (but not write-able) by
  148.    unauthenticated queries, since an unauthenticated query of a party's
  149.    clock is the first step of the procedure to re-establish clock
  150.    synchronization (see [9]).
  151.  
  152.    The objects in this MIB are organized into four groups.  All four of
  153.    the groups are mandatory for those SNMP implementations that realize
  154.    the security framework and mechanisms defined in [8] and [9].
  155.  
  156. 3.2.  Instance Identifiers
  157.  
  158.    In all four of the tables in this MIB, the object instances are
  159.    identified by values which have an underlying syntax of OBJECT
  160.    IDENTIFIER.  For the Party Public database and the Party Secrets
  161.    database, the index variable is the party identifier.  For the Access
  162.    Control database and the Views database, two index variables are
  163.    defined, both of which have a syntax of OBJECT IDENTIFIER.  (See the
  164.    INDEX clauses in the MIB definitions below for the specific
  165.    variables.)
  166.  
  167.  
  168.  
  169.  
  170. McCloghrie, Davin, & Galvin                                     [Page 3]
  171.  
  172. RFC 1353                     SNMP Party MIB                    July 1992
  173.  
  174.  
  175.    According to RFC 1212 [7], section 4.1.6, the syntax of the object(s)
  176.    specified in an INDEX clause indicates how to form the instance-
  177.    identifier.  In particular, for each index object which is object
  178.    identifier-valued, its contribution to the instance identifier is:
  179.  
  180.       `n+1' sub-identifiers, where `n' is the number of sub-identifiers
  181.       in the value (the first sub-identifier is `n' itself, following
  182.       this, each sub-identifier in the value is copied).
  183.  
  184. 3.3.  Textual Conventions
  185.  
  186.    The datatypes, Party, Clock, and TAddress, are used as textual
  187.    conventions in this document.  These textual conventions have NO
  188.    effect on either the syntax nor the semantics of any managed object.
  189.    Objects defined using these conventions are always encoded by means
  190.    of the rules that define their primitive type.  Hence, no changes to
  191.    the SMI or the SNMP are necessary to accommodate these textual
  192.    conventions which are adopted merely for the convenience of readers.
  193.  
  194. 4.  Definitions
  195.  
  196.           RFC1353-MIB DEFINITIONS ::= BEGIN
  197.  
  198.           IMPORTS
  199.                   system, mib, private, internet    FROM RFC1155-SMI
  200.                   OBJECT-TYPE                       FROM RFC-1212;
  201.  
  202.           snmpParties     OBJECT IDENTIFIER ::= { mib-2 20 }
  203.           partyAdmin      OBJECT IDENTIFIER ::= { snmpParties 1 }
  204.           partyPublic     OBJECT IDENTIFIER ::= { snmpParties 2 }
  205.  
  206.           snmpSecrets     OBJECT IDENTIFIER ::= { mib-2 21 }
  207.           partyPrivate    OBJECT IDENTIFIER ::= { snmpSecrets 1 }
  208.           partyAccess     OBJECT IDENTIFIER ::= { snmpSecrets 2 }
  209.           partyViews      OBJECT IDENTIFIER ::= { snmpSecrets 3 }
  210.  
  211.  
  212.           --                  Textual Conventions
  213.  
  214.           --    A textual convention denoting a SNMP party identifier:
  215.  
  216.           Party ::= OBJECT IDENTIFIER
  217.  
  218.  
  219.           --    A party's authentication clock - a non-negative integer
  220.           -- which is incremented as specified/allowed by the party's
  221.           -- Authentication Protocol.
  222.           --    For noAuth, a party's authentication clock is unused and
  223.  
  224.  
  225.  
  226. McCloghrie, Davin, & Galvin                                     [Page 4]
  227.  
  228. RFC 1353                     SNMP Party MIB                    July 1992
  229.  
  230.  
  231.           -- its value is undefined.
  232.           --    For md5AuthProtocol, a party's authentication clock is a
  233.           -- relative clock with 1-second granularity.
  234.  
  235.           Clock ::= INTEGER (0..2147483647)
  236.  
  237.  
  238.           --    A textual convention denoting a transport service
  239.           -- address.
  240.           --    For rfc1351Domain, a TAddress is 6 octets long,
  241.           -- the initial 4 octets containing the IP-address in
  242.           -- network-byte order and the last 2 containing the
  243.           -- UDP port in network-byte order.
  244.  
  245.           TAddress ::= OCTET STRING
  246.  
  247.  
  248.           --- Definitions of Security Protocols
  249.  
  250.           partyProtocols
  251.               OBJECT IDENTIFIER ::= { partyAdmin 1 }
  252.  
  253.           noAuth                  -- The protocol without authentication
  254.               OBJECT IDENTIFIER ::= { partyProtocols 1 }
  255.  
  256.           noPriv                  -- The protocol without privacy
  257.               OBJECT IDENTIFIER ::= { partyProtocols 3 }
  258.  
  259.           desPrivProtocol         -- The DES Privacy Protocol
  260.               OBJECT IDENTIFIER ::= { partyProtocols 4 }
  261.  
  262.           md5AuthProtocol         -- The MD5 Authentication Protocol
  263.               OBJECT IDENTIFIER ::= { partyProtocols 5 }
  264.  
  265.  
  266.           --- definitions of Transport Domains
  267.  
  268.           transportDomains
  269.               OBJECT IDENTIFIER ::= { partyAdmin 2 }
  270.  
  271.           rfc1351Domain --- RFC-1351 (SNMP over UDP, using SNMP Parties)
  272.               OBJECT IDENTIFIER ::= { transportDomains 1 }
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. McCloghrie, Davin, & Galvin                                     [Page 5]
  283.  
  284. RFC 1353                     SNMP Party MIB                    July 1992
  285.  
  286.  
  287.           --- definitions of Proxy Domains
  288.  
  289.           proxyDomains
  290.               OBJECT IDENTIFIER ::= { partyAdmin 3 }
  291.  
  292.           noProxy                --- Local operation
  293.               OBJECT IDENTIFIER ::= { proxyDomains 1 }
  294.  
  295.  
  296.           ---    Definition of Initial Party Identifiers
  297.  
  298.           --  When devices are installed, they need to be configured
  299.           --  with an initial set of SNMP parties.  The configuration
  300.           --  of SNMP parties requires (among other things) the
  301.           --  assignment of several OBJECT IDENTIFIERs.  Any local
  302.           --  network administration can obtain the delegated
  303.           --  authority necessary to assign its own OBJECT
  304.           --  IDENTIFIERs.  However, to provide for those
  305.           --  administrations who have not obtained the necessary
  306.           --  authority, this document allocates a branch of the
  307.           --  naming tree for use with the following conventions.
  308.  
  309.           initialPartyId
  310.               OBJECT IDENTIFIER ::= { partyAdmin 4 }
  311.  
  312.           --  Note these are identified as "initial" party identifiers
  313.           --  since these allow secure SNMP communication to proceed,
  314.           --  thereby allowing further SNMP parties to be configured
  315.           --  through use of the SNMP itself.
  316.  
  317.           --  The following definitions identify a party identifier,
  318.           --  and specify the initial values of various object
  319.           --  instances indexed by that identifier.  In addition,
  320.           --  the initial MIB view and access control parameters
  321.           --  assigned, by convention, to these parties are identified.
  322.  
  323.           --    Party Identifiers for use as initial SNMP parties
  324.           --       at IP address  a.b.c.d
  325.  
  326.           -- partyIdentity            = { initialPartyId a b c d 1 }
  327.           -- partyTDomain             = { rfc1351Domain }
  328.           -- partyTAddress            = a.b.c.d, 161
  329.           -- partyProxyFor            = { noProxy }
  330.           -- partyAuthProtocol        = { noAuth }
  331.           -- partyAuthClock           = 0
  332.           -- partySecretsAuthPrivate  = ''h    (the empty string)
  333.           -- partyAuthPublic          = ''h    (the empty string)
  334.           -- partyAuthLifetime        = 0
  335.  
  336.  
  337.  
  338. McCloghrie, Davin, & Galvin                                     [Page 6]
  339.  
  340. RFC 1353                     SNMP Party MIB                    July 1992
  341.  
  342.  
  343.           -- partyPrivProtocol        = { noPriv }
  344.           -- partySecretsPrivPrivate  = ''h    (the empty string)
  345.           -- partyPrivPublic          = ''h    (the empty string)
  346.  
  347.           -- partyIdentity            = { initialPartyId a b c d 2 }
  348.           -- partyTDomain             = { rfc1351Domain }
  349.           -- partyTAddress            = assigned by local administration
  350.           -- partyProxyFor            = { noProxy }
  351.           -- partyAuthProtocol        = { noAuth }
  352.           -- partyAuthClock           = 0
  353.           -- partySecretsAuthPrivate  = ''h    (the empty string)
  354.           -- partyAuthPublic          = ''h    (the empty string)
  355.           -- partyAuthLifetime        = 0
  356.           -- partyPrivProtocol        = { noPriv }
  357.           -- partySecretsPrivPrivate  = ''h    (the empty string)
  358.           -- partyPrivPublic          = ''h    (the empty string)
  359.  
  360.           -- partyIdentity            = { initialPartyId a b c d 3 }
  361.           -- partyTDomain             = { rfc1351Domain }
  362.           -- partyTAddress            = a.b.c.d, 161
  363.           -- partyProxyFor            = { noProxy }
  364.           -- partyAuthProtocol        = { md5AuthProtocol }
  365.           -- partyAuthClock           = 0
  366.           -- partySecretsAuthPrivate  = assigned by local administration
  367.           -- partyAuthPublic          = ''h    (the empty string)
  368.           -- partyAuthLifetime        = 300
  369.           -- partyPrivProtocol        = { noPriv }
  370.           -- partySecretsPrivPrivate  = ''h    (the empty string)
  371.           -- partyPrivPublic          = ''h    (the empty string)
  372.  
  373.           -- partyIdentity            = { initialPartyId a b c d 4 }
  374.           -- partyTDomain             = { rfc1351Domain }
  375.           -- partyTAddress            = assigned by local administration
  376.           -- partyProxyFor            = { noProxy }
  377.           -- partyAuthProtocol        = { md5AuthProtocol }
  378.           -- partyAuthClock           = 0
  379.           -- partySecretsAuthPrivate  = assigned by local administration
  380.           -- partyAuthPublic          = ''h    (the empty string)
  381.           -- partyAuthLifetime        = 300
  382.           -- partyPrivProtocol        = { noPriv }
  383.           -- partySecretsPrivPrivate  = ''h    (the empty string)
  384.           -- partyPrivPublic          = ''h    (the empty string)
  385.  
  386.           -- partyIdentity            = { initialPartyId a b c d 5 }
  387.           -- partyTDomain             = { rfc1351Domain }
  388.           -- partyTAddress            = a.b.c.d, 161
  389.           -- partyProxyFor            = { noProxy }
  390.           -- partyAuthProtocol        = { md5AuthProtocol }
  391.  
  392.  
  393.  
  394. McCloghrie, Davin, & Galvin                                     [Page 7]
  395.  
  396. RFC 1353                     SNMP Party MIB                    July 1992
  397.  
  398.  
  399.           -- partyAuthClock           = 0
  400.           -- partySecretsAuthPrivate  = assigned by local administration
  401.           -- partyAuthPublic          = ''h    (the empty string)
  402.           -- partyAuthLifetime        = 300
  403.           -- partyPrivProtocol        = { desPrivProtocol }
  404.           -- partySecretsPrivPrivate  = assigned by local administration
  405.           -- partyPrivPublic          = ''h    (the empty string)
  406.  
  407.           -- partyIdentity            = { initialPartyId a b c d 6 }
  408.           -- partyTDomain             = { rfc1351Domain }
  409.           -- partyTAddress            = assigned by local administration
  410.           -- partyProxyFor            = { noProxy }
  411.           -- partyAuthProtocol        = { md5AuthProtocol }
  412.           -- partyAuthClock           = 0
  413.           -- partySecretsAuthPrivate  = assigned by local administration
  414.           -- partyAuthPublic          = ''h    (the empty string)
  415.           -- partyAuthLifetime        = 300
  416.           -- partyPrivProtocol        = { desPrivProtocol }
  417.           -- partySecretsPrivPrivate  = assigned by local administration
  418.           -- partyPrivPublic          = ''h   (the empty string)
  419.  
  420.  
  421.           --  The initial access control parameters assigned, by
  422.           --  convention, to these parties are:
  423.  
  424.           -- aclTarget     = { initialPartyId a b c d 1 }
  425.           -- aclSubject    = { initialPartyId a b c d 2 }
  426.           -- aclPrivileges = 3 (Get & Get-Next)
  427.  
  428.           -- aclTarget     = { initialPartyId a b c d 2 }
  429.           -- aclSubject    = { initialPartyId a b c d 1 }
  430.           -- aclPrivileges = 20 (GetResponse & Trap)
  431.  
  432.           -- aclTarget     = { initialPartyId a b c d 3 }
  433.           -- aclSubject    = { initialPartyId a b c d 4 }
  434.           -- aclPrivileges = 11 (Get, Get-Next & Set)
  435.  
  436.           -- aclTarget     = { initialPartyId a b c d 4 }
  437.           -- aclSubject    = { initialPartyId a b c d 3 }
  438.           -- aclPrivileges = 20 (GetResponse & Trap)
  439.  
  440.           -- aclTarget     = { initialPartyId a b c d 5 }
  441.           -- aclSubject    = { initialPartyId a b c d 6 }
  442.           -- aclPrivileges = 11 (Get, Get-Next & Set)
  443.  
  444.           -- aclTarget     = { initialPartyId a b c d 6 }
  445.           -- aclSubject    = { initialPartyId a b c d 5 }
  446.           -- aclPrivileges = 20 (GetResponse & Trap)
  447.  
  448.  
  449.  
  450. McCloghrie, Davin, & Galvin                                     [Page 8]
  451.  
  452. RFC 1353                     SNMP Party MIB                    July 1992
  453.  
  454.  
  455.           --  The initial MIB views assigned, by convention, to
  456.           --  these parties are:
  457.  
  458.           -- viewParty    = { initialPartyId a b c d 1 }
  459.           -- viewSubtree  = { system }
  460.           -- viewStatus   = { included }
  461.           -- viewMask     = { ''h }
  462.  
  463.           -- viewParty    = { initialPartyId a b c d 1 }
  464.           -- viewSubtree  = { snmpParties }
  465.           -- viewStatus   = { included }
  466.           -- viewMask     = { ''h }
  467.  
  468.           -- viewParty    = { initialPartyId a b c d 3 }
  469.           -- viewSubtree  = { internet }
  470.           -- viewStatus   = { included }
  471.           -- viewMask     = { ''h }
  472.  
  473.           -- viewParty    = { initialPartyId a b c d 3 }
  474.           -- viewSubtree  = { partyPrivate }
  475.           -- viewStatus   = { excluded }
  476.           -- viewMask     = { ''h }
  477.  
  478.           -- viewParty    = { initialPartyId a b c d 5 }
  479.           -- viewSubtree  = { internet }
  480.           -- viewStatus   = { included }
  481.           -- viewMask     = { ''h }
  482.  
  483.  
  484.           --   The SNMP Party Public Database Group
  485.           --
  486.           -- The non-secret party information.
  487.           --
  488.           -- Implementation of the objects in this group is mandatory.
  489.  
  490.           partyTable OBJECT-TYPE
  491.               SYNTAX  SEQUENCE OF PartyEntry
  492.               ACCESS  not-accessible
  493.               STATUS  mandatory
  494.               DESCRIPTION
  495.                       "The SNMP Party Public database.
  496.  
  497.                       An agent must ensure that there is, at all times,
  498.                       a one-to-one correspondence between entries in
  499.                       this table and entries in the partySecretsTable.
  500.  
  501.                       The creation/deletion of instances in this table
  502.                       via SNMP Set-Requests is not allowed.  Instead,
  503.  
  504.  
  505.  
  506. McCloghrie, Davin, & Galvin                                     [Page 9]
  507.  
  508. RFC 1353                     SNMP Party MIB                    July 1992
  509.  
  510.  
  511.                       entries in this table are created/deleted as a
  512.                       side-effect of the creation/deletion of
  513.                       corresponding entries in the partySecretsTable.
  514.  
  515.                       Thus, a SNMP Set-Request whose varbinds contain a
  516.                       reference to a non-existent instance of a
  517.                       partyTable object, but no reference to the
  518.                       corresponding instance of a partySecretsTable
  519.                       object, will be rejected."
  520.           ::= { partyPublic 1 }
  521.  
  522.           partyEntry OBJECT-TYPE
  523.               SYNTAX  PartyEntry
  524.               ACCESS  not-accessible
  525.               STATUS  mandatory
  526.               DESCRIPTION
  527.                       "Locally held non-secret information about a
  528.                       particular SNMP party, which is available for
  529.                       access by network management.  Note that this does
  530.                       not include all locally held information about a
  531.                       party.  In particular, it does not include the
  532.                       'last-timestamp' (i.e., the timestamp of the last
  533.                       authentic message received) or the 'nonce'
  534.                       values."
  535.               INDEX  { partyIdentity }
  536.               ::= { partyTable 1 }
  537.  
  538.           PartyEntry ::=
  539.               SEQUENCE {
  540.                   partyIdentity
  541.                       Party,
  542.                   partyTDomain
  543.                       OBJECT IDENTIFIER,
  544.                   partyTAddress
  545.                       TAddress,
  546.                   partyProxyFor
  547.                       Party,
  548.                   partyAuthProtocol
  549.                       OBJECT IDENTIFIER,
  550.                   partyAuthClock
  551.                       Clock,
  552.                   partyAuthPublic
  553.                       OCTET STRING,
  554.                   partyAuthLifetime
  555.                       INTEGER,
  556.                   partyPrivProtocol
  557.                       OBJECT IDENTIFIER,
  558.                   partyPrivPublic
  559.  
  560.  
  561.  
  562. McCloghrie, Davin, & Galvin                                    [Page 10]
  563.  
  564. RFC 1353                     SNMP Party MIB                    July 1992
  565.  
  566.  
  567.                       OCTET STRING,
  568.                   partyMaxMessageSize
  569.                       INTEGER,
  570.                   partyStatus
  571.                       INTEGER
  572.               }
  573.  
  574.           partyIdentity  OBJECT-TYPE
  575.               SYNTAX  Party
  576.               ACCESS  read-write
  577.               STATUS  mandatory
  578.               DESCRIPTION
  579.                       "A party identifier uniquely identifying a
  580.                       particular SNMP party."
  581.               ::= { partyEntry 1 }
  582.  
  583.           partyTDomain  OBJECT-TYPE
  584.               SYNTAX  OBJECT IDENTIFIER
  585.               ACCESS  read-write
  586.               STATUS  mandatory
  587.               DESCRIPTION
  588.                       "Indicates the kind of transport service by which
  589.                       the party receives network management traffic. An
  590.                       example of a transport domain is 'rfc1351Domain'
  591.                       (SNMP over UDP)."
  592.               DEFVAL  { rfc1351Domain }
  593.               ::= { partyEntry 2 }
  594.  
  595.           partyTAddress  OBJECT-TYPE
  596.               SYNTAX  TAddress
  597.               ACCESS  read-write
  598.               STATUS  mandatory
  599.               DESCRIPTION
  600.                       "The transport service address by which the party
  601.                       receives network management traffic, formatted
  602.                       according to the corresponding value of
  603.                       partyTDomain.  For rfc1351Domain, partyTAddress is
  604.                       formatted as a 4-octet IP Address concatenated
  605.                       with a 2-octet UDP port number."
  606.               DEFVAL  { '000000000000'h }
  607.               ::= { partyEntry 3 }
  608.  
  609.           partyProxyFor OBJECT-TYPE
  610.               SYNTAX  Party
  611.               ACCESS  read-write
  612.               STATUS  mandatory
  613.               DESCRIPTION
  614.                       "The identity of a second SNMP party or other
  615.  
  616.  
  617.  
  618. McCloghrie, Davin, & Galvin                                    [Page 11]
  619.  
  620. RFC 1353                     SNMP Party MIB                    July 1992
  621.  
  622.  
  623.                       management entity with which interaction may be
  624.                       necessary to satisfy received management requests.
  625.                       In this context, the distinguished value { noProxy
  626.                       } signifies that the party responds to received
  627.                       management requests by entirely local mechanisms."
  628.               DEFVAL  { noProxy }
  629.               ::= { partyEntry 4 }
  630.  
  631.           partyAuthProtocol OBJECT-TYPE
  632.               SYNTAX  OBJECT IDENTIFIER
  633.               ACCESS  read-write
  634.               STATUS  mandatory
  635.               DESCRIPTION
  636.                       "The authentication protocol by which all messages
  637.                       generated by the party are authenticated as to
  638.                       origin and integrity.  In this context, the value
  639.                       { noAuth } signifies that messages generated by
  640.                       the party are not authenticated."
  641.               DEFVAL  { md5AuthProtocol }
  642.               ::= { partyEntry 5 }
  643.  
  644.           partyAuthClock OBJECT-TYPE
  645.               SYNTAX  Clock
  646.               ACCESS  read-write
  647.               STATUS  mandatory
  648.               DESCRIPTION
  649.                       "The authentication clock which represents the
  650.                       local notion of the current time specific to the
  651.                       party.  This value must not be decremented unless
  652.                       the party's secret information is changed
  653.                       simultaneously, at which time the party's nonce
  654.                       and last-timestamp values must also be reset to
  655.                       zero, and the new value of the clock,
  656.                       respectively."
  657.               DEFVAL  { 0 }
  658.               ::= { partyEntry 6 }
  659.  
  660.           partyAuthPublic OBJECT-TYPE
  661.               SYNTAX  OCTET STRING -- for md5AuthProtocol: (SIZE (0..16))
  662.               ACCESS  read-write
  663.               STATUS  mandatory
  664.               DESCRIPTION
  665.                       "A publically-readable value for the party.
  666.  
  667.                       Depending on the party's authentication protocol,
  668.                       this value may be needed to support the party's
  669.                       authentication protocol.  Alternatively, it may be
  670.                       used by a manager during the procedure for
  671.  
  672.  
  673.  
  674. McCloghrie, Davin, & Galvin                                    [Page 12]
  675.  
  676. RFC 1353                     SNMP Party MIB                    July 1992
  677.  
  678.  
  679.                       altering secret information about a party.  (For
  680.                       example, by altering the value of an instance of
  681.                       this object in the same SNMP Set-Request used to
  682.                       update an instance of partyAuthPrivate, a
  683.                       subsequent Get-Request can determine if the Set-
  684.                       Request was successful in the event that no
  685.                       response to the Set-Request is received, see RFC
  686.                       1352.)
  687.  
  688.                       The length of the value is dependent on the
  689.                       party's authentication protocol.  If not used by
  690.                       the authentication protocol, it is recommended
  691.                       that agents support values of any length up to and
  692.                       including the length of the corresponding
  693.                       partyAuthPrivate object."
  694.               DEFVAL  { ''h }      -- the empty string
  695.               ::= { partyEntry 7 }
  696.  
  697.           partyAuthLifetime OBJECT-TYPE
  698.               SYNTAX  INTEGER (0..2147483647)
  699.               ACCESS  read-write
  700.               STATUS  mandatory
  701.               DESCRIPTION
  702.                       "The lifetime (in units of seconds) which
  703.                       represents an administrative upper bound on
  704.                       acceptable delivery delay for protocol messages
  705.                       generated by the party."
  706.               DEFVAL  { 300 }
  707.               ::= { partyEntry 8 }
  708.  
  709.           partyPrivProtocol OBJECT-TYPE
  710.               SYNTAX  OBJECT IDENTIFIER
  711.               ACCESS  read-write
  712.               STATUS  mandatory
  713.               DESCRIPTION
  714.                       "The privacy protocol by which all protocol
  715.                       messages received by the party are protected from
  716.                       disclosure.  In this context, the value { noPriv }
  717.                       signifies that messages received by the party are
  718.                       not protected."
  719.               DEFVAL  { noPriv }
  720.               ::= { partyEntry 9 }
  721.  
  722.           partyPrivPublic OBJECT-TYPE
  723.               SYNTAX  OCTET STRING -- for desPrivProtocol: (SIZE (0..16))
  724.               ACCESS  read-write
  725.               STATUS  mandatory
  726.               DESCRIPTION
  727.  
  728.  
  729.  
  730. McCloghrie, Davin, & Galvin                                    [Page 13]
  731.  
  732. RFC 1353                     SNMP Party MIB                    July 1992
  733.  
  734.  
  735.                       "A publically-readable value for the party.
  736.  
  737.                       Depending on the party's privacy protocol, this
  738.                       value may be needed to support the party's privacy
  739.                       protocol.  Alternatively, it may be used by a
  740.                       manager as a part of its procedure for altering
  741.                       secret information about a party.  (For example,
  742.                       by altering the value of an instance of this
  743.                       object in the same SNMP Set-Request used to update
  744.                       an instance of partyPrivPrivate, a subsequent
  745.                       Get-Request can determine if the Set-Request was
  746.                       successful in the event that no response to the
  747.                       Set-Request is received, see RFC 1352.)
  748.  
  749.                       The length of the value is dependent on the
  750.                       party's privacy protocol.  If not used by the
  751.                       privacy protocol, it is recommended that agents
  752.                       support values of any length up to and including
  753.                       the length of the corresponding partyPrivPrivate
  754.                       object."
  755.               DEFVAL  { ''h }     -- the empty string
  756.               ::= { partyEntry 10 }
  757.  
  758.           partyMaxMessageSize OBJECT-TYPE
  759.               SYNTAX  INTEGER (484..65507)
  760.               ACCESS  read-write
  761.               STATUS  mandatory
  762.               DESCRIPTION
  763.                       "The maximum length in octets of a SNMP message
  764.                       which this party will accept.  For parties which
  765.                       execute at an agent, the agent initializes this
  766.                       object to the maximum length supported by the
  767.                       agent, and does not let the object be set to any
  768.                       larger value.  For parties which do not execute at
  769.                       the agent, the agent must allow the manager to set
  770.                       this object to any legal value, even if it is
  771.                       larger than the agent can generate."
  772.               DEFVAL  { 484 }
  773.               ::= { partyEntry 11 }
  774.  
  775.           partyStatus OBJECT-TYPE
  776.               SYNTAX  INTEGER  { valid(1), invalid(2) }
  777.               ACCESS  read-only
  778.               STATUS  mandatory
  779.               DESCRIPTION
  780.                       "The status of the locally-held information on a
  781.                       particular SNMP party.
  782.  
  783.  
  784.  
  785.  
  786. McCloghrie, Davin, & Galvin                                    [Page 14]
  787.  
  788. RFC 1353                     SNMP Party MIB                    July 1992
  789.  
  790.  
  791.                       The instance of this object for a particular party
  792.                       and the instance of partySecretsStatus for the
  793.                       same party always have the same value.
  794.  
  795.                       This object will typically provide unrestricted
  796.                       read-only access to the status of parties.  In
  797.                       contrast, partySecretsStatus will typically
  798.                       provide restricted read-write access to the status
  799.                       of parties."
  800.               ::= { partyEntry 12 }
  801.  
  802.  
  803.           --   The SNMP Party Secrets Database Group
  804.  
  805.           -- The secret party information
  806.           --
  807.           -- Implementation of the objects in this group is mandatory.
  808.  
  809.           partySecretsTable OBJECT-TYPE
  810.               SYNTAX  SEQUENCE OF PartySecretsEntry
  811.               ACCESS  not-accessible
  812.               STATUS  mandatory
  813.               DESCRIPTION
  814.                       "The SNMP Party Secrets database."
  815.           ::= { partyPrivate 1 }
  816.  
  817.           partySecretsEntry OBJECT-TYPE
  818.               SYNTAX  PartySecretsEntry
  819.               ACCESS  not-accessible
  820.               STATUS  mandatory
  821.               DESCRIPTION
  822.                       "Locally held secret information about a
  823.                       particular SNMP party, which is available for
  824.                       access by network management.
  825.  
  826.                       When a SNMP Set-Request is used to update the
  827.                       values of instances of objects in this table, it
  828.                       is recommended that the same SNMP Set-Request also
  829.                       alter the value of a non-secret object instance
  830.                       (e.g., an instance of partyAuthPublic or
  831.                       partyPrivPublic).  This allows a Get-Request of
  832.                       that non-secret object instance to determine if
  833.                       the Set-Request was successful in the event that
  834.                       no response which matches the Set-Request is
  835.                       received, see RFC 1352."
  836.               INDEX  { partySecretsIdentity }
  837.               ::= { partySecretsTable 1 }
  838.  
  839.  
  840.  
  841.  
  842. McCloghrie, Davin, & Galvin                                    [Page 15]
  843.  
  844. RFC 1353                     SNMP Party MIB                    July 1992
  845.  
  846.  
  847.           PartySecretsEntry ::=
  848.               SEQUENCE {
  849.                   partySecretsIdentity
  850.                       Party,
  851.                   partySecretsAuthPrivate
  852.                       OCTET STRING,
  853.                   partySecretsPrivPrivate
  854.                       OCTET STRING,
  855.                   partySecretsStatus
  856.                       INTEGER
  857.               }
  858.  
  859.           partySecretsIdentity  OBJECT-TYPE
  860.               SYNTAX  Party
  861.               ACCESS  read-write
  862.               STATUS  mandatory
  863.               DESCRIPTION
  864.                       "A party identifier uniquely identifying a
  865.                       particular SNMP party."
  866.               ::= { partySecretsEntry 1 }
  867.  
  868.           partySecretsAuthPrivate OBJECT-TYPE
  869.               SYNTAX  OCTET STRING   -- for md5AuthProtocol: (SIZE (16))
  870.               ACCESS  read-write
  871.               STATUS  mandatory
  872.               DESCRIPTION
  873.                       "An encoding of the party's private authentication
  874.                       key which may be needed to support the
  875.                       authentication protocol.  Although the value of
  876.                       this variable may be altered by a management
  877.                       operation (e.g., a SNMP Set-Request), its value
  878.                       can never be retrieved by a management operation:
  879.                       when read, the value of this variable is the zero
  880.                       length OCTET STRING.
  881.  
  882.                       The private authentication key is NOT directly
  883.                       represented by the value of this variable, but
  884.                       rather it is represented according to an encoding.
  885.                       This encoding is the bitwise exclusive-OR of the
  886.                       old key with the new key, i.e., of the old private
  887.                       authentication key (prior to the alteration) with
  888.                       the new private authentication key (after the
  889.                       alteration).  Thus, when processing a received
  890.                       protocol Set operation, the new private
  891.                       authentication key is obtained from the value of
  892.                       this variable as the result of a bitwise
  893.                       exclusive-OR of the variable's value and the old
  894.                       private authentication key.  In calculating the
  895.  
  896.  
  897.  
  898. McCloghrie, Davin, & Galvin                                    [Page 16]
  899.  
  900. RFC 1353                     SNMP Party MIB                    July 1992
  901.  
  902.  
  903.                       exclusive-OR, if the old key is shorter than the
  904.                       new key, zero-valued padding is appended to the
  905.                       old key.  If no value for the old key exists, a
  906.                       zero-length OCTET STRING is used in the
  907.                       calculation."
  908.               DEFVAL  { ''h }     -- the empty string
  909.               ::= { partySecretsEntry 2 }
  910.  
  911.           partySecretsPrivPrivate OBJECT-TYPE
  912.               SYNTAX  OCTET STRING   -- for desPrivProtocol: (SIZE (16))
  913.               ACCESS  read-write
  914.               STATUS  mandatory
  915.               DESCRIPTION
  916.                       "An encoding of the party's private encryption key
  917.                       which may be needed to support the privacy
  918.                       protocol.  Although the value of this variable may
  919.                       be altered by a management operation (e.g., a SNMP
  920.                       Set-Request), its value can never be retrieved by
  921.                       a management operation: when read, the value of
  922.                       this variable is the zero length OCTET STRING.
  923.  
  924.                       The private encryption key is NOT directly
  925.                       represented by the value of this variable, but
  926.                       rather it is represented according to an encoding.
  927.                       This encoding is the bitwise exclusive-OR of the
  928.                       old key with the new key, i.e., of the old private
  929.                       encryption key (prior to the alteration) with the
  930.                       new private encryption key (after the alteration).
  931.                       Thus, when processing a received protocol Set
  932.                       operation, the new private encryption key is
  933.                       obtained from the value of this variable as the
  934.                       result of a bitwise exclusive-OR of the variable's
  935.                       value and the old private encryption key.  In
  936.                       calculating the exclusive-OR, if the old key is
  937.                       shorter than the new key, zero-valued padding is
  938.                       appended to the old key.  If no value for the old
  939.                       key exists, a zero-length OCTET STRING is used in
  940.                       the calculation."
  941.               DEFVAL  { ''h }     -- the empty string
  942.               ::= { partySecretsEntry 3 }
  943.  
  944.           partySecretsStatus OBJECT-TYPE
  945.               SYNTAX  INTEGER  { valid(1), invalid(2) }
  946.               ACCESS  read-write
  947.               STATUS  mandatory
  948.               DESCRIPTION
  949.                       "The status of the locally-held information on a
  950.                       particular SNMP party.
  951.  
  952.  
  953.  
  954. McCloghrie, Davin, & Galvin                                    [Page 17]
  955.  
  956. RFC 1353                     SNMP Party MIB                    July 1992
  957.  
  958.  
  959.                       Setting an instance of this object to the value
  960.                       'valid(1)' has the effect of ensuring that valid
  961.                       local knowledge exists for the corresponding
  962.                       party.  For valid local knowledge to exist, there
  963.                       must be corresponding instances of each object in
  964.                       this table and in the partyTable.  Thus, the
  965.                       creation of instances in the partyTable (but not
  966.                       in the aclTable or viewTable) occurs as a direct
  967.                       result of the creation of instances in this table.
  968.  
  969.                       Setting an instance of this object to the value
  970.                       'invalid(2)' has the effect of invalidating all
  971.                       local knowledge of the corresponding party,
  972.                       including the invalidating of any/all entries in
  973.                       the partyTable, the partySecretsTable, the
  974.                       aclTable, and the viewTable which reference said
  975.                       party.
  976.  
  977.                       It is an implementation-specific matter as to
  978.                       whether the agent removes an invalidated entry
  979.                       from the table.  Accordingly, management stations
  980.                       must be prepared to receive from agents tabular
  981.                       information corresponding to entries not currently
  982.                       in use.  Proper interpretation of such entries
  983.                       requires examination of the relevant
  984.                       partySecretsStatus object."
  985.               DEFVAL  { valid }
  986.               ::= { partySecretsEntry 4 }
  987.  
  988.  
  989.           --  The SNMP Access Privileges Database Group
  990.  
  991.           --  This group of objects allows the SNMP itself to be used to
  992.           --  configure new SNMP parties, or to manipulate the access
  993.           --  privileges of existing parties.
  994.           --
  995.           --  Implementation of the objects in this group is mandatory.
  996.  
  997.  
  998.           aclTable OBJECT-TYPE
  999.               SYNTAX  SEQUENCE OF AclEntry
  1000.               ACCESS  not-accessible
  1001.               STATUS  mandatory
  1002.               DESCRIPTION
  1003.                       "The access privileges database."
  1004.           ::= { partyAccess 1 }
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010. McCloghrie, Davin, & Galvin                                    [Page 18]
  1011.  
  1012. RFC 1353                     SNMP Party MIB                    July 1992
  1013.  
  1014.  
  1015.           aclEntry OBJECT-TYPE
  1016.               SYNTAX  AclEntry
  1017.               ACCESS  not-accessible
  1018.               STATUS  mandatory
  1019.               DESCRIPTION
  1020.                       "The access privileges for a particular requesting
  1021.                       SNMP party in accessing a particular target SNMP
  1022.                       party."
  1023.               INDEX  { aclTarget, aclSubject }
  1024.               ::= { aclTable 1 }
  1025.  
  1026.           AclEntry ::=
  1027.               SEQUENCE {
  1028.                   aclTarget
  1029.                       Party,
  1030.                   aclSubject
  1031.                       Party,
  1032.                   aclPrivileges
  1033.                       INTEGER,
  1034.                   aclStatus
  1035.                       INTEGER
  1036.               }
  1037.  
  1038.           aclTarget OBJECT-TYPE
  1039.               SYNTAX  Party
  1040.               ACCESS  read-write
  1041.               STATUS  mandatory
  1042.               DESCRIPTION
  1043.                       "The target SNMP party whose performance of
  1044.                       management operations is constrained by this set
  1045.                       of access privileges."
  1046.               ::= { aclEntry 1 }
  1047.  
  1048.           aclSubject OBJECT-TYPE
  1049.               SYNTAX  Party
  1050.               ACCESS  read-write
  1051.               STATUS  mandatory
  1052.               DESCRIPTION
  1053.                       "The subject SNMP party whose requests for
  1054.                       management operations to be performed is
  1055.                       constrained by this set of access privileges."
  1056.               ::= { aclEntry 2 }
  1057.  
  1058.           aclPrivileges OBJECT-TYPE
  1059.               SYNTAX  INTEGER (0..31)
  1060.               ACCESS  read-write
  1061.               STATUS  mandatory
  1062.               DESCRIPTION
  1063.  
  1064.  
  1065.  
  1066. McCloghrie, Davin, & Galvin                                    [Page 19]
  1067.  
  1068. RFC 1353                     SNMP Party MIB                    July 1992
  1069.  
  1070.  
  1071.                       "The access privileges which govern what
  1072.                       management operations a particular target party
  1073.                       may perform when requested by a particular subject
  1074.                       party.  These privileges are specified as a sum of
  1075.                       values, where each value specifies a SNMP PDU type
  1076.                       by which the subject party may request a permitted
  1077.                       operation.  The value for a particular PDU type is
  1078.                       computed as 2 raised to the value of the ASN.1
  1079.                       context-specific tag for the appropriate SNMP PDU
  1080.                       type.  The values (for the tags defined in RFC
  1081.                       1157) are defined in RFC 1351 as:
  1082.  
  1083.                        Get         :   1
  1084.                        GetNext     :   2
  1085.                        GetResponse :   4
  1086.                        Set         :   8
  1087.                        Trap        :  16
  1088.  
  1089.                       The null set is represented by the value zero."
  1090.               DEFVAL  { 3 }      -- Get & Get-Next
  1091.               ::= { aclEntry 3 }
  1092.  
  1093.           aclStatus OBJECT-TYPE
  1094.               SYNTAX  INTEGER  { valid(1), invalid(2) }
  1095.               ACCESS  read-write
  1096.               STATUS  mandatory
  1097.               DESCRIPTION
  1098.                       "The status of the access privileges for a
  1099.                       particular requesting SNMP party in accessing a
  1100.                       particular target SNMP party.  Setting an instance
  1101.                       of this object to the value 'invalid(2)' has the
  1102.                       effect of invalidating the corresponding access
  1103.                       privileges.
  1104.  
  1105.                       It is an implementation-specific matter as to
  1106.                       whether the agent removes an invalidated entry
  1107.                       from the table.  Accordingly, management stations
  1108.                       must be prepared to receive from agents tabular
  1109.                       information corresponding to entries not currently
  1110.                       in use.  Proper interpretation of such entries
  1111.                       requires examination of the relevant aclStatus
  1112.                       object."
  1113.               DEFVAL  { valid }
  1114.               ::= { aclEntry 4 }
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122. McCloghrie, Davin, & Galvin                                    [Page 20]
  1123.  
  1124. RFC 1353                     SNMP Party MIB                    July 1992
  1125.  
  1126.  
  1127.           --   The MIB View Database Group
  1128.  
  1129.           --  This group of objects allows the SNMP itself to be used to
  1130.           --  configure new SNMP parties, or to manipulate the MIB
  1131.           --  MIB views of existing parties.
  1132.           --
  1133.           --  Implementation of the objects in this group is mandatory.
  1134.  
  1135.  
  1136.           viewTable OBJECT-TYPE
  1137.               SYNTAX  SEQUENCE OF ViewEntry
  1138.               ACCESS  not-accessible
  1139.               STATUS  mandatory
  1140.               DESCRIPTION
  1141.                       "The table contained in the local database which
  1142.                       defines local MIB views.  Each SNMP party has a
  1143.                       single MIB view which is defined by two
  1144.                       collections of view subtrees: the included view
  1145.                       subtrees, and the excluded view subtrees.  Every
  1146.                       such subtree, both included and excluded, is
  1147.                       defined in this table.
  1148.  
  1149.                       To determine if a particular object instance is in
  1150.                       a particular SNMP party's MIB view, compare the
  1151.                       object instance's Object Identifier with each
  1152.                       entry (for this party) in this table.  If none
  1153.                       match, then the object instance is not in the MIB
  1154.                       view.  If one or more match, then the object
  1155.                       instance is included in, or excluded from, the MIB
  1156.                       view according to the value of viewStatus in the
  1157.                       entry whose value of viewSubtree has the most
  1158.                       sub-identifiers.  If multiple entries match and
  1159.                       have the same number of sub-identifiers, then the
  1160.                       lexicographically greatest instance of viewStatus
  1161.                       determines the inclusion or exclusion.
  1162.  
  1163.                       An object instance's Object Identifier X matches
  1164.                       an entry in this table when the number of sub-
  1165.                       identifiers in X is at least as many as in the
  1166.                       value of viewSubtree for the entry, and each sub-
  1167.                       identifier in the value of viewSubtree matches its
  1168.                       corresponding sub-identifier in X.  Two sub-
  1169.                       identifiers match either if the corresponding bit
  1170.                       of viewMask is zero (the 'wild card' value), or if
  1171.                       they are equal.
  1172.  
  1173.                       Due to this 'wild card' capability, we introduce
  1174.                       the term, a 'family' of view subtrees, to refer to
  1175.  
  1176.  
  1177.  
  1178. McCloghrie, Davin, & Galvin                                    [Page 21]
  1179.  
  1180. RFC 1353                     SNMP Party MIB                    July 1992
  1181.  
  1182.  
  1183.                       the set of subtrees defined by a particular
  1184.                       combination of values of viewSubtree and viewMask.
  1185.                       In the case where no 'wild card' is defined in
  1186.                       viewMask, the family of view subtrees reduces to a
  1187.                       single view subtree."
  1188.           ::= { partyViews 1 }
  1189.  
  1190.           viewEntry OBJECT-TYPE
  1191.               SYNTAX  ViewEntry
  1192.               ACCESS  not-accessible
  1193.               STATUS  mandatory
  1194.               DESCRIPTION
  1195.                       "Information on a particular family of view
  1196.                       subtrees included in or excluded from a particular
  1197.                       SNMP party's MIB view."
  1198.               INDEX  { viewParty, viewSubtree }
  1199.               ::= { viewTable 1 }
  1200.  
  1201.           ViewEntry ::=
  1202.               SEQUENCE {
  1203.                   viewParty
  1204.                       Party,
  1205.                   viewSubtree
  1206.                       OBJECT IDENTIFIER,
  1207.                   viewStatus
  1208.                       INTEGER,
  1209.                   viewMask
  1210.                       OCTET STRING
  1211.               }
  1212.  
  1213.           viewParty  OBJECT-TYPE
  1214.               SYNTAX  Party
  1215.               ACCESS  read-write
  1216.               STATUS  mandatory
  1217.               DESCRIPTION
  1218.                       "The SNMP party whose single MIB view includes or
  1219.                       excludes a particular family of view subtrees."
  1220.               ::= { viewEntry 1 }
  1221.  
  1222.           viewSubtree OBJECT-TYPE
  1223.               SYNTAX  OBJECT IDENTIFIER
  1224.               ACCESS  read-write
  1225.               STATUS  mandatory
  1226.               DESCRIPTION
  1227.                       "The view subtree which, in combination with the
  1228.                       corresponding instance of viewMask, defines a
  1229.                       family of view subtrees.  This family is included
  1230.                       in, or excluded from the particular SNMP party's
  1231.  
  1232.  
  1233.  
  1234. McCloghrie, Davin, & Galvin                                    [Page 22]
  1235.  
  1236. RFC 1353                     SNMP Party MIB                    July 1992
  1237.  
  1238.  
  1239.                       MIB view, according to the value of the
  1240.                       corresponding instance of viewStatus."
  1241.               ::= { viewEntry 2 }
  1242.  
  1243.           viewStatus OBJECT-TYPE
  1244.               SYNTAX  INTEGER  {
  1245.                           included(1),
  1246.                           excluded(2),
  1247.                           invalid(3)
  1248.                       }
  1249.               ACCESS  read-write
  1250.               STATUS  mandatory
  1251.               DESCRIPTION
  1252.                       "The status of a particular family of view
  1253.                       subtrees within the particular SNMP party's MIB
  1254.                       view.  The value 'included(1)' indicates that the
  1255.                       corresponding instances of viewSubtree and
  1256.                       viewMask define a family of view subtrees included
  1257.                       in the MIB view.  The  value 'excluded(2)'
  1258.                       indicates that the corresponding instances of
  1259.                       viewSubtree and viewMask define a family of view
  1260.                       subtrees excluded from the MIB view.
  1261.  
  1262.                       Setting an instance of this object to the value
  1263.                       'invalid(3)' has the effect of invalidating the
  1264.                       presence or absence of the corresponding family of
  1265.                       view subtrees in the corresponding SNMP party's
  1266.                       MIB view.
  1267.  
  1268.                       It is an implementation-specific matter as to
  1269.                       whether the agent removes an invalidated entry
  1270.                       from the table.  Accordingly, management stations
  1271.                       must be prepared to receive from agents tabular
  1272.                       information corresponding to entries not currently
  1273.                       in use.  Proper interpretation of such entries
  1274.                       requires examination of the relevant viewStatus
  1275.                       object."
  1276.               DEFVAL  { included }
  1277.               ::= { viewEntry 3 }
  1278.  
  1279.           viewMask  OBJECT-TYPE
  1280.               SYNTAX  OCTET STRING (SIZE (0..16))
  1281.               ACCESS  read-write
  1282.               STATUS  mandatory
  1283.               DESCRIPTION
  1284.                       "The bit mask which, in combination with the
  1285.                       corresponding instance of viewSubtree, defines a
  1286.                       family of view subtrees.
  1287.  
  1288.  
  1289.  
  1290. McCloghrie, Davin, & Galvin                                    [Page 23]
  1291.  
  1292. RFC 1353                     SNMP Party MIB                    July 1992
  1293.  
  1294.  
  1295.                       Each bit of this bit mask corresponds to a sub-
  1296.                       identifier of viewSubtree, with the most
  1297.                       significant bit of the i-th octet of this octet
  1298.                       string value (extended if necessary, see below)
  1299.                       corresponding to the (8*i - 7)-th sub-identifier,
  1300.                       and the least significant bit of the i-th octet of
  1301.                       this octet string corresponding to the (8*i)-th
  1302.                       sub-identifier, where i is in the range 1 through
  1303.                       16.
  1304.  
  1305.                       Each bit of this bit mask specifies whether or not
  1306.                       the corresponding sub-identifiers must match when
  1307.                       determining if an Object Identifier is in this
  1308.                       family of view subtrees; a '1' indicates that an
  1309.                       exact match must occur; a '0' indicates 'wild
  1310.                       card', i.e., any sub-identifier value matches.
  1311.  
  1312.                       Thus, the Object Identifier X of an object
  1313.                       instance is contained in a family of view subtrees
  1314.                       if the following criteria are met:
  1315.  
  1316.                            for each sub-identifier of the value of
  1317.                            viewSubtree, either:
  1318.  
  1319.                                 the i-th bit of viewMask is 0, or
  1320.  
  1321.                                 the i-th sub-identifier of X is equal to
  1322.                                 the i-th sub-identifier of the value of
  1323.                                 viewSubtree.
  1324.  
  1325.                       If the value of this bit mask is M bits long and
  1326.                       there are more than M sub-identifiers in the
  1327.                       corresponding instance of viewSubtree, then the
  1328.                       bit mask is extended with 1's to be the required
  1329.                       length.
  1330.  
  1331.                       Note that when the value of this object is the
  1332.                       zero-length string, this extension rule results in
  1333.                       a mask of all-1's being used (i.e., no 'wild
  1334.                       card'), and the family of view subtrees is the one
  1335.                       view subtree uniquely identified by the
  1336.                       corresponding instance of viewSubtree."
  1337.               DEFVAL  { ''h }
  1338.               ::= { viewEntry 4 }
  1339.  
  1340.  
  1341.           END
  1342.  
  1343.  
  1344.  
  1345.  
  1346. McCloghrie, Davin, & Galvin                                    [Page 24]
  1347.  
  1348. RFC 1353                     SNMP Party MIB                    July 1992
  1349.  
  1350.  
  1351. 5.  Acknowledgments
  1352.  
  1353.    This document was produced on behalf of the SNMP Security Working
  1354.    Group of the Internet Engineering Task Force.  The authors wish to
  1355.    thank the members of the working group, and others who contributed to
  1356.    this effort.
  1357.  
  1358. 6.  References
  1359.  
  1360.    [1] Rose, M., and K. McCloghrie, "Structure and Identification of
  1361.        Management Information for TCP/IP based internets", RFC 1155,
  1362.        Performance Systems International, Hughes LAN Systems, May 1990.
  1363.  
  1364.    [2] McCloghrie, K., and M. Rose, "Management Information Base for
  1365.        Network Management of TCP/IP-based Internets", RFC 1156, Hughes
  1366.        LAN Systems and Performance Systems International, May 1990.
  1367.  
  1368.    [3] Case, J., M. Fedor, M. Schoffstall, and J. Davin, The Simple
  1369.        Network Management Protocol", RFC 1157, University of Tennessee
  1370.        at Knoxville, Performance Systems International, Performance
  1371.        Systems International, and the MIT Laboratory for Computer
  1372.        Science, May 1990.
  1373.  
  1374.    [4] McCloghrie K., and M. Rose, Editors, "Management Information Base
  1375.        for Network Management of TCP/IP-based internets", RFC 1213,
  1376.        Performance Systems International, March 1991.
  1377.  
  1378.    [5] Information processing systems - Open Systems Interconnection -
  1379.        Specification of Abstract Syntax Notation One (ASN.1),
  1380.        International Organization for Standardization, International
  1381.        Standard 8824, December 1987.
  1382.  
  1383.    [6] Information processing systems - Open Systems Interconnection -
  1384.        Specification of Basic Encoding Rules for Abstract Notation One
  1385.        (ASN.1), International Organization for Standardization,
  1386.        International Standard 8825, December 1987.
  1387.  
  1388.    [7] Rose, M., and K. McCloghrie, Editors, "Concise MIB Definitions",
  1389.        RFC 1212, Performance Systems International, Hughes LAN Systems,
  1390.        March 1991.
  1391.  
  1392.    [8] Davin, J., Galvin, J., and K. McCloghrie, "SNMP Administrative
  1393.        Model", RFC 1351, MIT Laboratory for Computer Science, Trusted
  1394.        Information Systems, Inc., Hughes LAN Systems, Inc., July 1992.
  1395.  
  1396.    [9] Galvin, J., McCloghrie, K., and J. Davin, "SNMP Security
  1397.        Protocols", RFC 1352, Trusted Information Systems, Inc., Hughes
  1398.        LAN Systems, Inc., MIT Laboratory for Computer Science, July
  1399.  
  1400.  
  1401.  
  1402. McCloghrie, Davin, & Galvin                                    [Page 25]
  1403.  
  1404. RFC 1353                     SNMP Party MIB                    July 1992
  1405.  
  1406.  
  1407.        1992.
  1408.  
  1409. Security Considerstions
  1410.  
  1411.    Security issues are discussed in section 3.1. and in RFCs 1351 and
  1412.    1352.
  1413.  
  1414. Authors' Addresses
  1415.  
  1416.    Keith McCloghrie
  1417.    Hughes LAN Systems, Inc.
  1418.    Mountain View, CA 94043
  1419.  
  1420.    Phone:  (415) 966-7934
  1421.    EMail:  kzm@hls.com
  1422.  
  1423.  
  1424.    James R. Davin
  1425.    MIT Laboratory for Computer Science
  1426.    545 Technology Square
  1427.    Cambridge, MA 02139
  1428.  
  1429.    Phone:  (617) 253-6020
  1430.    EMail:  jrd@ptt.lcs.mit.edu
  1431.  
  1432.  
  1433.    James M. Galvin
  1434.    Trusted Information Systems, Inc.
  1435.    3060 Washington Road, Route 97
  1436.    Glenwood, MD 21738
  1437.  
  1438.    Phone:  (301) 854-6889
  1439.    EMail:  galvin@tis.com
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458. McCloghrie, Davin, & Galvin                                    [Page 26]
  1459.  
  1460.