Simple Network Management Protocol (SNMP) is part of the internet protocol suite as defined by the Internet Engineering Task Force. The protocol can be used to monitor any network attached devices for any conditions that warrant it.

The first RFCs for SNMP were published in 1988:

  • RFC 1065 - Structure and Identification of Management Information for TCP/IP-based internets
  • RFC 1066 - Management Information Base for Network Management of TCP/IP-based internets
  • RFC 1067 - A Simple Network Management Protocol

A clean separation of the protocol from the structure of management information has made it easy to use SNMP to monitor hundreds of different types of subsystems within a network, across all layers of the OSI reference model and extending into applications such as databases, email, and the J2EE reference model.

Architecturally, the SNMP framework is based on three components. Each Internet Protcol(IP) addressable system in a network, such as a node or a router, hosts a master agent for that system. A master agent typically limits its activity to parsing and formatting of the protocol. If system has multiple manageable subsystems present, the master agent passes on the requests it receives to one or more subagents. These subagents model what's interesting to manage about a subsystem and interface to that subsystem for monitoring and management operations.

The role of the master agent and subagent can be combined, in which case it is simply referred to as an agent.

The third component is the manager or management station. This is the equivalent of a client in a client-server architecture. It issues requests for management operations on behalf of an administrator or application, and receives traps from agents as well.

The SNMP protocol is at the application layer (layer 7) of the OSI model. It specified four core protocol data units (PDUs) (in version 1): GET, GETNEXT, SET and TRAP:

  • GET, used to retrieve a piece of management information.
  • GETNEXT, used iteratively to retrieve sequences of management information.
  • SET, used to make a change to a managed subsystem.
  • TRAP, used to report an alert or other asynchronous event about a managed subsystem.

External links