Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)
obsoleted by
- rfc-3417 — Transport Mappings for the Simple Network Management Protocol (SNMP)
obsoletes
- rfc-1449 — Transport Mappings for version 2 of the Simple Network Management Protocol (SNMPv2)
Extracted elements (25)
AppleTalk nodes lack stable network-level addresses (which can change at every reboot), so SNMPv2 over DDP identifies nodes by NBP name rather than address. All nodes implementing this mapping are therefore required to respond to NBP lookups and confirms.
NBP lookups are recommended to be used infrequently to populate a name-to-DDP-address cache, rather than being performed for every SNMP transaction, because lookups generate significant network traffic, consume CPU resources, and are sensitive to zone table inconsistencies that would not prevent direct AppleTalk communications.
UDP is the preferred transport mapping for SNMPv2. Systems deploying other mappings should also provide proxy service to the UDP mapping to ensure the greatest level of interoperability.
To support proxy to SNMPv1, the rfc1157Domain transport domain is defined. The proxy agent behavior is specified in RFC 1908 section 3.1; systems implementing other transport mappings should also support the UDP mapping to enable this proxy path.
Administrators MUST configure SNMPv2 agents to use NBP type 'SNMP Agent' (10 ASCII characters) and notification sinks MUST use NBP type 'SNMP Trap Handler' (17 ASCII characters) for the DDP transport mapping.
An SNMPv2 entity acting in an agent role MUST NEVER prime its NBP name-to-address cache. It should perform NBP lookups only when it needs to send a trap; when generating a response, it need not confirm a cache entry.
BITS construct values are encoded as OCTET STRINGs with named bits packed from bit 8 to bit 1 of each octet in definition order; remaining bits in the final octet are set to zero on generation and ignored on receipt.
For the OSI mapping over CL-mode network service, it is suggested that agents listen on transport selector 'snmp-l' and notification sinks on 'snmpt-l'; over CO-mode, the suggested selectors are 'snmp-o' and 'snmpt-o' respectively.
It is suggested that SNMPv2 agents listen on UDP port 161 and that notification sinks listen on UDP port 162.
NBP cache entries should be validated if not confirmed within T1 seconds (minimum default 60 seconds, configurable). Manager entities should maintain this cache between reboots to minimize network traffic and CPU load.
SNMPv2 over DDP messages MUST use DDP protocol type 8. Agents MUST listen on DDP socket 8; notification sinks MUST listen on DDP socket 9.
SNMPv2 over IPX MUST use IPX packet type 4 (Packet Exchange Protocol). It is suggested that agents listen on IPX socket 36879 (0x900f) and notification sinks on IPX socket 36880 (0x9010).
When an SNMPv2 entity uses the DDP transport mapping, it MUST be capable of accepting messages of at least 484 octets. NBP names should be stored in stable storage and should not change more often than the IP address of a typical TCP/IP node.
When an SNMPv2 entity uses the IPX transport mapping, it MUST be capable of accepting messages of at least 546 octets in size (larger than the 484-octet minimum for UDP/OSI/DDP mappings).
When an SNMPv2 entity uses the OSI transport mapping, it MUST be capable of accepting messages that are at least 484 octets in size.
When an SNMPv2 entity uses the UDP transport mapping, it MUST be capable of accepting messages that are at least 484 octets in size.
When using BER serialization, only the definite form of length encoding is permitted; use of the indefinite form is prohibited. Use of more than the minimum number of length octets in definite-long form is permissible.
When using BER, the primitive form SHALL be used for all simple types (INTEGER, OCTET STRING, OBJECT IDENTIFIER); the constructed form SHALL be used only for structured types (SEQUENCE or IMPLICIT SEQUENCE).
Five transport domain OIDs are defined under snmpDomains: snmpUDPDomain (1), snmpCLNSDomain (2), snmpCONSDomain (3), snmpDDPDomain (4), and snmpIPXDomain (5). Each identifies a distinct SNMPv2 transport mapping.
rfc1157Domain is defined under snmpProxys to identify the transport domain for SNMPv1 (RFC 1157) over UDP, enabling proxy operations between SNMPv2 and SNMPv1 entities.
The document explicitly states that security issues are not discussed in this memo. Security for SNMPv2 is addressed in the administrative framework defined elsewhere in the SNMPv2 document set.
SnmpIPXAddress is a 12-octet OCTET STRING: octets 1-4 are the IPX network number, octets 5-10 are the physical address, and octets 11-12 are the socket number, all in network-byte order.
SnmpNBPAddress encodes an NBP name as a variable-length OCTET STRING (SIZE 3..99): length-prefixed object (up to 32 octets), length-prefixed type (up to 32 octets), and length-prefixed zone (up to 32 octets). Strings are case-insensitive and may contain any octet except 0xff.
SnmpOSIAddress encodes an OSI transport address: octet 1 is the NSAP length n (0 or 3-20), octets 2 through n+1 are the NSAP in concrete binary representation, and remaining octets up to m are the TSEL (up to 64 octets). Total SIZE is 1 or 4..85 octets.
SnmpUDPAddress is a 6-octet OCTET STRING: octets 1-4 are the IPv4 address in network-byte order, octets 5-6 are the UDP port in network-byte order.