📄 rfc2262.txt
字号:
Network Working Group J. CaseRequest for Comments: 2262 SNMP Research, Inc.Category: Standards Track D. Harrington Cabletron Systems, Inc. R. Presuhn BMC Software, Inc. B. Wijnen IBM T. J. Watson Research January 1998 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 (1997). All Rights Reserved.Abstract This document describes the Message Processing and Dispatching for SNMP messages within the SNMP architecture [RFC2261]. 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 ............................................... 2 2. Overview ................................................... 3 2.1. The Dispatcher. .......................................... 5 2.2. Message Processing Subsystem ............................. 5 3. Elements of Message Processing and Dispatching ............. 6 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 ................... 7Case, et. al. Standards Track [Page 1]RFC 2262 SNMPv3 Management Protocol January 1998 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 ............... 10 4.2.1. Message Dispatching of received SNMP Messages .......... 10 4.2.2. PDU Dispatching for Incoming Messages .................. 11 4.2.2.1. Incoming Requests and Notifications .................. 12 4.2.2.2. Incoming Responses ................................... 13 4.3. Application Registration for Handling PDU types .......... 14 4.4. Application Unregistration for Handling PDU Types ........ 14 5. Definitions ................................................ 15 5.1. Definitions for SNMP Message Processing and Dispatching .. 15 6. The SNMPv3 Message Format .................................. 18 6.1. msgVersion ............................................... 19 6.2. msgID .................................................... 19 6.3. msgMaxSize ............................................... 19 6.4. msgFlags ................................................. 20 6.5. msgSecurityModel ......................................... 22 6.6. msgSecurityParameters .................................... 22 6.7. scopedPduData ............................................ 22 6.8. scopedPDU ................................................ 22 6.8.1. contextEngineID ........................................ 22 6.8.2. contextName ............................................ 23 6.8.3. data ................................................... 23 7. Elements of Procedure for v3MP ............................. 23 7.1. Prepare an Outgoing SNMP Message ......................... 24 7.2. Prepare Data Elements from an Incoming SNMP Message ...... 29 8. Intellectual Property ...................................... 34 9. Acknowledgements ........................................... 35 10. Security Considerations ................................... 36 11. References ................................................ 36 12. Editors' Addresses ........................................ 38 13. Full Copyright Statement .................................. 391. Introduction The Architecture for describing Internet Management Frameworks [RFC2261] 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 andCase, et. al. Standards Track [Page 2]RFC 2262 SNMPv3 Management Protocol January 1998 interact with other subsystems within the architecture. The reader is expected to have read and understood the description of the SNMP architecture, defined in [RFC2261]. 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 responsibile 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 modelled 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 modelled 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.2. Overview The following illustration depicts the Message Processing in relation to SNMP applications, the Security Subsystem and Transport Mappings.Case, et. al. Standards Track [Page 3]RFC 2262 SNMPv3 Management Protocol January 1998 +-------------------------------------------------------------------+ | 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 RFC1906) | | +->| otherMP * |<--->| +-------------+ | | | +------------------+ | +------------+ | | | | | ^ +---------------------+ +-----------------+ | | | | +----------|--------------------------------------------------------+ v +------------------+ | Network | +------------------+Case, et. al. Standards Track [Page 4]RFC 2262 SNMPv3 Management Protocol January 19982.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.Case, et. al. Standards Track [Page 5]RFC 2262 SNMPv3 Management Protocol January 19983. Elements of Message Processing and Dispatching See [RFC2261] 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,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -