Connected: An Internet Encyclopedia
3.2. Processing a Received Communication
Up:
Connected: An Internet Encyclopedia
Up:
Requests For Comments
Up:
RFC 1445
Up:
3. Elements of Procedure
Prev: 3.1. Generating a Request
Next: 3.3. Generating a Response
3.2. Processing a Received Communication
3.2. Processing a Received Communication
This section describes the procedure followed by a SNMPv2
entity whenever a management communication is received.
- The snmpStatsPackets counter [7] is incremented. If the
received message is not the serialization (according to
the conventions of [5]) of an SnmpPrivMsg value, then
that message is discarded without further processing.
(If the first octet of the packet has the value
hexadecimal 30, then the snmpStats30Something counter [7]
is incremented prior to discarding the message; otherwise
the snmpStatsEncodingErrors counter [7] is incremented.)
- The local database of party information is consulted for
information about the receiving SNMPv2 party identified
by the privDst component of the SnmpPrivMsg value.
- If information about the receiving SNMPv2 party is absent
from the local database of party information, or
indicates that the receiving party's operation is not
realized by the local SNMPv2 entity, then the received
message is discarded without further processing, after
the snmpStatsUnknownDstParties counter [7] is
incremented.
- An ASN.1 OCTET STRING value is constructed (possibly by
decryption, according to the privacy protocol in use)
from the privData component of said SnmpPrivMsg value.
In particular, if the privacy protocol recorded for the
party is noPriv, then the OCTET STRING value corresponds
exactly to the privData component of the SnmpPrivMsg
value.
- If the OCTET STRING value is not the serialization
(according to the conventions of [5]) of an SnmpAuthMsg
value, then the received message is discarded without
further processing, after the snmpStatsEncodingErrors
counter [7] is incremented.
- If the dstParty component of the authData component of
the obtained SnmpAuthMsg value is not the same as the
privDst component of the SnmpPrivMsg value, then the
received message is discarded without further processing,
after the snmpStatsDstPartyMismatches counter [7] is
incremented.
- The local database of party information is consulted for
information about the originating SNMPv2 party identified
by the srcParty component of the authData component of
the SnmpAuthMsg value.
- If information about the originating SNMPv2 party is
absent from the local database of party information, then
the received message is discarded without further
processing, after the snmpStatsUnknownSrcParties counter
[7] is incremented.
- The obtained SnmpAuthMsg value is evaluated according to
the authentication protocol and other relevant
information associated with the originating and receiving
SNMPv2 parties in the local database of party
information.
In particular, if the authentication protocol is
identified as noAuth, then the SnmpAuthMsg value is
always evaluated as authentic.
- If the SnmpAuthMsg value is evaluated as unauthentic,
then the received message is discarded without further
processing, and if the snmpV2EnableAuthenTraps object [7]
is enabled, then the SNMPv2 entity sends
authorizationFailure traps [7] according to its
configuration (Section 4.2.6 of[2]).
- The SnmpMgmtCom value is extracted from the authData
component of the SnmpAuthMsg value.
- The local database of context information is consulted
for information about the SNMPv2 context identified by
the context component of the SnmpMgmtCom value.
- If information about the SNMPv2 context is absent from
the local database of context information, then the
received message is discarded without further processing,
after the snmpStatsUnknownContexts counter [7] is
incremented.
- The local database of access policy information is
consulted for access privileges permitted by the local
access policy to the originating SNMPv2 party with
respect to the receiving SNMPv2 party and the indicated
SNMPv2 context.
- The management communication class is determined from the
ASN.1 tag value associated with the PDUs component of the
SnmpMgmtCom value. If the management information class
of the received message is either 32, 8, 2, or 1 (i.e.,
GetBulk, Set, GetNext or Get) and the SNMPv2 context is
not realized by the local SNMPv2 entity, then the
received message is discarded without further processing,
after the snmpStatsUnknownContexts counter [7] is
incremented.
- If the management communication class of the received
message is either 128, 64 or 4 (i.e., SNMPv2-Trap,
Inform, or Response) and this class is not among the
access privileges, then the received message is discarded
without further processing, after the
snmpStatsBadOperations counter [7] is incremented.
- If the management communication class of the received
message is not among the access privileges, then the
received message is discarded without further processing
after generation and transmission of a response message.
This response message is directed to the originating
SNMPv2 party on behalf of the receiving SNMPv2 party.
Its context, var-bind-list and request-id components are
identical to those of the received request. Its error-
index component is zero and its error-status component is
authorizationError [2].
- If the SNMPv2 context refers to local object resources,
then the management operation represented by the
SnmpMgmtCom value is performed by the receiving SNMPv2
entity with respect to the MIB view identified by the
SNMPv2 context according to the procedures set forth in
[2].
- If the SNMPv2 context refers to remote object resources,
then the management operation represented by the
SnmpMgmtCom value is performed through the appropriate
proxy relationship.
Next: 3.3. Generating a Response
Connected: An Internet Encyclopedia
3.2. Processing a Received Communication