rfc1098.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,682 行 · 第 1/5 页

TXT
1,682
字号
RFC 1098                          SNMP                        April 1989


   exception occurred while processing a request.  In these cases,
   ErrorIndex may provide additional information by indicating which
   variable in a list caused the exception.

   The term variable refers to an instance of a managed object.  A
   variable binding, or VarBind, refers to the pairing of the name of a
   variable to the variable's value.  A VarBindList is a simple list of
   variable names and corresponding values.  Some PDUs are concerned
   only with the name of a variable and not its value (e.g., the
   GetRequest-PDU).  In this case, the value portion of the binding is
   ignored by the protocol entity.  However, the value portion must
   still have valid ASN.1 syntax and encoding.  It is recommended that
   the ASN.1 value NULL be used for the value portion of such bindings.

4.1.2.  The GetRequest-PDU

             The form of the GetRequest-PDU is:
                  GetRequest-PDU ::=
                      [0]
                          IMPLICIT SEQUENCE {
                              request-id
                                  RequestID,

                              error-status        -- always 0
                                  ErrorStatus,

                              error-index         -- always 0
                                  ErrorIndex,

                              variable-bindings
                                  VarBindList
                          }


   The GetRequest-PDU is generated by a protocol entity only at the
   request of its SNMP application entity.

   Upon receipt of the GetRequest-PDU, the receiving protocol entity
   responds according to any applicable rule in the list below:

        (1)  If, for any object named in the variable-bindings field,
             the object's name does not exactly match the name of some
             object available for get operations in the relevant MIB
             view, then the receiving entity sends to the originator
             of the received message the GetResponse-PDU of identical
             form, except that the value of the error-status field is
             noSuchName, and the value of the error-index field is the
             index of said object name component in the received



Case, Fedor, Schoffstall, & Davin                              [Page 19]

RFC 1098                          SNMP                        April 1989


             message.

        (2)  If, for any object named in the variable-bindings field,
             the object is an aggregate type (as defined in the SMI),
             then the receiving entity sends to the originator of the
             received message the GetResponse-PDU of identical form,
             except that the value of the error-status field is
             noSuchName, and the value of the error-index field is the
             index of said object name component in the received
             message.

        (3)  If the size of the GetResponse-PDU generated as described
             below would exceed a local limitation, then the receiving
             entity sends to the originator of the received message
             the GetResponse-PDU of identical form, except that the
             value of the error-status field is tooBig, and the value
             of the error-index field is zero.

        (4)  If, for any object named in the variable-bindings field,
             the value of the object cannot be retrieved for reasons
             not covered by any of the foregoing rules, then the
             receiving entity sends to the originator of the received
             message the GetResponse-PDU of identical form, except
             that the value of the error-status field is genErr and
             the value of the error-index field is the index of said
             object name component in the received message.

   If none of the foregoing rules apply, then the receiving protocol
   entity sends to the originator of the received message the
   GetResponse-PDU such that, for each object named in the variable-
   bindings field of the received message, the corresponding component
   of the GetResponse-PDU represents the name and value of that
   variable.  The value of the error- status field of the GetResponse-
   PDU is noError and the value of the error-index field is zero.  The
   value of the request-id field of the GetResponse-PDU is that of the
   received message.

4.1.3.  The GetNextRequest-PDU

   The form of the GetNextRequest-PDU is identical to that of the
   GetRequest-PDU except for the indication of the PDU type.  In the
   ASN.1 language:

                  GetNextRequest-PDU ::=
                      [1]
                          IMPLICIT SEQUENCE {
                              request-id
                                  RequestID,



Case, Fedor, Schoffstall, & Davin                              [Page 20]

RFC 1098                          SNMP                        April 1989


                              error-status        -- always 0
                                  ErrorStatus,

                              error-index         -- always 0
                                  ErrorIndex,

                              variable-bindings
                                  VarBindList
                          }


   The GetNextRequest-PDU is generated by a protocol entity only at the
   request of its SNMP application entity.

   Upon receipt of the GetNextRequest-PDU, the receiving protocol entity
   responds according to any applicable rule in the list below:

        (1)  If, for any object name in the variable-bindings field,
             that name does not lexicographically precede the name of
             some object available for get operations in the relevant
             MIB view, then the receiving entity sends to the
             originator of the received message the GetResponse-PDU of
             identical form, except that the value of the error-status
             field is noSuchName, and the value of the error-index
             field is the index of said object name component in the
             received message.

        (2)  If the size of the GetResponse-PDU generated as described
             below would exceed a local limitation, then the receiving
             entity sends to the originator of the received message
             the GetResponse-PDU of identical form, except that the
             value of the error-status field is tooBig, and the value
             of the error-index field is zero.

        (3)  If, for any object named in the variable-bindings field,
             the value of the lexicographical successor to the named
             object cannot be retrieved for reasons not covered by any
             of the foregoing rules, then the receiving entity sends
             to the originator of the received message the
             GetResponse-PDU of identical form, except that the value
             of the error-status field is genErr and the value of the
             error-index field is the index of said object name
             component in the received message.

   If none of the foregoing rules apply, then the receiving protocol
   entity sends to the originator of the received message the
   GetResponse-PDU such that, for each name in the variable-bindings
   field of the received message, the corresponding component of the



Case, Fedor, Schoffstall, & Davin                              [Page 21]

RFC 1098                          SNMP                        April 1989


   GetResponse-PDU represents the name and value of that object whose
   name is, in the lexicographical ordering of the names of all objects
   available for get operations in the relevant MIB view, together with
   the value of the name field of the given component, the immediate
   successor to that value.  The value of the error-status field of the
   GetResponse-PDU is noError and the value of the errorindex field is
   zero.  The value of the request-id field of the GetResponse-PDU is
   that of the received message.

4.1.3.1.  Example of Table Traversal

   One important use of the GetNextRequest-PDU is the traversal of
   conceptual tables of information within the MIB. The semantics of
   this type of SNMP message, together with the protocol-specific
   mechanisms for identifying individual instances of object types in
   the MIB, affords  access to related objects in the MIB as if they
   enjoyed a tabular organization.

   By the SNMP exchange sketched below, an SNMP application entity might
   extract the destination address and next hop gateway for each entry
   in the routing table of a particular network element. Suppose that
   this routing table has three entries:

         Destination                     NextHop         Metric

         10.0.0.99                       89.1.1.42       5
         9.1.2.3                         99.0.0.3        3
         10.0.0.51                       89.1.1.42       5


   The management station sends to the SNMP agent a GetNextRequest-PDU
   containing the indicated OBJECT IDENTIFIER values as the requested
   variable names:

   GetNextRequest ( ipRouteDest, ipRouteNextHop, ipRouteMetric1 )


   The SNMP agent responds with a GetResponse-PDU:

                 GetResponse (( ipRouteDest.9.1.2.3 =  "9.1.2.3" ),
                         ( ipRouteNextHop.9.1.2.3 = "99.0.0.3" ),
                         ( ipRouteMetric1.9.1.2.3 = 3 ))


   The management station continues with:

                 GetNextRequest ( ipRouteDest.9.1.2.3,
                         ipRouteNextHop.9.1.2.3,



Case, Fedor, Schoffstall, & Davin                              [Page 22]

RFC 1098                          SNMP                        April 1989


                         ipRouteMetric1.9.1.2.3 )


   The SNMP agent responds:

                 GetResponse (( ipRouteDest.10.0.0.51 = "10.0.0.51" ),
                         ( ipRouteNextHop.10.0.0.51 = "89.1.1.42" ),
                         ( ipRouteMetric1.10.0.0.51 = 5 ))


   The management station continues with:

                 GetNextRequest ( ipRouteDest.10.0.0.51,
                         ipRouteNextHop.10.0.0.51,
                         ipRouteMetric1.10.0.0.51 )


   The SNMP agent responds:

                 GetResponse (( ipRouteDest.10.0.0.99 = "10.0.0.99" ),
                         ( ipRouteNextHop.10.0.0.99 = "89.1.1.42" ),
                         ( ipRouteMetric1.10.0.0.99 = 5 ))


   The management station continues with:

                 GetNextRequest ( ipRouteDest.10.0.0.99,
                         ipRouteNextHop.10.0.0.99,
                         ipRouteMetric1.10.0.0.99 )


   As there are no further entries in the table, the SNMP agent returns
   those objects that are next in the lexicographical ordering of the
   known object names.  This response signals the end of the routing
   table to the management station.

4.1.4.  The GetResponse-PDU

   The form of the GetResponse-PDU is identical to that of the
   GetRequest-PDU except for the indication of the PDU type.  In the
   ASN.1 language:

                  GetResponse-PDU ::=
                      [2]
                          IMPLICIT SEQUENCE {
                              request-id
                                  RequestID,




Case, Fedor, Schoffstall, & Davin                              [Page 23]

RFC 1098                          SNMP                        April 1989


                              error-status
                                  ErrorStatus,

                              error-index
                                  ErrorIndex,

                              variable-bindings
                                  VarBindList
                          }


   The GetResponse-PDU is generated by a protocol entity only upon
   receipt of the GetRequest-PDU, GetNextRequest-PDU, or SetRequest-PDU,
   as described elsewhere in this document.

   Upon receipt of the GetResponse-PDU, the receiving protocol entity
   presents its contents to its SNMP application entity.

4.1.5.  The SetRequest-PDU

   The form of the SetRequest-PDU is identical to that of the
   GetRequest-PDU except for the indication of the PDU type.  In the
   ASN.1 language:

                  SetRequest-PDU ::=
                      [3]
                          IMPLICIT SEQUENCE {
                              request-id
                                  RequestID,

                              error-status        -- always 0
                                  ErrorStatus,

                              error-index         -- always 0
                                  ErrorIndex,

                              variable-bindings
                                  VarBindList
                          }


   The SetRequest-PDU is generated by a protocol entity only at the
   request of its SNMP application entity.

   Upon receipt of the SetRequest-PDU, the receiving entity responds
   according to any applicable rule in the list below:

        (1)  If, for any object named in the variable-bindings field,



Case, Fedor, Schoffstall, & Davin                              [Page 24]

RFC 1098                          SNMP                        April 1989

⌨️ 快捷键说明

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