📄 rfc2271.txt
字号:
Management information resides at an SNMP entity where a Command
Responder Application has local access to potentially multiple
contexts. This application uses a contextEngineID equal to the
snmpEngineID of its associated SNMP engine.
Harrington, et. al. Standards Track [Page 22]
RFC 2271 SNMPv3 Architecture January 1998
+-----------------------------------------------------------------+
| SNMP entity (identified by snmpEngineID, example: abcd) |
| |
| +------------------------------------------------------------+ |
| | SNMP engine (identified by snmpEngineID) | |
| | | |
| | +-------------+ +------------+ +-----------+ +-----------+ | |
| | | | | | | | | | | |
| | | Dispatcher | | Message | | Security | | Access | | |
| | | | | Processing | | Subsystem | | Control | | |
| | | | | Subsystem | | | | Subsystem | | |
| | | | | | | | | | | |
| | +-------------+ +------------+ +-----------+ +-----------+ | |
| | | |
| +------------------------------------------------------------+ |
| |
| +------------------------------------------------------------+ |
| | Command Responder Application | |
| | (contextEngineID, example: abcd) | |
| | | |
| | example contextNames: | |
| | | |
| | "bridge1" "bridge2" "" (default) | |
| | --------- --------- ------------ | |
| | | | | | |
| +------|------------------|-------------------|--------------+ |
| | | | |
| +------|------------------|-------------------|--------------+ |
| | MIB | instrumentation | | | |
| | +---v------------+ +---v------------+ +----v-----------+ | |
| | | context | | context | | context | | |
| | | | | | | | | |
| | | +------------+ | | +------------+ | | +------------+ | | |
| | | | bridge MIB | | | | bridge MIB | | | | other MIB | | | |
| | | +------------+ | | +------------+ | | +------------+ | | |
| | | | | | | | | |
| | | | | | | +------------+ | | |
| | | | | | | | some MIB | | | |
| | | | | | | +------------+ | | |
| | | | | | | | | |
+-----------------------------------------------------------------+
3.3.1. An SNMP Context
An SNMP context, or just "context" for short, is a collection of
management information accessible by an SNMP entity. An item of
management information may exist in more than one context. An SNMP
entity potentially has access to many contexts.
Harrington, et. al. Standards Track [Page 23]
RFC 2271 SNMPv3 Architecture January 1998
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
a 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, but a context is always defined as
a subset of a single SNMP entity. Thus, in order to identify an
individual item of management information within the management
domain, its contextName and contextEngineID must be identified in
addition to its object type and its instance.
For example, the managed object type ifDescr [RFC1573], is defined as
the description of a network interface. To identify the description
of device-X's first network interface, four pieces of information are
needed: the snmpEngineID of the SNMP entity which provides access to
the management information at device-X, the contextName (device-X),
the managed object type (ifDescr), and the instance ("1").
Each context has (at least) one unique identification within the
management domain. The same item of management information can exist
in multiple contexts. An item of management information may have
multiple unique identifications. This occurs when an item of
management information exists in multiple contexts, and this also
occurs when a context has multiple unique identifications.
The combination of a contextEngineID and a contextName unambiguously
identifies a context within an administrative domain; note that there
may be multiple unique combinations of contextEngineID and
contextName that unambiguously identify the same context.
3.3.2. contextEngineID
Within an administrative domain, a contextEngineID uniquely
identifies an SNMP entity that may realize an instance of a context
with a particular contextName.
3.3.3. contextName
A contextName is used to name a context. Each contextName MUST be
unique within an SNMP entity.
Harrington, et. al. Standards Track [Page 24]
RFC 2271 SNMPv3 Architecture January 1998
3.3.4. scopedPDU
A scopedPDU is a block of data containing a contextEngineID, a
contextName, and a PDU.
The PDU is an SNMP Protocol Data Unit containing information named in
the context which is unambiguously identified within an
administrative domain by the combination of the contextEngineID and
the contextName. See, for example, RFC1905 for more information about
SNMP PDUs.
3.4. Other Constructs
3.4.1. maxSizeResponseScopedPDU
The maxSizeResponseScopedPDU is the maximum size of a scopedPDU to be
included in a response message. Note that the size of a scopedPDU
does not include the size of the SNMP message header.
3.4.2. Local Configuration Datastore
The subsystems, models, and applications within an SNMP entity may
need to retain their own sets of configuration information.
Portions of the configuration information may be accessible as
managed objects.
The collection of these sets of information is referred to as an
entity's Local Configuration Datastore (LCD).
3.4.3. securityLevel
This architecture recognizes three levels of security:
- without authentication and without privacy (noAuthNoPriv)
- with authentication but without privacy (authNoPriv)
- with authentication and with privacy (authPriv)
These three values are ordered such that noAuthNoPriv is less than
authNoPriv and authNoPriv is less than authPriv.
Every message has an associated securityLevel. All Subsystems
(Message Processing, Security, Access Control) and applications are
required to either supply a value of securityLevel or to abide by the
supplied value of securityLevel while processing the message and its
contents.
Harrington, et. al. Standards Track [Page 25]
RFC 2271 SNMPv3 Architecture January 1998
4. Abstract Service Interfaces
Abstract service interfaces have been defined to describe the
conceptual interfaces between the various subsystems within an SNMP
entity.
These abstract service interfaces are defined by a set of primitives
that define the services provided and the abstract data elements that
are to be passed when the services are invoked. This section lists
the primitives that have been defined for the various subsystems.
4.1. Dispatcher Primitives
The Dispatcher typically provides services to the SNMP applications
via its PDU Dispatcher. This section describes the primitives
provided by the PDU Dispatcher.
4.1.1. Generate Outgoing Request or Notification
The PDU Dispatcher provides the following primitive for an
application to send an SNMP Request or Notification to another SNMP
entity:
statusInformation = -- sendPduHandle if success
-- errorIndication if failure
sendPdu(
IN transportDomain -- transport domain to be used
IN transportAddress -- transport address to be used
IN messageProcessingModel -- typically, SNMP version
IN securityModel -- Security Model to use
IN securityName -- on behalf of this principal
IN securityLevel -- Level of Security requested
IN contextEngineID -- data from/at this entity
IN contextName -- data from/in this context
IN pduVersion -- the version of the PDU
IN PDU -- SNMP Protocol Data Unit
IN expectResponse -- TRUE or FALSE
)
4.1.2. Process Incoming Request or Notification PDU
The PDU Dispatcher provides the following primitive to pass an
incoming SNMP PDU to an application:
processPdu( -- process Request/Notification PDU
IN messageProcessingModel -- typically, SNMP version
IN securityModel -- Security Model in use
IN securityName -- on behalf of this principal
Harrington, et. al. Standards Track [Page 26]
RFC 2271 SNMPv3 Architecture January 1998
IN securityLevel -- Level of Security
IN contextEngineID -- data from/at this SNMP entity
IN contextName -- data from/in this context
IN pduVersion -- the version of the PDU
IN PDU -- SNMP Protocol Data Unit
IN maxSizeResponseScopedPDU -- maximum size of the Response PDU
IN stateReference -- reference to state information
) -- needed when sending a response
4.1.3. Generate Outgoing Response
The PDU Dispatcher provides the following primitive for an
application to return an SNMP Response PDU to the PDU Dispatcher:
returnResponsePdu(
IN messageProcessingModel -- typically, SNMP version
IN securityModel -- Security Model in use
IN securityName -- on behalf of this principal
IN securityLevel -- same as on incoming request
IN contextEngineID -- data from/at this SNMP entity
IN contextName -- data from/in this context
IN pduVersion -- the version of the PDU
IN PDU -- SNMP Protocol Data Unit
IN maxSizeResponseScopedPDU -- maximum size of the Response PDU
IN stateReference -- reference to state information
-- as presented with the request
IN statusInformation -- success or errorIndication
) -- error counter OID/value if error
4.1.4. Process Incoming Response PDU
The PDU Dispatcher provides the following primitive to pass an
in
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -