RFC 1303 - A Convention for Describing SNMP-based Agents

[フレーム]

Network Working Group K. McCloghrie
Request For Comments: 1303 Hughes LAN Systems
 M. Rose
 Dover Beach Consulting
 February 1992
 A Convention for Describing SNMP-based Agents
Status of This Memo
 This memo provides information for the Internet community. It does
 not specify an Internet standard. Distribution of this memo is
 unlimited.
Abstract
 This memo suggests a straight-forward approach towards describing
 SNMP-based agents.
Table of Contents
 1. The Network Management Framework ............................ 2
 2. Objects ..................................................... 2
 3. Describing Agents ........................................... 3
 3.1 Definitions ................................................ 4
 3.2 Mapping of the MODULE-CONFORMANCE macro .................... 5
 3.2.1 Mapping of the LAST-UPDATED clause ....................... 6
 3.2.2 Mapping of the PRODUCT-RELEASE clause .................... 6
 3.2.3 Mapping of the DESCRIPTION clause ........................ 6
 3.2.4 Mapping of the SUPPORTS clause ........................... 6
 3.2.4.1 Mapping of the INCLUDES clause ......................... 6
 3.2.4.2 Mapping of the VARIATION clause ........................ 6
 3.2.4.2.1 Mapping of the SYNTAX clause ......................... 6
 3.2.4.2.2 Mapping of the WRITE-SYNTAX clause ................... 7
 3.2.4.2.3 Mapping of the ACCESS clause ......................... 7
 3.2.4.2.4 Mapping of the CREATION-REQUIRES clause .............. 7
 3.2.4.2.5 Mapping of the DEFVAL clause ......................... 7
 3.2.4.2.6 Mapping of the DESCRIPTION clause .................... 7
 3.3 Refined Syntax ............................................. 7
 3.4 Usage Example .............................................. 8
 4. Acknowledgements ............................................ 11
 5. References .................................................. 11
 6. Security Considerations...................................... 12
 7. Authors' Addresses........................................... 12
McCloghrie & Rose [Page 1]

RFC 1303 Convention for Describing SNMP Agents February 1992
1. The Network Management Framework
 The Internet-standard Network Management Framework consists of
 three components. They are:
 RFC 1155 [1] which defines the SMI, the mechanisms used for
 describing and naming objects for the purpose of management.
 RFC 1212 [2] defines a more concise description mechanism,
 which is wholly consistent with the SMI.
 RFC 1213 [3] which defines MIB-II, the core set of managed
 objects for the Internet suite of protocols.
 RFC 1157 [4] which defines the SNMP, the protocol used for
 network access to managed objects.
 The Framework permits new objects to be defined for the
 purpose of experimentation and evaluation.
2. Objects
 Managed objects are accessed via a virtual information store,
 termed the Management Information Base or MIB. Within a given
 MIB module, objects are defined using RFC 1212's OBJECT-TYPE
 macro. At a minimum, each object has a name, a syntax, an
 access-level, and an implementation-status.
 The name is an object identifier, an administratively assigned
 name, which specifies an object type. The object type
 together with an object instance serves to uniquely identify a
 specific instantiation of the object. For human convenience,
 we often use a textual string, termed the OBJECT DESCRIPTOR,
 to also refer to the object type.
 The syntax of an object type defines the abstract data
 structure corresponding to that object type. The ASN.1[5]
 language is used for this purpose. However, RFC 1155
 purposely restricts the ASN.1 constructs which may be used.
 These restrictions are explicitly made for simplicity.
 The access-level of an object type defines whether it makes
 "protocol sense" to read and/or write the value of an instance
 of the object type. (This access-level is independent of any
 administrative authorization policy.)
 The implementation-status of an object type indicates whether
 the object is mandatory, optional, obsolete, or deprecated.
McCloghrie & Rose [Page 2]

RFC 1303 Convention for Describing SNMP Agents February 1992
3. Describing Agents
 When a MIB module is written, it is divided into units of
 conformance termed groups. If an agent claims conformance to
 a group, then it must implement each and every object within
 that group. Of course, for whatever reason, an agent may
 implement only a subset of the groups within a MIB module. In
 addition, the definition of some MIB objects leave some
 aspects of the definition to the discretion of an implementor.
 Practical experience has demonstrated a need for concisely
 describing the capabilities of an agent with regards to the
 MIB groups that it implements. This memo defines a new macro,
 MODULE-CONFORMANCE, which allows an agent implementor to
 describe the precise level of support which an agent claims in
 regards to a MIB group, and to bind that description to the
 sysObjectID associated with the agent. In particular, some
 objects may have restricted or augmented syntax or access-
 levels.
 If the MODULE-CONFORMANCE invocation is given to a
 management-station implementor, then that implementor can
 build management applications which optimize themselves when
 communicating with a particular agent. For example, the
 management-station can maintain a database of these
 invocations. When a management-station interacts with an
 agent, it retrieves the agent's sysObjectID. Based on this,
 it consults the database. If an entry is found, then the
 management application can optimize its behavior accordingly.
 This binding to sysObjectId may not always suffice to define
 all MIB objects to which an agent can provide access. In
 particular, this situation occurs where the agent dynamically
 learns of the objects it supports, for example, an agent
 supporting SMUX peers via the SMUX protocol [6]. In these
 situations, additional MIB objects beyond sysObjectID must be
 used to name other invocations of the MODULE-CONFORMANCE macro
 to augment the description of MIB support provided by the
 agent. For example, if an agent's sysObjectID indicates that
 it supports the SMUX MIB, then each instance of smuxPidentity
 will indicate another MODULE-CONFORMANCE invocation which is
 dynamically being supported by the agent.
McCloghrie & Rose [Page 3]

RFC 1303 Convention for Describing SNMP Agents February 1992
3.1. Definitions
 RFC-1303 DEFINITIONS ::= BEGIN
 IMPORTS
 ObjectName, ObjectSyntax
 FROM RFC1155-SMI
 DisplayString
 FROM RFC1213-MIB;
 MODULE-CONFORMANCE MACRO ::=
 BEGIN
 TYPE NOTATION ::=
 "LAST-UPDATED"
 value(update UTCTime)
 "PRODUCT-RELEASE"
 value(release DisplayString)
 "DESCRIPTION"
 value(description DisplayString)
 ModulePart
 VALUE NOTATION ::= -- agent's sysObjectID --
 value(VALUE ObjectName)
 ModulePart ::= Modules
 | empty
 Modules ::= Module
 | Modules Module
 Module ::= -- name of module --
 "SUPPORTS" ModuleName
 "INCLUDES" "{" Groups "}"
 VariationPart
 ModuleName ::= identifier ModuleIdentifier
 ModuleIdentifier ::=
 value (moduleID OBJECT IDENTIFIER)
 | empty
 Groups ::= Group
 | Groups "," Group
 Group ::= value(group OBJECT IDENTIFIER)
 VariationPart ::= Variations
 | empty
McCloghrie & Rose [Page 4]

RFC 1303 Convention for Describing SNMP Agents February 1992
 Variations ::= Variation
 | Variations Variation
 Variation ::= "VARIATION" value(object ObjectName)
 Syntax WriteSyntax Access
 Creation DefaultValue
 "DESCRIPTION"
 value(limitext DisplayString)
 -- must be a refinement for object's SYNTAX
 Syntax ::= "SYNTAX" type(SYNTAX)
 | empty
 -- must be a refinement for object's SYNTAX
 WriteSyntax ::= "WRITE-SYNTAX" type(WriteSYNTAX)
 | empty
 Access ::= "ACCESS" AccessValue
 | empty
 AccessValue ::= "read-only"
 | "read-write"
 | "write-only"
 | "not-accessible"
 Creation ::= "CREATION-REQUIRES" "{" Cells "}"
 Cells ::= Cell
 | Cells "," Cell
 Cell ::= value(cell ObjectName)
 DefaultValue ::= "DEFVAL"
 "{" value (defval ObjectSyntax) "}"
 | empty
 END
 END
3.2. Mapping of the MODULE-CONFORMANCE macro
 It should be noted that the expansion of the MODULE-CONFORMANCE macro
 is something which conceptually happens during implementation and not
 during run-time.
McCloghrie & Rose [Page 5]

RFC 1303 Convention for Describing SNMP Agents February 1992
3.2.1. Mapping of the LAST-UPDATED clause
 The LAST-UPDATED clause, which must be present, contains the date and
 time that this definition was last edited.
3.2.2. Mapping of the PRODUCT-RELEASE clause
 The PRODUCT-RELEASE clause, which must be present, contains a textual
 description of the product release which includes this agent.
3.2.3. Mapping of the DESCRIPTION clause
 The DESCRIPTION clause, which must be present, contains a textual
 description of this agent.
3.2.4. Mapping of the SUPPORTS clause
 The SUPPORTS clause, which need not be present, is repeatedly used to
 name each MIB module for which the agent claims a complete or partial
 implementation. Each MIB module is named by its module name, and
 optionally, by its associated OBJECT IDENTIFIER as well. (Note that
 only a few MIB modules have had OBJECT IDENTIFIERs assigned to them.)
3.2.4.1. Mapping of the INCLUDES clause
 The INCLUDES clause, which must be present for each use of the
 SUPPORTS clause, is used to name each MIB group associated with the
 SUPPORT clause, which the agent claims to implement.
3.2.4.2. Mapping of the VARIATION clause
 The VARIATION clause, which need not be present, is repeatedly used
 to name each MIB object which the agent implements in some variant or
 refined fashion.
3.2.4.2.1. Mapping of the SYNTAX clause
 The SYNTAX clause, which need not be present, is used to provide a
 refined SYNTAX for the object named in the correspondent VARIATION
 clause. Note that if this clause and a WRITE-SYNTAX clause are both
 present, then this clause only applies when instances of the object
 named in the correspondent VARIATION clause are read.
 Consult Section 3.3 for more information on refined syntax.
McCloghrie & Rose [Page 6]

RFC 1303 Convention for Describing SNMP Agents February 1992
3.2.4.2.2. Mapping of the WRITE-SYNTAX clause
 The WRITE-SYNTAX clause, which need not be present, is used to
 provide a refined SYNTAX for the object named in the correspondent
 VARIATION clause when instances of that object are written.
 Consult Section 3.3 for more information on refined syntax.
3.2.4.2.3. Mapping of the ACCESS clause
 The ACCESS clause, which need not be present, is used to provide a
 refined ACCESS for the object named in the correspondent VARIATION
 clause.
3.2.4.2.4. Mapping of the CREATION-REQUIRES clause
 The CREATION-REQUIRES clause, which need not be present, is used to
 name the columnar objects of a conceptual row to which values must be
 explicitly assigned, by a SNMP Set operation, before the agent will
 create new instances of objects in that row. This clause must not be
 present unless the object named in the correspondent VARIATION clause
 is a conceptual row, i.e., has a syntax which resolves to a SEQUENCE
 containing columnar objects. The objects named in the value of this
 clause usually will refer to columnar objects in that row. However,
 objects unrelated to the conceptual row may also be specified.
 The absence of this clause for a particular conceptual row indicates
 that the agent does not support the creation, via SNMP operations, of
 new object instances in that row.
3.2.4.2.5. Mapping of the DEFVAL clause
 The DEFVAL clause, which need not be present, is used to provide a
 refined DEFVAL value for the object named in the correspondent
 VARIATION clause. The semantics of this value are identical to those
 of the OBJECT-TYPE macro's DEFVAL clause [2].
3.2.4.2.6. Mapping of the DESCRIPTION clause
 The DESCRIPTION clause, which must be present for each use of the
 VARIATION clause, contains a textual description of the variant or
 refined implementation.
3.3. Refined Syntax
 The SYNTAX and WRITE-SYNTAX clauses allow an object's Syntax to be
 refined. However, not all refinements of syntax are appropriate. In
 particular,
McCloghrie & Rose [Page 7]

RFC 1303 Convention for Describing SNMP Agents February 1992
 (1) the object's primitive or application type (as defined in
 the SMI [1]) must not be changed;
 (2) an object defined with an SMI type of OBJECT IDENTIFIER,
 IpAddress, Counter, or TimeTicks cannot be refined; and,
 (3) an object defined to have a specific set of values (e.g.,
 an INTEGER with named values) cannot have additional
 values defined for it.
3.4. Usage Example
 Consider how one might document the 4BSD/ISODE "Secure" SNMP
 agent:
 FourBSD-ISODE DEFINITIONS ::= BEGIN
 IMPORTS
 MODULE-CONFORMANCE
 FROM RFC-1303
 -- everything --
 FROM RFCxxxx-MIB
 -- everything --
 FROM RFC1213-MIB
 -- everything --
 FROM UNIX-MIB
 -- everything --
 FROM EVAL-MIB;
 fourBSD-isode-support MODULE-CONFORMANCE
 LAST-UPDATED "9201252354Z"
 PRODUCT-RELEASE "ISODE 7.0 + 'Secure' SNMP
 upgrade for SunOS 4.1"
 DESCRIPTION "4BSD/ISODE 'Secure' SNMP"
 SUPPORTS RFCxxxx-MIB -- SNMP Party MIB --
 INCLUDES { partyPublic, partyPrivate }
 SUPPORTS RFC1213-MIB
 INCLUDES { system, interfaces, at, ip, icmp,
 tcp, udp, snmp }
 VARIATION atEntry
 CREATION-REQUIRES { atPhysAddress }
 DESCRIPTION "Address mappings on 4BSD require
 both protocol and media addresses"
 VARIATION ifAdminStatus
McCloghrie & Rose [Page 8]

RFC 1303 Convention for Describing SNMP Agents February 1992
 SYNTAX INTEGER { up(1), down(2) }
 DESCRIPTION "Unable to set test mode on 4BSD"
 VARIATION ifOperStatus
 SYNTAX INTEGER { up(1), down(2) }
 DESCRIPTION "Information limited on 4BSD"
 VARIATION ipDefaultTTL
 SYNTAX INTEGER { maxttl(255) }
 DESCRIPTION "Hard-wired on 4BSD"
 VARIATION ipInAddrErrors
 ACCESS not-accessible
 DESCRIPTION "Information not available on 4BSD"
 VARIATION ipInDiscards
 ACCESS not-accessible
 DESCRIPTION "Information not available on 4BSD"
 VARIATION ipRouteEntry
 CREATION-REQUIRES { ipRouteNextHop }
 DESCRIPTION "Routes on 4BSD require both
 destination and next-hop"
 VARIATION ipRouteType
 SYNTAX INTEGER { direct(3), indirect(4) }
 WRITE-SYNTAX INTEGER { invalid(2), direct(3),
 indirect(4) }
 DESCRIPTION "Information limited on 4BSD"
 VARIATION ipRouteProto
 SYNTAX INTEGER { other(1), icmp (4) }
 DESCRIPTION "Information limited on 4BSD"
 VARIATION ipRouteAge
 ACCESS not-accessible
 DESCRIPTION "Information not available on 4BSD"
 VARIATION ipNetToMediaEntry
 CREATION-REQUIRES { ipNetToMediaPhysAddress }
 DESCRIPTION "Address mappings on 4BSD require
 both protocol and media addresses"
 VARIATION ipNetToMediaType
 SYNTAX INTEGER { dynamic(3), static(4) }
 WRITE-SYNTAX INTEGER { invalid(2), dynamic(3),
 static(4) }
 DESCRIPTION "Information limited on 4BSD"
McCloghrie & Rose [Page 9]

RFC 1303 Convention for Describing SNMP Agents February 1992
 VARIATION tcpConnState
 ACCESS read-only
 DESCRIPTION "Unable to set this on 4BSD"
 VARIATION tcpInErrs
 ACCESS not-accessible
 DESCRIPTION "Information not available on 4BSD"
 VARIATION tcpOutRsts
 ACCESS not-accessible
 DESCRIPTION "Information not available on 4BSD"
 SUPPORTS UNIX-MIB
 INCLUDES { agents, mbuf, netstat }
 SUPPORTS EVAL-MIB
 INCLUDES { functions, expressions }
 ::= { fourBSD-isode 6 6 }
 END
 According to this invocation, an agent with a sysObjectID of
 { fourBSD-isode 6 6 }
 supports four MIB modules.
 From the SNMP Party MIB, all the objects contained in the partyPublic
 and partyPrivate groups are supported, without variation.
 From MIB-II, all groups except the egp group are supported. However,
 the objects
 ipInAddrErrors
 ipInDiscards
 ipRouteAge
 tcpInErrs
 tcpOutRsts
 are not available, whilst the objects
 ifAdminStatus
 ifOperStatus
 ipDefaultTTL
 ipRouteType
 ipRouteProto
 ipNetToMediaType
McCloghrie & Rose [Page 10]

RFC 1303 Convention for Describing SNMP Agents February 1992
 have a restricted syntax, and the object
 tcpConnState
 is available only for reading. Note that in the case of the objects
 ipRouteType
 ipNetToMediaType
 the set of values which may be read is different than the set of
 values which may be written. Finally, when creating a new row in the
 atTable, the set-request must create an instance of atPhysAddress.
 Similarly, when creating a new row in the ipRouteTable, the set-
 request must create an instance of ipRouteNextHop. Similarly, when
 creating a new row in the ipNetToMediaTable, the set-request must
 create an instance of ipNetToMediaPhysAddress.
 From the UNIX-MIB, all the objects contained in the agents, mbuf, and
 netstat groups are supported, without variation.
 From the EVAL-MIB, all the objects contained in the functions and
 expressions groups are supported, without variation.
4. Acknowledgements
 The authors gratefully acknowledge the comments of Mark van der Pol
 of Hughes LAN Systems, and David T. Perkins of SynOptics
 Communications.
5. References
 [1] Rose M., and K. McCloghrie, "Structure and Identification of
 Management Information for TCP/IP-based internets", RFC 1155,
 Performance Systems International, Hughes LAN Systems, May 1990.
 [2] Rose, M., and K. McCloghrie, Editors, "Concise MIB Definitions",
 RFC 1212, Performance Systems International, Hughes LAN Systems,
 March 1991.
 [3] McCloghrie K., and M. Rose, Editors, "Management Information
 Base forNetwork Management of TCP/IP-based internets", RFC 1213,
 Performance Systems International, March 1991.
 [4] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple
 Network Management Protocol (SNMP), RFC 1157, SNMP Research,
 Performance Systems International, Performance Systems
 International, MIT Laboratory for Computer Science, May 1990.
McCloghrie & Rose [Page 11]

RFC 1303 Convention for Describing SNMP Agents February 1992
 [5] Information processing systems - Open Systems Interconnection -
 Specification of Abstract Syntax Notation One (ASN.1),
 International Organization for Standardization, International
 Standard 8824, December 1987.
 [6] Rose, M., "SNMP MUX Protocol and MIB", RFC 1227, Performance
 Systems International, May 1991.
6. Security Considerations
 Security issues are not discussed in this memo.
7. Authors' Addresses
 Keith McCloghrie
 Hughes LAN Systems
 1225 Charleston Road
 Mountain View, CA 94043
 Phone: (415) 966-7934
 EMail: kzm@hls.com
 Marshall T. Rose
 Dover Beach Consulting, Inc.
 420 Whisman Court
 Mountain View, CA 94043-2112
 Phone: (415) 968-1052
 EMail: mrose@dbc.mtview.ca.us
McCloghrie & Rose [Page 12]

AltStyle によって変換されたページ (->オリジナル) /