The SNMP architecture admits a variety of administrative relationships among entities that participate in the protocol. The entities residing at management stations and network elements which communicate with one another using the SNMP are termed SNMP application entities. The peer processes which implement the SNMP, and thus support the SNMP application entities, are termed protocol entities.
A pairing of an SNMP agent with some arbitrary set of SNMP application entities is called an SNMP community. Each SNMP community is named by a string of octets, that is called the community name for said community.
An SNMP message originated by an SNMP application entity that in fact belongs to the SNMP community named by the community component of said message is called an authentic SNMP message. The set of rules by which an SNMP message is identified as an authentic SNMP message for a particular SNMP community is called an authentication scheme. An implementation of a function that identifies authentic SNMP messages according to one or more authentication schemes is called an authentication service.
Clearly, effective management of administrative relationships among SNMP application entities requires authentication services that (by the use of encryption or other techniques) are able to identify authentic SNMP messages with a high degree of certainty. Some SNMP implementations may wish to support only a trivial authentication service that identifies all SNMP messages as authentic SNMP messages.
For any network element, a subset of objects in the MIB that pertain to that element is called a SNMP MIB view. Note that the names of the object types represented in a SNMP MIB view need not belong to a single sub-tree of the object type name space.
An element of the set { READ-ONLY, READ-WRITE } is called an SNMP access mode.
A pairing of a SNMP access mode with a SNMP MIB view is called an SNMP community profile. A SNMP community profile represents specified access privileges to variables in a specified MIB view. For every variable in the MIB view in a given SNMP community profile, access to that variable is represented by the profile according to the following conventions:
A pairing of a SNMP community with a SNMP community profile is called a SNMP access policy. An access policy represents a specified community profile afforded by the SNMP agent of a specified SNMP community to other members of that community. All administrative relationships among SNMP application entities are architecturally defined in terms of SNMP access policies.
For every SNMP access policy, if the network element on which the SNMP agent for the specified SNMP community resides is not that to which the MIB view for the specified profile pertains, then that policy is called a SNMP proxy access policy. The SNMP agent associated with a proxy access policy is called a SNMP proxy agent. While careless definition of proxy access policies can result in management loops, prudent definition of proxy policies is useful in at least two ways:
By way of example, Figure 1 illustrates the relationship between management stations, proxy agents, and management agents. In this example, the proxy agent is envisioned to be a normal Internet Network Operations Center (INOC) of some administrative domain which has a standard managerial relationship with a set of management agents.
+------------------+ +----------------+ +----------------+ | Region #1 INOC | |Region #2 INOC | |PC in Region #3 | | | | | | | |Domain=Region #1 | |Domain=Region #2| |Domain=Region #3| |CPU=super-mini-1 | |CPU=super-mini-1| |CPU=Clone-1 | |PCommunity=pub | |PCommunity=pub | |PCommunity=slate| | | | | | | +------------------+ +----------------+ +----------------+ /|\ /|\ /|\ | | | | | | | \|/ | | +-----------------+ | +-------------->| Region #3 INOC |<-------------+ | | |Domain=Region #3 | |CPU=super-mini-2 | |PCommunity=pub, | | slate | |DCommunity=secret| +-------------->| |<-------------+ | +-----------------+ | | /|\ | | | | | | | \|/ \|/ \|/ +-----------------+ +-----------------+ +-----------------+ |Domain=Region#3 | |Domain=Region#3 | |Domain=Region#3 | |CPU=router-1 | |CPU=mainframe-1 | |CPU=modem-1 | |DCommunity=secret| |DCommunity=secret| |DCommunity=secret| +-----------------+ +-----------------+ +-----------------+ Domain: the administrative domain of the element PCommunity: the name of a community utilizing a proxy agent DCommunity: the name of a direct community Figure 1 Example Network Management Configuration