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

📄 rfc1448.txt

📁 gnu 的radius服务器很好用的
💻 TXT
📖 第 1 页 / 共 5 页
字号:
          list to produce a Response-PDU with its request-id field          having the same value as in the request.  Processing begins by          examining the values in the non-repeaters and max-repetitions          fields.  If the value in the non-repeaters field is less than          zero, then the value of the field is set to zero.  Similarly,          if the value in the max-repetitions field is less than zero,          then the value of the field is set to zero.          For the GetBulkRequest-PDU type, the successful processing of          each variable binding in the request generates zero or more          variable bindings in the Response-PDU.  That is, the one-to-          one mapping between the variable bindings of the GetRequest-          PDU, GetNextRequest-PDU, and SetRequest-PDU types and the          resultant Response-PDUs does not apply for the mapping between          the variable bindings of a GetBulkRequest-PDU and the          resultant Response-PDU.          The values of the non-repeaters and max-repetitions fields in          the request specify the processing requested.  One variable          binding in the Response-PDU is requested for the first N          variable bindings in the request and M variable bindings are          requested for each of the R remaining variable bindings in the          request.  Consequently, the total number of requested variable          bindings communicated by the request is given by N + (M * R),          where N is the minimum of: a) the value of the non-repeaters          field in the request, and b) the number of variable bindings          Case, McCloghrie, Rose & Waldbusser                  [Page 18]          RFC 1448        Protocol Operations for SNMPv2      April 1993          in the request; M is the value of the max-repetitions field in          the request; and R is the maximum of: a) number of variable          bindings in the request - N, and b)  zero.          The receiving SNMPv2 entity produces a Response-PDU with up to          the total number of requested variable bindings communicated          by the request.  The request-id shall have the same value as          the received GetBulkRequest-PDU.          If N is greater than zero, the first through the (N)-th          variable bindings of the Response-PDU are each produced as          follows:          (1)  The variable is located which is in the lexicographically               ordered list of the names of all variables which are               accessible by this request and whose name is the first               lexicographic successor of the variable binding's name in               the incoming GetBulkRequest-PDU.  The corresponding               variable binding's name and value fields in the               Response-PDU are set to the name and value of the located               variable.          (2)  If the requested variable binding's name does not               lexicographically precede the name of any variable               accessible by this request, i.e., there is no               lexicographic successor, then the corresponding variable               binding produced in the Response-PDU has its value field               set to `endOfMibView', and its name field set to the               variable binding's name in the request.          If M and R are non-zero, the (N + 1)-th and subsequent          variable bindings of the Response-PDU are each produced in a          similar manner.  For each iteration i, such that i is greater          than zero and less than or equal to M, and for each repeated          variable, r, such that r is greater than zero and less than or          equal to R, the (N + ( (i-1) * R ) + r)-th variable binding of          the Response-PDU is produced as follows:          (1)  The variable which is in the lexicographically ordered               list of the names of all variables which are accessible               by this request and whose name is the (i)-th               lexicographic successor of the (N + r)-th variable               binding's name in the incoming GetBulkRequest-PDU is               located and the variable binding's name and value fields               are set to the name and value of the located variable.          Case, McCloghrie, Rose & Waldbusser                  [Page 19]          RFC 1448        Protocol Operations for SNMPv2      April 1993          (2)  If there is no (i)-th lexicographic successor, then the               corresponding variable binding produced in the Response-               PDU has its value field set to `endOfMibView', and its               name field set to either the last lexicographic               successor, or if there are no lexicographic successors,               to the (N + r)-th variable binding's name in the request.          While the maximum number of variable bindings in the          Response-PDU is bounded by N + (M * R), the response may be          generated with a lesser number of variable bindings (possibly          zero) for either of two reasons.          (1)  If the size of the message encapsulating the Response-PDU               containing the requested number of variable bindings               would be greater than either a local constraint or the               maximum message size of the request's source party, then               the response is generated with a lesser number of               variable bindings.  This lesser number is the ordered set               of variable bindings with some of the variable bindings               at the end of the set removed, such that the size of the               message encapsulating the Response-PDU is approximately               equal to but no greater than the minimum of the local               constraint and the maximum message size of the request's               source party.  Note that the number of variable bindings               removed has no relationship to the values of N, M, or R.          (2)  The response may also be generated with a lesser number               of variable bindings if for some value of iteration i,               such that i is greater than zero and less than or equal               to M, that all of the generated variable bindings have               the value field set to the `endOfMibView'.  In this case,               the variable bindings may be truncated after the (N + (i               * R))-th variable binding.          If the processing of any variable binding fails for a reason          other than listed above, then the Response-PDU is re-formatted          with the same values in its request-id and variable-bindings          fields as the received GetBulkRequest-PDU, with the value of          its error-status field set to `genErr', and the value of its          error-index field is set to the index of the failed variable          binding.          Otherwise, the value of the Response-PDU's error-status field          is set to `noError', and the value of its error-index field to          zero.          Case, McCloghrie, Rose & Waldbusser                  [Page 20]          RFC 1448        Protocol Operations for SNMPv2      April 1993          The generated Response-PDU (possibly with an empty variable-          bindings field) is then encapsulated into a message.  If the          size of the resultant message is less than or equal to both a          local constraint and the maximum message size of the request's          source party, it is transmitted to the originator of the          GetBulkRequest-PDU.  Otherwise, the resultant message is          discarded.          4.2.3.1.  Another Example of Table Traversal          This example demonstrates how the GetBulkRequest-PDU can be          used as an alternative to the GetNextRequest-PDU.  The same          traversal of the IP net-to-media table as shown in Section          4.2.2.1 is achieved with fewer exchanges.          The SNMPv2 entity acting in a manager role begins by sending a          GetBulkRequest-PDU with the modest max-repetitions value of 2,          and containing the indicated OBJECT IDENTIFIER values as the          requested variable names:              GetBulkRequest [ non-repeaters = 1, max-repetitions = 2 ]                              ( sysUpTime,                                ipNetToMediaPhysAddress,                                ipNetToMediaType )          The SNMPv2 entity acting in an agent role responds with a          Response-PDU:              Response (( sysUpTime.0 =  "123456" ),                        ( ipNetToMediaPhysAddress.1.9.2.3.4 =                                                   "000010543210" ),                        ( ipNetToMediaType.1.9.2.3.4 =  "dynamic" ),                        ( ipNetToMediaPhysAddress.1.10.0.0.51 =                                                    "000010012345" ),                        ( ipNetToMediaType.1.10.0.0.51 =  "static" ))          The SNMPv2 entity acting in a manager role continues with:              GetBulkRequest [ non-repeaters = 1, max-repetitions = 2 ]                              ( sysUpTime,                                ipNetToMediaPhysAddress.1.10.0.0.51,                                ipNetToMediaType.1.10.0.0.51 )          Case, McCloghrie, Rose & Waldbusser                  [Page 21]          RFC 1448        Protocol Operations for SNMPv2      April 1993          The SNMPv2 entity acting in an agent role responds with:              Response (( sysUpTime.0 =  "123466" ),                        ( ipNetToMediaPhysAddress.2.10.0.0.15 =                                                   "000010987654" ),                        ( ipNetToMediaType.2.10.0.0.15 =                                                        "dynamic" ),                        ( ipNetToMediaNetAddress.1.9.2.3.4 =                                                        "9.2.3.4" ),                        ( ipRoutingDiscards.0 =  "2" ))          This response signals the end of the table to the SNMPv2          entity acting in a manager role.          4.2.4.  The Response-PDU          The Response-PDU is generated by a SNMPv2 entity only upon          receipt of a GetRequest-PDU, GetNextRequest-PDU,          GetBulkRequest-PDU, SetRequest-PDU, or InformRequest-PDU, as          described elsewhere in this document.          If the error-status field of the Response-PDU is non-zero, the          value fields of the variable bindings in the variable binding          list are ignored.          If both the error-status field and the error-index field of          the Response-PDU are non-zero, then the value of the error-          index field is the index of the variable binding (in the          variable-binding list of the corresponding request) for which          the request failed.  The first variable binding in a request's          variable-binding list is index one, the second is index two,          etc.          A compliant SNMPv2 entity acting in a manager role must be          able to properly receive and handle a Response-PDU with an          error-status field equal to `noSuchName', `badValue', or          `readOnly'.  (See Section 3.1.2 of [10].)          Upon receipt of a Response-PDU, the receiving SNMPv2 entity          presents its contents to the SNMPv2 application which          generated the request with the same request-id value.          Case, McCloghrie, Rose & Waldbusser                  [Page 22]          RFC 1448        Protocol Operations for SNMPv2      April 1993          4.2.5.  The SetRequest-PDU          A SetRequest-PDU is generated and transmitted at the request          of a SNMPv2 application.          Upon receipt of a SetRequest-PDU, the receiving SNMPv2 entity          determines the size of a message encapsulating a Response-PDU          with the same values in its request-id, error-status, error-          index and variable-bindings fields as the received          SetRequest-PDU.  If the determined message size is greater          than either a local constraint or the maximum message size of          the request's source party, then an alternate Response-PDU is          generated, transmitted to the originator of the SetRequest-          PDU, and processing of the SetRequest-PDU terminates          immediately thereafter.  This alternate Response-PDU is          formatted with the same values in its request-id field as the          received SetRequest-PDU, with the value of its error-status          field set to `tooBig', the value of its error-index field set          to zero, and an empty variable-bindings field.  This alternate          Response-PDU is then encapsulated into a message.  If the size          of the resultant message is less than or equal to both a local          constraint and the maximum message size of the request's          source party, it is transmitted to the originator of the          SetRequest-PDU.  Otherwise, the resultant message is          discarded.  Regardless, processing of the SetRequest-PDU          terminates.          Otherwise, the receiving SNMPv2 entity processes each variable          binding in the variable-binding list to produce a Response-          PDU.  All fields of the Response-PDU have the same values as          the corresponding fields of the received request except as          indicated below.          The variable bindings are conceptually processed as a two          phase operation.  In the first phase, each variable binding is          validated; if all validations are successful, then each          variable is altered in the second phase.  Of course,          implementors are at liberty to implement either the first, or          second, or both, of the these conceptual phases as multiple          implementation phases.  Indeed, such multiple implementation          phases may be necessary in some cases to ensure consistency.          The following validations are performed in the first phase on          each variable binding until they are all successful, or until          one fails:          Case, McCloghrie, Rose & Waldbusser                  [Page 23]          RFC 1448        Protocol Operations for SNMPv2      April 1993          (1)  If the variable binding's name specifies a variable which               is not accessible by this request, then the value of the               Response-PDU's error-status field is set to `noAccess',               and the value of its error-index field is set to the               index of the failed variable binding.          (2)  Otherwise, if the variable binding's name specifies a               variable which does not exist and could not ever be               created, then the value of the Response-PDU's error-               status field is set to `noCreation', and the value of its               error-index field is set to the index of the failed               variable binding.          (3)  Otherwise, if the variable binding's name specifies a               variable which exists but can not be modified no matter               what new value is specified, then the value of the               Response-PDU's error-status field is set to               `notWritable', and the value of its error-index field is               set to the index of the failed variable binding.          (4)  Otherwise, if the variable binding's value field               specifies, according to the ASN.1 language, a type which               is inconsistent with that required for the variable, then               the value of the Response-PDU's error-status field is set               to `wrongType', and the value of its error-index field is               set to the index of the failed variable binding.          (5)  Otherwise, if the variable binding's value field

⌨️ 快捷键说明

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