Today after the lunch I was thinking about SNMP (Simple Network Management Protocol) and the role it plays in managing the networks. I read this quote somewhere,
“Simplicity is the highest form of elegance.”
Isn’t that true? It is very in case of SNMP which is a simple request-respond protocol using which the entire Internet is being managed. For a network engineer like me SNMP plays the role of a loyal messenger who sends as well as receives the vital information of the nodes on the network. It provides me with enough data to gain situational awareness and overall health of the network. The beautiful thing is that it does so with least impact on the performance of the network, partly because it’s a UDP based application. But I believe it’s due to the thoughtful design and elegant architecture of the SNMP framework. As I pondered over the workings of SNMP my mind reeled back to my childhood days when I used to play an interesting game with my pals.
The game consists of three members each with a different role. One guy plays the role of a pigeon carrying the message between other two guys. The messages are clues to solve the maths puzzle. The nature of the problem is that it can be solved in many ways. More the number of solutions the tougher to win. The pigeon is the designer of the problem and he just carries the messages, in this case numerical simplifications between the other two guys. The guys are not allowed to talk and can communicate only through equations on paper, which the pigeon will carry to other guy of the team. The pigeon sets the number of transactions at most the other guys can make (often 7 or 10). The goal is to solve the puzzle without crossing the threshold. We used to play this for a period of week in the class during lunch time. It was exhilarating to make your partner to align to your strategy. And communicate that in simple equations. When won we used to run in the school ground laughing at each other for a brief period!
SNMP framework has three components to it:
- SNMP : It defines the format of message and carries the messages between the manager and the managed node. Much like the pigeon.
- SMI : Structure of Management Information sets the syntax to define the managed object and provides the data types for the managed data to be communicated. Much like the rules of the game.
- MIB : Management Information Base is the actual definition of the managed objects (according to the syntax of SMI) such as cpu load, memory utilization or router interface status or throughput etc. which the agent tracks. The object definitions are referenced through its Object ID(OID). The database of OIDs organized hierarchically forms the MIB. Much like all the equations to solve the puzzle.