≡ Menu

SNMP Introduction Tutorial (Simple Network Management Protocol)

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.

Add your comment

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

Comments on this entry are closed.

  • Philippe Petrinko September 12, 2012, 8:55 am

    Nice. Expecting next chapter. KUTGW.
    –P

  • Bob September 12, 2012, 9:08 am

    Great article. Thanks.

  • Derek September 12, 2012, 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.

  • Himanshu Arora September 12, 2012, 9:55 am

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

  • Jalal Hajigholamali September 12, 2012, 10:56 am

    Hi,

    Very useful and great article.

    Thanks a lot..

  • Ethan September 12, 2012, 2:23 pm

    very clear and instructive.

  • Harjit September 12, 2012, 2:41 pm

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

  • Diego Cordoba (@d1cor) September 12, 2012, 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

  • sarin nath mk September 12, 2012, 10:48 pm

    it is very simple and good to understand

  • subhash yadav September 12, 2012, 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..

  • Ravi September 13, 2012, 12:40 am

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

  • Simon September 13, 2012, 1:30 am

    Clear and instructive. Expecting the next series.

  • Sathya September 13, 2012, 3:14 am

    Thanks for the useful article…

  • neil September 13, 2012, 9:01 am

    wonderful tutorial, expect rest series

  • Yugandhar September 30, 2012, 6:56 am

    Nice concise article.

  • chmurli December 26, 2012, 5:07 am

    What about next articles?

  • Jay March 9, 2013, 6:14 am

    Very nicely explained !! Thanks

  • Shrie March 12, 2013, 12:14 am

    Nicely elaborated stuff…
    Little bit further would be helpful

  • Reshmi Rema April 25, 2013, 11:42 pm

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

  • mohsin July 16, 2013, 9:27 am

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

  • Balaji November 27, 2013, 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?

  • Akshay December 25, 2013, 6:43 am

    Very nice and easy explaination.

  • Ankit Aggarwal February 5, 2014, 12:48 pm

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

  • Deepak February 26, 2014, 3:25 am

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

  • Deepak May 26, 2014, 4:55 am

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

  • Sandee October 30, 2014, 10:18 am

    Finally the SNMP has been decoded.. I have been struggling to understand how SNMP works.. I am keen to know how the SNMP is used to interface with EMS and NMS in bit more detail- thanks for the arcticle.. Looking froward to the next part

  • Nitin November 11, 2014, 12:44 am

    Good and precise article

  • shri December 1, 2014, 3:28 am

    Thank you 🙂

  • sujith February 5, 2015, 10:35 pm

    Great article with very good example to understand the basic concepts of SNMP…Thank you Sir !!!

  • SwarnaRekha April 6, 2015, 11:32 pm

    Clear explanation!

  • Ram November 20, 2015, 6:09 am

    Great Article. Thanks lot.

  • Debabrata singh November 24, 2015, 5:31 am

    Hi,

    Very useful and great article.

    Thanks a lot….

  • Harsha March 29, 2016, 12:00 am

    Very Nicely explained for beginners, Expecting more detailed information on this.

  • Alexa April 1, 2016, 9:39 am

    Good job, Himanshu!

  • Sameer December 23, 2016, 2:48 am

    In the quest of understanding SNMP I stumbled upon this link and I am glad.
    The example is what i was searching for everywhere.

    Thanks for the simple worded description.

  • jayaram prasad February 6, 2017, 4:28 am

    Very nice and clear explanation, thanks for this

  • Anonymous February 25, 2017, 5:09 am

    I need practical example of SNMP