Networks today are rarely a homogeneous collection of machines and operating systems. In fact, most common networks are literally a hodgepodge of network devices, from simple task-specific devices such as printers, routers, repeaters, and bridges, to multi-functional servers and mainframes. Since each of these devices has different problems to solve, they all evolved with different configuration and status-retrieval mechanisms. It became clear to administrators of these large complex networks that having a common method for retrieving information and configuring these network components would greatly simplify their job. Since all these devices are networking devices and interface to a network, this common management mechanism should be able to manipulate these devices via the network.
The above requirements seem simple enough; the management mechanism must present a reliable way to alter and retrieve data remotely on a variety of different platforms. The solution to this problem is not, however, all that simple. The problem implies that these devices must now, at the very least, add the intelligence to converse with a new protocol and must also share its method of instrumentation with that protocol. Put another way, the device has to support a new interface. It has to be able to support a whole new set of possible commands, and it has to be able to respond to them in a specific format. The protocol must be very powerful and flexible in order to support every different kind of data structure and request type for every network device that exists today and may exist in the future.
Many of these network devices consist of very specialized hardware that is required to do a specific task. In today's market, manufacturers of these devices are unwilling to include additional hardware to process remote requests for some universal management mechanism--especially if that mechanism requires significant processing and/or memory resources to function. If the solution to this problem is not cheap, both in cost and processing overhead, then few device manufacturers are likely to adopt it.
The solution to this problem is a management protocol that is powerful, flexible and efficient both in use of resources and processing power. SNMP is not the only proposed solution for this problem, but it is by far the most widely adopted. SNMP addresses the requirement of being powerful, yet flexible and efficient, by using a small number of simple request types. Thus the name Simple Network Management Protocol-- SNMP.