RFC1442 - Structure of Management Information for version 2(2)

时间:2005-02-14 来源: 作者: 点击:
RFC1442 SMI for SNMPv2 April 1993 7.11. Usage Example Consider how one might define a conceptual table and its subordinates. evalSlot OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DE
  

RFC1442 SMI for SNMPv2 April 1993

7.11. Usage Example

Consider how one might define a conceptual table and its
subordinates.

evalSlot OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The index number of the first unassigned entry in
the evaluation table.

A management station should create new entries in
the evaluation table using this algorithm: first,
issue a management protocol retrieval operation to
determine the value of evalSlot; and, second,
issue a management protocol set operation to
create an instance of the evalStatus object
setting its value to underCreation(1). If this
latter operation succeeds, then the management
station may continue modifying the instances
corresponding to the newly created conceptual row,
without fear of collision with other management
stations."
::= { eval 1 }

evalTable OBJECT-TYPE
SYNTAX SEQUENCE OF EvalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The (conceptual) evaluation table."
::= { eval 2 }

evalEntry OBJECT-TYPE
SYNTAX EvalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry (conceptual row) in the evaluation
table."
INDEX { evalIndex }
::= { evalTable 1 }

RFC1442 SMI for SNMPv2 April 1993

EvalEntry ::=
SEQUENCE {
evalIndex Integer32,
evalString DisplayString,
evalValue Integer32,
evalStatus RowStatus
}

evalIndex OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The auxiliary variable used for identifying
instances of the columnar objects in the
evaluation table."
::= { evalEntry 1 }

evalString OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The string to evaluate."
::= { evalEntry 2 }

evalValue OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value when evalString was last executed."
DEFVAL { 0 }
::= { evalEntry 3 }

evalStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status column used for creating, modifying,
and deleting instances of the columnar objects in
the evaluation table."
DEFVAL { active }
::= { evalEntry 4 }

RFC1442 SMI for SNMPv2 April 1993

8. Mapping of the NOTIFICATION-TYPE macro

The NOTIFICATION-TYPE macro is used to define the information
contained within an unsolicited transmission of management
information (i.e., within either a SNMPv2-Trap-PDU or
InformRequest-PDU). It should be noted that the expansion of
the NOTIFICATION-TYPE macro is something which conceptually
happens during implementation and not during run-time.

8.1. Mapping of the OBJECTS clause

The OBJECTS clause, which need not be present, defines the
ordered sequence of MIB objects which are contained within
every instance of the notification.

8.2. Mapping of the STATUS clause

The STATUS clause, which must be present, indicates whether
this definition is current or historic.

The values "current", and "obsolete" are self-explanatory.
The "deprecated" value indicates that the notification is
obsolete, but that an implementor may wish to support that
object to foster interoperability with older implementations.

8.3. Mapping of the DESCRIPTION clause

The DESCRIPTION clause, which must be present, contains a
textual definition of the notification which provides all
semantic definitions necessary for implementation, and should
embody any information which would otherwise be communicated
in any ASN.1 commentary annotations associated with the
object. In particular, the DESCRIPTION clause should document
which instances of the objects mentioned in the OBJECTS clause
should be contained within notifications of this type.

8.4. Mapping of the REFERENCE clause

The REFERENCE clause, which need not be present, contains a
textual cross-reference to a notification defined in some
other information module. This is useful when de-osifying a

RFC1442 SMI for SNMPv2 April 1993

MIB module produced by some other organization.

8.5. Mapping of the NOTIFICATION-TYPE value

The value of an invocation of the NOTIFICATION-TYPE macro is
the name of the notification, which is an OBJECT IDENTIFIER,
an administratively assigned name.

Sections 4.2.6 and 4.2.7 of [6] describe how the
NOTIFICATION-TYPE macro is used to generate a SNMPv2-Trap-PDU
or InformRequest-PDU, respectively.

RFC1442 SMI for SNMPv2 April 1993

8.6. Usage Example

Consider how a linkUp trap might be described:

linkUp NOTIFICATION-TYPE
OBJECTS { ifIndex }
STATUS current
DESCRIPTION
"A linkUp trap signifies that the SNMPv2 entity,
acting in an agent role, recognizes that one of
the communication links represented in its
configuration has come up."
::= { snmpTraps 4 }

According to this invocation, the trap authoritatively
identified as

{ snmpTraps 4 }

is used to report a link coming up.

Note that a SNMPv2 entity acting in an agent role can be
configured to send this trap to zero or more SNMPv2 entities
acting in a manager role, depending on the contents of the
aclTable and viewTable [8] tables. For example, by judicious
use of the viewTable, a SNMPv2 entity acting in an agent role
might be configured to send all linkUp traps to one particular
SNMPv2 entity, and linkUp traps for only certain interfaces to
other SNMPv2 entities.

RFC1442 SMI for SNMPv2 April 1993

9. Refined Syntax

Some macros allow an object's syntax to be refined (e.g., the
SYNTAX clause in the MODULE-COMPLIANCE macro [2]). However,
not all refinements of syntax are appropriate. In particular,
the object's primitive or application type must not be
changed.

Further, the following restrictions apply:

Restrictions to Refinement on
object syntax range enumeration size repertoire
----------------- ----- ----------- ---- ----------
INTEGER (1) (2) - -
OCTET STRING - - (3) (4)
OBJECT IDENTIFIER - - - -
BIT STRING - (2) - -
IpAddress - - - -
Counter32 - - - -
Gauge32 (1) - - -
TimeTicks - - - -
NsapAddress - - - -
Counter64 - - - -

where:

(1) the range of permitted values may be refined by raising
the lower-bounds, by reducing the upper-bounds, and/or by
reducing the alternative value/range choices;

(2) the enumeration of named-values may be refined by
removing one or more named-values;

(3) the size in characters of the value may be refined by
raising the lower-bounds, by reducing the upper-bounds,
and/or by reducing the alternative size choices; or,

(4) the repertoire of characters in the value may be reduced
by further sub-typing.

Otherwise no refinements are possible.

Note that when refining an object with a SYNTAX clause value
of Integer32 or UInteger32, the refined SYNTAX is expressed as
an INTEGER and the restrictions of the table above are used.

RFC1442 SMI for SNMPv2 April 1993

10. Extending an Information Module

As experience is gained with a published information module,
it may be desirable to revise that information module.

To begin, the invocation of the MODULE-IDENTITY macro should
be updated to include information about the revision.
Usually, this consists of updating the LAST-UPDATED clause and
adding a pair of REVISION and DESCRIPTION clauses. However,
other existing clauses in the invocation may be updated.

Note that the module's label (e.g., "FIZBIN-MIB" from the
example in Section 5.8), is not changed when the information
module is revised.

10.1. Object Assignments

If any non-editorial change is made to any clause of a object
assignment, then the OBJECT IDENTIFIER value associated with
that object assignment must also be changed, along with its
associated descriptor.

10.2. Object Definitions

An object definition may be revised in any of the following
ways:

(1) A SYNTAX clause containing an enumerated INTEGER may have
new enumerations added or existing labels changed.

(2) A STATUS clause value of "current" may be revised as
"deprecated" or "obsolete". Similarly, a STATUS clause
value of "deprecated" may be revised as "obsolete".

(3) A DEFVAL clause may be added or updated.

(4) A REFERENCE clause may be added or updated.

(5) A UNITS clause may be added.

(6) A conceptual row may be augmented by adding new columnar
objects at the end of the row.

RFC1442 SMI for SNMPv2 April 1993

(7) Entirely new objects may be defined, named with
previously unassigned OBJECT IDENTIFIER values.

Otherwise, if the semantics of any previously defined object
are changed (i.e., if a non-editorial change is made to any
clause other those specifically allowed above), then the
OBJECT IDENTIFIER value associated with that object must also
be changed.

Note that changing the descriptor associated with an existing
object is considered a semantic change, as these strings may
be used in an IMPORTS statement.

Finally, note that if an object has the value of its STATUS
clause changed, then the value of its DESCRIPTION clause
should be updated accordingly.

10.3. Notification Definitions

A notification definition may be revised in any of the
following ways:

(1) A REFERENCE clause may be added or updated.

Otherwise, if the semantics of any previously defined
notification are changed (i.e., if a non-editorial change is
made to any clause other those specifically allowed above),
then the OBJECT IDENTIFIER value associated with that
notification must also be changed.

Note that changing the descriptor associated with an existing
notification is considered a semantic change, as these strings
may be used in an IMPORTS statement.

Finally, note that if an object has the value of its STATUS
clause changed, then the value of its DESCRIPTION clause
should be updated accordingly.

RFC1442 SMI for SNMPv2 April 1993

11. Appendix: de-OSIfying a MIB module

There has been an increasing amount of work recently on taking
MIBs defined by other organizations (e.g., the IEEE) and de-
osifying them for use with the Internet-standard network
management framework. The steps to achieve this are
straight-forward, though tedious. Of course, it is helpful to
already be experienced in writing MIB modules for use with the
Internet-standard network management framework.

The first step is to construct a skeletal MIB module, as shown
earlier in Section 5.8. The next step is to categorize the
objects into groups. Optional objects are not permitted.
Thus, when a MIB module is created, optional objects must be
placed in a additional groups, which, if implemented, all
objects in the group must be implemented. For the first pass,
it is wisest to simply ignore any optional objects in the
original MIB: experience shows it is better to define a core
MIB module first, containing only essential objects; later, if
experience demands, other objects can be added.

11.1. Managed Object Mapping

Next for each managed object class, determine whether there
can exist multiple instances of that managed object class. If
not, then for each of its attributes, use the OBJECT-TYPE
macro to make an equivalent definition.

Otherwise, if multiple instances of the managed object class
can exist, then define a conceptual table having conceptual
rows each containing a columnar object for each of the managed
object class's attributes. If the managed object class is
contained within the containment tree of another managed
object class, then the assignment of an object is normally
required for each of the "distinguished attributes" of the
containing managed object class. If they do not already exist
within the MIB module, then they can be added via the
definition of additional columnar objects in the conceptual
row corresponding to the contained managed object class.

In defining a conceptual row, it is useful to consider the
optimization of network management operations which will act
upon its columnar objects. In particular, it is wisest to
avoid defining more columnar objects within a conceptual row,

RFC1442 SMI for SNMPv2 April 1993

than can fit in a single PDU. As a rule of thumb, a
conceptual row should contain no more than approximately 20
objects. Similarly, or as a way to abide by the "20 object
guideline", columnar objects should be grouped into tables
according to the expected grouping of network management
operations upon them. As such, the content of conceptual rows
should reflect typical access scenarios, e.g., they should be
organized along functional lines such as one row for
statistics and another row for parameters, or along usage
lines such as commonly-needed objects versus rarely-needed
objects.

On the other hand, the definition of conceptual rows where the
number of columnar objects used as indexes outnumbers the
number used to hold information, should also be avoided. In
particular, the splitting of a managed object class's
attributes into many conceptual tables should not be used as a
way to obtain the same degree of flexibility/complexity as is
often found in MIBs with a myriad of optionals.

11.1.1. Mapping to the SYNTAX clause

When mapping to the SYNTAX clause of the OBJECT-type macro:

(1) An object with BOOLEAN syntax becomes a TruthValue [3].

(2) An object with INTEGER syntax becomes an Integer32.

(3) An object with ENUMERATED syntax becomes an INTEGER with
enumerations, taking any of the values given which can be
represented with an Integer32.

(4) An object with BIT STRING syntax but no enumerations
becomes an OCTET STRING.

(5) An object with a character string syntax becomes either
an OCTET STRING, or a DisplayString [3], depending on the
repertoire of the character string.

(6) A non-tabular object with a complex syntax, such as REAL
or EXTERNAL, must be decomposed, usually into an OCTET
STRING (if sensible). As a rule, any object with a
complicated syntax should be avoided.

RFC1442 SMI for SNMPv2 April 1993

(7) Tabular objects must be decomposed into rows of columnar
objects.

11.1.2. Mapping to the UNITS clause

If the description of this managed object defines a unit-
basis, then mapping to this clause is straight-forward.

11.1.3. Mapping to the MAX-ACCESS clause

This is straight-forward.

11.1.4. Mapping to the STATUS clause

This is straight-forward.

11.1.5. Mapping to the DESCRIPTION clause

This is straight-forward: simply copy the text, making sure
that any embedded double quotation marks are sanitized (i.e.,
replaced with single-quotes or removed).

11.1.6. Mapping to the REFERENCE clause

This is straight-forward: simply include a textual reference
to the object being mapped, the document which defines the
object, and perhaps a page number in the document.

11.1.7. Mapping to the INDEX clause

If necessary, decide how instance-identifiers for columnar
objects are to be formed and define this clause accordingly.

11.1.8. Mapping to the DEFVAL clause

Decide if a meaningful default value can be assigned to the
object being mapped, and if so, define the DEFVAL clause
accordingly.

RFC1442 SMI for SNMPv2 April 1993

11.2. Action Mapping

Actions are modeled as read-write objects, in which writing a
particular value results in a state change. (Usually, as a
part of this state change, some action might take place.)

11.2.1. Mapping to the SYNTAX clause

Usually the Integer32 syntax is used with a distinguished
value provided for each action that the object provides access
to. In addition, there is usually one other distinguished
value, which is the one returned when the object is read.

11.2.2. Mapping to the MAX-ACCESS clause

Always use read-write or read-create.

11.2.3. Mapping to the STATUS clause

This is straight-forward.

11.2.4. Mapping to the DESCRIPTION clause

This is straight-forward: simply copy the text, making sure
that any embedded double quotation marks are sanitized (i.e.,
replaced with single-quotes or removed).

11.2.5. Mapping to the REFERENCE clause

This is straight-forward: simply include a textual reference
to the action being mapped, the document which defines the
action, and perhaps a page number in the document.

11.3. Event Mapping

Events are modeled as SNMPv2 notifications using
NOTIFICATION-TYPE macro. However, recall that SNMPv2
emphasizes trap-directed polling. As such, few, and usually
no, notifications, need be defined for any MIB module.

RFC1442 SMI for SNMPv2 April 1993

11.3.1. Mapping to the STATUS clause

This is straight-forward.

11.3.2. Mapping to the DESCRIPTION clause

This is straight-forward: simply copy the text, making sure
that any embedded double quotation marks are sanitized (i.e.,
replaced with single-quotes or removed).

11.3.3. Mapping to the REFERENCE clause

This is straight-forward: simply include a textual reference
to the notification being mapped, the document which defines
the notification, and perhaps a page number in the document.

RFC1442 SMI for SNMPv2 April 1993

12. Acknowledgements

The section on object definitions (and MIB de-osification) is
based, in part, on RFCs 1155 and 1212. The IMPLIED keyword is
based on a conversation with David T. Perkins in December,
1991.

The section on trap definitions is based, in part, on RFC
1215.

Finally, the comments of the SNMP version 2 working group are
gratefully acknowledged:

Beth Adams, Network Management Forum
Steve Alexander, INTERACTIVE Systems Corporation
David Arneson, Cabletron Systems
Toshiya Asaba
Fred Baker, ACC
Jim Barnes, Xylogics, Inc.
Brian Bataille
Andy Bierman, SynOptics Communications, Inc.
Uri Blumenthal, IBM Corporation
Fred Bohle, Interlink
Jack Brown
Theodore Brunner, Bellcore
Stephen F. Bush, GE Information Services
Jeffrey D. Case, University of Tennessee, Knoxville
John Chang, IBM Corporation
Szusin Chen, Sun Microsystems
Robert Ching
Chris Chiotasso, Ungermann-Bass
Bobby A. Clay, NASA/Boeing
John Cooke, Chipcom
Tracy Cox, Bellcore
Juan Cruz, Datability, Inc.
David Cullerot, Cabletron Systems
Cathy Cunningham, Microcom
James R. (Chuck) Davin, Bellcore
Michael Davis, Clearpoint
Mike Davison, FiberCom
Cynthia DellaTorre, MITRE
Taso N. Devetzis, Bellcore
Manual Diaz, DAVID Systems, Inc.
Jon Dreyer, Sun Microsystems
David Engel, Optical Data Systems

RFC1442 SMI for SNMPv2 April 1993

Mike Erlinger, Lexcel
Roger Fajman, NIH
Daniel Fauvarque, Sun Microsystems
Karen Frisa, CMU
Shari Galitzer, MITRE
Shawn Gallagher, Digital Equipment Corporation
Richard Graveman, Bellcore
Maria Greene, Xyplex, Inc.
Michel Guittet, Apple
Robert Gutierrez, NASA
Bill Hagerty, Cabletron Systems
Gary W. Haney, Martin Marietta Energy Systems
Patrick Hanil, Nokia Telecommunications
Matt Hecht, SNMP Research, Inc.
Edward A. Heiner, Jr., Synernetics Inc.
Susan E. Hicks, Martin Marietta Energy Systems
Geral Holzhauer, Apple
John Hopprich, DAVID Systems, Inc.
Jeff Hughes, Hewlett-Packard
Robin Iddon, Axon Networks, Inc.
David Itusak
Kevin M. Jackson, Concord Communications, Inc.
Ole J. Jacobsen, Interop Company
Ronald Jacoby, Silicon Graphics, Inc.
Satish Joshi, SynOptics Communications, Inc.
Frank Kastenholz, FTP Software
Mark Kepke, Hewlett-Packard
Ken Key, SNMP Research, Inc.
Zbiginew Kielczewski, Eicon
Jongyeoi Kim
Andrew Knutsen, The Santa Cruz Operation
Michael L. Kornegay, VisiSoft
Deirdre C. Kostik, Bellcore
Cheryl Krupczak, Georgia Tech
Mark S. Lewis, Telebit
David Lin
David Lindemulder, AT&T/NCR
Ben Lisowski, Sprint
David Liu, Bell-Northern Research
John Lunny, The Wollongong Group
Robert C. Lushbaugh Martin, Marietta Energy Systems
Michael Luufer, BBN
Carl Madison, Star-Tek, Inc.
Keith McCloghrie, Hughes LAN Systems
Evan McGinnis, 3Com Corporation

RFC1442 SMI for SNMPv2 April 1993

Bill McKenzie, IBM Corporation
Donna McMaster, SynOptics Communications, Inc.
John Medicke, IBM Corporation
Doug Miller, Telebit
Dave Minnich, FiberCom
Mohammad Mirhakkak, MITRE
Rohit Mital, Protools
George Mouradian, AT&T Bell Labs
Patrick Mullaney, Cabletron Systems
Dan Myers, 3Com Corporation
Rina Nathaniel, Rad Network Devices Ltd.
Hien V. Nguyen, Sprint
Mo Nikain
Tom Nisbet
William B. Norton, MERIT
Steve Onishi, Wellfleet Communications, Inc.
David T. Perkins, SynOptics Communications, Inc.
Carl Powell, BBN
Ilan Raab, SynOptics Communications, Inc.
Richard Ramons, AT&T
Venkat D. Rangan, Metric Network Systems, Inc.
Louise Reingold, Sprint
Sam Roberts, Farallon Computing, Inc.
Kary Robertson, Concord Communications, Inc.
Dan Romascanu, Lannet Data Communications Ltd.
Marshall T. Rose, Dover Beach Consulting, Inc.
Shawn A. Routhier, Epilogue Technology Corporation
Chris Rozman
Asaf Rubissa, Fibronics
Jon Saperia, Digital Equipment Corporation
Michael Sapich
Mike Scanlon, Interlan
Sam Schaen, MITRE
John Seligson, Ultra Network Technologies
Paul A. Serice, Corporation for Open Systems
Chris Shaw, Banyan Systems
Timon Sloane
Robert Snyder, Cisco Systems
Joo Young Song
Roy Spitier, Sprint
Einar Stefferud, Network Management Associates
John Stephens, Cayman Systems, Inc.
Robert L. Stewart, Xyplex, Inc. (chair)
Kaj Tesink, Bellcore
Dean Throop, Data General

RFC1442 SMI for SNMPv2 April 1993

Ahmet Tuncay, France Telecom-CNET
Maurice Turcotte, Racal Datacom
Warren Vik, INTERACTIVE Systems Corporation
Yannis Viniotis
Steven L. Waldbusser, Carnegie Mellon Universitty
Timothy M. Walden, ACC
Alice Wang, Sun Microsystems
James Watt, Newbridge
Luanne Waul, Timeplex
Donald E. Westlake III, Digital Equipment Corporation
Gerry White
Bert Wijnen, IBM Corporation
Peter Wilson, 3Com Corporation
Steven Wong, Digital Equipment Corporation
Randy Worzella, IBM Corporation
Daniel Woycke, MITRE
Honda Wu
Jeff Yarnell, Protools
Chris Young, Cabletron
Kiho Yum, 3Com Corporation

RFC1442 SMI for SNMPv2 April 1993

13. References

[1] Information processing systems - Open Systems
Interconnection - Specification of Abstract Syntax
Notation One (ASN.1), International Organization for
Standardization. International Standard 8824, (December,
1987).

[2] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S.,
"Conformance Statements for version 2 of the the Simple
Network Management Protocol (SNMPv2)", RFC1444, SNMP
Research, Inc., Hughes LAN Systems, Dover Beach
Consulting, Inc., Carnegie Mellon University, April 1993.

[3] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S.,
"Textual Conventions for version 2 of the the Simple
Network Management Protocol (SNMPv2)", RFC1443, SNMP
Research, Inc., Hughes LAN Systems, Dover Beach
Consulting, Inc., Carnegie Mellon University, April 1993.

[4] Information processing systems - Open Systems
Interconnection - Specification of Basic Encoding Rules
for Abstract Syntax Notation One (ASN.1), International
Organization for Standardization. International Standard
8825, (December, 1987).

[5] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S.,
"Management Information Base for version 2 of the Simple
Network Management Protocol (SNMPv2)", RFC1450, SNMP
Research, Inc., Hughes LAN Systems, Dover Beach
Consulting, Inc., Carnegie Mellon University, April 1993.

[6] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S.,
"Protocol Operations for version 2 of the Simple Network
Management Protocol (SNMPv2)", RFC1448, SNMP Research,
Inc., Hughes LAN Systems, Dover Beach Consulting, Inc.,
Carnegie Mellon University, April 1993.

[7] McCloghrie, K., and Rose, M., "Management Information
Base for Network Management of TCP/IP-based internets:
MIB-II", STD 17, RFC1213, March 1991.

[8] McCloghrie, K., and Galvin, J., "Party MIB for version 2
of the Simple Network Management Protocol (SNMPv2)", RFC
1447, Hughes LAN Systems, Trusted Information Systems,

RFC1442 SMI for SNMPv2 April 1993

April 1993.

RFC1442 SMI for SNMPv2 April 1993

14. Security Considerations

Security issues are not discussed in this memo.

15. Authors' Addresses

Jeffrey D. Case
SNMP Research, Inc.
3001 Kimberlin Heights Rd.
Knoxville, TN 37920-9716
US

Phone: +1 615 573 1434
Email: case@snmp.com

Keith McCloghrie
Hughes LAN Systems
1225 Charleston Road
Mountain View, CA 94043
US

Phone: +1 415 966 7934
Email: kzm@hls.com

Marshall T. Rose
Dover Beach Consulting, Inc.
420 Whisman Court
Mountain View, CA 94043-2186
US

Phone: +1 415 968 1052
Email: mrose@dbc.mtview.ca.us

Steven Waldbusser
Carnegie Mellon University
4910 Forbes Ave
Pittsburgh, PA 15213
US

Phone: +1 412 268 6628
Email: waldbusser@cmu.edu

------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容