SNMP Introduction Tutorial (Simple Network Management Protocol)

by Himanshu Arora on September 12, 2012

SNMP stands for Simple Network Management Protocol.

It was created in 1988. The purpose of its creation was to manage a growing number of network elements in a computer network. Slowly, this protocol started becoming popular and it forms the basis of network management today.

This article is the first part on our ongoing series on SNMP.

Through snmp one can retrieve information about network devices like routers, printers, hubs or even normal computers. The information that can be retrieved through snmp is endless. Some examples of the type of information that can be retrieved through snmp are :

  • System up time
  • CPU usage level
  • Disk usage level
  • Network settings etc.

Not only information can be retrieved but also these network devices can be configured with new values through snmp. Despite being simple in its design and approach, its the sheer power of this protocol that makes its popular network management protocol today.

SNMP system design

A computer network system that uses SNMP for network management consists of the three fundamental components :

  1. The SNMP manager : It is a software that usually runs on the machine of network administrator or any human manager managing the computer network.
  2. The SNMP agent : It is a software that usually runs on the network node that is to be monitored. This node could be a printer, router etc.
  3. The SNMP MIB : MIB stands for Management information base. This component makes sure that the data exchange between the manager and the agent remains structured.

So we can easily say that the SNMP manager acts as an interface between human network manager and the network node being managed. Similarly, the SNMP agent acts as an interface between the SNMP manager and the network node being monitored.

The SNMP MIB

The definition of SNMP MIB can be a bit cryptic to newbies. So lets understand the concept of SNMP MIBs through a small example here.

Suppose a mobile company server sends a poll question to all the company’s subscribers through SMS. Being that company’s subscriber, you get that message on your phone and you reply to it. Simple enough. Now, assume a situation where in a next poll the same company sends MMS this time. But, this time your phone is not able to comprehend that SMS due to some of its technology limitations (or any other problem). So, in this case you won’t be able to receive and hence reply to the MMS.

So we see that the problem above happened because of lack of some MMS capabilities on your phone. So, in a nutshell your phone was not able to comprehend the incoming message successfully.

One could assume that same is the case with SNMP manager and an SNMP agent. The network protocol used between them is of-course SNMP but there has to be a protocol for composing and comprehending the information being queried. The information being queried could be anything like the disk usage of the network node that has agent running on it. So the crux is that there should be a standard structure in which the the query should be formed by the SNMP manager and the query should be understood by the SNMP agent.

The very basic component of the structure used in case of SNMP is an object. Every information that can be queried through SNMP is looked in terms of an object. For example the a system’s up time is an object known as ‘sysUpTime’. Every object is has an associated ID known as Object ID or OID which is unique for every object. A group of objects form a MIB.

For example, if you take a look at the following image :

You will see that the whole information system in SNMP is in a form of tree where individual information nodes are objects having unique OIDs. For example the unique OID for the object sysUpTime is .1.3.6.1.2.1.1.3.0 . Looking at the figure above, you can easily deduce this OID. The ’0′ at the last of OID signifies that this object is a scalar and not a table.

There is also a textual description of the numeric OID. For example, the textual description of sysUpTime OID (presented above) is iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.

SNMP Messages

SNMP communication between manager and agent takes place in form of messages. Following are the basic messages used for communication :

  • SNMP GET
  • SNMP GET-NEXT
  • SNMP GET-RESPONSE
  • SNMP SET
  • SNMP TRAP

The messages GET and GET-NEXT are used to fetch the value of a particular MIB object. The message GET-RESPONSE is used mostly by the agent to send the response to a GET or GET-NEXT message. The message SET is used by the manager to set the new value of a particular MIB object at the agent. The message TRAP is used by the agent to send information about some alarming values for some object to the manager so that appropriate action could be taken by the manager.

SNMP uses UDP

At the transport layer, the protocol used for SNMP message transportation is UDP. This is because UDP outperforms TCP in lossy networks where congestion is usually very high. One thing to remember is to fine tune the time-outs of UDP to fetch the best performance in lossy networks.

Also, the implementation of SNMP is kept simple. Simple as in simple network management protocol. Using TCP makes things far more complex and should be avoided in network management until and unless absolutely required.


Linux Sysadmin Course Linux provides several powerful administrative tools and utilities which will help you to manage your systems effectively. If you don’t know what these tools are and how to use them, you could be spending lot of time trying to perform even the basic administrative tasks. The focus of this course is to help you understand system administration tools, which will help you to become an effective Linux system administrator.
Get the Linux Sysadmin Course Now!

If you enjoyed this article, you might also like..

  1. 50 Linux Sysadmin Tutorials
  2. 50 Most Frequently Used Linux Commands (With Examples)
  3. Top 25 Best Linux Performance Monitoring and Debugging Tools
  4. Mommy, I found it! – 15 Practical Linux Find Command Examples
  5. Linux 101 Hacks 2nd Edition eBook Linux 101 Hacks Book

Bash 101 Hacks Book Sed and Awk 101 Hacks Book Nagios Core 3 Book Vim 101 Hacks Book

{ 25 comments… read them below or add one }

1 Philippe Petrinko September 12, 2012 at 8:55 am

Nice. Expecting next chapter. KUTGW.
–P

2 Bob September 12, 2012 at 9:08 am

Great article. Thanks.

3 Derek September 12, 2012 at 9:09 am

Do you have something that will work on two linux systems or windows systems that I can see it operate? What needs to be installed, configured, and running to see it operate.

4 Himanshu Arora September 12, 2012 at 9:55 am

@Derek
Look out for next article in this series..

5 Jalal Hajigholamali September 12, 2012 at 10:56 am

Hi,

Very useful and great article.

Thanks a lot..

6 Ethan September 12, 2012 at 2:23 pm

very clear and instructive.

7 Harjit September 12, 2012 at 2:41 pm

Well written article and made perfect sense….thank you so much!!

8 Diego Cordoba (@d1cor) September 12, 2012 at 9:19 pm

Simply, a excellent introduction to snmp management protocol!
Some examples could be util to understand the snmp functionality, snmpwalk, snmpget, etc, to transform your great article in a perfect article :)
Regards!
d1cor

9 sarin nath mk September 12, 2012 at 10:48 pm

it is very simple and good to understand

10 subhash yadav September 12, 2012 at 10:58 pm

Its written in a very simple language to understand the things and how its work. really aapreciate to you for knowledge sharing..

11 Ravi September 13, 2012 at 12:40 am

Nice article. Waiting for next part. Please let us know some tools to test these concepts.

12 Simon September 13, 2012 at 1:30 am

Clear and instructive. Expecting the next series.

13 Sathya September 13, 2012 at 3:14 am

Thanks for the useful article…

14 neil September 13, 2012 at 9:01 am

wonderful tutorial, expect rest series

15 Yugandhar September 30, 2012 at 6:56 am

Nice concise article.

16 chmurli December 26, 2012 at 5:07 am

What about next articles?

17 Jay March 9, 2013 at 6:14 am

Very nicely explained !! Thanks

18 Shrie March 12, 2013 at 12:14 am

Nicely elaborated stuff…
Little bit further would be helpful

19 Reshmi Rema April 25, 2013 at 11:42 pm

Very good article. Was very helpful, hats off to u.

20 mohsin July 16, 2013 at 9:27 am

Very well explained in simple words….. is there any continuation post on SNMP?

21 Balaji November 27, 2013 at 2:11 am

This has been killing me from the time i started working on SNMP. Are SNMP Mibs found only at Agent side or both manager and agent side?

22 Akshay December 25, 2013 at 6:43 am

Very nice and easy explaination.

23 Ankit Aggarwal February 5, 2014 at 12:48 pm

Very Nice description for SNMP newbies specially SNMP MIB & OID.

24 Deepak February 26, 2014 at 3:25 am

Its very simple and good. I am newbie to snmp. I understanding the basic about what snmp is.

25 Deepak May 26, 2014 at 4:55 am

Nice crystal clear article but very short and simple , Waiting for next part. !!!Thanks Dear !!!

Leave a Comment

Previous post:

Next post: