Simple Network Management Protocol
The Simple Network Management Protocol (SNMP) is the fundamental network management protoco of the Internet Protocol Suite. SNMP itself is indeed quite simple; the complexity of real-world systems are in the definition and implementation of Management Information Bases (MIB) in the managed objects, and asynchronous events called traps by which managed objects can send information to the SNMP manager software.
Another way to describe the relationships is that the SNMP management software acts as a client to the MIB abstract definition of device-specific information in the managed object; the SNMP server function in that managed object returns the values of parts of the MIB in response to GET and PUT messages from SNMP. For the trap function, the managed object is the client that sends a message to the server.
While newer versions of SNMP have much more security features and complex manager-to-manager relationships, the basic protocol remains fairly straightforward. It runs over User Datagram Protocol (UDP), not Transmission Control Protocol (TCP), for several reasons:
- UDP is lower-overhead; it may be possible to send and received UDP messages than to commit resources to a TCP session
- The lack of response to an SNMP message is potential diagnostic information. When the number of dropped message is high, the manager may stop routine polling to lower overhead
- UDP implementations are much smaller than those of TCP, so there is less code to install in a managed object