Simple Network Management Protocol (SNMP) is a vendor-independent
protocol for transporting management data between networked devices and
applications and the systems that control and monitor those devices and
applications. The Internet community first developed SNMP in 1987 to augment
existing TCP/IP network management tools (e.g., ping). SNMP is based on Internet
standards. Several Internet Engineering Task Force (IETF) Request for Comments
(RFCs) define SNMP (notably RFC 1157). Because of SNMP's origins, many users
implement it over IP. In fact, User Datagram Protocol (UDP) ports 161 and 162
identify SNMP agents and managers, respectively. However, you can deliver SNMP
messages using other protocols such as SNA.
MIBs, Agents, and Traps
SNMP-compliant hardware and software ship with agent software to help track
relevant information about network traffic and device or application statistics.
These hardware and software resources store up-to-date information in management
information bases (MIBs--see IETF RFCs 1213 and 1573). MIBs are hierarchical
name spaces that contain relevant information about the device or application
that you are monitoring with SNMP.
Agent software generally waits to be polled by the SNMP-monitoring software
and then returns the current values for the requested MIB objects. In addition
to receiving information from devices and applications with built-in MIBs,
several agent-building toolkits let you define custom MIBs and agents.
SNMP primarily uses two types of commands: get (to retrieve
information) and set (to change it). Another command, trap,
sends an alarm to a management station under predefined conditions.
SNMP's primary goal is simplicity, so it contains only three get
commands: GetRequest, GetResponse, and GetNextRequest. A new get
command, GetBulk (which will let you retrieve information from more than one MIB
at a time), is part of the proposed SNMPv2* (V2 star) specification in IETF RFCs
1441 through 1452.
SNMPv2* is emerging to address problems of scalability--because of the
nature of the simple manager and agent model, SNMP doesn't scale
well--manager-to-manager communications, and security. Be aware, however, that
many individuals in the computer industry do not support the adoption of SNMPv2*
because it isn't a simple superset of SNMP and it doesn't support backward
compatibility. For more information about SNMP, check the following Web sites
and USENET newsgroup:
- University of Twente's SNMP site: http://wwwsnmp.cs.utwente.nl
- Douglas Stevenson's overview of network management:
http://netman.cit.buffalo.edu/Doc/DStevenson
- LIDO Telecommunications Learning Center:
http://www.lidoorg.com/networkmgt.htm
- USENET newsgroup: comp.protocols.snmp