Difference between revisions of "RFC3410"

From RFC-Wiki
imported>Admin
(Created page with " Network Working Group J. Case Request for Comments: 3410 SNMP Research, Inc. Obsoletes: 2570 ...")
 
Line 1: Line 1:
 
 
 
 
 
 
 
Network Working Group                                            J. Case
 
Network Working Group                                            J. Case
 
Request for Comments: 3410                          SNMP Research, Inc.
 
Request for Comments: 3410                          SNMP Research, Inc.
Line 14: Line 8:
 
                                                               Retired
 
                                                               Retired
 
                                                         December 2002
 
                                                         December 2002
 
  
 
           Introduction and Applicability Statements for
 
           Introduction and Applicability Statements for
Line 44: Line 37:
 
strongly recommended.  The document also recommends that RFCs 1157,
 
strongly recommended.  The document also recommends that RFCs 1157,
 
1441, 1901, 1909 and 1910 be retired by moving them to Historic
 
1441, 1901, 1909 and 1910 be retired by moving them to Historic
status.  This document obsoletes [[RFC2570|RFC 2570]].
+
status.  This document obsoletes RFC 2570.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 +
Table of Contents
  
 +
1 Introduction .................................................    2
 +
2 The Internet Standard Management Framework ...................    3
 +
2.1 Basic Structure and Components .............................    4
 +
2.2 Architecture of the Internet Standard Management Framework .    4
 +
3 The SNMPv1 Management Framework ..............................    5
 +
3.1 The SNMPv1 Data Definition Language ........................    6
 +
3.2 Management Information .....................................    6
 +
3.3 Protocol Operations ........................................    7
 +
3.4 SNMPv1 Security and Administration .........................    7
 +
4 The SNMPv2 Management Framework ..............................    8
 +
5 The SNMPv3 Working Group .....................................    8
 +
6 SNMPv3 Framework Module Specifications .......................  10
 +
6.1 Data Definition Language ...................................  11
 +
6.2 MIB Modules ................................................  12
 +
6.3 Protocol Operations and Transport Mappings .................  13
 +
6.4 SNMPv3 Security and Administration .........................  13
 +
7 Document Summaries ...........................................  14
 +
7.1 Structure of Management Information ........................  14
 +
7.1.1 Base SMI Specification ...................................  15
 +
7.1.2 Textual Conventions ......................................  15
 +
7.1.3 Conformance Statements ...................................  16
 +
7.2 Protocol Operations ........................................  16
 +
7.3 Transport Mappings .........................................  16
 +
7.4 Protocol Instrumentation ...................................  17
 +
7.5 Architecture / Security and Administration .................  17
 +
7.6 Message Processing and Dispatch (MPD) ......................  17
 +
7.7 SNMP Applications ..........................................  18
 +
7.8 User-based Security Model (USM) ............................  18
 +
7.9 View-based Access Control (VACM) ...........................  19
 +
7.10 SNMPv3 Coexistence and Transition .........................  19
 +
8 Standardization Status .......................................  20
 +
8.1 SMIv1 Status ...............................................  20
 +
8.2 SNMPv1 and SNMPv2 Standardization Status ...................  21
 +
8.3 Working Group Recommendation ...............................  22
 +
9 Security Considerations ......................................  22
 +
10 References ..................................................  22
 +
11 Editor's Addresses ..........................................  26
 +
12 Full Copyright Statement ....................................  27
  
 
== Introduction ==
 
== Introduction ==
Line 63: Line 85:
 
Internet-Standard Management Framework, termed the SNMP version 3
 
Internet-Standard Management Framework, termed the SNMP version 3
 
Management Framework (SNMPv3) and has multiple purposes.
 
Management Framework (SNMPv3) and has multiple purposes.
 
 
 
 
 
 
  
 
First, it describes the relationship between the SNMP version 3
 
First, it describes the relationship between the SNMP version 3
Line 99: Line 115:
 
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
 
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [[BCP14|BCP 14]], [[RFC2119|RFC 2119]] [1].
+
document are to be interpreted as described in BCP 14, RFC 2119 [1].
  
 
== The Internet Standard Management Framework ==
 
== The Internet Standard Management Framework ==
Line 112: Line 128:
 
components.  Furthermore, all versions of the specifications of the
 
components.  Furthermore, all versions of the specifications of the
 
Internet Standard Management Framework follow the same architecture.
 
Internet Standard Management Framework follow the same architecture.
 
 
 
 
 
 
 
 
 
 
  
 
=== Basic Structure and Components ===
 
=== Basic Structure and Components ===
Line 167: Line 173:
  
 
One prime motivator for this modularity was to enable the ongoing
 
One prime motivator for this modularity was to enable the ongoing
evolution of the Framework, as is documented in [[RFC1052|RFC 1052]] [2].  When
+
evolution of the Framework, as is documented in RFC 1052 [2].  When
 
originally envisioned, this capability was to be used to ease the
 
originally envisioned, this capability was to be used to ease the
 
transition from SNMP-based management of internets to management
 
transition from SNMP-based management of internets to management
 
based on OSI protocols.  To this end, the framework was architected
 
based on OSI protocols.  To this end, the framework was architected
 
 
 
 
  
 
with a protocol-independent data definition language and Management
 
with a protocol-independent data definition language and Management
Line 207: Line 209:
 
is defined in the following documents:
 
is defined in the following documents:
  
*  STD 16, [[RFC1155|RFC 1155]] [3] which defines the Structure of Management
+
*  STD 16, RFC 1155 [3] which defines the Structure of Management
 
   Information (SMI), the mechanisms used for describing and naming
 
   Information (SMI), the mechanisms used for describing and naming
 
   objects for the purpose of management.
 
   objects for the purpose of management.
  
*  STD 16, [[RFC1212|RFC 1212]] [4] which defines a more concise description
+
*  STD 16, RFC 1212 [4] which defines a more concise description
 
   mechanism for describing and naming management information
 
   mechanism for describing and naming management information
 
   objects, but which is wholly consistent with the SMI.
 
   objects, but which is wholly consistent with the SMI.
  
*  STD 15, [[RFC1157|RFC 1157]] [5] which defines the Simple Network Management
+
*  STD 15, RFC 1157 [5] which defines the Simple Network Management
 
   Protocol (SNMP), the protocol used for network access to managed
 
   Protocol (SNMP), the protocol used for network access to managed
 
   objects and event notification.  Note this document also defines
 
   objects and event notification.  Note this document also defines
 
   an initial set of event notifications.
 
   an initial set of event notifications.
 
 
 
 
 
 
 
 
 
  
 
Additionally, two documents are generally considered companions to
 
Additionally, two documents are generally considered companions to
 
these three:
 
these three:
  
*  STD 17, [[RFC1213|RFC 1213]] [6] which contains definitions for the base set
+
*  STD 17, RFC 1213 [6] which contains definitions for the base set
 
   of management information
 
   of management information
  
[[RFC1215|RFC 1215]] [7] defines a concise description mechanism for defining
+
*  RFC 1215 [7] defines a concise description mechanism for defining
 
   event notifications, which are called traps in the SNMPv1
 
   event notifications, which are called traps in the SNMPv1
   protocol.  It also specifies the generic traps from [[RFC1157|RFC 1157]] in
+
   protocol.  It also specifies the generic traps from RFC 1157 in
 
   the concise notation.
 
   the concise notation.
  
Line 256: Line 249:
 
notifications used with the SNMPv1 protocol.  At the time that it was
 
notifications used with the SNMPv1 protocol.  At the time that it was
 
written, use of traps in the Internet-Standard network management
 
written, use of traps in the Internet-Standard network management
framework was controversial.  As such, [[RFC1215|RFC 1215]] was put forward with
+
framework was controversial.  As such, RFC 1215 was put forward with
 
the status of "Informational", which was never updated because it was
 
the status of "Informational", which was never updated because it was
 
believed that the second version of the SNMP Framework would replace
 
believed that the second version of the SNMP Framework would replace
Line 264: Line 257:
  
 
The data definition language described in the first two documents was
 
The data definition language described in the first two documents was
first used to define the now-historic MIB-I as specified in [[RFC1066|RFC 1066]]
+
first used to define the now-historic MIB-I as specified in RFC 1066
 
[8], and was subsequently used to define MIB-II as specified in RFC
 
[8], and was subsequently used to define MIB-II as specified in RFC
 
1213 [6].
 
1213 [6].
Line 277: Line 270:
 
those particular areas ranging from various aspects of network
 
those particular areas ranging from various aspects of network
 
management, to system management, and application management.
 
management, to system management, and application management.
 
 
 
 
  
 
=== Protocol Operations ===
 
=== Protocol Operations ===
Line 329: Line 318:
 
the SNMPv3 Framework provides an architecture for use within that
 
the SNMPv3 Framework provides an architecture for use within that
 
block as well as a definition for its subsystems.
 
block as well as a definition for its subsystems.
 
 
 
 
 
  
 
== The SNMPv2 Management Framework ==
 
== The SNMPv2 Management Framework ==
Line 383: Line 367:
 
critical need in the next generation is a definition of security and
 
critical need in the next generation is a definition of security and
 
administration that makes SNMP-based management transactions secure
 
administration that makes SNMP-based management transactions secure
 
 
 
 
  
 
in a way which is useful for users who wish to use SNMPv3 to manage
 
in a way which is useful for users who wish to use SNMPv3 to manage
Line 397: Line 377:
 
other improvements to SNMP.  These efforts included:
 
other improvements to SNMP.  These efforts included:
  
*  "SNMP Security" circa 1991-1992 ([[RFC1351|RFC 1351]] - [[RFC1353|RFC 1353]]),
+
*  "SNMP Security" circa 1991-1992 (RFC 1351 - RFC 1353),
  
 
*  "SMP" circa 1992-1993, and
 
*  "SMP" circa 1992-1993, and
  
 
*  "The Party-based SNMPv2" (sometimes called "SNMPv2p") circa
 
*  "The Party-based SNMPv2" (sometimes called "SNMPv2p") circa
   1993-1995 ([[RFC1441|RFC 1441]] - [[RFC1452|RFC 1452]]).
+
   1993-1995 (RFC 1441 - RFC 1452).
  
 
Each of these efforts incorporated commercial grade, industrial
 
Each of these efforts incorporated commercial grade, industrial
Line 415: Line 395:
 
security and administrative frameworks, including:
 
security and administrative frameworks, including:
  
*  "The Community-based SNMPv2" (SNMPv2c) as described in [[RFC1901|RFC 1901]]
+
*  "The Community-based SNMPv2" (SNMPv2c) as described in RFC 1901
 
   [16],
 
   [16],
  
Line 431: Line 411:
 
SNMPv2*, as was suggested by an advisory team which was formed to
 
SNMPv2*, as was suggested by an advisory team which was formed to
 
provide a single recommended approach for SNMP evolution.
 
provide a single recommended approach for SNMP evolution.
 
 
 
 
 
 
 
 
 
  
 
In so doing, the Working Group charter defined the following
 
In so doing, the Working Group charter defined the following
Line 488: Line 459:
 
requirements change, new understandings are obtained, and new
 
requirements change, new understandings are obtained, and new
 
technologies become available.
 
technologies become available.
 
 
 
 
 
  
 
Whenever feasible, the initial document set which defines the SNMPv3
 
Whenever feasible, the initial document set which defines the SNMPv3
Line 523: Line 489:
  
 
The specifications of the data definition language include STD 58,
 
The specifications of the data definition language include STD 58,
[[RFC2578|RFC 2578]], "Structure of Management Information Version 2 (SMIv2)"
+
RFC 2578, "Structure of Management Information Version 2 (SMIv2)"
 
[17], and related specifications.  These documents are updates of
 
[17], and related specifications.  These documents are updates of
 
RFCs 1902 - 1904 [9-11] which have evolved independently from the
 
RFCs 1902 - 1904 [9-11] which have evolved independently from the
Line 534: Line 500:
 
MIB modules.  Related specifications include STD 58, RFCs 2579, 2580.
 
MIB modules.  Related specifications include STD 58, RFCs 2579, 2580.
  
STD 58, [[RFC2579|RFC 2579]], "Textual Conventions for SMIv2" [18], defines an
+
STD 58, RFC 2579, "Textual Conventions for SMIv2" [18], defines an
 
initial set of shorthand abbreviations which are available for use
 
initial set of shorthand abbreviations which are available for use
 
within all MIB modules for the convenience of human readers and
 
within all MIB modules for the convenience of human readers and
 
writers.
 
writers.
  
 
+
STD 58, RFC 2580, "Conformance Statements for SMIv2" [19], defines
 
 
 
 
 
 
 
 
 
 
 
 
 
 
STD 58, [[RFC2580|RFC 2580]], "Conformance Statements for SMIv2" [19], defines
 
 
the format for compliance statements which are used for describing
 
the format for compliance statements which are used for describing
 
requirements for agent implementations and capability statements
 
requirements for agent implementations and capability statements
Line 558: Line 516:
 
defined collectively in RFCs 2578 - 2580 whereas at other times it is
 
defined collectively in RFCs 2578 - 2580 whereas at other times it is
 
used to refer to only the portion of the data definition language
 
used to refer to only the portion of the data definition language
defined in [[RFC2578|RFC 2578]].  This ambiguity is unfortunate but is rarely a
+
defined in RFC 2578.  This ambiguity is unfortunate but is rarely a
 
significant problem in practice.
 
significant problem in practice.
  
Line 593: Line 551:
 
can be conveyed by it.  However, there is one noteworthy exception:
 
can be conveyed by it.  However, there is one noteworthy exception:
 
the Counter64 datatype which can be defined in a MIB module defined
 
the Counter64 datatype which can be defined in a MIB module defined
 
 
 
 
 
 
  
 
in SMIv2 format but which cannot be conveyed by an SNMPv1 protocol
 
in SMIv2 format but which cannot be conveyed by an SNMPv1 protocol
Line 619: Line 571:
 
within the Framework to allow for additional protocol operations.
 
within the Framework to allow for additional protocol operations.
  
The specification of transport mappings is found in STD 62, [[RFC3417|RFC 3417]],
+
The specification of transport mappings is found in STD 62, RFC 3417,
 
"Transport Mappings for the Simple Network Management Protocol
 
"Transport Mappings for the Simple Network Management Protocol
 
(SNMP)" [22].
 
(SNMP)" [22].
Line 629: Line 581:
 
this time:
 
this time:
  
   [[RFC3410|RFC 3410]], "Introduction and Applicability Statements for the
+
   RFC 3410, "Introduction and Applicability Statements for the
 
   Internet-Standard Management Framework", which is this document.
 
   Internet-Standard Management Framework", which is this document.
  
   STD 62, [[RFC3411|RFC 3411]], "An Architecture for Describing Simple Network
+
   STD 62, RFC 3411, "An Architecture for Describing Simple Network
 
   Management Protocol (SNMP) Management Frameworks" [23], describes
 
   Management Protocol (SNMP) Management Frameworks" [23], describes
 
   the overall architecture with special emphasis on the architecture
 
   the overall architecture with special emphasis on the architecture
 
   for security and administration.
 
   for security and administration.
  
   STD 62, [[RFC3412|RFC 3412]], "Message Processing and Dispatching for the
+
   STD 62, RFC 3412, "Message Processing and Dispatching for the
 
   Simple Network Management Protocol (SNMP)" [24], describes the
 
   Simple Network Management Protocol (SNMP)" [24], describes the
 
   possibility of multiple message processing models and the
 
   possibility of multiple message processing models and the
 
   dispatcher portion that can be a part of an SNMP protocol engine.
 
   dispatcher portion that can be a part of an SNMP protocol engine.
  
   STD 62, [[RFC3413|RFC 3413]], "Simple Network Management Protocol (SNMP)
+
   STD 62, RFC 3413, "Simple Network Management Protocol (SNMP)
 
   Applications" [25], describes the five initial types of
 
   Applications" [25], describes the five initial types of
 
   applications that can be associated with an SNMPv3 engine and
 
   applications that can be associated with an SNMPv3 engine and
 
   their elements of procedure.
 
   their elements of procedure.
  
 
+
   STD 62, RFC 3414, "User-Based Security Model (USM) for Version 3
 
 
 
 
 
 
 
 
 
 
   STD 62, [[RFC3414|RFC 3414]], "User-Based Security Model (USM) for Version 3
 
 
   of the Simple Network Management Protocol (SNMPv3)" [26],
 
   of the Simple Network Management Protocol (SNMPv3)" [26],
 
   describes the threats against which protection is provided, as
 
   describes the threats against which protection is provided, as
Line 660: Line 606:
 
   model.
 
   model.
  
   STD 62, [[RFC3415|RFC 3415]], "View-based Access Control Model (VCAM) for the
+
   STD 62, RFC 3415, "View-based Access Control Model (VCAM) for the
 
   Simple Network Management Protocol (SNMP)" [27], describes how
 
   Simple Network Management Protocol (SNMP)" [27], describes how
 
   view-based access control can be applied within command responder
 
   view-based access control can be applied within command responder
 
   and notification originator applications.
 
   and notification originator applications.
  
   [[RFC2576|RFC 2576]], "SNMPv3 Coexistence and Transition" [28], describes
+
   RFC 2576, "SNMPv3 Coexistence and Transition" [28], describes
 
   coexistence between the SNMPv3 Management Framework, the SNMPv2
 
   coexistence between the SNMPv3 Management Framework, the SNMPv2
 
   Management Framework, and the original SNMPv1 Management
 
   Management Framework, and the original SNMPv1 Management
Line 700: Line 646:
 
     ASN.1 macro, OBJECT-TYPE, is used to convey concisely the syntax
 
     ASN.1 macro, OBJECT-TYPE, is used to convey concisely the syntax
 
     and semantics of a managed object.
 
     and semantics of a managed object.
 
 
 
 
 
  
 
(3) Notification definitions are used when describing unsolicited
 
(3) Notification definitions are used when describing unsolicited
Line 716: Line 657:
 
language of STD 58, defined collectively in RFCs 2578 - 2580 whereas
 
language of STD 58, defined collectively in RFCs 2578 - 2580 whereas
 
at other times it is used to refer to only the portion of the data
 
at other times it is used to refer to only the portion of the data
definition language defined in [[RFC2578|RFC 2578]].  This ambiguity is
+
definition language defined in RFC 2578.  This ambiguity is
 
unfortunate but is rarely a significant problem in practice.
 
unfortunate but is rarely a significant problem in practice.
  
 
==== Base SMI Specification ====
 
==== Base SMI Specification ====
  
STD 58, [[RFC2578|RFC 2578]] specifies the base data types for the data
+
STD 58, RFC 2578 specifies the base data types for the data
 
definition language, which include: Integer32, enumerated integers,
 
definition language, which include: Integer32, enumerated integers,
 
Unsigned32, Gauge32, Counter32, Counter64, TimeTicks, INTEGER, OCTET
 
Unsigned32, Gauge32, Counter32, Counter64, TimeTicks, INTEGER, OCTET
 
STRING, OBJECT IDENTIFIER, IpAddress, Opaque, and BITS.  It also
 
STRING, OBJECT IDENTIFIER, IpAddress, Opaque, and BITS.  It also
assigns values to several object identifiers.  STD 58, [[RFC2578|RFC 2578]]
+
assigns values to several object identifiers.  STD 58, RFC 2578
 
further defines the following constructs of the data definition
 
further defines the following constructs of the data definition
 
language:
 
language:
Line 755: Line 696:
 
"intelligent" management applications.  It is the purpose of STD 58,
 
"intelligent" management applications.  It is the purpose of STD 58,
  
 
+
RFC 2579, Textual Conventions for SMIv2 [18], to define the
 
 
 
 
 
 
[[RFC2579|RFC 2579]], Textual Conventions for SMIv2 [18], to define the
 
 
construct, TEXTUAL-CONVENTION, of the data definition language used
 
construct, TEXTUAL-CONVENTION, of the data definition language used
 
to define such new types and to specify an initial set of textual
 
to define such new types and to specify an initial set of textual
Line 768: Line 705:
 
It may be useful to define the acceptable lower-bounds of
 
It may be useful to define the acceptable lower-bounds of
 
implementation, along with the actual level of implementation
 
implementation, along with the actual level of implementation
achieved.  It is the purpose of STD 58, [[RFC2580|RFC 2580]], Conformance
+
achieved.  It is the purpose of STD 58, RFC 2580, Conformance
 
Statements for SMIv2 [19], to define the constructs of the data
 
Statements for SMIv2 [19], to define the constructs of the data
 
definition language used for these purposes.  There are two kinds of
 
definition language used for these purposes.  There are two kinds of
Line 797: Line 734:
 
encapsulates a Protocol Data Unit (PDU).
 
encapsulates a Protocol Data Unit (PDU).
  
It is the purpose of STD 62, [[RFC3416|RFC 3416]], "Version 2 of the Protocol
+
It is the purpose of STD 62, RFC 3416, "Version 2 of the Protocol
 
Operations for the Simple Network Management Protocol (SNMP)" [21],
 
Operations for the Simple Network Management Protocol (SNMP)" [21],
 
to define the operations of the protocol with respect to the sending
 
to define the operations of the protocol with respect to the sending
Line 805: Line 742:
  
 
SNMP messages may be used over a variety of protocol suites.  It is
 
SNMP messages may be used over a variety of protocol suites.  It is
the purpose of STD 62, [[RFC3417|RFC 3417]], "Transport Mappings for the Simple
+
the purpose of STD 62, RFC 3417, "Transport Mappings for the Simple
 
Network Management Protocol (SNMP)" [22], to define how SNMP messages
 
Network Management Protocol (SNMP)" [22], to define how SNMP messages
 
 
 
 
  
 
map onto an initial set of transport domains.  Other mappings may be
 
map onto an initial set of transport domains.  Other mappings may be
Line 822: Line 755:
 
=== Protocol Instrumentation ===
 
=== Protocol Instrumentation ===
  
It is the purpose of STD 62, [[RFC3418|RFC 3418]], "Management Information Base
+
It is the purpose of STD 62, RFC 3418, "Management Information Base
 
(MIB) for the Simple Network Management Protocol (SNMP)" [30], to
 
(MIB) for the Simple Network Management Protocol (SNMP)" [30], to
 
define managed objects which describe the behavior of portions of an
 
define managed objects which describe the behavior of portions of an
Line 829: Line 762:
 
=== Architecture / Security and Administration ===
 
=== Architecture / Security and Administration ===
  
It is the purpose of STD 62, [[RFC3411|RFC 3411]], "An Architecture for
+
It is the purpose of STD 62, RFC 3411, "An Architecture for
 
Describing Simple Network Management Protocol (SNMP) Management
 
Describing Simple Network Management Protocol (SNMP) Management
 
Frameworks" [23], to define an architecture for specifying Management
 
Frameworks" [23], to define an architecture for specifying Management
Line 852: Line 785:
 
=== Message Processing and Dispatch (MPD) ===
 
=== Message Processing and Dispatch (MPD) ===
  
STD 62, [[RFC3412|RFC 3412]], "Message Processing and Dispatching for the Simple
+
STD 62, RFC 3412, "Message Processing and Dispatching for the Simple
 
Network Management Protocol (SNMP)" [24], describes the Message
 
Network Management Protocol (SNMP)" [24], describes the Message
 
Processing and Dispatching for SNMP messages within the SNMP
 
Processing and Dispatching for SNMP messages within the SNMP
Line 860: Line 793:
 
This document also describes one Message Processing Model - the
 
This document also describes one Message Processing Model - the
 
SNMPv3 Message Processing Model.
 
SNMPv3 Message Processing Model.
 
 
 
 
  
 
An SNMPv3 protocol engine MUST support at least one Message
 
An SNMPv3 protocol engine MUST support at least one Message
Line 875: Line 804:
 
=== SNMP Applications ===
 
=== SNMP Applications ===
  
It is the purpose of STD 62, [[RFC3413|RFC 3413]], "Simple Network Management
+
It is the purpose of STD 62, RFC 3413, "Simple Network Management
 
Protocol (SNMP) Applications" [25] to describe the five types of
 
Protocol (SNMP) Applications" [25] to describe the five types of
 
applications which can be associated with an SNMP engine.  They are:
 
applications which can be associated with an SNMP engine.  They are:
Line 887: Line 816:
 
=== User-based Security Model (USM) ===
 
=== User-based Security Model (USM) ===
  
STD 62, [[RFC3414|RFC 3414]], the "User-based Security Model (USM) for version 3
+
STD 62, RFC 3414, the "User-based Security Model (USM) for version 3
 
of the Simple Network Management Protocol (SNMPv3)" [26] describes
 
of the Simple Network Management Protocol (SNMPv3)" [26] describes
 
the User-based Security Model for SNMPv3.  It defines the Elements of
 
the User-based Security Model for SNMPv3.  It defines the Elements of
Line 912: Line 841:
 
protocol are specified without dependence on third-party time sources
 
protocol are specified without dependence on third-party time sources
 
and concomitant security considerations.
 
and concomitant security considerations.
 
 
 
 
 
  
 
The USM uses the Data Encryption Standard (DES) [34] in the cipher
 
The USM uses the Data Encryption Standard (DES) [34] in the cipher
Line 942: Line 866:
 
=== View-based Access Control (VACM) ===
 
=== View-based Access Control (VACM) ===
  
The purpose of STD 62, [[RFC3415|RFC 3415]], the "View-based Access Control Model
+
The purpose of STD 62, RFC 3415, the "View-based Access Control Model
 
(VACM) for the Simple Network Management Protocol (SNMP)" [27], is to
 
(VACM) for the Simple Network Management Protocol (SNMP)" [27], is to
 
describe the View-based Access Control Model for use in the SNMP
 
describe the View-based Access Control Model for use in the SNMP
Line 955: Line 879:
 
Message Processing Models and/or multiple Security Models.
 
Message Processing Models and/or multiple Security Models.
  
=== SNMPv3 Coexistence and Transition ===
+
7.10.  SNMPv3 Coexistence and Transition
  
The purpose of [[RFC2576|RFC 2576]], "Coexistence between Version 1, Version 2,
+
The purpose of RFC 2576, "Coexistence between Version 1, Version 2,
 
and Version 3 of the Internet-Standard Network Management Framework"
 
and Version 3 of the Internet-Standard Network Management Framework"
 
[28], is to describe coexistence between the SNMPv3 Management
 
[28], is to describe coexistence between the SNMPv3 Management
Line 965: Line 889:
  
 
*  Conversion of MIB documents from SMIv1 to SMIv2 format
 
*  Conversion of MIB documents from SMIv1 to SMIv2 format
 
 
 
 
 
  
 
*  Mapping of notification parameters
 
*  Mapping of notification parameters
Line 996: Line 915:
 
SMIv1, as described in STD 16, RFCs 1155 and 1212, was promoted to
 
SMIv1, as described in STD 16, RFCs 1155 and 1212, was promoted to
 
full Standard status in 1990 and has remained a Standard even after
 
full Standard status in 1990 and has remained a Standard even after
SMIv2 reached full Standard (see [[RFC2026|RFC 2026]] [35] for more information
+
SMIv2 reached full Standard (see RFC 2026 [35] for more information
 
about the Internet Standards Process).  In many cases, a Standard is
 
about the Internet Standards Process).  In many cases, a Standard is
 
declared "Historic" when its replacement reaches full Standard.  For
 
declared "Historic" when its replacement reaches full Standard.  For
Line 1,019: Line 938:
 
While there are tools widely available at low cost or no cost to
 
While there are tools widely available at low cost or no cost to
 
translate SMIv2 definitions to SMIv1 definitions, it is impractical
 
translate SMIv2 definitions to SMIv1 definitions, it is impractical
 
 
 
 
  
 
to build automatic tools that automatically translate SMIv1
 
to build automatic tools that automatically translate SMIv1
Line 1,044: Line 959:
 
security, reached full Standard status, the full Standard SNMPv1,
 
security, reached full Standard status, the full Standard SNMPv1,
 
formerly STD 15 [5], and the experimental SNMPv2c specifications
 
formerly STD 15 [5], and the experimental SNMPv2c specifications
described in [[RFC1901|RFC 1901]] [16] were declared Historic due to their
+
described in RFC 1901 [16] were declared Historic due to their
 
weaknesses with respect to security and to send a clear message that
 
weaknesses with respect to security and to send a clear message that
 
the third version of the Internet Standard Management Framework is
 
the third version of the Internet Standard Management Framework is
Line 1,062: Line 977:
  
 
Indeed, as described above, one of the SNMPv3 specifications for
 
Indeed, as described above, one of the SNMPv3 specifications for
security and administration, [[RFC2576|RFC 2576]], Coexistence between Version 1,
+
security and administration, RFC 2576, Coexistence between Version 1,
 
Version 2, and Version 3 of the Internet-Standard Management
 
Version 2, and Version 3 of the Internet-Standard Management
 
Framework [28], addresses these issues.
 
Framework [28], addresses these issues.
Line 1,072: Line 987:
 
just as they should carefully limit access granted via SNMPv3 with a
 
just as they should carefully limit access granted via SNMPv3 with a
 
security level of no authentication and no privacy which is roughly
 
security level of no authentication and no privacy which is roughly
 
 
 
 
  
 
equivalent from a security point of view.  For example, it is
 
equivalent from a security point of view.  For example, it is
Line 1,112: Line 1,023:
 
security considerations.
 
security considerations.
  
== References ==
+
10.  References
  
=== Normative References ===
+
10.1.  Normative References
  
[1]  Bradner, S., "Key words for use in RFCs to Indicate RequirementLevels", [[BCP14|BCP 14]], [[RFC2119|RFC 2119]], March, 1997.
+
[1]  Bradner, S., "Key words for use in RFCs to Indicate Requirement
=== Informative References ===
+
Levels", BCP 14, RFC 2119, March, 1997.
  
[2] Cerf, V., "IAB Recommendations for the Development of Internet    Network Management Standards", [[RFC1052|RFC 1052]], April 1988.
+
10.2. Informative References
  
 +
[2]  Cerf, V., "IAB Recommendations for the Development of Internet
 +
    Network Management Standards", RFC 1052, April 1988.
  
 +
[3]  Rose, M. and K. McCloghrie, "Structure and Identification of
 +
    Management Information for TCP/IP-based internets", STD 16, RFC
 +
    1155, May 1990.
  
 +
[4]  Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16,
 +
    RFC 1212, March 1991.
  
 +
[5]  Case, J., Fedor, M., Schoffstall, M. and Davin, J., "Simple
 +
    Network Management Protocol", STD 15, RFC 1157, May 1990.
  
 +
[6]  McCloghrie, K. and M. Rose, "Management Information Base for
 +
    Network Management of TCP/IP-based internets: MIB-II", STD 17,
 +
    RFC 1213, March 1991.
  
[3]  Rose, M. and K. McCloghrie, "Structure and Identification of    Management Information for TCP/IP-based internets", STD 16, RFC    1155, May 1990.
+
[7]  Rose, M., "A Convention for Defining Traps for use with the
[4]  Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16,    [[RFC1212|RFC 1212]], March 1991.
+
    SNMP", RFC 1215, March 1991.
[5]  Case, J., Fedor, M., Schoffstall, M. and Davin, J., "Simple    Network Management Protocol", STD 15, [[RFC1157|RFC 1157]], May 1990.
 
[6]  McCloghrie, K. and M. Rose, "Management Information Base for    Network Management of TCP/IP-based internets: MIB-II", STD 17,    [[RFC1213|RFC 1213]], March 1991.
 
[7]  Rose, M., "A Convention for Defining Traps for use with the     SNMP", [[RFC1215|RFC 1215]], March 1991.
 
[8]  McCloghrie, K. and M. Rose, "Management Information Base for    Network Management of TCP/IP-based Internets", [[RFC1156|RFC 1156]], March    1990.
 
[9]  Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Structure    of Management Information for Version 2 of the Simple Network    Management Protocol (SNMPv2)", [[RFC1902|RFC 1902]], January 1996.
 
[10] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Textual    Conventions for Version 2 of the Simple Network Management    Protocol (SNMPv2)", [[RFC1903|RFC 1903]], January 1996.
 
[11] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,    "Conformance Statements for Version 2 of the Simple Network    Management Protocol (SNMPv2)", [[RFC1904|RFC 1904]], January 1996.
 
[12] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol    Operations for Version 2 of the Simple Network Management    Protocol (SNMPv2)", [[RFC1905|RFC 1905]], January 1996.
 
[13] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Transport    Mappings for Version 2 of the Simple Network Management Protocol    (SNMPv2)", [[RFC1906|RFC 1906]], January 1996.
 
[14] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,    "Management Information Base for Version 2 of the Simple Network    Management Protocol (SNMPv2)", [[RFC1907|RFC 1907]], January 1996.
 
[15] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,    "Coexistence between Version 1 and Version 2 of the Internet-    Standard Network Management Framework", [[RFC2576|RFC 2576]], January 1996.
 
  
 +
[8]  McCloghrie, K. and M. Rose, "Management Information Base for
 +
    Network Management of TCP/IP-based Internets", RFC 1156, March
 +
    1990.
  
 +
[9]  Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Structure
 +
    of Management Information for Version 2 of the Simple Network
 +
    Management Protocol (SNMPv2)", RFC 1902, January 1996.
  
 +
[10] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Textual
 +
    Conventions for Version 2 of the Simple Network Management
 +
    Protocol (SNMPv2)", RFC 1903, January 1996.
  
[16] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,     "Introduction to Community-based SNMPv2", [[RFC1901|RFC 1901]], January    1996.
+
[11] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,
[17] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose,    M. and S. Waldbusser, "Structure of Management Information    Version 2 (SMIv2)", STD 58, [[RFC2578|RFC 2578]], April 1999.
+
    "Conformance Statements for Version 2 of the Simple Network
[18] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose,    M. and S. Waldbusser, "Textual Conventions for SMIv2", STD 58,    [[RFC2579|RFC 2579]], April 1999.
+
    Management Protocol (SNMPv2)", RFC 1904, January 1996.
[19] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose,    M. and S. Waldbusser, "Conformance Statements for SMIv2", STD    58, [[RFC2580|RFC 2580]], April 1999.
 
[20] "Official Internet Protocol Standards", http://www.rfc-    editor.org/rfcxx00.html also STD0001.
 
[21] Presuhn, R., Case, J., McCloghrie, K., Rose, M. and S.    Waldbusser, "Version 2 of the Protocol Operations for the Simple     Network Management Protocol (SNMP)", STD 62, [[RFC3416|RFC 3416]], December    2002.
 
[22] Presuhn, R., Case, J., McCloghrie, K., Rose, M. and S.    Waldbusser, "Transport Mappings for the Simple Network    Management Protocol (SNMP)", STD 62, [[RFC3417|RFC 3417]], December 2002.
 
[23] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for    Describing Simple Network Management Protocol (SNMP) Management    Frameworks", STD 62, [[RFC3411|RFC 3411]], December 2002.
 
[24] Case, J., Harrington, D., Presuhn, R. and B. Wijnen, "Message    Processing and Dispatching for the Simple Network Management    Protocol (SNMP)", STD 62, [[RFC3412|RFC 3412]], December 2002.
 
[25] Levi, D., Meyer, P. and B. Stewart, "Simple Network Management    Protocol (SNMP) Applications", STD 62, [[RFC3413|RFC 3413]], December 2002.
 
[26] Blumenthal, U. and B. Wijnen, "User-Based Security Model (USM)    for Version 3 of the Simple Network Management Protocol    (SNMPv3)", STD 62, [[RFC3414|RFC 3414]], December 2002.
 
[27] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access    Control Model (VACM) for the Simple Network Management Protocol    (SNMP)", STD 62, [[RFC3415|RFC 3415]], December 2002.
 
  
 +
[12] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol
 +
    Operations for Version 2 of the Simple Network Management
 +
    Protocol (SNMPv2)", RFC 1905, January 1996.
  
 +
[13] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Transport
 +
    Mappings for Version 2 of the Simple Network Management Protocol
 +
    (SNMPv2)", RFC 1906, January 1996.
  
 +
[14] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,
 +
    "Management Information Base for Version 2 of the Simple Network
 +
    Management Protocol (SNMPv2)", RFC 1907, January 1996.
  
 +
[15] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,
 +
    "Coexistence between Version 1 and Version 2 of the Internet-
 +
    Standard Network Management Framework", RFC 2576, January 1996.
  
 +
[16] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,
 +
    "Introduction to Community-based SNMPv2", RFC 1901, January
 +
    1996.
  
[28] Frye, R., Levi, D., Routhier, S. and B. Wijnen, "Coexistence    between Version 1, Version 2, and Version 3 of the Internet-    Standard Network Management Framework", [[RFC2576|RFC 2576]], March 2000.
+
[17] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose,
[29] Information processing systems - Open Systems Interconnection -    Specification of Abstract Syntax Notation One (ASN.1),    International Organization for Standardization.  International    Standard 8824, (December, 1987).
+
    M. and S. Waldbusser, "Structure of Management Information
[30] Presuhn, R., Case, J., McCloghrie, K., Rose, M. and S.     Waldbusser, "Management Information Base (MIB) for the Simple    Network Management Protocol (SNMP)", STD 62, [[RFC3418|RFC 3418]], December    2002.
+
    Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
[31] Rivest, R., "Message Digest Algorithm MD5", [[RFC1321|RFC 1321]], April     1992.
 
[32] Secure Hash Algorithm. NIST FIPS 180-1, (April, 1995)    http://csrc.nist.gov/fips/fip180-1.txt (ASCII)    http://csrc.nist.gov/fips/fip180-1.ps  (Postscript)
 
[33] Krawczyk, H., Bellare, M. and R. Canetti, "HMAC: Keyed-Hashing    for Message Authentication", [[RFC2104|RFC 2104]], February 1997.
 
[34] Data Encryption Standard, National Institute of Standards and    Technology.  Federal Information Processing Standard (FIPS)    Publication 46-1.  Supersedes FIPS Publication 46, (January,    1977; reaffirmed January, 1988).
 
[35] Bradner, S., "The Internet Standards Process -- Revision 3", BCP    9, [[RFC2026|RFC 2026]], October, 1996.
 
  
 +
[18] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose,
 +
    M. and S. Waldbusser, "Textual Conventions for SMIv2", STD 58,
 +
    RFC 2579, April 1999.
  
 +
[19] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose,
 +
    M. and S. Waldbusser, "Conformance Statements for SMIv2", STD
 +
    58, RFC 2580, April 1999.
  
 +
[20] "Official Internet Protocol Standards", http://www.rfc-
 +
    editor.org/rfcxx00.html also STD0001.
  
 +
[21] Presuhn, R., Case, J., McCloghrie, K., Rose, M. and S.
 +
    Waldbusser, "Version 2 of the Protocol Operations for the Simple
 +
    Network Management Protocol (SNMP)", STD 62, RFC 3416, December
 +
    2002.
  
 +
[22] Presuhn, R., Case, J., McCloghrie, K., Rose, M. and S.
 +
    Waldbusser, "Transport Mappings for the Simple Network
 +
    Management Protocol (SNMP)", STD 62, RFC 3417, December 2002.
  
 +
[23] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for
 +
    Describing Simple Network Management Protocol (SNMP) Management
 +
    Frameworks", STD 62, RFC 3411, December 2002.
  
 +
[24] Case, J., Harrington, D., Presuhn, R. and B. Wijnen, "Message
 +
    Processing and Dispatching for the Simple Network Management
 +
    Protocol (SNMP)", STD 62, RFC 3412, December 2002.
  
 +
[25] Levi, D., Meyer, P. and B. Stewart, "Simple Network Management
 +
    Protocol (SNMP) Applications", STD 62, RFC 3413, December 2002.
  
 +
[26] Blumenthal, U. and B. Wijnen, "User-Based Security Model (USM)
 +
    for Version 3 of the Simple Network Management Protocol
 +
    (SNMPv3)", STD 62, RFC 3414, December 2002.
  
 +
[27] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access
 +
    Control Model (VACM) for the Simple Network Management Protocol
 +
    (SNMP)", STD 62, RFC 3415, December 2002.
  
 +
[28] Frye, R., Levi, D., Routhier, S. and B. Wijnen, "Coexistence
 +
    between Version 1, Version 2, and Version 3 of the Internet-
 +
    Standard Network Management Framework", RFC 2576, March 2000.
  
 +
[29] Information processing systems - Open Systems Interconnection -
 +
    Specification of Abstract Syntax Notation One (ASN.1),
 +
    International Organization for Standardization.  International
 +
    Standard 8824, (December, 1987).
  
 +
[30] Presuhn, R., Case, J., McCloghrie, K., Rose, M. and S.
 +
    Waldbusser, "Management Information Base (MIB) for the Simple
 +
    Network Management Protocol (SNMP)", STD 62, RFC 3418, December
 +
    2002.
  
 +
[31] Rivest, R., "Message Digest Algorithm MD5", RFC 1321, April
 +
    1992.
  
 +
[32] Secure Hash Algorithm. NIST FIPS 180-1, (April, 1995)
 +
    http://csrc.nist.gov/fips/fip180-1.txt (ASCII)
 +
    http://csrc.nist.gov/fips/fip180-1.ps  (Postscript)
  
 +
[33] Krawczyk, H., Bellare, M. and R. Canetti, "HMAC: Keyed-Hashing
 +
    for Message Authentication", RFC 2104, February 1997.
  
 +
[34] Data Encryption Standard, National Institute of Standards and
 +
    Technology.  Federal Information Processing Standard (FIPS)
 +
    Publication 46-1.  Supersedes FIPS Publication 46, (January,
 +
    1977; reaffirmed January, 1988).
  
 +
[35] Bradner, S., "The Internet Standards Process -- Revision 3", BCP
 +
    9, RFC 2026, October, 1996.
  
 
+
11.  Editors' Addresses
 
 
== Editors' Addresses ==
 
  
 
Jeffrey Case
 
Jeffrey Case
Line 1,200: Line 1,173:
 
Phone: +1 865 573 1434
 
Phone: +1 865 573 1434
  
 
  
 
Russ Mundy
 
Russ Mundy
Line 1,210: Line 1,182:
 
Phone: +1 301 947 7107
 
Phone: +1 301 947 7107
  
 
  
 
David Partain
 
David Partain
Line 1,220: Line 1,191:
 
Phone: +46 13 28 41 44
 
Phone: +46 13 28 41 44
  
 
  
 
Bob Stewart
 
Bob Stewart
 
Retired
 
Retired
  
 
+
12.  Full Copyright Statement
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
== Full Copyright Statement ==
 
  
 
Copyright (C) The Internet Society (2002).  All Rights Reserved.
 
Copyright (C) The Internet Society (2002).  All Rights Reserved.
Line 1,275: Line 1,227:
 
Funding for the RFC Editor function is currently provided by the
 
Funding for the RFC Editor function is currently provided by the
 
Internet Society.
 
Internet Society.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
[[Category:Informational]]
 

Revision as of 11:28, 24 September 2020

Network Working Group J. Case Request for Comments: 3410 SNMP Research, Inc. Obsoletes: 2570 R. Mundy Category: Informational Network Associates Laboratories

                                                          D. Partain
                                                            Ericsson
                                                          B. Stewart
                                                             Retired
                                                       December 2002
         Introduction and Applicability Statements for
             Internet Standard Management Framework

Status of this Memo

This memo provides information for the Internet community. It does not specify an Internet-standard of any kind. Distribution of this memo is unlimited.

Copyright Notice

Copyright (C) The Internet Society (2002). All Rights Reserved.

Abstract

The purpose of this document is to provide an overview of the third version of the Internet-Standard Management Framework, termed the SNMP version 3 Framework (SNMPv3). This Framework is derived from and builds upon both the original Internet-Standard Management Framework (SNMPv1) and the second Internet-Standard Management Framework (SNMPv2).

The architecture is designed to be modular to allow the evolution of the Framework over time.

The document explains why using SNMPv3 instead of SNMPv1 or SNMPv2 is strongly recommended. The document also recommends that RFCs 1157, 1441, 1901, 1909 and 1910 be retired by moving them to Historic status. This document obsoletes RFC 2570.

Table of Contents

1 Introduction ................................................. 2 2 The Internet Standard Management Framework ................... 3 2.1 Basic Structure and Components ............................. 4 2.2 Architecture of the Internet Standard Management Framework . 4 3 The SNMPv1 Management Framework .............................. 5 3.1 The SNMPv1 Data Definition Language ........................ 6 3.2 Management Information ..................................... 6 3.3 Protocol Operations ........................................ 7 3.4 SNMPv1 Security and Administration ......................... 7 4 The SNMPv2 Management Framework .............................. 8 5 The SNMPv3 Working Group ..................................... 8 6 SNMPv3 Framework Module Specifications ....................... 10 6.1 Data Definition Language ................................... 11 6.2 MIB Modules ................................................ 12 6.3 Protocol Operations and Transport Mappings ................. 13 6.4 SNMPv3 Security and Administration ......................... 13 7 Document Summaries ........................................... 14 7.1 Structure of Management Information ........................ 14 7.1.1 Base SMI Specification ................................... 15 7.1.2 Textual Conventions ...................................... 15 7.1.3 Conformance Statements ................................... 16 7.2 Protocol Operations ........................................ 16 7.3 Transport Mappings ......................................... 16 7.4 Protocol Instrumentation ................................... 17 7.5 Architecture / Security and Administration ................. 17 7.6 Message Processing and Dispatch (MPD) ...................... 17 7.7 SNMP Applications .......................................... 18 7.8 User-based Security Model (USM) ............................ 18 7.9 View-based Access Control (VACM) ........................... 19 7.10 SNMPv3 Coexistence and Transition ......................... 19 8 Standardization Status ....................................... 20 8.1 SMIv1 Status ............................................... 20 8.2 SNMPv1 and SNMPv2 Standardization Status ................... 21 8.3 Working Group Recommendation ............................... 22 9 Security Considerations ...................................... 22 10 References .................................................. 22 11 Editor's Addresses .......................................... 26 12 Full Copyright Statement .................................... 27

Introduction

This document is an introduction to the third version of the Internet-Standard Management Framework, termed the SNMP version 3 Management Framework (SNMPv3) and has multiple purposes.

First, it describes the relationship between the SNMP version 3 (SNMPv3) specifications and the specifications of the SNMP version 1 (SNMPv1) Management Framework, the SNMP version 2 (SNMPv2) Management Framework, and the Community-based Administrative Framework for SNMPv2.

Second, it provides a roadmap to the multiple documents which contain the relevant specifications.

Third, this document provides a brief easy-to-read summary of the contents of each of the relevant specification documents.

This document is intentionally tutorial in nature and, as such, may occasionally be "guilty" of oversimplification. In the event of a conflict or contradiction between this document and the more detailed documents for which this document is a roadmap, the specifications in the more detailed documents shall prevail.

Further, the detailed documents attempt to maintain separation between the various component modules in order to specify well- defined interfaces between them. This roadmap document, however, takes a different approach and attempts to provide an integrated view of the various component modules in the interest of readability.

This document is a work product of the SNMPv3 Working Group of the Internet Engineering Task Force (IETF).

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, RFC 2119 [1].

The Internet Standard Management Framework

The third version of the Internet Standard Management Framework (the SNMPv3 Framework) is derived from and builds upon both the original Internet-Standard Management Framework (SNMPv1) and the second Internet-Standard Management Framework (SNMPv2).

All versions (SNMPv1, SNMPv2, and SNMPv3) of the Internet Standard Management SNMP Framework share the same basic structure and components. Furthermore, all versions of the specifications of the Internet Standard Management Framework follow the same architecture.

Basic Structure and Components

An enterprise deploying the Internet Standard Management Framework contains four basic components:

  • several (typically many) managed nodes, each with an SNMP entity
  which provides remote access to management instrumentation
  (traditionally called an agent);
  • at least one SNMP entity with management applications (typically
  called a manager),
  • a management protocol used to convey management information
  between the SNMP entities, and
  • management information.

The management protocol is used to convey management information between SNMP entities such as managers and agents.

This basic structure is common to all versions of the Internet Standard Management Framework; i.e., SNMPv1, SNMPv2, and SNMPv3.

Architecture of the Internet Standard Management Framework

The specifications of the Internet Standard Management Framework are based on a modular architecture. This framework is more than just a protocol for moving data. It consists of:

  • a data definition language,
  • definitions of management information (the Management Information
  Base, or MIB),
  • a protocol definition, and
  • security and administration.

Over time, as the Framework has evolved from SNMPv1, through SNMPv2, to SNMPv3, the definitions of each of these architectural components have become richer and more clearly defined, but the fundamental architecture has remained consistent.

One prime motivator for this modularity was to enable the ongoing evolution of the Framework, as is documented in RFC 1052 [2]. When originally envisioned, this capability was to be used to ease the transition from SNMP-based management of internets to management based on OSI protocols. To this end, the framework was architected

with a protocol-independent data definition language and Management Information Base along with a MIB-independent protocol. This separation was designed to allow the SNMP-based protocol to be replaced without requiring the management information to be redefined or reinstrumented. History has shown that the selection of this architecture was the right decision for the wrong reason -- it turned out that this architecture has eased the transition from SNMPv1 to SNMPv2 and from SNMPv2 to SNMPv3 rather than easing the transition away from management based on the Simple Network Management Protocol.

The SNMPv3 Framework builds and extends these architectural principles by:

  • building on these four basic architectural components, in some
  cases incorporating them from the SNMPv2 Framework by reference,
  and
  • by using these same layering principles in the definition of new
  capabilities in the security and administration portion of the
  architecture.

Those who are familiar with the architecture of the SNMPv1 Management Framework and the SNMPv2 Management Framework will find many familiar concepts in the architecture of the SNMPv3 Management Framework. However, in some cases, the terminology may be somewhat different.

The SNMPv1 Management Framework

The original Internet-Standard Network Management Framework (SNMPv1) is defined in the following documents:

  • STD 16, RFC 1155 [3] which defines the Structure of Management
  Information (SMI), the mechanisms used for describing and naming
  objects for the purpose of management.
  • STD 16, RFC 1212 [4] which defines a more concise description
  mechanism for describing and naming management information
  objects, but which is wholly consistent with the SMI.
  • STD 15, RFC 1157 [5] which defines the Simple Network Management
  Protocol (SNMP), the protocol used for network access to managed
  objects and event notification.  Note this document also defines
  an initial set of event notifications.

Additionally, two documents are generally considered companions to these three:

  • STD 17, RFC 1213 [6] which contains definitions for the base set
  of management information
  • RFC 1215 [7] defines a concise description mechanism for defining
  event notifications, which are called traps in the SNMPv1
  protocol.  It also specifies the generic traps from RFC 1157 in
  the concise notation.

These documents describe the four parts of the first version of the SNMP Framework.

The SNMPv1 Data Definition Language

The first two and the last document, i.e., RFCs 1155, 1212, and 1215, describe the SNMPv1 data definition language and are often collectively referred to as "SMIv1". Note that due to the initial requirement that the SMI be protocol-independent, the first two SMI documents do not provide a means for defining event notifications (traps). Instead, the SNMP protocol document defines a few standardized event notifications (generic traps) and provides a means for additional event notifications to be defined. The last document specifies a straight-forward approach towards defining event notifications used with the SNMPv1 protocol. At the time that it was written, use of traps in the Internet-Standard network management framework was controversial. As such, RFC 1215 was put forward with the status of "Informational", which was never updated because it was believed that the second version of the SNMP Framework would replace the first version.

Management Information

The data definition language described in the first two documents was first used to define the now-historic MIB-I as specified in RFC 1066 [8], and was subsequently used to define MIB-II as specified in RFC 1213 [6].

Later, after the publication of MIB-II, a different approach to the management information definition was taken from the earlier approach of having a single committee staffed by generalists work on a single document to define the Internet-Standard MIB. Rather, many mini-MIB documents were produced in a parallel and distributed fashion by groups chartered to produce a specification for a focused portion of the Internet-Standard MIB and staffed by personnel with expertise in those particular areas ranging from various aspects of network management, to system management, and application management.

Protocol Operations

The third document, STD 15 [5], describes the SNMPv1 protocol operations performed by protocol data units (PDUs) on lists of variable bindings and describes the format of SNMPv1 messages. The operators defined by SNMPv1 are: get, get-next, get-response, set- request, and trap. Typical layering of SNMP on a connectionless transport service is also defined.

SNMPv1 Security and Administration

STD 15 [5] also describes an approach to security and administration. Many of these concepts are carried forward and some, particularly security, are extended by the SNMPv3 Framework.

The SNMPv1 Framework describes the encapsulation of SNMPv1 PDUs in SNMP messages between SNMP entities and distinguishes between application entities and protocol entities. In SNMPv3, these are renamed applications and engines, respectively.

The SNMPv1 Framework also introduces the concept of an authentication service supporting one or more authentication schemes. In addition to authentication, SNMPv3 defines the additional security capability referred to as privacy. (Note: some literature from the security community would describe SNMPv3 security capabilities as providing data integrity, source authenticity, and confidentiality.) The modular nature of the SNMPv3 Framework permits both changes and additions to the security capabilities.

Finally, the SNMPv1 Framework introduces access control based on a concept called an SNMP MIB view. The SNMPv3 Framework specifies a fundamentally similar concept called view-based access control. With this capability, SNMPv3 provides the means for controlling access to information on managed devices.

However, while the SNMPv1 Framework anticipated the definition of multiple authentication schemes, it did not define any such schemes other than a trivial authentication scheme based on community strings. This was a known fundamental weakness in the SNMPv1 Framework but it was thought at that time that the definition of commercial grade security might be contentious in its design and difficult to get approved because "security" means many different things to different people. To that end, and because some users do not require strong authentication, the SNMPv1 architected an authentication service as a separate block to be defined "later" and the SNMPv3 Framework provides an architecture for use within that block as well as a definition for its subsystems.

The SNMPv2 Management Framework

The SNMPv2 Management Framework is described in [8-13] and coexistence and transition issues relating to SNMPv1 and SNMPv2 are discussed in [15].

SNMPv2 provides several advantages over SNMPv1, including:

  • expanded data types (e.g., 64 bit counter)
  • improved efficiency and performance (get-bulk operator)
  • confirmed event notification (inform operator)
  • richer error handling (errors and exceptions)
  • improved sets, especially row creation and deletion
  • fine tuning of the data definition language

However, the SNMPv2 Framework, as described in these documents, is incomplete in that it does not meet the original design goals of the SNMPv2 project. The unmet goals included provision of security and administration delivering so-called "commercial grade" security with:

  • authentication: origin identification, message integrity, and
  some aspects of replay protection;
  • privacy: confidentiality;
  • authorization and access control; and
  • suitable remote configuration and administration capabilities for
  these features.

The SNMPv3 Management Framework, as described in this document and the companion documents, addresses these significant deficiencies.

The SNMPv3 Working Group

This document, and its companion documents, were produced by the SNMPv3 Working Group of the Internet Engineering Task Force (IETF). The SNMPv3 Working Group was chartered to prepare recommendations for the next generation of SNMP. The goal of the Working Group was to produce the necessary set of documents that provide a single standard for the next generation of core SNMP functions. The single, most critical need in the next generation is a definition of security and administration that makes SNMP-based management transactions secure

in a way which is useful for users who wish to use SNMPv3 to manage networks, the systems that make up those networks, and the applications which reside on those systems, including manager-to- agent, agent-to-manager, and manager-to-manager transactions.

In the several years prior to the chartering of the Working Group, there were a number of activities aimed at incorporating security and other improvements to SNMP. These efforts included:

  • "SNMP Security" circa 1991-1992 (RFC 1351 - RFC 1353),
  • "SMP" circa 1992-1993, and
  • "The Party-based SNMPv2" (sometimes called "SNMPv2p") circa
  1993-1995 (RFC 1441 - RFC 1452).

Each of these efforts incorporated commercial grade, industrial strength security including authentication, privacy, authorization, view-based access control, and administration, including remote configuration.

These efforts fed the development of the SNMPv2 Management Framework as described in RFCs 1902 - 1908. However, the Framework described in those RFCs had no standards-based security and administrative framework of its own; rather, it was associated with multiple security and administrative frameworks, including:

  • "The Community-based SNMPv2" (SNMPv2c) as described in RFC 1901
  [16],
  • "SNMPv2u" as described in RFCs 1909 and 1910, and
  • "SNMPv2*."

SNMPv2c had the most support within the IETF but had no security and administration whereas both SNMPv2u and SNMPv2* had security but lacked a consensus of support within the IETF.

The SNMPv3 Working Group was chartered to produce a single set of specifications for the next generation of SNMP, based upon a convergence of the concepts and technical elements of SNMPv2u and SNMPv2*, as was suggested by an advisory team which was formed to provide a single recommended approach for SNMP evolution.

In so doing, the Working Group charter defined the following objectives:

  • accommodate the wide range of operational environments with
  differing management demands;
  • facilitate the need to transition from previous, multiple
  protocols to SNMPv3;
  • facilitate the ease of setup and maintenance activities.

In the initial work of the SNMPv3 Working Group, the group focused on security and administration, including:

  • authentication and privacy,
  • authorization and view-based access control, and
  • standards-based remote configuration of the above.

The SNMPv3 Working Group did not "reinvent the wheel", but reused the SNMPv2 Draft Standard documents, i.e., RFCs 1902 through 1908 for those portions of the design that were outside the focused scope.

Rather, the primary contributors to the SNMPv3 Working Group, and the Working Group in general, devoted their considerable efforts to addressing the missing link -- security and administration -- and in the process made invaluable contributions to the state-of-the-art of management.

They produced a design based on a modular architecture with evolutionary capabilities with emphasis on layering. As a result, SNMPv3 can be thought of as SNMPv2 with additional security and administration capabilities.

In doing so, the Working Group achieved the goal of producing a single specification which has not only the endorsement of the IETF but also has security and administration.

SNMPv3 Framework Module Specifications

The specification of the SNMPv3 Management Framework is partitioned in a modular fashion among several documents. It is the intention of the SNMPv3 Working Group that, with proper care, any or all of the individual documents can be revised, upgraded, or replaced as requirements change, new understandings are obtained, and new technologies become available.

Whenever feasible, the initial document set which defines the SNMPv3 Management Framework leverages prior investments defining and implementing the SNMPv2 Management Framework by incorporating by reference each of the specifications of the SNMPv2 Management Framework.

The SNMPv3 Framework augments those specifications with specifications for security and administration for SNMPv3.

The documents which specify the SNMPv3 Management Framework follow the same architecture as those of the prior versions and can be organized for expository purposes into four main categories as follows:

  • the data definition language,
  • Management Information Base (MIB) modules,
  • protocol operations, and
  • security and administration.

The first three sets of documents are incorporated from SNMPv2. The documents in the fourth set are new to SNMPv3, but, as described previously, build on significant prior related works.

Data Definition Language

The specifications of the data definition language include STD 58, RFC 2578, "Structure of Management Information Version 2 (SMIv2)" [17], and related specifications. These documents are updates of RFCs 1902 - 1904 [9-11] which have evolved independently from the other parts of the framework and were republished with minor editorial changes as STD 58, RFCs 2578 - 2580 [17-19] when promoted from Draft Standard to full Standard.

The Structure of Management Information (SMIv2) defines fundamental data types, an object model, and the rules for writing and revising MIB modules. Related specifications include STD 58, RFCs 2579, 2580.

STD 58, RFC 2579, "Textual Conventions for SMIv2" [18], defines an initial set of shorthand abbreviations which are available for use within all MIB modules for the convenience of human readers and writers.

STD 58, RFC 2580, "Conformance Statements for SMIv2" [19], defines the format for compliance statements which are used for describing requirements for agent implementations and capability statements which can be used to document the characteristics of particular implementations.

The term "SMIv2" is somewhat ambiguous because users of the term intend it to have at least two different meanings. Sometimes the term is used to refer the entire data definition language of STD 58, defined collectively in RFCs 2578 - 2580 whereas at other times it is used to refer to only the portion of the data definition language defined in RFC 2578. This ambiguity is unfortunate but is rarely a significant problem in practice.

MIB Modules

MIB modules usually contain object definitions, may contain definitions of event notifications, and sometimes include compliance statements specified in terms of appropriate object and event notification groups. As such, MIB modules define the management information maintained by the instrumentation in managed nodes, made remotely accessible by management agents, conveyed by the management protocol, and manipulated by management applications.

MIB modules are defined according to the rules defined in the documents which specify the data definition language, principally the SMI as supplemented by the related specifications.

There is a large and growing number of standards-track MIB modules, as defined in the periodically updated "Internet Official Protocol Standards" list [20]. As of this writing, there are more than 100 standards-track MIB modules with a total number of defined objects exceeding 10,000. In addition, there is an even larger and growing number of enterprise-specific MIB modules defined unilaterally by various vendors, research groups, consortia, and the like resulting in an unknown and virtually uncountable number of defined objects.

In general, management information defined in any MIB module, regardless of the version of the data definition language used, can be used with any version of the protocol. For example, MIB modules defined in terms of the SNMPv1 SMI (SMIv1) are compatible with the SNMPv3 Management Framework and can be conveyed by the protocols specified therein. Furthermore, MIB modules defined in terms of the SNMPv2 SMI (SMIv2) are compatible with SNMPv1 protocol operations and can be conveyed by it. However, there is one noteworthy exception: the Counter64 datatype which can be defined in a MIB module defined

in SMIv2 format but which cannot be conveyed by an SNMPv1 protocol engine. It can be conveyed by an SNMPv2 or an SNMPv3 engine, but cannot be conveyed by an engine which exclusively supports SNMPv1.

Protocol Operations and Transport Mappings

The specifications for the protocol operations and transport mappings of the SNMPv3 Framework are incorporated by reference to the two SNMPv2 Framework documents which have subsequently been updated.

The specification for protocol operations is found in STD 62, RFC 3416, "Version 2 of the Protocol Operations for the Simple Network Management Protocol (SNMP)" [21].

The SNMPv3 Framework is designed to allow various portions of the architecture to evolve independently. For example, it might be possible for a new specification of protocol operations to be defined within the Framework to allow for additional protocol operations.

The specification of transport mappings is found in STD 62, RFC 3417, "Transport Mappings for the Simple Network Management Protocol (SNMP)" [22].

SNMPv3 Security and Administration

The document series pertaining to SNMPv3 Security and Administration defined by the SNMPv3 Working Group consists of seven documents at this time:

  RFC 3410, "Introduction and Applicability Statements for the
  Internet-Standard Management Framework", which is this document.
  STD 62, RFC 3411, "An Architecture for Describing Simple Network
  Management Protocol (SNMP) Management Frameworks" [23], describes
  the overall architecture with special emphasis on the architecture
  for security and administration.
  STD 62, RFC 3412, "Message Processing and Dispatching for the
  Simple Network Management Protocol (SNMP)" [24], describes the
  possibility of multiple message processing models and the
  dispatcher portion that can be a part of an SNMP protocol engine.
  STD 62, RFC 3413, "Simple Network Management Protocol (SNMP)
  Applications" [25], describes the five initial types of
  applications that can be associated with an SNMPv3 engine and
  their elements of procedure.
  STD 62, RFC 3414, "User-Based Security Model (USM) for Version 3
  of the Simple Network Management Protocol (SNMPv3)" [26],
  describes the threats against which protection is provided, as
  well as the mechanisms, protocols, and supporting data used to
  provide SNMP message-level security with the user-based security
  model.
  STD 62, RFC 3415, "View-based Access Control Model (VCAM) for the
  Simple Network Management Protocol (SNMP)" [27], describes how
  view-based access control can be applied within command responder
  and notification originator applications.
  RFC 2576, "SNMPv3 Coexistence and Transition" [28], describes
  coexistence between the SNMPv3 Management Framework, the SNMPv2
  Management Framework, and the original SNMPv1 Management
  Framework, and is in the process of being updated by a Work in
  Progress.

Document Summaries

The following sections provide brief summaries of each document with slightly more detail than is provided in the overviews above.

Structure of Management Information

Management information is viewed as a collection of managed objects, residing in a virtual information store, termed the Management Information Base (MIB). Collections of related objects are defined in MIB modules. These modules are written in the SNMP data definition language, which evolved from an adapted subset of OSI's Abstract Syntax Notation One (ASN.1) [29] language. STD 58, RFCs 2578, 2579, 2580, collectively define the data definition language, specify the base data types for objects, specify a core set of short-hand specifications for data types called textual conventions, and specify a few administrative assignments of object identifier (OID) values.

The SMI is divided into three parts: module definitions, object definitions, and notification definitions.

(1) Module definitions are used when describing information modules.

   An ASN.1 macro, MODULE-IDENTITY, is used to convey concisely the
   semantics of an information module.

(2) Object definitions are used when describing managed objects. An

   ASN.1 macro, OBJECT-TYPE, is used to convey concisely the syntax
   and semantics of a managed object.

(3) Notification definitions are used when describing unsolicited

   transmissions of management information.  An ASN.1 macro,
   NOTIFICATION-TYPE, is used to convey concisely the syntax and
   semantics of a notification.

As noted earlier, the term "SMIv2" is somewhat ambiguous because users of the term intend it to have at least two different meanings. Sometimes the term is used to refer to the entire data definition language of STD 58, defined collectively in RFCs 2578 - 2580 whereas at other times it is used to refer to only the portion of the data definition language defined in RFC 2578. This ambiguity is unfortunate but is rarely a significant problem in practice.

Base SMI Specification

STD 58, RFC 2578 specifies the base data types for the data definition language, which include: Integer32, enumerated integers, Unsigned32, Gauge32, Counter32, Counter64, TimeTicks, INTEGER, OCTET STRING, OBJECT IDENTIFIER, IpAddress, Opaque, and BITS. It also assigns values to several object identifiers. STD 58, RFC 2578 further defines the following constructs of the data definition language:

  • IMPORTS to allow the specification of items that are used in a MIB
  module, but defined in another MIB module.
  • MODULE-IDENTITY to specify for a MIB module a description and
  administrative information such as contact and revision history.
  • OBJECT-IDENTITY and OID value assignments to specify an OID value.
  • OBJECT-TYPE to specify the data type, status, and the semantics of
  managed objects.
  • SEQUENCE type assignment to list the columnar objects in a table.
  • NOTIFICATION-TYPE construct to specify an event notification.

Textual Conventions

When designing a MIB module, it is often useful to specify, in a short-hand way, the semantics for a set of objects with similar behavior. This is done by defining a new data type using a base data type specified in the SMI. Each new type has a different name, and specifies a base type with more restrictive semantics. These newly defined types are termed textual conventions, and are used for the convenience of humans reading a MIB module and potentially by "intelligent" management applications. It is the purpose of STD 58,

RFC 2579, Textual Conventions for SMIv2 [18], to define the construct, TEXTUAL-CONVENTION, of the data definition language used to define such new types and to specify an initial set of textual conventions available to all MIB modules.

Conformance Statements

It may be useful to define the acceptable lower-bounds of implementation, along with the actual level of implementation achieved. It is the purpose of STD 58, RFC 2580, Conformance Statements for SMIv2 [19], to define the constructs of the data definition language used for these purposes. There are two kinds of constructs:

(1) Compliance statements are used when describing requirements for

   agents with respect to object and event notification definitions.
   The MODULE-COMPLIANCE construct is used to convey concisely such
   requirements.

(2) Capability statements are used when describing capabilities of

   agents with respect to object and event notification definitions.
   The AGENT-CAPABILITIES construct is used to convey concisely such
   capabilities.

Finally, collections of related objects and collections of related event notifications are grouped together to form a unit of conformance. The OBJECT-GROUP construct is used to convey concisely the objects in and the semantics of an object group. The NOTIFICATION-GROUP construct is used to convey concisely the event notifications in and the semantics of an event notification group.

Protocol Operations

The management protocol provides for the exchange of messages which convey management information between the agents and the management stations. The form of these messages is a message "wrapper" which encapsulates a Protocol Data Unit (PDU).

It is the purpose of STD 62, RFC 3416, "Version 2 of the Protocol Operations for the Simple Network Management Protocol (SNMP)" [21], to define the operations of the protocol with respect to the sending and receiving of the PDUs.

Transport Mappings

SNMP messages may be used over a variety of protocol suites. It is the purpose of STD 62, RFC 3417, "Transport Mappings for the Simple Network Management Protocol (SNMP)" [22], to define how SNMP messages

map onto an initial set of transport domains. Other mappings may be defined in the future.

Although several mappings are defined, the mapping onto UDP is the preferred mapping. As such, to provide for the greatest level of interoperability, systems which choose to deploy other mappings should also provide for proxy service to the UDP mapping.

Protocol Instrumentation

It is the purpose of STD 62, RFC 3418, "Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)" [30], to define managed objects which describe the behavior of portions of an SNMP entity.

Architecture / Security and Administration

It is the purpose of STD 62, RFC 3411, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks" [23], to define an architecture for specifying Management Frameworks. While addressing general architectural issues, it focuses on aspects related to security and administration. It defines a number of terms used throughout the SNMPv3 Management Framework and, in so doing, clarifies and extends the naming of:

  • engines and applications,
  • entities (service providers such as the engines in agents and
  managers),
  • identities (service users), and
  • management information, including support for multiple logical
  contexts.

The document contains a small MIB module which is implemented by all authoritative SNMPv3 protocol engines.

Message Processing and Dispatch (MPD)

STD 62, RFC 3412, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)" [24], describes the Message Processing and Dispatching for SNMP messages within the SNMP architecture. It defines the procedures for dispatching potentially multiple versions of SNMP messages to the proper SNMP Message Processing Models, and for dispatching PDUs to SNMP applications. This document also describes one Message Processing Model - the SNMPv3 Message Processing Model.

An SNMPv3 protocol engine MUST support at least one Message Processing Model. An SNMPv3 protocol engine MAY support more than one, for example in a multi-lingual system which provides simultaneous support of SNMPv3 and SNMPv1 and/or SNMPv2c. For example, such a tri-lingual system which provides simultaneous support for SNMPv1, SNMPv2c, and SNMPv3 supports three message processing models.

SNMP Applications

It is the purpose of STD 62, RFC 3413, "Simple Network Management Protocol (SNMP) Applications" [25] to describe the five types of applications which can be associated with an SNMP engine. They are: Command Generators, Command Responders, Notification Originators, Notification Receivers, and Proxy Forwarders.

The document also defines MIB modules for specifying targets of management operations (including notifications), for notification filtering, and for proxy forwarding.

User-based Security Model (USM)

STD 62, RFC 3414, the "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)" [26] describes the User-based Security Model for SNMPv3. It defines the Elements of Procedure for providing SNMP message-level security.

The document describes the two primary and two secondary threats which are defended against by the User-based Security Model. They are: modification of information, masquerade, message stream modification, and disclosure.

The USM utilizes MD5 [31] and the Secure Hash Algorithm [32] as keyed hashing algorithms [33] for digest computation to provide data integrity:

  • to directly protect against data modification attacks,
  • to indirectly provide data origin authentication, and
  • to defend against masquerade attacks.

The USM uses loosely synchronized monotonically increasing time indicators to defend against certain message stream modification attacks. Automatic clock synchronization mechanisms based on the protocol are specified without dependence on third-party time sources and concomitant security considerations.

The USM uses the Data Encryption Standard (DES) [34] in the cipher block chaining mode (CBC) if disclosure protection is desired. Support for DES in the USM is optional, primarily because export and usage restrictions in many countries make it difficult to export and use products which include cryptographic technology.

The document also includes a MIB suitable for remotely monitoring and managing the configuration parameters for the USM, including key distribution and key management.

An entity may provide simultaneous support for multiple security models as well as multiple authentication and privacy protocols. All of the protocols used by the USM are based on pre-placed keys, i.e., private key mechanisms. The SNMPv3 architecture permits the use of symmetric and asymmetric mechanisms and protocols (asymmetric mechanisms are commonly called public key cryptography) but, as of this writing, there are no SNMPv3 security models on the IETF standards track that use public key cryptography.

Work is underway to specify how AES is to be used within the User- based Security Model (USM). This will be a separate document.

View-based Access Control (VACM)

The purpose of STD 62, RFC 3415, the "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)" [27], is to describe the View-based Access Control Model for use in the SNMP architecture. The VACM can simultaneously be associated in a single engine implementation with multiple Message Processing Models and multiple Security Models.

It is architecturally possible to have multiple, different, Access Control Models active and present simultaneously in a single engine implementation, but this is expected to be *_very_* rare in practice and *_far_* less common than simultaneous support for multiple Message Processing Models and/or multiple Security Models.

7.10. SNMPv3 Coexistence and Transition

The purpose of RFC 2576, "Coexistence between Version 1, Version 2, and Version 3 of the Internet-Standard Network Management Framework" [28], is to describe coexistence between the SNMPv3 Management Framework, the SNMPv2 Management Framework, and the original SNMPv1 Management Framework. In particular, this document describes four aspects of coexistence:

  • Conversion of MIB documents from SMIv1 to SMIv2 format
  • Mapping of notification parameters
  • Approaches to coexistence between entities which support the
  various versions of SNMP in a multi-lingual network, in particular
  the processing of protocol operations in multi-lingual
  implementations, as well as behavior of proxy implementations
  • The SNMPv1 Message Processing Model and Community-Based Security
  Model, which provides mechanisms for adapting SNMPv1 and SNMPv2c
  into the View-Based Access Control Model (VACM) [27]

Standardization Status

Readers should consult the latest version of the "Internet Official Protocol Standards" list [20] to determine the standardization status of any document.

However, the SNMPv3 Working Group explicitly requested that text be included in this document to amplify on the status of SMIv1, SNMPv1, and SNMPv2c.

SMIv1 Status

SMIv1, as described in STD 16, RFCs 1155 and 1212, was promoted to full Standard status in 1990 and has remained a Standard even after SMIv2 reached full Standard (see RFC 2026 [35] for more information about the Internet Standards Process). In many cases, a Standard is declared "Historic" when its replacement reaches full Standard. For example, MIB-1 [8] was declared "Historic" when MIB-2 [6] reached full Standard. Similarly, when SMIv2 reached full Standard, it might have been reasonable at that time to retire SMIv1 and declare it to be "Historic" but as the result of a conscious decision, STD 16, RFCs 1155 and 1212 continue to have the standardization status of full "Standard" but are not recommended. These documents were not declared "Historic" and remain on the standards track because they provide normative references for other documents on the standards track and cannot be declared "Historic" without rendering the documents which rely on them to also become "Historic". Consequently, STD 16 retains its standardization status but is not recommended because it has been superseded by the newer SMIv2 specifications which are identified somewhat later in this document.

On a pragmatic level, since about 1993 it has been wise for users of the data definition language to use SMIv2 for all new work because the realities of the marketplace have occasionally required the support of data definitions in both the SMIv1 and SMIv2 formats. While there are tools widely available at low cost or no cost to translate SMIv2 definitions to SMIv1 definitions, it is impractical

to build automatic tools that automatically translate SMIv1 definitions to SMIv2 definitions. Consequently, if one works in primarily SMIv2, the cost of providing data definitions in both SMIv1 and SMIv2 formats is trivial. In contrast, if one works primarily in SMIv1 format, providing data definitions in both SMIv1 and SMIv2 is significantly more expensive. The market requirements today for providing data definitions in SMIv1 format are greatly diminished when compared to those of 1993, and SMIv2 continues to be the strongly preferred format even though SMIv1 has not been declared "Historic". Indeed, the IETF currently requires that new MIB modules be written using SMIv2.

SNMPv1 and SNMPv2 Standardization Status

Protocol operations via SNMPv1 and SNMPv2c message wrappers support only trivial authentication based on plain-text community strings and, as a result, are fundamentally insecure. When the SNMPv3 specifications for security and administration, which include strong security, reached full Standard status, the full Standard SNMPv1, formerly STD 15 [5], and the experimental SNMPv2c specifications described in RFC 1901 [16] were declared Historic due to their weaknesses with respect to security and to send a clear message that the third version of the Internet Standard Management Framework is the framework of choice. The Party-based SNMPv2 (SNMPv2p), SNMPv2u, and SNMPv2* were either declared Historic circa 1995 or were never on the standards track.

On a pragmatic level, it is expected that a number of vendors will continue to produce and users will continue to deploy and use multi- lingual implementations that support SNMPv1 and/or SNMPv2c as well as SNMPv3. It should be noted that the IETF standards process does not control actions of vendors or users who may choose to promote or deploy historic protocols, such as SNMPv1 and SNMPv2c, in spite of known short-comings. However, it is not expected that vendors will produce nor that users will deploy multi-lingual implementations that support the Party-based SNMPv2p (SNMPv2p), SNMPv2u, or SNMPv2*.

Indeed, as described above, one of the SNMPv3 specifications for security and administration, RFC 2576, Coexistence between Version 1, Version 2, and Version 3 of the Internet-Standard Management Framework [28], addresses these issues.

Of course, it is important that users deploying multi-lingual systems with insecure protocols exercise sufficient due diligence to insure that configurations limit access via SNMPv1 and SNMPv2c appropriately, in keeping with the organization's security policy, just as they should carefully limit access granted via SNMPv3 with a security level of no authentication and no privacy which is roughly

equivalent from a security point of view. For example, it is probably unwise to allow SNMPv1 or SNMPv2c a greater level of access than is provided to unauthenticated SNMPv3 users, e.g., it does not make sense to guard the front door with armed guards, trained attack dogs, moats and drawbridges while providing unfettered access through an open back door.

The SNMPv1 framework, SNMPv2 framework, and SNMPv2c had limited capabilities for administering the SNMPv1 and SNMPv2c protocols. For example, there are no objects defined to view and configure communities or destinations for notifications (traps and informs). The result has been vendor defined mechanisms for administration that range from proprietary format configuration files that cannot be viewed or configured via SNMP to enterprise specific object definitions. The SNMPv3 framework provides a rich standards-based approach to administration which, by design, can be used for the SNMPv1 and SNMPv2c protocols. Thus, to foster interoperability of administration of SNMPv1 and SNMPv2c protocols in multi-lingual systems, the mechanisms and objects specified in [25], [27], and [28] should be used to supplement or replace the equivalent proprietary mechanisms.

Working Group Recommendation

Based on the explanations above, the SNMPv3 Working Group recommends that RFCs 1157, 1441, 1901, 1909 and 1910 be reclassified as Historical documents.

Security Considerations

As this document is primarily a roadmap document, it introduces no new security considerations. The reader is referred to the relevant sections of each of the referenced documents for information about security considerations.

10. References

10.1. Normative References

[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March, 1997.

10.2. Informative References

[2] Cerf, V., "IAB Recommendations for the Development of Internet

    Network Management Standards", RFC 1052, April 1988.

[3] Rose, M. and K. McCloghrie, "Structure and Identification of

    Management Information for TCP/IP-based internets", STD 16, RFC
    1155, May 1990.

[4] Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16,

    RFC 1212, March 1991.

[5] Case, J., Fedor, M., Schoffstall, M. and Davin, J., "Simple

    Network Management Protocol", STD 15, RFC 1157, May 1990.

[6] McCloghrie, K. and M. Rose, "Management Information Base for

    Network Management of TCP/IP-based internets: MIB-II", STD 17,
    RFC 1213, March 1991.

[7] Rose, M., "A Convention for Defining Traps for use with the

    SNMP", RFC 1215, March 1991.

[8] McCloghrie, K. and M. Rose, "Management Information Base for

    Network Management of TCP/IP-based Internets", RFC 1156, March
    1990.

[9] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Structure

    of Management Information for Version 2 of the Simple Network
    Management Protocol (SNMPv2)", RFC 1902, January 1996.

[10] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Textual

    Conventions for Version 2 of the Simple Network Management
    Protocol (SNMPv2)", RFC 1903, January 1996.

[11] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,

    "Conformance Statements for Version 2 of the Simple Network
    Management Protocol (SNMPv2)", RFC 1904, January 1996.

[12] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol

    Operations for Version 2 of the Simple Network Management
    Protocol (SNMPv2)", RFC 1905, January 1996.

[13] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Transport

    Mappings for Version 2 of the Simple Network Management Protocol
    (SNMPv2)", RFC 1906, January 1996.

[14] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,

    "Management Information Base for Version 2 of the Simple Network
    Management Protocol (SNMPv2)", RFC 1907, January 1996.

[15] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,

    "Coexistence between Version 1 and Version 2 of the Internet-
    Standard Network Management Framework", RFC 2576, January 1996.

[16] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,

    "Introduction to Community-based SNMPv2", RFC 1901, January
    1996.

[17] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose,

    M. and S. Waldbusser, "Structure of Management Information
    Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.

[18] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose,

    M. and S. Waldbusser, "Textual Conventions for SMIv2", STD 58,
    RFC 2579, April 1999.

[19] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose,

    M. and S. Waldbusser, "Conformance Statements for SMIv2", STD
    58, RFC 2580, April 1999.

[20] "Official Internet Protocol Standards", http://www.rfc-

    editor.org/rfcxx00.html also STD0001.

[21] Presuhn, R., Case, J., McCloghrie, K., Rose, M. and S.

    Waldbusser, "Version 2 of the Protocol Operations for the Simple
    Network Management Protocol (SNMP)", STD 62, RFC 3416, December
    2002.

[22] Presuhn, R., Case, J., McCloghrie, K., Rose, M. and S.

    Waldbusser, "Transport Mappings for the Simple Network
    Management Protocol (SNMP)", STD 62, RFC 3417, December 2002.

[23] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for

    Describing Simple Network Management Protocol (SNMP) Management
    Frameworks", STD 62, RFC 3411, December 2002.

[24] Case, J., Harrington, D., Presuhn, R. and B. Wijnen, "Message

    Processing and Dispatching for the Simple Network Management
    Protocol (SNMP)", STD 62, RFC 3412, December 2002.

[25] Levi, D., Meyer, P. and B. Stewart, "Simple Network Management

    Protocol (SNMP) Applications", STD 62, RFC 3413, December 2002.

[26] Blumenthal, U. and B. Wijnen, "User-Based Security Model (USM)

    for Version 3 of the Simple Network Management Protocol
    (SNMPv3)", STD 62, RFC 3414, December 2002.

[27] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access

    Control Model (VACM) for the Simple Network Management Protocol
    (SNMP)", STD 62, RFC 3415, December 2002.

[28] Frye, R., Levi, D., Routhier, S. and B. Wijnen, "Coexistence

    between Version 1, Version 2, and Version 3 of the Internet-
    Standard Network Management Framework", RFC 2576, March 2000.

[29] Information processing systems - Open Systems Interconnection -

    Specification of Abstract Syntax Notation One (ASN.1),
    International Organization for Standardization.  International
    Standard 8824, (December, 1987).

[30] Presuhn, R., Case, J., McCloghrie, K., Rose, M. and S.

    Waldbusser, "Management Information Base (MIB) for the Simple
    Network Management Protocol (SNMP)", STD 62, RFC 3418, December
    2002.

[31] Rivest, R., "Message Digest Algorithm MD5", RFC 1321, April

    1992.

[32] Secure Hash Algorithm. NIST FIPS 180-1, (April, 1995)

    http://csrc.nist.gov/fips/fip180-1.txt (ASCII)
    http://csrc.nist.gov/fips/fip180-1.ps  (Postscript)

[33] Krawczyk, H., Bellare, M. and R. Canetti, "HMAC: Keyed-Hashing

    for Message Authentication", RFC 2104, February 1997.

[34] Data Encryption Standard, National Institute of Standards and

    Technology.  Federal Information Processing Standard (FIPS)
    Publication 46-1.  Supersedes FIPS Publication 46, (January,
    1977; reaffirmed January, 1988).

[35] Bradner, S., "The Internet Standards Process -- Revision 3", BCP

    9, RFC 2026, October, 1996.

11. Editors' Addresses

Jeffrey Case SNMP Research, Inc. 3001 Kimberlin Heights Road Knoxville, TN 37920-9716 USA

Phone: +1 865 573 1434 EMail: [email protected]

Russ Mundy Network Associates Laboratories 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA

Phone: +1 301 947 7107 EMail: [email protected]

David Partain Ericsson P.O. Box 1248 SE-581 12 Linkoping Sweden

Phone: +46 13 28 41 44 EMail: [email protected]

Bob Stewart Retired

12. Full Copyright Statement

Copyright (C) The Internet Society (2002). All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

Funding for the RFC Editor function is currently provided by the Internet Society.