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

📄 rfc2573.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 5 页
字号:
         IN   securityModel             -- Security Model to use
         IN   securityName              -- on behalf of this principal
         IN   securityLevel             -- Level of Security requested
         IN   contextEngineID           -- data from/at this entity
         IN   contextName               -- data from/in this context
         IN   pduVersion                -- the version of the PDU
         IN   PDU                       -- SNMP Protocol Data Unit
         IN   expectResponse            -- TRUE or FALSE
              )

   Where:

     -  The transportDomain is that of the destination of the message.

     -  The transportAddress is that of the destination of the message.





Levi, et al.                Standards Track                     [Page 6]

RFC 2573                   SNMP Applications                  April 1999


     -  The messageProcessingModel indicates which Message Processing
        Model the application wishes to use.

     -  The securityModel is the security model that the application
        wishes to use.

     -  The securityName is the security model independent name for the
        principal on whose behalf the application wishes the message is
        to be generated.

     -  The securityLevel is the security level that the application
        wishes to use.

     -  The contextEngineID is provided by the command generator if it
        wishes to explicitly specify the location of the management
        information it is requesting.

     -  The contextName is provided by the command generator if it
        wishes to explicitly specify 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



Levi, et al.                Standards Track                     [Page 7]

RFC 2573                   SNMP Applications                  April 1999


         IN   PDU                       -- SNMP Protocol Data Unit
         IN   statusInformation         -- success or errorIndication
         IN   sendPduHandle             -- handle from sendPdu
              )

   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



Levi, et al.                Standards Track                     [Page 8]

RFC 2573                   SNMP Applications                  April 1999


        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.

3.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.




Levi, et al.                Standards Track                     [Page 9]

RFC 2573                   SNMP Applications                  April 1999


     -  The pduType indicates a Read-Class and/or Write-Class PDU.

   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 2573                   SNMP Applications                  April 1999


   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 2573                   SNMP Applications                  April 1999


     -  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

⌨️ 快捷键说明

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