diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1909.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1909.txt')
-rw-r--r-- | doc/rfc/rfc1909.txt | 1067 |
1 files changed, 1067 insertions, 0 deletions
diff --git a/doc/rfc/rfc1909.txt b/doc/rfc/rfc1909.txt new file mode 100644 index 0000000..d516239 --- /dev/null +++ b/doc/rfc/rfc1909.txt @@ -0,0 +1,1067 @@ + + + + + + +Network Working Group K. McCloghrie, Editor +Request for Comments: 1909 Cisco Systems, Inc. +Category: Experimental February 1996 + + + An Administrative Infrastructure for SNMPv2 + +Status of this Memo + + This memo defines an Experimental Protocol for the Internet + community. This memo does not specify an Internet standard of any + kind. Discussion and suggestions for improvement are requested. + Distribution of this memo is unlimited. + +Table of Contents + + 1. Introduction ................................................ 2 + 2. Overview .................................................... 2 + 2.1 Contexts ................................................... 3 + 2.2 Authorization: Access Rights and MIB Views ................. 3 + 2.3 Authentication and Privacy ................................. 4 + 2.4 Access Control ............................................. 5 + 2.5 Security Models ............................................ 5 + 2.6 Proxy ...................................................... 5 + 3. Elements of the Model ....................................... 7 + 3.1 SNMPv2 Entity .............................................. 7 + 3.2 SNMPv2 Agent ............................................... 7 + 3.3 SNMPv2 Manager ............................................. 8 + 3.4 SNMPv2 Dual-Role Entity .................................... 8 + 3.5 View Subtree and Families .................................. 9 + 3.6 MIB View ................................................... 9 + 3.7 SNMPv2 Context ............................................. 10 + 3.7.1 Local SNMPv2 Context ..................................... 11 + 3.7.2 Proxy SNMPv2 Context ..................................... 11 + 3.8 SNMPv2 PDUs and Operations ................................. 12 + 3.8.1 The Report-PDU ........................................... 12 + 3.9 SNMPv2 Access Control Policy ............................... 13 + 4. Security Considerations ..................................... 13 + 5. Editor's Address ............................................ 14 + 6. Acknowledgements ............................................ 14 + 7. References .................................................. 14 + Appendix A Disambiguating the SNMPv2 Protocol Definition ....... 16 + Appendix B Who Sends Inform-Requests? ......................... 17 + Appendix B.1 Management Philosophy ............................. 17 + Appendix B.2 The Danger of Trap Storms ......................... 17 + Appendix B.3 Inform-Requests ................................... 18 + + + + + +McCloghrie Experimental [Page 1] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + +1. Introduction + + A management system contains: several (potentially many) nodes, each + with a processing entity, termed an agent, which has access to + management instrumentation; at least one management station; and, a + management protocol, used to convey management information between + the agents and management stations. Operations of the protocol are + carried out under an administrative framework which defines + authentication, authorization, access control, and privacy policies. + + Management stations execute management applications which monitor and + control managed elements. Managed elements are devices such as + hosts, routers, terminal servers, etc., which are monitored and + controlled via access to their management information. + + It is the purpose of this document, An Administrative Infrastructure + for SNMPv2, to define an administrative framework which realizes + effective management in a variety of configurations and environments. + The SNMPv2 framework is fully described in [1-6]. This framework is + derived from the original Internet-standard Network Management + Framework (SNMPv1), which consists of these three documents: + + STD 16, RFC 1155 [7] which defines the Structure of Management + Information (SMI), the mechanisms used for describing and naming + objects for the purpose of management. + + STD 16, RFC 1212 [8] which defines a more concise description + mechanism, which is wholly consistent with the SMI. + + STD 15, RFC 1157 [9] which defines the Simple Network Management + Protocol (SNMP), the protocol used for network access to managed + objects. + + For information on coexistence between SNMPv1 and SNMPv2, consult + [10]. + +2. Overview + + A management domain typically contains a large amount of management + information. Each individual item of management information is an + instance of a managed object type. The definition of a related set + of managed object types is contained in a Management Information Base + (MIB) module. Many such MIB modules are defined. For each managed + object type it describes, a MIB module defines not only the semantics + and syntax of that managed object type, but also the method of + identifying an individual instance so that multiple instances of the + same managed object type can be distinguished. + + + + +McCloghrie Experimental [Page 2] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + +2.1. Contexts + + Typically, there are many instances of each managed object type + within a management domain. For simplicity, the method for + identifying instances specified by the MIB module does not allow each + instance to be distinguished amongst the set of all instances within + the management domain; rather, it allows each instance to be + identified only within some scope or "context", where there are + multiple such contexts within the management domain. Often, a + context is a physical device, or perhaps, a logical device, although + a context can also encompass multiple devices, or a subset of a + single device, or even a subset of multiple devices. Thus, in order + to identify an individual item of management information within the + management domain, its context must be identified in addition to its + object type and its instance. + + For example, the managed object type, ifDescr [11], is defined as the + description of a network interface. To identify the description of + device-X's first network interface, three pieces of information are + needed, e.g., device-X (the context), ifDescr (the managed object + type), and "1" (the instance). + + Note that each context has (at least) one globally-unique + identification within the management domain. Note also that the same + item of management information can exist in multiple contexts. So, + an item of management information can have multiple globally-unique + identifications, either because it exists in multiple contexts, + and/or because each such context has multiple globally-unique + identifications. + +2.2. Authorization: Access Rights and MIB Views + + For security reasons, it is often valuable to be able to restrict the + access rights of some management applications to only a subset of the + management information in the management domain. To provide this + capability, access to a context is via a "MIB view" which details a + specific set of managed object types (and optionally, the specific + instances of object types) within that context. For example, for a + given context, there will typically always be one MIB view which + provides access to all management information in that context, and + often there will be other MIB views each of which contains some + subset of the information. So, by providing access rights to a + management application in terms of the particular (subset) MIB view + it can access for that context, then the management application is + restricted in the desired manner. + + Since managed object types (and their instances) are identified via + the tree-like naming structure of ISO's OBJECT IDENTIFIERs [12, 1], + + + +McCloghrie Experimental [Page 3] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + + it is convenient to define a MIB view as the combination of a set of + "view subtrees", where each view subtree is a sub-tree within the + managed object naming tree. Thus, a simple MIB view (e.g., all + managed objects within the Internet Network Management Framework) can + be defined as a single view sub-tree, while more complicated MIB + views (e.g., all information relevant to a particular network + interface) can be represented by the union of multiple view sub- + trees. + + While any set of managed objects can be described by the union of + some number of view subtrees, situations can arise that would require + a very large number of view subtrees. This could happen, for + example, when specifying all columns in one conceptual row of a MIB + table because they would appear in separate subtrees, one per column, + each with a very similar format. Because the formats are similar, + the required set of subtrees can easily be aggregated into one + structure. This structure is named a family of view subtrees after + the set of subtrees that it conceptually represents. A family of + view subtrees can either be included or excluded from a MIB view. + + In addition to restricting access rights by identifying (sub-)sets of + management information, it is also valuable to restrict the requests + allowed on the management information within a particular context. + For example, one management application might be prohibited from + write-access to a particular context, while another might be allowed + to perform any type of operation. + +2.3. Authentication and Privacy + + The enforcement of access rights requires the means not only to + identify the entity on whose behalf a request is generated but also + to authenticate such identification. Another security capability + which is (optionally) provided is the ability to protect the data + within an SNMPv2 operation from disclosure (i.e., to encrypt the + data). This is particularly useful when sensitive data (e.g., + passwords, or security keys) are accessed via SNMPv2 requests. + + Recommendations for which algorithms are best for authentication and + privacy are subject to change. Such changes may occur as and when + new research results on the vulnerability of various algorithms are + published, and/or with the prevailing status of export control and + patent issues. Thus, it is valuable to allow these algorithms to be + specified as parameters, so that new algorithms can be accommodated + over time. In particular, one type of algorithm which may become + useful in the future is the set of algorithms associated with + asymmetric (public key) cryptography. + + Note that not all accesses via SNMPv2 requests need to be secure. + + + +McCloghrie Experimental [Page 4] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + + Indeed, there are purposes for which insecure access is required. + One example of this is the ability of a management application to + learn about devices of which it has no previous knowledge. Another + example is to perform any synchronization which the security + algorithms need before they can be used to communicate securely. + This need for insecure access is accommodated by defining one of the + algorithms for authentication as providing no authentication, and + similarly, one of the algorithms for privacy as providing no + protection against disclosure. (The combination of these two + insecure algorithms is sometimes referred to as "noAuth/noPriv".) + +2.4. Access Control + + An access control policy specifies the types of SNMPv2 requests and + associated MIB views which are authorized for a particular identity + (on whose behalf a request is generated) when using a particular + level of security to access a particular context. + +2.5. Security Models + + A security model defines the mechanisms used to achieve an + administratively-defined level of security for protocol interactions: + +(1) by defining the security parameters associated with a + communication, including the authentication and privacy algorithms + and the security keys (if any) used. + +(2) by defining how entities on whose behalf requests are generated are + identified. + +(3) by defining how contexts are identified. + +(4) by defining the mechanisms by which an access control policy is + derived whenever management information is to be accessed. + +2.6. Proxy + + It is an SNMPv2 agent which responds to requests for access to + management information. Each such request is contained within an + SNMPv2 message which provides the capability to perform a single + operation on a list of items of management information. Rather than + having to identify the context as well as the managed object type and + instance for each item of management information, each SNMPv2 message + is concerned with only a single context. Thus, an SNMPv2 agent must + be able to process requests for all items of management information + within the one or more contexts it supports. + + + + + +McCloghrie Experimental [Page 5] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + + In responding to a request, an SNMPv2 agent might be acting as a + proxy for some other agent. The term "proxy" has historically been + used very loosely, with multiple different meanings. These different + meanings include (among others): + +(1) the forwarding of SNMPv2 requests on to other SNMP agents without + regard for what managed object types are being accessed; for + example, in order to forward SNMPv2 request from one transport + domain to another, or to translate SNMPv2 requests into SNMPv1 + requests; + +(2) the translation of SNMPv2 requests into operations of some non-SNMP + management protocol; + +(3) support for aggregated managed objects where the value of one + managed object instance depends upon the values of multiple other + (remote) items of management information. + + Each of these scenarios can be advantageous; for example, support for + aggregation for management information can significantly reduce the + bandwidth requirements of large-scale management activities. + However, using a single term to cover multiple different scenarios + causes confusion. + + To avoid such confusion, this SNMPv2 administrative framework uses + the term "proxy" with a much more tightly defined meaning, which + covers only the first of those listed above. Specifically, the + distinction between a "regular SNMPv2 agent" and a "proxy SNMPv2 + agent" is simple: + + - a proxy SNMPv2 agent is an SNMPv2 agent which forwards requests on + to other agents according to the context, and irrespective of the + specific managed object types being accessed; + + - in contrast, an SNMPv2 agent which processes SNMPv2 requests + according to the (names of the) individual managed object types and + instances being accessed, is NOT a proxy SNMPv2 agent from the + perspective of this administrative model. + + Thus, when an SNMPv2 agent acts as a proxy SNMPv2 agent for a + particular context, although information on how to forward the + request is specifically associated with that context, the proxy + SNMPv2 agent has no need of a detailed definition of the MIB view + (since the proxy SNMPv2 agent forwards the request irrespective of + the managed object types). + + In contrast, a SNMPv2 agent operating without proxy must have the + detailed definition of the MIB view, and even if it needs to issue + + + +McCloghrie Experimental [Page 6] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + + requests to other agents, that need is dependent on the individual + managed object instances being accessed (i.e., not only on the + context). + +3. Elements of the Model + + This section provides a more formal description of the model. + +3.1. SNMPv2 Entity + + An SNMPv2 entity is an actual process which performs management + operations by generating and/or responding to SNMPv2 protocol + messages in the manner specified in [4]. An SNMPv2 entity assumes + the identity of a particular administrative entity when processing an + SNMPv2 message. + + An SNMPv2 entity is not required to process multiple protocol + messages concurrently, regardless of whether such messages require it + to assume the identity of the same or different administrative + entity. Thus, an implementation of an SNMPv2 entity which supports + more than one administrative entity need not be multi-threaded. + However, there may be situations where implementors may choose to use + multi-threading. + + An SNMPv2 entity listens for incoming, unsolicited SNMPv2 messages on + each transport service address for which it is configured to do so. + It is a local matter whether an SNMPv2 entity also listens for SNMPv2 + messages on any other transport service addresses. In the absence of + any other information on where to listen, an SNMPv2 entity must + listen on the transport service addresses corresponding to the + standard transport-layer "ports" [5] on its local network-layer + addresses. + +3.2. SNMPv2 Agent + + An SNMPv2 agent is the operational role assumed by an SNMPv2 entity + when it acts in an agent role. Specifically, an SNMPv2 agent + performs SNMPv2 management operations in response to received SNMPv2 + protocol messages (except for inform notifications). + + In order to be manageable, all network components need to be + instrumented. SNMPv2 access to the instrumented information is via + the managed objects supported by an SNMPv2 agent in one or more + contexts. + + + + + + + +McCloghrie Experimental [Page 7] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + +3.3. SNMPv2 Manager + + An SNMPv2 manager is the operational role assumed by an SNMPv2 entity + when it acts in a manager role on behalf of management applications. + Specifically, an SNMPv2 manager initiates SNMPv2 management + operations by the generation of appropriate SNMPv2 protocol messages, + or when it receives and processes trap and inform notifications. + + It is interesting to consider the case of managing an SNMPv2 manager. + It is highly desirable that an SNMPv2 manager, just like any other + networking application, be instrumented for the purposes of being + managed. Such instrumentation of an SNMPv2 manager (just like for + any other networking application) is accessible via the managed + objects supported by an SNMPv2 agent. As such, an SNMPv2 manager is + no different from any other network application in that it has + instrumentation, but does not itself have managed objects. + + That is, an SNMPv2 manager does not itself have managed objects. + Rather, it is an associated SNMPv2 agent supporting managed objects + which provides access to the SNMPv2 manager's instrumentation. + +3.4. SNMPv2 Dual-Role Entity + + An SNMPv2 entity which sometimes acts in an agent role and sometimes + acts in a manager role, is termed an SNMPv2 dual-role entity. An + SNMPv2 dual-role entity initiates requests by acting in a manager + role, and processes requests regarding management information + accessible to it (locally or via proxy) through acting in an agent + role. In the case of sending inform notifications, an SNMPv2 dual- + role entity acts in a manager role in initiating an inform + notification containing management information which is accessible to + it when acting in an agent role. + + An SNMPv2 entity which can act only in an SNMPv2 manager role is not + SNMP-manageable, since there is no way to access its management + instrumentation. In order to be SNMP-manageable, an SNMPv2 entity + must be able to act in an SNMPv2 agent role in order to allow its + instrumentation to be accessed. Thus, it is highly desirable that + all SNMPv2 entities be either SNMPv2 agents or SNMPv2 dual-role + entities. + + There are two categories of SNMPv2 dual-role entities: proxy SNMPv2 + agents and (so-called) mid-level managers. Proxy SNMPv2 agents only + forward requests/responses; they do not originate requests. In + contrast, mid-level managers often originate requests. (Note that + the term proxy SNMPv2 agent does not include an SNMPv2 agent which + translates SNMPv2 requests into the requests of some other management + protocol; see section 2.6.) + + + +McCloghrie Experimental [Page 8] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + +3.5. View Subtree and Families + + A view subtree is the set of all MIB object instances which have a + common ASN.1 OBJECT IDENTIFIER prefix to their names. A view subtree + is identified by the OBJECT IDENTIFIER value which is the longest + OBJECT IDENTIFIER prefix common to all (potential) MIB object + instances in that subtree. + + A family of view subtrees is a pairing of an OBJECT IDENTIFIER value + (called the family name) together with a bitstring value (called the + family mask). The family mask indicates which sub-identifiers of the + associated family name are significant to the family's definition. + + For each possible managed object instance, that instance belongs to a + particular view subtree family if both of the following conditions + are true: + +o the OBJECT IDENTIFIER name of the managed object instance contains + at least as many sub-identifiers as does the family name, and + +o each sub-identifier in the OBJECT IDENTIFIER name of the managed + object instance matches the corresponding sub-identifier of the + family name whenever the corresponding bit of the associated family + mask is non-zero. + + When the configured value of the family mask is all ones, the view + subtree family is identical to the single view subtree identified by + the family name. + + When the configured value of the family mask is shorter than required + to perform the above test, its value is implicitly extended with + ones. Consequently, a view subtree family having a family mask of + zero length always corresponds to a single view subtree. + +3.6. MIB View + + A MIB view is a subset of the set of all instances of all object + types defined according to the SMI [1] within an SNMPv2 context, + subject to the following constraints: + +o It is possible to specify a MIB view which contains the full set of + all object instances within an SNMPv2 context. + +o Each object instance within a MIB view is uniquely named by an + ASN.1 OBJECT IDENTIFIER value. + + As such, identically named instances of a particular object type must + be contained within different SNMPv2 contexts. That is, a particular + + + +McCloghrie Experimental [Page 9] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + + object instance name resolves within a particular SNMPv2 context to + at most one object instance. + + A MIB view is defined as a collection of view subtree families, where + each view subtree family has a type. The type determines whether the + view subtree family is included in, or excluded from, the MIB view. + + A managed object instance is contained/not contained within the MIB + view according to the view subtree families to which the instance + belongs: + +o If a managed object instance belongs to none of the relevant + subtree families, then that instance is not in the MIB view. + +o If a managed object instance belongs to exactly one of the relevant + subtree families, then that instance is included in, or excluded + from, the relevant MIB view according to the type of that subtree + family. + +o If a managed object instance belongs to more than one of the + relevant subtree families, then that instance is included in, or + excluded from, the relevant MIB view according to the type of a + particular one of the subtree families to which it belongs. The + particular subtree family is the one for which, first, the + associated family name comprises the greatest number of sub- + identifiers, and, second, the associated family name is + lexicographically greatest. + +3.7. SNMPv2 Context + + An SNMPv2 context is a collection of management information + accessible by an SNMPv2 entity. The collection of management + information identified by a context is either local or proxy. + + For a local SNMPv2 context which is realized by an SNMPv2 entity, + that SNMPv2 entity uses locally-defined mechanisms to access the + management information identified by the SNMPv2 context. + + For a proxy SNMPv2 context, the SNMPv2 entity acts as a proxy SNMPv2 + agent to access the management information identified by the SNMPv2 + context. + + The term remote SNMPv2 context is used at an SNMPv2 manager to + indicate a SNMPv2 context (either local or proxy) which is not + realized by the local SNMPv2 entity (i.e., the local SNMPv2 entity + uses neither locally-defined mechanisms, nor acts as a proxy SNMPv2 + agent, to access the management information identified by the SNMPv2 + context). + + + +McCloghrie Experimental [Page 10] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + +3.7.1. Local SNMPv2 Context + + A local context refers to a collection of MIB objects which + (logically) belong to a single entity within a managed device. When + an SNMPv2 entity accesses that management information, it does so + using locally-defined mechanisms. + + Because a device may contain several such local entities, each local + context has associated with it a "local entity" name. Further, + because management information changes over time, each local context + also has associated with it an associated temporal domain, termed its + "local time". This allows, for example, one context to refer to the + current values of a device's parameters, and a different context to + refer to the values that the same parameters for the same device will + have after the device's next restart. + +3.7.2. Proxy SNMPv2 Context + + A proxy relationship exists when a proxy SNMPv2 agent processes a + received SNMPv2 message (a request or a response) by forwarding it to + another entity, solely according to the SNMPv2 context of the + received message. Such a context is called a proxy SNMPv2 context. + When an SNMPv2 entity processes management requests/responses for a + proxy context, it is operating as a proxy SNMPv2 agent. + + The transparency principle that defines the behavior of an SNMPv2 + entity in general, applies in particular to a proxy SNMPv2 context: + + The manner in which a receiving SNMPv2 entity processes SNMPv2 + protocol messages sent by another SNMPv2 entity is entirely + transparent to the sending SNMPv2 entity. + + Implicit in the transparency principle is the requirement that the + semantics of SNMPv2 management operations are preserved between any + two SNMPv2 peers. In particular, the "as if simultaneous" semantics + of a + + Set operation are extremely difficult to guarantee if its scope + extends to management information resident at multiple network + locations. Note however, that agents which support the forwarding of + Set operations concerning information at multiple locations are not + considered to be proxy SNMPv2 agents (see section 2.6 above). + + Also implicit in the transparency principle is the requirement that, + throughout its interaction with a proxy SNMPv2 agent, an SNMPv2 + manager is supplied with no information about the nature or progress + of the proxy mechanisms used to perform its requests. That is, it + should seem to the SNMPv2 manager (except for any distinction in an + + + +McCloghrie Experimental [Page 11] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + + underlying transport address) as if it were interacting via SNMPv2 + directly with the proxied device. Thus, a timeout in the + communication between a proxy SNMPv2 agent and its proxied device + should be represented as a timeout in the communication between the + SNMPv2 manager and the proxy SNMPv2 agent. Similarly, an error + response from a proxied device should - as much as possible - be + represented by the corresponding error response in the interaction + between the proxy SNMPv2 agent and SNMPv2 manager. + +3.8. SNMPv2 PDUs and Operations + + An SNMPv2 PDU is defined in [4]. Each SNMPv2 PDU specifies a + particular operation, one of: + + GetBulkRequest + GetNextRequest + GetRequest + Inform + Report + Response + SNMPv2-Trap + SetRequest + +3.8.1. The Report-PDU + + [4] requires that an administrative framework which makes use of the + Report-PDU must define its usage and semantics. With this + administrative framework, the Report-PDU differs from the other PDU + types described in [4] in that it is not a protocol operation between + SNMPv2 managers and agents, but rather is an aspect of error- + reporting between SNMPv2 entities. Specifically, it is an interaction + between two protocol engines. + + A communication between SNMPv2 entities is in the form of an SNMPv2 + message. Such a message is formatted as a "wrapper" encapsulating a + PDU according to the "Elements of Procedure" for the security model + used for transmission of the message. + + While processing a received communication, an SNMPv2 entity may + determine that the received message is unacceptable due to a problem + associated with the contents of the message "wrapper". In this case, + an appropriate counter is incremented and the received message is + discarded without further processing (and without transmission of a + Response-PDU). + + However, if an SNMPv2 entity acting in the agent role makes such a + determination, then after incrementing the appropriate counter, it + may be required to generate a Report-PDU and to send it to the + + + +McCloghrie Experimental [Page 12] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + + transport address which originated the received message. + + If the agent is able to determine the value of the request-id field + of the received PDU [4], then it must use that value for the + request-id field of the Report-PDU. Otherwise, the value 2147483647 + is used. + + The error-status and error-index fields of the Report-PDU are always + set to zero. The variable-bindings field contains a single variable: + the identity of the counter which was incremented and its new value. + + There is at least one case in which a Report-PDU must not be sent by + an SNMPv2 entity acting in the agent role: if the received message + was tagged as a Report-PDU. Particular security models may identify + other such cases. + +3.9. SNMPv2 Access Control Policy + + An SNMPv2 access policy specifies the types of SNMPv2 operations + authorized for a particular identity using a particular level of + security, and if the operation is to be performed on a local SNMPv2 + context, two accessible MIB views. The two MIB views are a read-view + and a write-view. A read-view is a set of object instances + authorized for the identity when reading objects. Reading objects + occurs when processing a retrieval (get, get-next, get-bulk) + operation and when sending a notification. A write-view is the set + of object instances authorized for the identity when writing objects. + Writing objects occurs when processing a set operation. An + identity's access rights may be different at different agents. + + A security model defines how an SNMPv2 access policy is derived; + however, the application of an SNMPv2 access control policy is + performed only: + +o on receipt of GetRequest, GetNextRequest, GetBulkRequest, and + SetRequest operations; and + +o prior to transmission of SNMPv2-Trap and Inform operations. + + Note that application of an SNMPv2 access control policy is never + performed for Response or Report operations. + +4. Security Considerations + + Security issues are not directly discussed in this memo. + + + + + + +McCloghrie Experimental [Page 13] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + +5. Editor's Address + + Keith McCloghrie + Cisco Systems, Inc. + 170 West Tasman Drive + San Jose, CA 95134-1706 + US + + Phone: +1 408 526 5260 + EMail: kzm@cisco.com + +6. Acknowledgements + + This document is the result of significant work by three major + contributors: + + Keith McCloghrie (Cisco Systems, kzm@cisco.com) + Marshall T. Rose (Dover Beach Consulting, mrose@dbc.mtview.ca.us) + Glenn W. Waters (Bell-Northern Research Ltd., gwaters@bnr.ca) + + The authors wish to acknowledge James M. Galvin of Trusted + Information Systems who contributed significantly to earlier work on + which this memo is based, and the general contributions of members of + the SNMPv2 Working Group, and, in particular, Aleksey Y. Romanov and + Steven L. Waldbusser. + + A special thanks is extended for the contributions of: + + Uri Blumenthal (IBM) + Shawn Routhier (Epilogue) + Barry Sheehan (IBM) + Bert Wijnen (IBM) + +7. References + +[1] The SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and + S. Waldbusser, "Structure of Management Information for Version 2 + of the Simple Network Management Protocol (SNMPv2)", RFC 1902, + January 1996. + +[2] The SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and + S. Waldbusser, "Textual Conventions for Version 2 of the Simple + Network Management Protocol (SNMPv2)", RFC 1903, January 1996. + +[3] The SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and + S., Waldbusser, "Conformance Statements for Version 2 of the Simple + Network Management Protocol (SNMPv2)", RFC 1904, January 1996. + + + + +McCloghrie Experimental [Page 14] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + +[4] The SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and + S. Waldbusser, "Protocol Operations for Version 2 of the Simple + Network Management Protocol (SNMPv2)", RFC 1905, January 1996. + +[5] The SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and + Waldbusser, S., "Transport Mappings for Version 2 of the Simple + Network Management Protocol (SNMPv2)", RFC 1906, January 1996. + +[6] The SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and + Waldbusser, S., "Management Information Base for Version 2 of the + Simple Network Management Protocol (SNMPv2)", RFC 1907, + January 1996. + +[7] Rose, M., and K. McCloghrie, "Structure and Identification of + Management Information for TCP/IP-based internets", STD 16, RFC + 1155, May 1990. + +[8] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 16, + RFC 1212, March 1991. + +[9] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple + Network Management Protocol", STD 15, RFC 1157, SNMP Research, + Performance Systems International, MIT Laboratory for Computer + Science, May 1990. + +[10] The SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and + Waldbusser, S., "Coexistence between Version 1 and Version 2 of the + Internet-standard Network Management Framework", RFC 1908, January + 1996. + +[11] McCloghrie, K., and F. Kastenholz, "Evolution of the Interfaces + Group of MIB-II", RFC 1573, Cisco Systems, FTP Software, January + 1994. + +[12] Information processing systems - Open Systems Interconnection - + Specification of Abstract Syntax Notation One (ASN.1), + International Organization for Standardization. International + Standard 8824, (December, 1987). + + + + + + + + + + + + + +McCloghrie Experimental [Page 15] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + +APPENDIX A - Disambiguating the SNMPv2 Protocol Definition + +The descriptions in [4] of the role in which an SNMPv2 entity acts when +sending an Inform-Request PDU are ambiguous. The following updates +serve to remove those ambiguities. + +(1) Add the following sentence to section 2.1: + + Further, when an SNMPv2 entity sends an inform notification, + it acts in a manager role in respect to initiating the + operation, but the management information contained in the + inform notification is associated with that entity acting in + an agent role. By convention, the inform is sent from the + same transport address as the associated agent role is + listening on. + +(2) Modify the last sentence of the second paragraph in section 2.3: + + This type is used by one SNMPv2 entity, acting in a manager + role, to notify another SNMPv2 entity, also acting in a + manager role, of management information associated with the + sending SNMPv2 entity acting in an agent role. + +(3) Modify the second paragraph of section 4.2 (concerning the + generation of Inform-Request PDUs): + + It is mandatory that all SNMPv2 entities acting in a manager + role be able to generate the following PDU types: GetRequest- + PDU, GetNextRequest-PDU, GetBulkRequest-PDU, SetRequest-PDU, + and Response-PDU; further, all such implementations must be + able to receive the following PDU types: Response-PDU, + SNMPv2-Trap-PDU, InformRequest-PDU. It is mandatory that all + dual-role SNMPv2 entities must be able to generate an Inform- + Request PDU. + +(4) Modify the first paragraph of section 4.2.7: + + An InformRequest-PDU is generated and transmitted at the + request of an application in a SNMPv2 entity acting in a + manager role, that wishes to notify another application (via + an SNMPv2 entity also acting in a manager role) of information + in a MIB view which is accessible to the sending SNMPv2 entity + when acting in an agent role. + + + + + + + + +McCloghrie Experimental [Page 16] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + +APPENDIX B - Who Sends Inform-Requests? + +B.1. Management Philosophy + + Ever since its beginnings as SGMP, through its definition as SNMPv1, + and continuing with the definition of SNMPv2, SNMP has embodied more + than just a management protocol and the definitions of MIB objects. + Specifically, SNMP has also had a fundamental philosophy of + management, consisting of a number of design strategies. These + strategies have always included the following: + +(1) The impact of incorporating an SNMP agent into a system should be + minimal, so that both: a) it is feasible to do so even in the + smallest/cheapest of systems, and b) the operational role and + performance of a system is not compromised by the inclusion of an + SNMP agent. This promotes widespread development, which allows + ubiquitous deployment of manageable systems. + +(2) Every system (potentially) incorporates an SNMP agent. In + contrast, the number of SNMP managers is limited. Thus, there is a + significantly larger number of SNMP agents than SNMP managers. + Therefore, overall system development/complexity/cost is optimized + if the SNMP agent is allowed to be simple and any required + complexity is performed by an SNMP manager. + +(3) The number of unsolicited messages generated by SNMP agents is + minimized. This enables the amount of network management traffic + to be controlled by the small number of SNMP managers which are + (more) directly controlled by network operators. In fact, this + control is considered of greater importance than any additional + protocol overhead which might be incurred. Monitoring of network + state at any significant level of detail is accomplished primarily + by SNMP managers polling for the appropriate information, with the + use of unsolicited messages confined to those situations where it + is necessary to properly guide an SNMP manager regarding the timing + and focus of its polling. This strategy is sometimes referred to + as "trap-directed polling". + +B.2. The Danger of Trap Storms + + The need for such control over the amount of network management + traffic is due to the potential that the SNMP manager receiving an + unsolicited message does not want, no longer wants, or already knows + of the information contained in the message. This potential is + significantly reduced by having the majority of messages be specific + requests for information by SNMP managers and responses (to those + requests) from SNMP agents. + + + + +McCloghrie Experimental [Page 17] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + + The danger of not having the amount of network management be + controlled in this manner is the potential for a "storm" of useless + traps. As a simple example of "useless", consider that after a + building power outage, every device in the network sends a coldStart + trap, even though every SNMP manager and every network operator + already knows what happened. For a simple example of "storm", + consider the result if each transmitted trap caused the sending of + another. The greater the number of problems in the state of the + network, the greater the risk of such a storm occurring, especially + in the unstructured, heterogeneous environment typical of today's + internets. + + While SNMP philosophy considers the above to be more important than + any lack of reliability in unsolicited messages, some + users/developers have been wary of using traps because of the use + (typically) of an unreliable transport protocol and because traps are + not acknowledged. However, following this logic would imply that + having acknowledged-traps would make them reliable; of course, this + is false since no amount of re- transmission will succeed if the + receiver and/or the connectivity to the receiver is down. A SNMP + manager cannot just sit and wait and assume the network is fine just + because it is not receiving any unsolicited messages. + +B.3. Inform-Requests + + One of the new features of SNMPv2 is the Inform-request PDU. The + Inform-Request contains management information specified in terms of + MIB objects for a context supported by the sender. Since by + definition, an SNMPv2 manager does not itself have managed objects + (see sections 3.3), the managed objects contained in the Inform- + request belong to a context of an SNMPv2 agent, just like the managed + objects contained in an SNMPv2-Trap. + + However, it is not the purpose of an Inform-request to change the + above described philosophy, i.e., it would be wrong to consider it as + an "acknowledged trap". To do so, would make the likelihood and + effect of trap storms worse. Recall the building power outage + example: with regular traps, the SNMP manager's buffer just + overflows when it receives messages faster than it can cope with; in + contrast, if every device in the network were to send a coldStart + Inform-request, then after a power outage, all will re-transmit their + Inform-request several times unless the receiving SNMP managers send + responses. In the best case when no messages are lost or re- + transmitted, there are twice as many useless messages; in the worst + case, the SNMP manager is unable to respond at all and every message + is re-transmitted its maximum number of times. + + + + + +McCloghrie Experimental [Page 18] + +RFC 1909 An SNMPv2 Administrative Infrastructure February 1996 + + + The above serves to explain the rationale behind the definition (see + Appendix A's update to section 4.2.7 of [4]) that: + + An InformRequest-PDU is generated and transmitted at the request of + an application in a SNMPv2 entity acting in a manager role, that + wishes to notify another application (via an SNMPv2 entity also + acting in a manager role) of information in a MIB view which is + accessible to the sending SNMPv2 entity when acting in an agent + role. + + This definition says that SNMPv2 agents do not send Inform-Requests, + which has three implications (ordered in terms of importance): + +(1) the number of devices which send Inform-requests is required to be + a small subset of all devices in the network; + +(2) while some devices traditionally considered to be SNMP agents are + perfectly capable of sending Inform-requests, the overall system + development/complexity/cost is not increased as it would be by + having to configure/re-configure every SNMPv2 agent as to which + Inform-requests to send where and how often; and + +(3) the cost of implementing an SNMPv2 agent in the smallest/cheapest + system is not increased. + + + + + + + + + + + + + + + + + + + + + + + + + + + +McCloghrie Experimental [Page 19] + |