rfc1906
rfc1906
Table of Contents
1. Introduction ................................................ 2
1.1 A Note on Terminology ...................................... 2
2. Definitions ................................................. 3
3. SNMPv2 over UDP ............................................. 5
3.1 Serialization .............................................. 5
3.2 Well-known Values .......................................... 5
4. SNMPv2 over OSI ............................................. 6
4.1 Serialization .............................................. 6
4.2 Well-known Values .......................................... 6
5. SNMPv2 over DDP ............................................. 6
5.1 Serialization .............................................. 6
5.2 Well-known Values .......................................... 6
5.3 Discussion of AppleTalk Addressing ......................... 7
5.3.1 How to Acquire NBP names ................................. 8
5.3.2 When to Turn NBP names into DDP addresses ................ 8
5.3.3 How to Turn NBP names into DDP addresses ................. 8
5.3.4 What if NBP is broken .................................... 9
6. SNMPv2 over IPX ............................................. 9
6.1 Serialization .............................................. 9
6.2 Well-known Values .......................................... 9
7. Proxy to SNMPv1 ............................................. 10
8. Serialization using the Basic Encoding Rules ................ 10
8.1 Usage Example .............................................. 11
SNMPv2 Working Group Standards Track [Page 1]
1. Introduction
Although several mappings are defined, the mapping onto UDP is the
preferred mapping. As such, to provide for the greatest level of
interoperability, systems which choose to deploy other mappings
should also provide for proxy service to the UDP mapping.
2. Definitions
IMPORTS
OBJECT-IDENTITY, snmpDomains, snmpProxys
FROM SNMPv2-SMI
TEXTUAL-CONVENTION
FROM SNMPv2-TC;
snmpUDPDomain OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The SNMPv2 over UDP transport domain. The corresponding
transport address is of type SnmpUDPAddress."
::= { snmpDomains 1 }
snmpCLNSDomain OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The SNMPv2 over CLNS transport domain. The corresponding
transport address is of type SnmpOSIAddress."
::= { snmpDomains 2 }
snmpCONSDomain OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The SNMPv2 over CONS transport domain. The corresponding
transport address is of type SnmpOSIAddress."
::= { snmpDomains 3 }
snmpDDPDomain OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The SNMPv2 over DDP transport domain. The corresponding
transport address is of type SnmpNBPAddress."
::= { snmpDomains 4 }
snmpIPXDomain OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The SNMPv2 over IPX transport domain. The corresponding
rfc1157Domain OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The transport domain for SNMPv1 over UDP. The
corresponding transport address is of type SnmpUDPAddress."
::= { rfc1157Proxy 1 }
END
3.1. Serialization
162.
When an SNMPv2 entity uses this transport mapping, it must be capable
of accepting messages that are at least 484 octets in size.
Implementation of larger values is encouraged whenever possible.
4.1. Serialization
5.1. Serialization
SNMPv2 messages are sent using DDP protocol type 8. SNMPv2 entities
acting in an agent role listens on DDP socket number 8, whilst
notification sinks listen on DDP socket number 9.
The NBP name for agents and notification sinks should be stable - NBP
names should not change any more often than the IP address of a
typical TCP/IP node. It is suggested that the NBP name be stored in
some form of stable storage.
The AppleTalk protocol suite has certain features not manifest in the
TCP/IP suite. AppleTalk's naming strategy and the dynamic nature of
address assignment can cause problems for SNMPv2 entities that wish
to manage AppleTalk networks. TCP/IP nodes have an associated IP
address which distinguishes each from the other. In contrast,
AppleTalk nodes generally have no such characteristic. The network-
level address, while often relatively stable, can change at every
reboot (or more frequently).
NBP lookups, which are used to map NBP names into DDP addresses, can
cause large amounts of network traffic as well as consume CPU
resources. It is also the case that the ability to perform an NBP
lookup is sensitive to certain network disruptions (such as zone
table inconsistencies) which would not prevent direct AppleTalk
communications between two SNMPv2 entities.
network traffic, reduce CPU load on the network, and allow for (some
amount of) network trouble shooting when the basic name-to-address
translation mechanism is broken.
Note that an SNMPv2 entity acting in a manager role should not prime
its entire cache upon initialization - rather, it should attempt
resolutions over an extended period of time (perhaps in some pre-
determined or configured priority order). Each of these resolutions
might, in fact, be a wildcard lookup in a given zone.
An SNMPv2 entity acting in an agent role must never prime its cache.
Such an entity should do NBP lookups (or confirms) only when it needs
to send an SNMP trap. When generating a response, such an entity
does not need to confirm a cache entry.
o the NBP FwdReq (forward NBP lookup onto local attached network)
mechanism might be broken at a router on the other entity's
network; or,
6.1. Serialization
SNMPv2 messages are sent using IPX packet type 4 (i.e., Packet
Exchange Protocol).
7. Proxy to SNMPv1
In order to provide proxy to SNMPv1 [8], it may be useful to define a
transport domain, rfc1157Domain, which indicates the transport
mapping for SNMP messages as defined in RFC 1157. Section 3.1 of [9]
specifies the behavior of the proxy agent.
When the Basic Encoding Rules [10] are used for serialization:
(1) When encoding the length field, only the definite form is used; use
of the indefinite form encoding is prohibited. Note that when
using the definite-long form, it is permissible to use more than
the minimum number of length octets necessary to encode the length
field.
(2) When encoding the value field, the primitive form shall be used for
all simple types, i.e., INTEGER, OCTET STRING, and OBJECT
IDENTIFIER (either IMPLICIT or explicit). The constructed form of
encoding shall be used only for structured types, i.e., a SEQUENCE
or an IMPLICIT SEQUENCE.
(3) When encoding an object whose syntax is described using the BITS
construct, the value is encoded as an OCTET STRING, in which all
the named bits in (the definition of) the bitstring, commencing
with the first bit and proceeding to the last bit, are placed in
bits 8 to 1 of the first octet, followed by bits 8 to 1 of each
subsequent octet in turn, followed by as many bits as are needed of
the final subsequent octet, commencing with bit 8. Remaining bits,
if any, of the final octet are set to zero on generation and
ignored on receipt.
Note that the initial SEQUENCE is not encoded using the minimum
number of length octets. (The first octet of the length, 82,
indicates that the length of the content is encoded in the next two
octets.)
9. Security Considerations
Keith McCloghrie
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
US
11. Acknowledgements
12. References
[1] 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.
[8] 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.
[9] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and
S. Waldbusser, "Coexistence between Version 1 and Version 2 of the
Internet-standard Network Management Framework", RFC 1908,
January 1996.