Simple Network Management Protocol (SNMP) A popular protocol for network management. Overview Simple Network Management Protocol (SNMP) is an Internet-standard Layer-7 (application layer) protocol for collecting information from and configuring network devices such as servers, printers, hubs, switches, and routers on an Internet Protocol (IP) network. SNMP can be used to collect information about network statistics from these devices and to relay this information to a central management console to monitor network health, trap errors, perform diagnostics, and generate reports. Typical statistical information might include the number of packets or frames sent or received per second and the number of errors per second. SNMP can also be used for reading and sometimes modifying device configuration information such as the IP address of an interface, or the version of the operating system running on the device. G0SXX07 (was G0Sui13.eps in 1E) SNMP was developed in the late 1980s and is still the most popular network management protocol in use. There are two versions of SNMP: . SNMPv1: This is the original version of SNMP, which lacked security for ensuring the authenticity and integrity of SNMP messages. . SNMPv2: This version has increased security that supports a simple authentication scheme based on SNMP communities. SNMPv2 is defined in RFCs 1901 through 1908 and 2089. Implementation SNMP is a client/server protocol that consists of two components that work together: . SNMP agents: These are programs that run on the network devices to be managed (called managed devices) and that collect Transmission Control Protocol/Internet Protocol (TCP/IP).related configuration information and statistics about the operation of the device. Agents do not require heavy CPU usage to run. The types of information that an agent can collect are defined in a local database called a Management Information Base (MIB). MIB databases are hierarchical and contain managed objects that have uniquely assigned identifiers issued by the International Organization for Standardization (ISO). SNMP variables are specific instances of managed objects in MIBs. Agents running on managed devices monitor specific sets of SNMP variables and temporarily store this information until the agent is polled by a management system, whereupon the agent reports the values of the stored information to the management system. Most network devices have built-in SNMP agent software and associated MIBs. . SNMP management system: Also called Network Management System (NMS), this is software that runs on an administrative console and can display data gathered from managed devices in a userfriendly form through a graphical user interface (GUI). SNMP Management Systems software can notify the administrator when certain conditions (such as errors) occur. Most SNMP management systems can also automatically determine the topology and components of a network with SNMPenabled computers, routers, hubs, and switches and can display network topology, traffic, and conditions in graphical format. SNMP management systems regularly poll managed devices using SNMP messages for statistical and configuration information and then store this information in a central database, which can be used to present the information in a friendly way to users. SNMP is a simple protocol that is message-based in operation. SNMP messages are sent between management consoles and managed devices over User Datagram Protocol (UDP) port 161. These messages contain a header and a payload called the Protocol Data Unit (PDU). The header contains information about the community being referenced. A community is a subset of agents that will be monitored using a specific management system and institutes a primitive level of security, acting as a primitive means of authentication. SNMP messages come in four types, three of which are issued by management stations and one by agents: . Get: Issued by the management system to an agent on a managed device to read the value of a specific variable on the device. . Getnext: Issued by the management system to determine which SNMP variables are supported by an agent running on a managed device and to traverse a series of variables to read their values sequentially. . Set: Issued by the management system to an agent on a managed device to write a value for a specific variable on the device. . Trap: Issued by an agent running on a managed device when an error or alert condition occurs. The trap message is sent to the management system to alert administrators of the situation. SNMP version 2 adds additional security features, can be applied to network architectures other than TCP/IP, and supports additional data types. It is only partially backward compatible with SNMP 1. SNMP 2 also defines two additional types of messages: . Getbulk: Similar to getnext but allows the retrieval of greater amounts of information in one data block . Inform: Allows management systems to send information to other management systems using a trap-like message The management station regularly sends get, getnext, and set messages to the SNMP agent on the managed device, in effect periodically polling the agent for the status of the device. The agent verifies the community name in the message, verifies the IP address or host name of the SNMP management system, processes the request, and sends the results to the management system. Notes A new version of SNMP called SNMPv3 is currently being developed to enhance the security of earlier versions.