What is an SNMP?
SNMP is the Simple Network Management Protocol; an application layer protocol defined by the Internet Architecture Board (IAB) and the Internet Engineering Task Force (IETF) through numerous Request For Comment documents (RFC).
SNMP has been around and evolved for a long time, with the first implementations appearing in 1988 through the introduction of SNMP v1. In 1996 SNMP v2 was released to overcome several deficiencies with SNMP v1 and the most current version is SNMP v3 which introduced strong security.
SNMP is one of the most commonly used protocols for configuring and monitoring the health of network devices. Because it is a standard that has been around for a long time SNMP agents are often included with most enterprise/carrier grade equipment. This includes infrastructure devices such as routers, Wi-Fi, switches, appliances, and gateways as well as devices such as printers, servers, PCs, UPS, and more.
SNMP is very often the underlying protocol used to manage large heterogeneous networks allowing the entire network to be managed from a single network management system (NMS).
SNMP is what occurs under the covers of a good NMS. Unless you are really into it and use a MIB browser all of the SNMP complexity is well hidden by easy-to-use graphical user interfaces (GUIs) that are a standard part of network management systems such as NetSight.
What to look for in an SNMP based NMS?
I would say that there are only a few things to look at here and they are really more about the NMS than SNMP itself:
Firstly, is the NMS using SNMP to manage the managed devices? SNMP is the standard used by most quality network management systems to manage the network. If the NMS is not using SNMP be very careful about paying good money for this solution. A non-SNMP solution may look really good for one vendor but may lock you into this vendor and will not readily interoperate with other NMS solutions or have the ability to manage other devices using SNMP in a multi-vendor environment.
Does the NMS come with all of the standard MIBs as specified by the various RFCs and are they all precompiled and ready to use?
Can the NMS import private MIBs, compile these, incorporate them into the normal NMS framework, and then use these to manage the private extensions in a multi-vendor environment?
Make sure that SNMP is well hidden by easy-to-use GUIs. Also make sure that the NMS allows you to create GUI views for private MIBs so you do not have to use a MIB browser.
How does SNMP work?
In general SNMP is comprised of three main components:
Managed Devices – These are any network devices that contain an agent and support the SNMP protocol.
Agents – Are a small footprint piece of software that resides on the managed device. The agent is responsible for receiving configuration instructions from the NMS and collecting health information from the managed device which is sent to the NMS. The agent receives and collects this information in a format that is compatible with the NMS and is communicates over the network with the NMS using the SNMP protocol.
Network Management System (NMS) – This is a centralized system that monitors and controls managed devices located throughout the network, again using the SNMP protocol. The NMS performs several tasks:
Issues as GetRequest to the agent to retrieve one or more values from the agent
Issues a GetNextRequest to retrieve the next value in a table or list of values within the agent
GetBulk is used to retrieve massive amounts of data from the managed device
Receives a GetResponse form the agent indicating the results of a GetRequest or an error that may have resulted during a SetRequest
Issues a SetRequest to set one or multiple values within the managed device via the agent
Receives traps from the agent. A trap is an unsolicited message from the agent that may indicate an error, a problem with the device or that a predefined threshold has been exceeded. Traps are typically turned on and or configured by the NMS so that the NMS can be notified of some event occurring on the device. Traps are often a better way to go than polling a device for some event as a trap is immediate while polling is done at some predefined interval which may miss the even
The NMS provides centralized visibility, control, and monitoring of the managed devices. SNMP is used to communicate to the agents that are installed on the managed devices.
Management Information Base (MIB)
A MIB is a database which describes the managed attributes (objects) of the managed device and is used by the NMS to communicate, via SNMP, with the managed devices located throughout the network. Every agent should maintain a MIB that corresponds to MIBs located on the NMS.
There are thousands of standard MIBs defined in various RFCs and should be interoperable between network management systems. These standard MIBs are almost always included within the NMS and the appropriate standard MIB is usually included in the managed device (it may need to be enabled). There are also private MIBs that are developed by vendors to manage vendor specific attributes of their managed devices. Private MIBs are not maintained or controlled by a standards body therefore they are not necessarily readily available to the NMS. With that said, most vendors freely make their MIBs available and any good NMS will have the ability to import and compile private MIBs so that they can be incorporated into the NMS to manage the vendor private attributes on the vendors managed device.
In short the NMS should be aware of the standard and private MIBs for the managed devices it is managing on the network. The NMS can then ask the managed device (agent) questions which it can answer based on corresponding MIBs that it maintains. Again all of this is communicated using SNMP.
Object Identifier (OID)
A MIB is a set of objects, where each object is identified with a name and a number. MIBs are ordered in a hierarchical structure (tree structure). Each object identifier is unique and represents some specific attribute of the managed device. When the NMS queries the managed device it will return information based on the OID that was requested.
Example of a MIB Tree
The OID to get to the Enterasys private extension would be 126.96.36.199.4.1.52
In general this is how SNMP works; there is a lot of great data out there that you can use to go into much greater detail on this topic, if you are so inclined.
The art of network management has been around as long as networks have been around. Network management systems, tools and methodologies will continue to evolve as the size and complexity of networks continue to grow. SNMP is a standard that is supported by the majority of network devices and should be supported by the centralized NMS so that a single NMS can manage the entire network. By using a single SNMP based NMS you can reduce complexity, eliminate duplication of effort, do more without increasing IT staff, and most importantly avoid the various network devices becoming incompatible due to multiple NMSs providing different configuration parameters. This is my third post on the topic of network management please stay tuned for additional posts on this subject.
For questions or help in planning your network management requirements please contact Enterasys through our Web site and we will be happy to help. Also take a look at NetSight, an SNMP based NMS from Enterasys
To share thoughts and collaborate please follow me @sferguso and I will follow you back.