rfc2572.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,614 行 · 第 1/5 页

TXT
1,614
字号






Network Working Group                                            J. Case
Request for Comments: 2572                            SNMP Research Inc.
Obsoletes: 2272                                            D. Harrington
Category: Standards Track                        Cabletron Systems, Inc.
                                                              R. Presuhn
                                                      BMC Software, Inc.
                                                               B. Wijnen
                                               IBM T. J. Watson Research
                                                              April 1999


               Message Processing and Dispatching for the
               Simple Network Management Protocol (SNMP)

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

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

Abstract

   This document describes the Message Processing and Dispatching for
   SNMP messages within the SNMP architecture [RFC2571].  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.

Table of Contents

   1. Introduction ................................................    3
   2. Overview ....................................................    3
   2.1. The Dispatcher.  ..........................................    5
   2.2. Message Processing Subsystem ..............................    5
   3. Elements of Message Processing and Dispatching ..............    5
   3.1. messageProcessingModel ....................................    6
   3.2. pduVersion ................................................    6
   3.3. pduType ...................................................    7
   3.4. sendPduHandle .............................................    7
   4. Dispatcher Elements of Procedure ............................    7
   4.1. Sending an SNMP Message to the Network ....................    7



SNMPv3 Working Group        Standards Track                     [Page 1]

RFC 2572           Message Processing and Dispatching           April 1999


   4.1.1. Sending a Request or Notification .......................    7
   4.1.2. Sending a Response to the Network .......................    9
   4.2. Receiving an SNMP Message from the Network ................   11
   4.2.1. Message Dispatching of received SNMP Messages ...........   11
   4.2.2. PDU Dispatching for Incoming Messages ...................   12
   4.2.2.1. Incoming Requests and Notifications ...................   12
   4.2.2.2. Incoming Responses ....................................   14
   4.3. Application Registration for Handling PDU types ...........   15
   4.4. Application Unregistration for Handling PDU Types .........   16
   5. Definitions .................................................   16
   5.1. Definitions for SNMP Message Processing and Dispatching ...   16
   6. The SNMPv3 Message Format ...................................   20
   6.1. msgVersion ................................................   21
   6.2. msgID .....................................................   21
   6.3. msgMaxSize ................................................   21
   6.4. msgFlags ..................................................   22
   6.5. msgSecurityModel ..........................................   24
   6.6. msgSecurityParameters .....................................   24
   6.7. scopedPduData .............................................   24
   6.8. scopedPDU .................................................   25
   6.8.1. contextEngineID .........................................   25
   6.8.2. contextName .............................................   25
   6.8.3. data ....................................................   25
   7. Elements of Procedure for v3MP ..............................   25
   7.1. Prepare an Outgoing SNMP Message ..........................   36
   7.2. Prepare Data Elements from an Incoming SNMP Message .......   31
   8. Intellectual Property .......................................   37
   9. Acknowledgements ............................................   37
   10. Security Considerations ....................................   39
   11. References .................................................   40
   12. Editors' Addresses .........................................   41
   13. Changes From RFC 2272 ......................................   42
   14. Full Copyright Statement ...................................   44


















SNMPv3 Working Group        Standards Track                     [Page 2]

RFC 2572           Message Processing and Dispatching           April 1999


1.  Introduction

   The Architecture for describing Internet Management Frameworks
   [RFC2571] describes that an SNMP engine is composed of:

        1) a Dispatcher
        2) a Message Processing Subsystem,
        3) a Security Subsystem, and
        4) an Access Control Subsystem.

   Applications make use of the services of these subsystems.

   It is important to understand the SNMP architecture and its
   terminology to understand where the Message Processing Subsystem and
   Dispatcher described in this document fit into the architecture and
   interact with other subsystems within the architecture.  The reader
   is expected to have read and understood the description of the SNMP
   architecture, defined in [RFC2571].

   The Dispatcher in the SNMP engine sends and receives SNMP messages.
   It also dispatches SNMP PDUs to SNMP applications. When an SNMP
   message needs to be prepared or when data needs to be extracted from
   an SNMP message, the Dispatcher delegates these tasks to a message
   version-specific Message Processing Model within the Message
   Processing Subsystem.

   A Message Processing Model is responsible for processing a SNMP
   version-specific message and for coordinating the interaction with
   the Security Subsystem to ensure proper security is applied to the
   SNMP message being handled.

   Interactions between the Dispatcher, the Message Processing
   Subsystem, and applications are modeled using abstract data elements
   and abstract service interface primitives defined by the SNMP
   architecture.

   Similarly, interactions between the Message Processing Subsystem and
   the Security Subsystem are modeled using abstract data elements and
   abstract service interface primitives as defined by the SNMP
   architecture.

   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 RFC 2119.







SNMPv3 Working Group        Standards Track                     [Page 3]

RFC 2572           Message Processing and Dispatching           April 1999



2.  Overview

   The following illustration depicts the Message Processing in relation
   to SNMP applications, the Security Subsystem and Transport Mappings.

   +-------------------------------------------------------------------+
   | SNMP Entity                                                       |
   |                                                                   |
   | +---------------------------------------------------------------+ |
   | | Applications                                                  | |
   | | +-----------+  +--------------+                               | |
   | | | Command   |  | Notification |                               | |
   | | | Generator |  | Originator   | +-----------+ +--------------+| |
   | | +-----------+  +--------------+ | Proxy     | | Other         | |
   | | +-----------+  +--------------+ | Forwarder | |Application(s)|| |
   | | | Command   |  | Notification | +-----------+ +--------------+| |
   | | | Responder |  | Receiver     |                               | |
   | | +-----------+  +--------------+                               | |
   | +---------------------------------------------------------------+ |
   |        ^                ^               ^           ^             |
   |        |                |               |           |             |
   |        v                v               v           v             |
   |        +--------+-------+---------------+-----------+             |
   |                 ^                                                 |
   |                 |    +---------------------+  +-----------------+ |
   |                 |    | Message Processing  |  | Security        | |
   | Dispatcher      v    | Subsystem           |  | Subsystem       | |
   | +------------------+ |     +------------+  |  |                 | |
   | | PDU Dispatcher   | |  +->| v1MP     * |<--->| +-------------+ | |
   | |                  | |  |  +------------+  |  | | Other       | | |
   | |                  | |  |  +------------+  |  | | Security    | | |
   | |                  | |  +->| v2cMP    * |<--->| | Model       | | |
   | | Message          | |  |  +------------+  |  | +-------------+ | |
   | | Dispatcher  <-------->+                  |  |                 | |
   | |                  | |  |  +------------+  |  | +-------------+ | |
   | |                  | |  +->| v3MP     * |<--->| | User-based  | | |
   | | Transport        | |  |  +------------+  |  | | Security    | | |
   | | Mapping          | |  |  +------------+  |  | | Model       | | |
   | | (e.g RFC 1906)   | |  +->| otherMP  * |<--->| +-------------+ | |
   | +------------------+ |     +------------+  |  |                 | |
   |          ^           +---------------------+  +-----------------+ |
   |          |                                                        |
   +----------|--------------------------------------------------------+
              v
     +------------------+
     |   Network        |
     +------------------+



SNMPv3 Working Group        Standards Track                     [Page 4]

RFC 2572           Message Processing and Dispatching           April 1999



2.1.  The Dispatcher.

   The Dispatcher is a key piece of an SNMP engine. There is only one in
   an SNMP engine, and its job is to dispatch tasks to the multiple
   version-specific Message Processing Models, and to dispatch PDUs to
   various applications.

   For outgoing messages, an application provides a PDU to be sent, plus
   the data needed to prepare and send the message, and the application
   specifies which version-specific Message Processing Model will be
   used to prepare the message with the desired security processing.
   Once the message is prepared, the Dispatcher sends the message.

   For incoming messages, the Dispatcher determines the SNMP version of
   the incoming message and passes the message to the version-specific
   Message Processing Model to extract the components of the message and
   to coordinate the processing of security services for the message.
   After version-specific processing, the PDU Dispatcher determines
   which application, if any, should receive the PDU for processing and
   forwards it accordingly.

   The Dispatcher, while sending and receiving SNMP messages, collects
   statistics about SNMP messages and the behavior of the SNMP engine in
   managed objects to make them accessible to remote SNMP entities.
   This document defines these managed objects, the MIB module which
   contains them, and how these managed objects might be used to provide
   useful management.

2.2.  Message Processing Subsystem

   The SNMP Message Processing Subsystem is the part of an SNMP engine
   which interacts with the Dispatcher to handle the version-specific
   SNMP messages. It contains one or more Message Processing Models.

   This document describes one Message Processing Model, the SNMPv3
   Message Processing Model, in Section 6. The SNMPv3 Message Processing
   Model is defined in a separate section to show that multiple
   (independent) Message Processing Models can exist at the same time
   and that such Models can be described in different documents. The
   SNMPv3 Message Processing Model can be replaced or supplemented with
   other Message Processing Models in the future. Two Message Processing
   Models which are expected to be developed in the future are the
   SNMPv1 message format [RFC1157] and the SNMPv2c message format
   [RFC1901].  Others may be developed as needed.






SNMPv3 Working Group        Standards Track                     [Page 5]

RFC 2572           Message Processing and Dispatching           April 1999



3.  Elements of Message Processing and Dispatching

   See [RFC2571] for the definitions of
           contextEngineID
           contextName
           scopedPDU
           maxSizeResponseScopedPDU
           securityModel
           securityName
           securityLevel
           messageProcessingModel

   For incoming messages, a version-specific message processing module
   provides these values to the Dispatcher. For outgoing messages, an
   application provides these values to the Dispatcher.

   For some version-specific processing, the values may be extracted
   from received messages; for other versions, the values may be
   determined by algorithm, or by an implementation-defined mechanism.
   The mechanism by which the value is determined is irrelevant to the
   Dispatcher.

   The following additional or expanded definitions are for use within
   the Dispatcher.

3.1.  messageProcessingModel

   The value of messageProcessingModel identifies a Message Processing
   Model.  A Message Processing Model describes the version-specific
   procedures for extracting data from messages, generating messages,
   calling upon a securityModel to apply its security services to
   messages, for converting data from a version-specific message format
   into a generic format usable by the Dispatcher, and for converting
   data from Dispatcher format into a version-specific message format.

3.2.  pduVersion

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?