📄 rfc2262.txt
字号:
RFC 2262 SNMPv3 Management Protocol January 1998
4.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 transportDomain -- destination transportDomain
OUT transportAddress -- 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.
d) The incoming message is discarded without further processing.
Message Processing for this message is complete.
3) The PDU is dispatched to the application, using the abstract
service primitive:
Case, et. al. Standards Track [Page 12]
RFC 2262 SNMPv3 Management Protocol January 1998
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 PDU 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.
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
Case, et. al. Standards Track [Page 13]
RFC 2262 SNMPv3 Management Protocol January 1998
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 means for
requesting simultaneous registration for multiple values of
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.
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:
Case, et. al. Standards Track [Page 14]
RFC 2262 SNMPv3 Management Protocol January 1998
unregisterContextEngineID(
IN contextEngineID -- give up responsibility for this
IN pduType -- the pduType(s) to be unregistered
)
Note: implementations may provide means for requesting
unregistration for simultaneous multiple contextEngineID values,
e.g., all contextEngineID values, and may also provide 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. Definitions
5.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 "9711200000Z" -- 20 November 1997
ORGANIZATION "SNMPv3 Working Group"
CONTACT-INFO "WG-email: snmpv3@tis.com
Subscribe: majordomo@tis.com
In message body: subscribe snmpv3
Chair: Russ Mundy
Trusted Information Systems
postal: 3060 Washington Road
Glenwood, MD 21738
USA
email: mundy@tis.com
phone: +1 301-854-6889
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
Case, et. al. Standards Track [Page 15]
RFC 2262 SNMPv3 Management Protocol January 1998
Co-editor Dave Harrington
Cabletron Systems, Inc.
postal: Post Office Box 5005
MailStop: Durham
35 Industrial Way
Rochester, NH 03867-5005
USA
email: dbh@ctron.com
phone: +1 603-337-7357
Co-editor: Randy Presuhn
BMC Software, Inc.
postal: 1190 Saratoga Ave, Suite 190
San Jose, CA 95120
USA
email: rpresuhn@bmc.com
phone: +1 408-556-0720
Co-editor: Bert Wijnen
IBM T. J. Watson Research
postal: Schagen 33
3461 GL Linschoten
Netherlands
email: wijnen@vnet.ibm.com
phone: +31 348-432-794
"
DESCRIPTION "The MIB for Message Processing and Dispatching"
::= { snmpModules 3 }
-- 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.
Case, et. al. Standards Track [Page 16]
RFC 2262 SNMPv3 Management Protocol January 1998
"
::= { snmpMPDStats 1 }
snmpInvalidMsgs 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 there were invalid
or inconsistent components in the SNMP message.
"
::= { snmpMPDStats 2 }
snmpUnknownPDUHandlers 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 the PDU contained
in the packet could not be passed to an application
responsible for handling the pduType, e.g. no SNMP
application had registered for the proper
combination of the contextEngineID and the pduType.
"
::= { snmpMPDStats 3 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -