draft-ietf-snmpv2-proto-ds-01.txt   draft-ietf-snmpv2-proto-ds-02.txt 
Protocol Operations Protocol Operations
for Version 2 of the for Version 2 of the
Simple Network Management Protocol (SNMPv2) Simple Network Management Protocol (SNMPv2)
19 March 1995 | 31 May 1995 |
draft-ietf-snmpv2-proto-ds-01.txt | draft-ietf-snmpv2-proto-ds-02.txt |
Jeffrey D. Case Jeffrey D. Case
SNMP Research, Inc. SNMP Research, Inc.
case@snmp.com case@snmp.com
Keith McCloghrie Keith McCloghrie
Cisco Systems, Inc. Cisco Systems, Inc.
kzm@cisco.com kzm@cisco.com
Marshall T. Rose Marshall T. Rose
skipping to change at page 4, line 5 skipping to change at page 4, line 5
define the operations of the protocol with respect to the sending and define the operations of the protocol with respect to the sending and
receiving of the PDUs. receiving of the PDUs.
1.1. A Note on Terminology 1.1. A Note on Terminology
For the purpose of exposition, the original Internet-standard Network For the purpose of exposition, the original Internet-standard Network
Management Framework, as described in RFCs 1155, 1157, and 1212, is Management Framework, as described in RFCs 1155, 1157, and 1212, is
termed the SNMP version 1 framework (SNMPv1). The current framework is termed the SNMP version 1 framework (SNMPv1). The current framework is
termed the SNMP version 2 framework (SNMPv2). termed the SNMP version 2 framework (SNMPv2).
1.2. Change Log 2. Overview -
For the 19 March version: +
- The changes adopted by the SNMPv2 Working Group. +
For the 1 November version:
- recast RFC 1448 into an Internet-Draft,
- fixed typos,
- clarified that while there is a theoretical limit on the number of
varbinds, the size of a message is in practice not limited by the
number of varbinds,
- clarified the definition of noSuchInstance,
- added text to require snmpStatsSilentDrops to be incremented
whenever a message is discarded without sending a Response.
2. Overview
2.1. Roles of Protocol Entities 2.1. Roles of Protocol Entities
A SNMPv2 entity may operate in a manager role or an agent role. A SNMPv2 entity may operate in a manager role or an agent role.
A SNMPv2 entity acts in an agent role when it performs SNMPv2 management A SNMPv2 entity acts in an agent role when it performs SNMPv2 management
operations in response to received SNMPv2 protocol messages (other than operations in response to received SNMPv2 protocol messages (other than
an inform notification) or when it sends trap notifications. an inform notification) or when it sends trap notifications.
A SNMPv2 entity acts in a manager role when it initiates SNMPv2 A SNMPv2 entity acts in a manager role when it initiates SNMPv2
skipping to change at page 9, line 36 skipping to change at page 8, line 36
IMPLICIT BulkPDU IMPLICIT BulkPDU
InformRequest-PDU ::= InformRequest-PDU ::=
[6] [6]
IMPLICIT PDU IMPLICIT PDU
SNMPv2-Trap-PDU ::= SNMPv2-Trap-PDU ::=
[7] [7]
IMPLICIT PDU IMPLICIT PDU
-- defined in reference [3] + -- defined in reference [3]
-- Report-PDU ::= + -- Report-PDU ::=
-- [8] + -- [8]
-- IMPLICIT PDU + -- IMPLICIT PDU
max-bindings max-bindings
INTEGER ::= 2147483647 INTEGER ::= 2147483647
PDU ::= PDU ::=
SEQUENCE { SEQUENCE {
request-id request-id
Integer32, Integer32,
error-status -- sometimes ignored error-status -- sometimes ignored
INTEGER { INTEGER {
skipping to change at page 20, line 28 skipping to change at page 19, line 28
(2) If there is no (i)-th lexicographic successor, then the (2) If there is no (i)-th lexicographic successor, then the
corresponding variable binding produced in the Response-PDU has its corresponding variable binding produced in the Response-PDU has its
value field set to `endOfMibView', and its name field set to either value field set to `endOfMibView', and its name field set to either
the last lexicographic successor, or if there are no lexicographic the last lexicographic successor, or if there are no lexicographic
successors, to the (N + r)-th variable binding's name in the successors, to the (N + r)-th variable binding's name in the
request. request.
While the maximum number of variable bindings in the Response-PDU is 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 bounded by N + (M * R), the response may be generated with a lesser
number of variable bindings (possibly zero) for either of three reasons. | number of variable bindings (possibly zero) for either of three reasons.
(1) If the size of the message encapsulating the Response-PDU (1) If the size of the message encapsulating the Response-PDU
containing the requested number of variable bindings would be containing the requested number of variable bindings would be
greater than either a local constraint or the maximum message size greater than either a local constraint or the maximum message size
of the request's source party, then the response is generated with of the request's source party, then the response is generated with
a lesser number of variable bindings. This lesser number is the a lesser number of variable bindings. This lesser number is the
ordered set of variable bindings with some of the variable bindings 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 at the end of the set removed, such that the size of the message
encapsulating the Response-PDU is approximately equal to but no encapsulating the Response-PDU is approximately equal to but no
greater than the minimum of the local constraint and the maximum greater than the minimum of the local constraint and the maximum
skipping to change at page 21, line 5 skipping to change at page 20, line 5
of variable bindings removed has no relationship to the values of of variable bindings removed has no relationship to the values of
N, M, or R. N, M, or R.
(2) The response may also be generated with a lesser number of variable (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 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 than zero and less than or equal to M, that all of the generated
variable bindings have the value field set to the `endOfMibView'. variable bindings have the value field set to the `endOfMibView'.
In this case, the variable bindings may be truncated after the (N + In this case, the variable bindings may be truncated after the (N +
(i * R))-th variable binding. (i * R))-th variable binding.
(3) In the event that the processing of a request with many repetitions + (3) In the event that the processing of a request with many repetitions
requires a significantly greater amount of processing time than a + requires a significantly greater amount of processing time than a
normal request, then an agent may terminate the request with less + normal request, then an agent may terminate the request with less
than the full number of repetitions, providing at least one + than the full number of repetitions, providing at least one
repetition is completed. + repetition is completed.
If the processing of any variable binding fails for a reason other than 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 listed above, then the Response-PDU is re-formatted with the same values
in its request-id and variable-bindings fields as the received in its request-id and variable-bindings fields as the received
GetBulkRequest-PDU, with the value of its error-status field set to 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 `genErr', and the value of its error-index field is set to the index of
the variable binding in the original request which corresponds to the | the variable binding in the original request which corresponds to the
failed variable binding. | failed variable binding.
Otherwise, the value of the Response-PDU's error-status field is set to 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. `noError', and the value of its error-index field to zero.
The generated Response-PDU (possibly with an empty variable-bindings The generated Response-PDU (possibly with an empty variable-bindings
field) is then encapsulated into a message. If the size of the 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 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 the maximum message size of the request's source party, it is
transmitted to the originator of the GetBulkRequest-PDU. Otherwise, the transmitted to the originator of the GetBulkRequest-PDU. Otherwise, the
snmpStatsSilentDrops [11] counter is incremented and the resultant snmpStatsSilentDrops [11] counter is incremented and the resultant
skipping to change at page 23, line 24 skipping to change at page 22, line 24
Upon receipt of a Response-PDU, the receiving SNMPv2 entity presents its Upon receipt of a Response-PDU, the receiving SNMPv2 entity presents its
contents to the SNMPv2 application which generated the request with the contents to the SNMPv2 application which generated the request with the
same request-id value. same request-id value.
4.2.5. The SetRequest-PDU 4.2.5. The SetRequest-PDU
A SetRequest-PDU is generated and transmitted at the request of a SNMPv2 A SetRequest-PDU is generated and transmitted at the request of a SNMPv2
application. application.
Upon receipt of a SetRequest-PDU, the receiving SNMPv2 entity determines Upon receipt of a SetRequest-PDU, the receiving SNMPv2 entity determines
the size of a message encapsulating a Response-PDU having the same | the size of a message encapsulating a Response-PDU having the same
values in its request-id and variable-bindings fields as the received | values in its request-id and variable-bindings fields as the received
SetRequest-PDU, and the largest possible sizes of the error-status and | SetRequest-PDU, and the largest possible sizes of the error-status and
error-index fields. | error-index fields. If the determined message size is greater than
If the determined message size is greater than either a local constraint either a local constraint or the maximum message size of the request's
or the maximum message size of the request's source party, then an source party, then an alternate Response-PDU is generated, transmitted
alternate Response-PDU is generated, transmitted to the originator of to the originator of the SetRequest-PDU, and processing of the
the SetRequest-PDU, and processing of the SetRequest-PDU terminates SetRequest-PDU terminates immediately thereafter. This alternate
immediately thereafter. This alternate Response-PDU is formatted with Response-PDU is formatted with the same values in its request-id field
the same values in its request-id field as the received SetRequest-PDU, as the received SetRequest-PDU, with the value of its error-status field
with the value of its error-status field set to `tooBig', the value of set to `tooBig', the value of its error-index field set to zero, and an
its error-index field set to zero, and an empty variable-bindings field. empty variable-bindings field. This alternate Response-PDU is then
This alternate Response-PDU is then encapsulated into a message. If the encapsulated into a message. If the size of the resultant message is
size of the resultant message is less than or equal to both a local less than or equal to both a local constraint and the maximum message
constraint and the maximum message size of the request's source party, size of the request's source party, it is transmitted to the originator
it is transmitted to the originator of the SetRequest-PDU. Otherwise, of the SetRequest-PDU. Otherwise, the snmpStatsSilentDrops [11] counter
the snmpStatsSilentDrops [11] counter is incremented and the resultant is incremented and the resultant message is discarded. Regardless,
message is discarded. Regardless, processing of the SetRequest-PDU processing of the SetRequest-PDU terminates.
terminates.
Otherwise, the receiving SNMPv2 entity processes each variable binding Otherwise, the receiving SNMPv2 entity processes each variable binding
in the variable-binding list to produce a Response-PDU. All fields of 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 the Response-PDU have the same values as the corresponding fields of the
received request except as indicated below. received request except as indicated below.
The variable bindings are conceptually processed as a two phase The variable bindings are conceptually processed as a two phase
operation. In the first phase, each variable binding is validated; if operation. In the first phase, each variable binding is validated; if
all validations are successful, then each variable is altered in the all validations are successful, then each variable is altered in the
second phase. Of course, implementors are at liberty to implement second phase. Of course, implementors are at liberty to implement
either the first, or second, or both, of the these conceptual phases as either the first, or second, or both, of the these conceptual phases as
multiple implementation phases. Indeed, such multiple implementation multiple implementation phases. Indeed, such multiple implementation
phases may be necessary in some cases to ensure consistency. phases may be necessary in some cases to ensure consistency.
The following validations are performed in the first phase on each The following validations are performed in the first phase on each
variable binding until they are all successful, or until one fails: variable binding until they are all successful, or until one fails:
(1) If the variable binding's name specifies an existing or non- | (1) If the variable binding's name specifies an existing or non-
existent variable to which this request is/would be denied access, | existent variable to which this request is/would be denied access |
because it is/would not be in the appropriate MIB view, |
then the value of the Response-PDU's error-status field is set to 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 `noAccess', and the value of its error-index field is set to the
index of the failed variable binding. index of the failed variable binding.
(2) - (2) Otherwise, if there are no variables which share the same OBJECT
Otherwise, if there are no variables which share the same OBJECT | IDENTIFIER prefix as the variable binding's name, and which are
IDENTIFIER prefix as the variable binding's name, and which are | able to be created or modified no matter what new value is
able to be created or modified no matter what new value is | specified, then the value of the Response-PDU's error-status field
specified, | is set to `notWritable', and the value of its error-index field is
then the value of the Response-PDU's error-status field is set to set to the index of the failed variable binding.
`notWritable', 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 value field specifies, (3) Otherwise, if the variable binding's value field specifies,
according to the ASN.1 language, a type which is inconsistent with | according to the ASN.1 language, a type which is inconsistent with
that required for all variables which share the same OBJECT | that required for all variables which share the same OBJECT
IDENTIFIER prefix as the variable binding's name, | IDENTIFIER prefix as the variable binding's name, then the value of
then the value of the Response-PDU's error-status field is set to the Response-PDU's error-status field is set to `wrongType', and
`wrongType', and the value of its error-index field is set to the the value of its error-index field is set to the index of the
index of the failed variable binding. failed variable binding.
(4) Otherwise, if the variable binding's value field specifies, (4) Otherwise, if the variable binding's value field specifies,
according to the ASN.1 language, a length which is inconsistent | according to the ASN.1 language, a length which is inconsistent
with that required for all variables which share the same OBJECT | with that required for all variables which share the same OBJECT
IDENTIFIER prefix as the variable binding's name, | IDENTIFIER prefix as the variable binding's name, then the value of
then the value of the Response-PDU's error-status field is set to the Response-PDU's error-status field is set to `wrongLength', and
`wrongLength', and the value of its error-index field is set to the the value of its error-index field is set to the index of the
index of the failed variable binding. failed variable binding.
(5) Otherwise, if the variable binding's value field contains an ASN.1 (5) Otherwise, if the variable binding's value field contains an ASN.1
encoding which is inconsistent with that field's ASN.1 tag, then encoding which is inconsistent with that field's ASN.1 tag, then
the value of the Response-PDU's error-status field is set to the value of the Response-PDU's error-status field is set to
`wrongEncoding', and the value of its error-index field is set to `wrongEncoding', and the value of its error-index field is set to
the index of the failed variable binding. (Note that not all | the index of the failed variable binding. (Note that not all
implementation strategies will generate this error.) | implementation strategies will generate this error.)
(6) Otherwise, if the variable binding's value field specifies a value (6) Otherwise, if the variable binding's value field specifies a value
which could under no circumstances be assigned to the variable, which could under no circumstances be assigned to the variable,
then the value of the Response-PDU's error-status field is set to then the value of the Response-PDU's error-status field is set to
`wrongValue', and the value of its error-index field is set to the `wrongValue', and the value of its error-index field is set to the
index of the failed variable binding. index of the failed variable binding.
(7) Otherwise, if the variable binding's name specifies a variable + (7) Otherwise, if the variable binding's name specifies a variable
which does not exist and could not ever be created (even though + which does not exist and could not ever be created (even though
some variables sharing the same OBJECT IDENTIFIER prefix might + some variables sharing the same OBJECT IDENTIFIER prefix might
under some circumstances be able to be created), then the value of + under some circumstances be able to be created), then the value of
the Response-PDU's error-status field is set to `noCreation', and + 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 + the value of its error-index field is set to the index of the
failed variable binding. + failed variable binding.
(8) + (8) Otherwise, if the variable binding's name specifies a variable
Otherwise, if the variable binding's name specifies a variable
which does not exist but can not be created under the present which does not exist but can not be created under the present
circumstances (even though it could be created under other circumstances (even though it could be created under other
circumstances), then the value of the Response-PDU's error-status circumstances), then the value of the Response-PDU's error-status
field is set to `inconsistentName', and the value of its error- field is set to `inconsistentName', and the value of its error-
index field is set to the index of the failed variable binding. index field is set to the index of the failed variable binding.
(9) Otherwise, if the variable binding's value field specifies a value (9) Otherwise, if the variable binding's name specifies a variable +
that could under other circumstances be assigned to the variable, which exists but can not be modified no matter what new value is +
but is presently inconsistent, then the value of the Response-PDU's 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. +
(10) +
Otherwise, if the variable binding's value field specifies a value |
that could under other circumstances be held by the variable, but |
is presently inconsistent or otherwise unable to be assigned to the |
variable, then the value of the Response-PDU's |
error-status field is set to `inconsistentValue', and the value of error-status field is set to `inconsistentValue', and the value of
its error-index field is set to the index of the failed variable its error-index field is set to the index of the failed variable
binding. binding.
(10) When, during the above steps, the assignment of the value specified | (11) When, during the above steps, the assignment of the value specified
by the | by the variable binding's value field to the specified variable
variable binding's value field to the specified variable requires requires the allocation of a resource which is presently
the allocation of a resource which is presently unavailable, then unavailable, then the value of the Response-PDU's error-status
the value of the Response-PDU's error-status field is set to field is set to `resourceUnavailable', and the value of its error-
`resourceUnavailable', and the value of its error-index field is index field is set to the index of the failed variable binding.
set to the index of the failed variable binding.
(11) If the processing of the variable binding fails for a reason other (12) If the processing of the variable binding fails for a reason other
than listed above, then the value of the Response-PDU's error- than listed above, then the value of the Response-PDU's error-
status field is set to `genErr', and the value of its error-index status field is set to `genErr', and the value of its error-index
field is set to the index of the failed variable binding. field is set to the index of the failed variable binding.
(12) Otherwise, the validation of the variable binding succeeds. (13) Otherwise, the validation of the variable binding succeeds.
At the end of the first phase, if the validation of all variable At the end of the first phase, if the validation of all variable
bindings succeeded, then the value of the Response-PDU's error-status bindings succeeded, then the value of the Response-PDU's error-status
field is set to `noError' and the value of its error-index field is field is set to `noError' and the value of its error-index field is
zero, and processing continues as follows. zero, and processing continues as follows.
For each variable binding in the request, the named variable is created For each variable binding in the request, the named variable is created
if necessary, and the specified value is assigned to it. Each of these if necessary, and the specified value is assigned to it. Each of these
variable assignments occurs as if simultaneously with respect to all variable assignments occurs as if simultaneously with respect to all
other assignments specified in the same request. However, if the same other assignments specified in the same request. However, if the same
skipping to change at page 26, line 42 skipping to change at page 25, line 47
way out in an implementation. way out in an implementation.
Finally, the generated Response-PDU is encapsulated into a message, and Finally, the generated Response-PDU is encapsulated into a message, and
transmitted to the originator of the SetRequest-PDU. transmitted to the originator of the SetRequest-PDU.
4.2.6. The SNMPv2-Trap-PDU 4.2.6. The SNMPv2-Trap-PDU
A SNMPv2-Trap-PDU is generated and transmitted by a SNMPv2 entity acting A SNMPv2-Trap-PDU is generated and transmitted by a SNMPv2 entity acting
in an agent role when an exceptional situation occurs. in an agent role when an exceptional situation occurs.
The destination(s) to which a SNMPv2-Trap-PDU is sent is determined by | The destination(s) to which a SNMPv2-Trap-PDU is sent is determined by
consulting the acTable [5] to find all entries satisfying the | consulting the acTable [5] to find all entries satisfying the following
following conditions:
(1) The value of acTarget refers to the generating SNMPv2 entity. | conditions:
(2) The value of acPrivileges allows for the SNMPv2-Trap-PDU. | (1) The value of acTarget refers to the generating SNMPv2 entity.
(3) The value of acContext refers to a SNMPv2 context denoting local | (2) The value of acPrivileges allows for the SNMPv2-Trap-PDU.
management information. |
(4) The notification's administratively assigned name is present in | (3) The value of acContext refers to a SNMPv2 context denoting local
the corresponding MIB view. (That is, the set of entries in the management information.
viewTable [5] for which the instance of viewIndex has the same |
value as acReadViewIndex, | (4) The notification's administratively assigned name is present in the
define a MIB view which contains the notification's corresponding MIB view. (That is, the set of entries in the
administratively assigned name.) viewTable [5] for which the instance of viewIndex has the same
value as acReadViewIndex, define a MIB view which contains the
notification's administratively assigned name.)
(5) If the OBJECTS clause is present in the invocation of the (5) If the OBJECTS clause is present in the invocation of the
corresponding NOTIFICATION-TYPE macro, then the correspondent corresponding NOTIFICATION-TYPE macro, then the correspondent
variables are all present in the MIB view corresponding to | variables are all present in the MIB view corresponding to
acReadViewIndex. | acReadViewIndex.
(6) For any additional variables which the generating SNMPv2 entity | (6) For any additional variables which the generating SNMPv2 entity
chooses to include within this SNMPv2-Trap-PDU, then these | chooses to include within this SNMPv2-Trap-PDU, then these
variables are all present in the MIB view corresponding to | variables are all present in the MIB view corresponding to
acReadViewIndex. | acReadViewIndex.
Then, for each entry satisfying these conditions, a SNMPv2-Trap-PDU is | Then, for each entry satisfying these conditions, a SNMPv2-Trap-PDU is
sent from acTarget with context acContext to acSubject. The instance of | sent from acTarget with context acContext to acSubject. The instance of
snmpTrapNumbers [11] corresponding to acSubject is incremented, | snmpTrapNumbers [11] corresponding to acSubject is incremented, and is
and is used as the request-id field of the SNMPv2-Trap-PDU. Then, the used as the request-id field of the SNMPv2-Trap-PDU. Then, the
variable-bindings field are constructed as: variable-bindings field are constructed as:
(1) The first variable is sysUpTime.0 [11]. (1) The first variable is sysUpTime.0 [11].
(2) The second variable is snmpTrapOID.0 [11], which contains the (2) The second variable is snmpTrapOID.0 [11], which contains the
administratively assigned name of the notification. administratively assigned name of the notification.
(3) If the OBJECTS clause is present in the invocation of the (3) If the OBJECTS clause is present in the invocation of the
corresponding NOTIFICATION-TYPE macro, then each corresponding corresponding NOTIFICATION-TYPE macro, then each corresponding
variable is copied, in order, to the variable-bindings field. variable is copied, in order, to the variable-bindings field.
(4) If any additional variables are being included (at the option of | (4) If any additional variables are being included (at the option of
the generating SNMPv2 entity), then each is copied to the | the generating SNMPv2 entity), then each is copied to the
variable-bindings field. | variable-bindings field.
4.2.7. The InformRequest-PDU 4.2.7. The InformRequest-PDU
An InformRequest-PDU is generated and transmitted at the request an An InformRequest-PDU is generated and transmitted at the request an
application in a SNMPv2 entity acting in a manager role, that wishes to application in a SNMPv2 entity acting in a manager role, that wishes to
notify another application (in a SNMPv2 entity also acting in a manager notify another application (in a SNMPv2 entity also acting in a manager
role) of information in a MIB View local to the sending | role) of information in a MIB View local to the sending application.
application.
The destination(s) to which an InformRequest-PDU is sent is specified by | The destination(s) to which an InformRequest-PDU is sent is specified by
the requesting application. | the requesting application. The first two variable bindings in the
The first two variable bindings in the variable binding list of an | variable binding list of an InformRequest-PDU are sysUpTime.0 [11] and
InformRequest-PDU are sysUpTime.0 [11] and snmpTrapOID.0 [11] | snmpTrapOID.0 [11] respectively. If the OBJECTS clause is present in
respectively. | the invocation of the corresponding NOTIFICATION-TYPE macro, then each
If the OBJECTS clause is present in the invocation of the corresponding corresponding variable, as instantiated by this notification, is copied,
NOTIFICATION-TYPE macro, then each corresponding variable, as in order, to the variable-bindings field.
instantiated by this notification, is copied, in order, to the
variable-bindings field.
Upon receipt of an InformRequest-PDU, the receiving SNMPv2 entity Upon receipt of an InformRequest-PDU, the receiving SNMPv2 entity
determines the size of a message encapsulating a Response-PDU with the determines the size of a message encapsulating a Response-PDU with the
same values in its request-id, error-status, error-index and variable- same values in its request-id, error-status, error-index and variable-
bindings fields as the received InformRequest-PDU. If the determined bindings fields as the received InformRequest-PDU. If the determined
message size is greater than either a local constraint or the maximum message size is greater than either a local constraint or the maximum
message size of the request's source party, then an alternate Response- message size of the request's source party, then an alternate Response-
PDU is generated, transmitted to the originator of the InformRequest- PDU is generated, transmitted to the originator of the InformRequest-
PDU, and processing of the InformRequest-PDU terminates immediately PDU, and processing of the InformRequest-PDU terminates immediately
thereafter. This alternate Response-PDU is formatted with the same thereafter. This alternate Response-PDU is formatted with the same
skipping to change at page 30, line 37 skipping to change at page 29, line 37
[1] Information processing systems - Open Systems Interconnection - [1] Information processing systems - Open Systems Interconnection -
Specification of Abstract Syntax Notation One (ASN.1), Specification of Abstract Syntax Notation One (ASN.1),
International Organization for Standardization. International International Organization for Standardization. International
Standard 8824, (December, 1987). Standard 8824, (December, 1987).
[2] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Structure [2] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Structure
of Management Information for Version 2 of the Simple Network of Management Information for Version 2 of the Simple Network
Management Protocol (SNMPv2)", Internet Draft, SNMP Research, Inc., Management Protocol (SNMPv2)", Internet Draft, SNMP Research, Inc.,
Cisco Systems, Dover Beach Consulting, Inc., Carnegie Mellon Cisco Systems, Dover Beach Consulting, Inc., Carnegie Mellon
University, March 1995. | University, May 1995. |
[3] Case, J., Galvin, J., McCloghrie, K., Rose, M., and Waldbusser, S., | [3] Case, J., Galvin, J., McCloghrie, K., Rose, M., and Waldbusser, S.,
"Administrative Infrastructure for Version 2 of the Simple Network | "Administrative Infrastructure for Version 2 of the Simple Network
Management Protocol (SNMPv2)", | Management Protocol (SNMPv2)", Internet Draft, SNMP Research, Inc.,
Internet Draft, SNMP Research, Inc., Trusted Information Systems, | Trusted Information Systems, Cisco Systems, Dover Beach Consulting,
Cisco Systems, Dover Beach Consulting, Inc., Carnegie Mellon | Inc., Carnegie Mellon University, May 1995. |
University, March 1995. |
[4] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Textual [4] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Textual
Conventions for Version 2 of the the Simple Network Management Conventions for Version 2 of the the Simple Network Management
Protocol (SNMPv2)", Internet Draft, SNMP Research, Inc., Cisco Protocol (SNMPv2)", Internet Draft, SNMP Research, Inc., Cisco
Systems, Dover Beach Consulting, Inc., Carnegie Mellon University, | Systems, Dover Beach Consulting, Inc., Carnegie Mellon University, |
March 1995. | May 1995. |
[5] Case, J., Galvin, J., McCloghrie, K., Rose, M., and Waldbusser, S., | [5] Case, J., Galvin, J., McCloghrie, K., Rose, M., and Waldbusser, S.,
"Party MIB for Version 2 of the Simple Network Management Protocol "Party MIB for Version 2 of the Simple Network Management Protocol
(SNMPv2)", Internet Draft, SNMP Research, Inc., Trusted Information | (SNMPv2)", Internet Draft, SNMP Research, Inc., Trusted Information
Systems, Cisco Systems, Dover Beach Consulting, Inc., Carnegie | Systems, Cisco Systems, Dover Beach Consulting, Inc., Carnegie
Mellon University, March 1995. | Mellon University, May 1995. |
[6] C. Kent, J. Mogul, Fragmentation Considered Harmful, Proceedings, [6] C. Kent, J. Mogul, Fragmentation Considered Harmful, Proceedings,
ACM SIGCOMM '87, Stowe, VT, (August 1987). ACM SIGCOMM '87, Stowe, VT, (August 1987).
[7] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Transport [7] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Transport
Mappings for Version 2 of the Simple Network Management Protocol Mappings for Version 2 of the Simple Network Management Protocol
(SNMPv2)", Internet Draft, SNMP Research, Inc., Cisco Systems, (SNMPv2)", Internet Draft, SNMP Research, Inc., Cisco Systems,
Dover Beach Consulting, Inc., Carnegie Mellon University, March | Dover Beach Consulting, Inc., Carnegie Mellon University, May 1995. |
1995. |
[8] Postel, J., "User Datagram Protocol", STD 6, RFC 768, [8] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
USC/Information Sciences Institute, August 1980. USC/Information Sciences Institute, August 1980.
[9] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "SNMPv2 [9] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "SNMPv2
Management Information Base for the Internet Protocol", Internet Management Information Base for the Internet Protocol", Internet
Draft, SNMP Research, Inc., Cisco Systems, Dover Beach Consulting, Draft, SNMP Research, Inc., Cisco Systems, Dover Beach Consulting,
Inc., Carnegie Mellon University, March 1995. | Inc., Carnegie Mellon University, May 1995. |
[10] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., [10] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S.,
"Coexistence between Version 1 and Version 2 of the Internet- "Coexistence between Version 1 and Version 2 of the Internet-
standard Network Management Framework", Internet Draft, SNMP standard Network Management Framework", Internet Draft, SNMP
Research, Inc., Cisco Systems, Dover Beach Consulting, Inc., Research, Inc., Cisco Systems, Dover Beach Consulting, Inc.,
Carnegie Mellon University, March 1995. | Carnegie Mellon University, May 1995. |
[11] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Management [11] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Management
Information Base for Version 2 of the Simple Network Management Information Base for Version 2 of the Simple Network Management
Protocol (SNMPv2)", Internet Draft, SNMP Research, Inc., Cisco Protocol (SNMPv2)", Internet Draft, SNMP Research, Inc., Cisco
Systems, Dover Beach Consulting, Inc., Carnegie Mellon University, | Systems, Dover Beach Consulting, Inc., Carnegie Mellon University, |
March 1995. | May 1995. |
[12] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Manager- [12] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Manager-
to-Manager Management Information Base", Internet Draft, SNMP to-Manager Management Information Base", Internet Draft, SNMP
Research, Inc., Cisco Systems, Dover Beach Consulting, Inc., Research, Inc., Cisco Systems, Dover Beach Consulting, Inc.,
Carnegie Mellon University, March 1995. | Carnegie Mellon University, May 1995. |
7. Security Considerations 7. Security Considerations
Security issues are not discussed in this memo. Security issues are not discussed in this memo.
8. Authors' Addresses 8. Authors' Addresses
Jeffrey D. Case Jeffrey D. Case
SNMP Research, Inc. SNMP Research, Inc.
3001 Kimberlin Heights Rd. 3001 Kimberlin Heights Rd.
skipping to change at page 33, line 9 skipping to change at page 32, line 9
Pittsburgh, PA 15213 Pittsburgh, PA 15213
US US
Phone: +1 412 268 6628 Phone: +1 412 268 6628
Email: waldbusser@cmu.edu Email: waldbusser@cmu.edu
Table of Contents Table of Contents
1 Introduction .................................................... 3 1 Introduction .................................................... 3
1.1 A Note on Terminology ......................................... 3 1.1 A Note on Terminology ......................................... 3
1.2 Change Log .................................................... 4 2 Overview ........................................................ 4
2 Overview ........................................................ 5 2.1 Roles of Protocol Entities .................................... 4
2.1 Roles of Protocol Entities .................................... 5 2.2 Management Information ........................................ 4
2.2 Management Information ........................................ 5 2.3 Access to Management Information .............................. 5
2.3 Access to Management Information .............................. 6 2.4 Retransmission of Requests .................................... 5
2.4 Retransmission of Requests .................................... 6 2.5 Message Sizes ................................................. 5
2.5 Message Sizes ................................................. 6 2.6 Transport Mappings ............................................ 6
2.6 Transport Mappings ............................................ 7 3 Definitions ..................................................... 7
3 Definitions ..................................................... 8 4 Protocol Specification .......................................... 12
4 Protocol Specification .......................................... 13 4.1 Common Constructs ............................................. 12
4.1 Common Constructs ............................................. 13 4.2 PDU Processing ................................................ 12
4.2 PDU Processing ................................................ 13 4.2.1 The GetRequest-PDU .......................................... 13
4.2.1 The GetRequest-PDU .......................................... 14 4.2.2 The GetNextRequest-PDU ...................................... 14
4.2.2 The GetNextRequest-PDU ...................................... 15 4.2.2.1 Example of Table Traversal ................................ 15
4.2.2.1 Example of Table Traversal ................................ 16 4.2.3 The GetBulkRequest-PDU ...................................... 17
4.2.3 The GetBulkRequest-PDU ...................................... 18 4.2.3.1 Another Example of Table Traversal ........................ 20
4.2.3.1 Another Example of Table Traversal ........................ 21 4.2.4 The Response-PDU ............................................ 21
4.2.4 The Response-PDU ............................................ 22 4.2.5 The SetRequest-PDU .......................................... 22
4.2.5 The SetRequest-PDU .......................................... 23 4.2.6 The SNMPv2-Trap-PDU ......................................... 25
4.2.6 The SNMPv2-Trap-PDU ......................................... 26 4.2.7 The InformRequest-PDU ....................................... 27
4.2.7 The InformRequest-PDU ....................................... 28 5 Acknowledgements ................................................ 29
5 Acknowledgements ................................................ 30 6 References ...................................................... 29
6 References ...................................................... 30 7 Security Considerations ......................................... 31
7 Security Considerations ......................................... 32 8 Authors' Addresses .............................................. 31
8 Authors' Addresses .............................................. 32
 End of changes. 41 change blocks. 
155 lines changed or deleted 133 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/