⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc3412.txt

📁 开发snmp的开发包有两个开放的SNMP开发库
💻 TXT
📖 第 1 页 / 共 5 页
字号:
      Dispatching for Incoming Messages.4.2.2.  PDU Dispatching for Incoming Messages   The elements of procedure for the dispatching of PDUs depends on the   value of sendPduHandle.  If the value of sendPduHandle is <none>,   then this is a request or notification and the procedures specified   in Section 4.2.2.1 apply.  If the value of snmpPduHandle is not   <none>, then this is a response and the procedures specified in   Section 4.2.2.2 apply.Case, et al.                Standards Track                    [Page 12]RFC 3412      Message Processing and Dispatching for SNMP  December 20024.2.2.1.  Incoming Requests and Notifications   The following procedures are followed for the dispatching of PDUs   when the value of sendPduHandle is <none>, indicating this is a   request or notification.   1) The combination of contextEngineID and pduType is used to      determine which application has registered for this request or      notification.   2) If no application has registered for the combination, then:      a) The snmpUnknownPDUHandlers counter is incremented.      b) A Response message is generated using the abstract service         primitive:         result =                       -- SUCCESS or FAILURE         prepareResponseMessage(         IN   messageProcessingModel    -- as provided by MP module         IN   securityModel             -- as provided by MP module         IN   securityName              -- as provided by MP module         IN   securityLevel             -- as provided by MP module         IN   contextEngineID           -- as provided by MP module         IN   contextName               -- as provided by MP module         IN   pduVersion                -- as provided by MP module         IN   PDU                       -- as provided by MP module         IN   maxSizeResponseScopedPDU  -- as provided by MP module         IN   stateReference            -- as provided by MP module         IN   statusInformation         -- errorIndication plus                                        -- snmpUnknownPDUHandlers OID                                        -- value pair.         OUT  destTransportDomain       -- destination transportDomain         OUT  destTransportAddress      -- destination transportAddress         OUT  outgoingMessage           -- the message to send         OUT  outgoingMessageLength     -- its length         )      c) If the result is SUCCESS, then the prepared message is sent to         the originator of the request as identified by the         transportDomain and transportAddress.  The transport used to         send the outgoingMessage is returned via destTransportDomain,         and the address to which it was sent is returned via         destTransportAddress.      d) The incoming message is discarded without further processing.         Message Processing for this message is complete.Case, et al.                Standards Track                    [Page 13]RFC 3412      Message Processing and Dispatching for SNMP  December 2002   3) The PDU is dispatched to the application, using the abstract      service primitive:      processPdu(                     -- process Request/Notification        IN   messageProcessingModel   -- as provided by MP module        IN   securityModel            -- as provided by MP module        IN   securityName             -- as provided by MP module        IN   securityLevel            -- as provided by MP module        IN   contextEngineID          -- as provided by MP module        IN   contextName              -- as provided by MP module        IN   pduVersion               -- as provided by MP module        IN   PDU                      -- as provided by MP module        IN   maxSizeResponseScopedPDU -- as provided by MP module        IN   stateReference           -- as provided by MP module                                      -- needed when sending response             )      Message processing for this message is complete.4.2.2.2.  Incoming Responses   The following procedures are followed for the dispatching of PDUs   when the value of sendPduHandle is not <none>, indicating this is a   response.   1) The value of sendPduHandle is used to determine, in an      implementation-defined manner, which application is waiting for a      response associated with this sendPduHandle.   2) If no waiting application is found, the message is discarded      without further processing, and the stateReference is released.      The snmpUnknownPDUHandlers counter is incremented.  Message      Processing is complete for this message.   3) Any cached information, including stateReference, about the      message is discarded.Case, et al.                Standards Track                    [Page 14]RFC 3412      Message Processing and Dispatching for SNMP  December 2002   4) The response is dispatched to the application using the abstract      service primitive:      processResponsePdu(              -- process Response PDU        IN   messageProcessingModel    -- provided by the MP module        IN   securityModel             -- provided by the MP module        IN   securityName              -- provided by the MP module        IN   securityLevel             -- provided by the MP module        IN   contextEngineID           -- provided by the MP module        IN   contextName               -- provided by the MP module        IN   pduVersion                -- provided by the MP module        IN   PDU                       -- provided by the MP module        IN   statusInformation         -- provided by the MP module        IN   sendPduHandle             -- provided by the MP module             )      Message Processing is complete for this message.4.3.  Application Registration for Handling PDU types   Applications that want to process certain PDUs must register with the   PDU Dispatcher.  Applications specify the combination of   contextEngineID and pduType(s) for which they want to take   responsibility.   1) An application registers according to the abstract interface      primitive:      statusInformation =           -- success or errorIndication        registerContextEngineID(        IN   contextEngineID        -- take responsibility for this one        IN   pduType                -- the pduType(s) to be registered             )      Note: Implementations may provide a means of requesting      registration for simultaneous multiple contextEngineID values,      e.g., all contextEngineID values, and may also provide a means for      requesting simultaneous registration for multiple values of the      pduType.   2) The parameters may be checked for validity; if they are not, then      an errorIndication (invalidParameter) is returned to the      application.   3) Each combination of contextEngineID and pduType can be registered      only once.  If another application has already registered for the      specified combination, then an errorIndication (alreadyRegistered)      is returned to the application.Case, et al.                Standards Track                    [Page 15]RFC 3412      Message Processing and Dispatching for SNMP  December 2002   4) Otherwise, the registration is saved so that SNMP PDUs can be      dispatched to this application.4.4.  Application Unregistration for Handling PDU Types   Applications that no longer want to process certain PDUs must   unregister with the PDU Dispatcher.   1) An application unregisters using the abstract service primitive:      unregisterContextEngineID(       IN   contextEngineID        -- give up responsibility for this       IN   pduType                -- the pduType(s) to be unregistered            )      Note: Implementations may provide a means for requesting the      unregistration for simultaneous multiple contextEngineID values,      e.g., all contextEngineID values, and may also provide a means for      requesting simultaneous unregistration for multiple values of      pduType.   2) If the contextEngineID and pduType combination has been      registered, then the registration is deleted.      If no such registration exists, then the request is ignored.5.  Definitions5.1.  Definitions for SNMP Message Processing and Dispatching   SNMP-MPD-MIB DEFINITIONS ::= BEGIN   IMPORTS       MODULE-COMPLIANCE, OBJECT-GROUP         FROM SNMPv2-CONF       MODULE-IDENTITY, OBJECT-TYPE,       snmpModules, Counter32                  FROM SNMPv2-SMI;   snmpMPDMIB MODULE-IDENTITY       LAST-UPDATED "200210140000Z"       ORGANIZATION "SNMPv3 Working Group"       CONTACT-INFO "WG-EMail:   snmpv3@lists.tislabs.com                     Subscribe:  snmpv3-request@lists.tislabs.com                     Co-Chair:   Russ Mundy                                 Network Associates Laboratories                     postal:     15204 Omega Drive, Suite 300                                 Rockville, MD 20850-4601                                 USACase, et al.                Standards Track                    [Page 16]RFC 3412      Message Processing and Dispatching for SNMP  December 2002                     EMail:      mundy@tislabs.com                     phone:      +1 301-947-7107                     Co-Chair &                     Co-editor:  David Harrington                                 Enterasys Networks                     postal:     35 Industrial Way                                 P. O. Box 5005                                 Rochester NH 03866-5005                                 USA                     EMail:      dbh@enterasys.com                     phone:      +1 603-337-2614                     Co-editor:  Jeffrey Case                                 SNMP Research, Inc.                     postal:     3001 Kimberlin Heights Road                                 Knoxville, TN 37920-9716                                 USA                     EMail:      case@snmp.com                     phone:      +1 423-573-1434                     Co-editor:  Randy Presuhn                                 BMC Software, Inc.                     postal:     2141 North First Street                                 San Jose, CA 95131                                 USA                     EMail:      randy_presuhn@bmc.com                     phone:      +1 408-546-1006                     Co-editor:  Bert Wijnen                                 Lucent Technologies                     postal:     Schagen 33                                 3461 GL Linschoten                                 Netherlands                     EMail:      bwijnen@lucent.com                     phone:      +31 348-680-485                    "       DESCRIPTION  "The MIB for Message Processing and Dispatching                     Copyright (C) The Internet Society (2002). This                     version of this MIB module is part of RFC 3412;                     see the RFC itself for full legal notices.                    "       REVISION     "200210140000Z"            -- 14 October 2002       DESCRIPTION  "Updated addresses, published as RFC 3412."       REVISION     "199905041636Z"            -- 4 May 1999       DESCRIPTION  "Updated addresses, published as RFC 2572."Case, et al.                Standards Track                    [Page 17]RFC 3412      Message Processing and Dispatching for SNMP  December 2002       REVISION     "199709300000Z"            -- 30 September 1997       DESCRIPTION  "Original version, published as RFC 2272."       ::= { snmpModules 11 }   -- Administrative assignments ***************************************   snmpMPDAdmin           OBJECT IDENTIFIER ::= { snmpMPDMIB 1 }   snmpMPDMIBObjects      OBJECT IDENTIFIER ::= { snmpMPDMIB 2 }   snmpMPDMIBConformance  OBJECT IDENTIFIER ::= { snmpMPDMIB 3 }   -- Statistics for SNMP Messages *************************************   snmpMPDStats           OBJECT IDENTIFIER ::= { snmpMPDMIBObjects 1 }   snmpUnknownSecurityModels OBJECT-TYPE       SYNTAX       Counter32       MAX-ACCESS   read-only       STATUS       current       DESCRIPTION "The total number of packets received by the SNMP                    engine which were dropped because they referenced a                    securityModel that was not known to or supported by                    the SNMP engine.                   "       ::= { snmpMPDStats 1 }   snmpInvalidMsgs OBJECT-TYPE

⌨️ 快捷键说明

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