Thefirst SNMP release came out in 1988. 28 years later, SNMP is still around... Will this still be the case in 10 years from now? Difficult to say but the odds are lower these days. Why are we predicting SNMP could go away?
If you're already savvy about SNMP, check out this blog for getting insight into current SNMP limitations and why we are making this prediction.
SNMP was designed to make it simple for the NMS to request and consume data. But those same data models and operations make it difficult for routers to scale to the needs of today's networks. To understand this, you first need to understand the fundamentals of SNMP.
SNMP stands for Simple Network Management Protocol. It was introduced to meet the growing need for managing IP devices in a standard way. SNMP provides its users with a "simple" set of operations that allows these devices to be managed remotely. SNMP was designed to make it simple for the NMS to request and consume data. But those same data models and operations make it difficult for routers to scale to the needs of today's networks. To understand this, you first need to understand the fundamentals of SNMP.
For example, you can use SNMP to shut down an interface on your router or check the speed at which your Ethernet interface is operating. SNMP can even monitor the temperature on your router and warn you when it is getting too high.
The overall architecture is rather simple -there are essentially 2 main components (see Figure 1)
NMS is responsible for polling and receiving traps from agents in the network:
How is information actually structured on network devices? A Management Information Base (MIB) is present on every network device. This can be thought as a database of objects that the agent tracks. Any piece of information that can be accessed by the NMS is defined in a MIB.
Managed objects are stored into a treelike hierarchy as described in Figure 2:
The directorybranch is actually not used. Themanagementbranch (mgmt) defines a standard set of objects that every network device needs to support. Theexperimentalbranch is for research purposes only and finally theprivatebranch is for vendors to define objects specific to their devices.
Each managed object is uniquely defined by a name, e.g. an OID (Object Identifier). An object ID consists of a series of integers based on the nodes in the tree, separated by dots (.).
Under themgmtbranch, one can find the MIB-II that is an important MIB for TCP/IP networks. It is defined in RFC 1213 and you can see an extract in Figure 3.
With that mind, the OID for accessing information related to interfaces is: 1.3.6.1.2.1.2 and for information related to system: 1.3.6.1.2.1.1
Finally, there are 2 main SNMP request types to retrieve information.
GET request -request a single value by its Object identifier (see Figure 4)
GET-NEXT request -request a single value that is next in the lexical order from the requested Object Identifier (see Figure 5)
With that SNMP refresher in mind, you can go and read the blog by my colleague, Shelly.