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

📄 rfc3413.txt

📁 开发snmp的开发包有两个开放的SNMP开发库
💻 TXT
📖 第 1 页 / 共 5 页
字号:
   - The messageProcessingModel indicates which Message Processing Model     the application wishes to use.   - The securityModel is the security model that the application wishes     to use.Levi, et. al.               Standards Track                     [Page 6]RFC 3413                   SNMP Applications               December 2002   - The securityName is the security model independent name for the     principal on whose behalf the application wishes the message to be     generated.   - The securityLevel is the security level that the application wishes     to use.   - The contextEngineID specifies the location of the management     information it is requesting.  Note that unless the request is     being sent to a proxy, this value will usually be equal to the     snmpEngineID value of the engine to which the request is being     sent.   - The contextName specifies the local context name for the management     information it is requesting.   - The pduVersion indicates the version of the PDU to be sent.   - The PDU is a value constructed by the command generator containing     the management operation that the command generator wishes to     perform.   - The expectResponse argument indicates that a response is expected.   The result of the sendPdu interface indicates whether the PDU was   successfully sent.  If it was successfully sent, the returned value   will be a sendPduHandle.  The command generator should store the   sendPduHandle so that it can correlate a response to the original   request.   The Dispatcher is responsible for delivering the response to a   particular request to the correct command generator application.  The   abstract service interface used is:      processResponsePdu(              -- process Response PDU        IN   messageProcessingModel    -- typically, SNMP version        IN   securityModel             -- Security Model in use        IN   securityName              -- on behalf of this principal        IN   securityLevel             -- Level of Security        IN   contextEngineID           -- data from/at this SNMP entity        IN   contextName               -- data from/in this context        IN   pduVersion                -- the version of the PDU        IN   PDU                       -- SNMP Protocol Data Unit        IN   statusInformation         -- success or errorIndication        IN   sendPduHandle             -- handle from sendPdu             )Levi, et. al.               Standards Track                     [Page 7]RFC 3413                   SNMP Applications               December 2002   Where:   - The messageProcessingModel is the value from the received response.   - The securityModel is the value from the received response.   - The securityName is the value from the received response.   - The securityLevel is the value from the received response.   - The contextEngineID is the value from the received response.   - The contextName is the value from the received response.   - The pduVersion indicates the version of the PDU in the received     response.   - The PDU is the value from the received response.   - The statusInformation indicates success or failure in receiving the     response.   - The sendPduHandle is the value returned by the sendPdu call which     generated the original request to which this is a response.   The procedure when a command generator receives a message is as   follows:   (1) If the received values of messageProcessingModel, securityModel,       securityName, contextEngineID, contextName, and pduVersion are       not all equal to the values used in the original request, the       response is discarded.   (2) The operation type, request-id, error-status, error-index, and       variable-bindings are extracted from the PDU and saved.  If the       request-id is not equal to the value used in the original       request, the response is discarded.   (3) At this point, it is up to the application to take an appropriate       action.  The specific action is implementation dependent.  If the       statusInformation indicates that the request failed, an       appropriate action might be to attempt to transmit the request       again, or to notify the person operating the application that a       failure occurred.Levi, et. al.               Standards Track                     [Page 8]RFC 3413                   SNMP Applications               December 20023.2. Command Responder Applications   Before a command responder application can process messages, it must   first associate itself with an SNMP engine.  The abstract service   interface used for this purpose is:      statusInformation =       -- success or errorIndication       registerContextEngineID(       IN   contextEngineID     -- take responsibility for this one       IN   pduType             -- the pduType(s) to be registered            )   Where:   - The statusInformation indicates success or failure of the     registration attempt.   - The contextEngineID is equal to the snmpEngineID of the SNMP engine     with which the command responder is registering.   - The pduType indicates a Read-Class and/or Write-Class PDU.   Note that if another command responder application is already   registered with an SNMP engine, any further attempts to register with   the same contextEngineID and pduType will be denied.  This implies   that separate command responder applications could register   separately for the various pdu types.  However, in practice this is   undesirable, and only a single command responder application should   be registered with an SNMP engine at any given time.   A command responder application can disassociate with an SNMP engine   using the following abstract service interface:      unregisterContextEngineID(        IN   contextEngineID     -- give up responsibility for this one        IN   pduType             -- the pduType(s) to be unregistered             )   Where:   - The contextEngineID is equal to the snmpEngineID of the SNMP engine     with which the command responder is cancelling the registration.   - The pduType indicates a Read-Class and/or Write-Class PDU.Levi, et. al.               Standards Track                     [Page 9]RFC 3413                   SNMP Applications               December 2002   Once the command responder has registered with the SNMP engine, it   waits to receive SNMP messages.  The abstract service interface used   for receiving messages is:   processPdu(                     -- process Request/Notification PDU     IN   messageProcessingModel   -- typically, SNMP version     IN   securityModel            -- Security Model in use     IN   securityName             -- on behalf of this principal     IN   securityLevel            -- Level of Security     IN   contextEngineID          -- data from/at this SNMP entity     IN   contextName              -- data from/in this context     IN   pduVersion               -- the version of the PDU     IN   PDU                      -- SNMP Protocol Data Unit     IN   maxSizeResponseScopedPDU -- maximum size of the Response PDU     IN   stateReference           -- reference to state information          )                        -- needed when sending a response   Where:   - The messageProcessingModel indicates which Message Processing Model     received and processed the message.   - The securityModel is the value from the received message.   - The securityName is the value from the received message.   - The securityLevel is the value from the received message.   - The contextEngineID is the value from the received message.   - The contextName is the value from the received message.   - The pduVersion indicates the version of the PDU in the received     message.   - The PDU is the value from the received message.   - The maxSizeResponseScopedPDU is the maximum allowable size of a     ScopedPDU containing a Response PDU (based on the maximum message     size that the originator of the message can accept).   - The stateReference is a value which references cached information     about each received request message.  This value must be returned     to the Dispatcher in order to generate a response.Levi, et. al.               Standards Track                    [Page 10]RFC 3413                   SNMP Applications               December 2002   The procedure when a message is received is as follows:   (1) The operation type is determined from the ASN.1 tag value       associated with the PDU parameter.  The operation type should       always be one of the types previously registered by the       application.   (2) The request-id is extracted from the PDU and saved.   (3) Any PDU type specific parameters are extracted from the PDU and       saved (for example, if the PDU type is an SNMPv2 GetBulk PDU, the       non-repeaters and max-repetitions values are extracted).   (4) The variable-bindings are extracted from the PDU and saved.   (5) The management operation represented by the PDU type is performed       with respect to the relevant MIB view within the context named by       the contextName (for an SNMPv2 PDU type, the operation is       performed according to the procedures set forth in [RFC1905]).       The relevant MIB view is determined by the securityLevel,       securityModel, contextName, securityName, and the class of the       PDU type.  To determine whether a particular object instance is       within the relevant MIB view, the following abstract service       interface is called:          statusInformation =      -- success or errorIndication            isAccessAllowed(            IN   securityModel     -- Security Model in use            IN   securityName      -- principal who wants to access            IN   securityLevel     -- Level of Security            IN   viewType          -- read, write, or notify view            IN   contextName       -- context containing variableName            IN   variableName      -- OID for the managed object                 )       Where:       - The securityModel is the value from the received message.       - The securityName is the value from the received message.       - The securityLevel is the value from the received message.       - The viewType indicates whether the PDU type is a Read-Class or         Write-Class operation.       - The contextName is the value from the received message.Levi, et. al.               Standards Track                    [Page 11]RFC 3413                   SNMP Applications               December 2002       - The variableName is the object instance of the variable for         which access rights are to be checked.       Normally, the result of the management operation will be a new       PDU value, and processing will continue in step (6) below.       However, at any time during the processing of the management       operation:       - If the isAccessAllowed ASI returns a noSuchView, noAccessEntry,         or noGroupName error, processing of the management operation is         halted, a PDU value is constructed using the values from the         originally received PDU, but replacing the error-status with an         authorizationError code, and error-index value of 0, and         control is passed to step (6) below.       - If the isAccessAllowed ASI returns an otherError, processing of         the management operation is halted, a different PDU value is         constructed using the values from the originally received PDU,         but replacing the error-status with a genError code and the         error-index with the index of the failed variable binding, and         control is passed to step (6) below.       - If the isAccessAllowed ASI returns a noSuchContext error,         processing of the management operation is halted, no result PDU         is generated, the snmpUnknownContexts counter is incremented,         and control is passed to step (6) below for generation of a         report message.       - If the context named by the contextName parameter is         unavailable, processing of the management operation is halted,         no result PDU is generated, the snmpUnavailableContexts counter         is incremented, and control is passed to step (6) below for         generation of a report message.

⌨️ 快捷键说明

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