snmp: 简要介绍



1. what’s snmp?

Simple Network Management Protocol (SNMP) is a popular protocol for network management. It is used for collecting information from, and configuring, network devices, such as servers, printers, hubs, switches, and routers on an Internet Protocol (IP) network.

2. the snmp version

SNMP version 1:

downsides

SNMP version 2c:

downsides

SNMP version 3:

3. SNMP basic components and their functionalities

SNMP consists of

SNMP Manager’s key functions

  • Queries agents
  • Gets responses from agents
  • Sets variables in agents
  • Acknowledges asynchronous events from agents

SNMP agent’s key functions

  • Collects management information about its local environment
  • Stores and retrieves management information as defined in the MIB.
  • Signals an event to the manager.
  • Acts as a proxy for some non-SNMP manageable network node.

4. whats oid and mid

MIB structure and Object Identifier (Object ID or OID)

Management Information Base (MIB) is a collection of Information for managing network element. The MIBs comprises of managed objects identified by the name Object Identifier (Object ID or OID).

Each Identifier is unique and denotes specific characteristics of a managed device. When queried for, the return value of each identifier could be different e.g. Text, Number, Counter, etc…

There are two types of Managed Object or Object ID: Scalar and Tabular. They could be better understandable with an example

Scalar: Device’s vendor name, the result can be only one. (As definition says: “Scalar Object define a single object instance”)

Tabular: CPU utilization of a Quad Processor, this would give me a result for each CPU separately, means there will be 4 results for that particular Object ID. (As definition says: “Tabular object defines multiple related object instance that are grouped together in MIB tables”)

Every Object ID is organized hierarchically in MIB. The MIB hierarchy can be represented in a tree structure with individual variable identifier.

A typical object ID will be a dotted list of integers. For example, the OID in RFC1213 for “sysDescr” is .1.3.6.1.2.1.1.1

MIB Tree Diagram

5. COMMONDS

Basic commands of SNMP

The simplicity in information exchange has made the SNMP as widely accepted protocol. The main reason being concise set of commands, here are they listed below:

Typical SNMP communication

Being the part of TCP? IP protocol suite, the SNMP messages are wrapped as User Datagram Protocol (UDP) and intern wrapped and transmitted in the Internet Protocol. The following diagram will illustrate the four-layer model developed by Department of Defense (DoD).

GET? GET NEXT? GET BULK? SET

TRAP

INFORM

By default SNMP uses port 161 and TRAP? INFORM uses port 162 for communication.

SNMP versions

Since the inception SNMP, has gone through significant upgrades. However SNMP v1 and v2c are the most implemented versions of SNMP. Support to SNMP v3 has recently started catching up as it is more secured when compare to its older versions, but still it has not reached considerable market share.

SNMPv1:

This is the first version of the protocol, which is defined in RFCs 1155 and 1157

SNMPv2c:

This is the revised protocol, which includes enhancements of SNMPv1 in the areas of protocol packet types, transport mappings, MIB structure elements but using the existing SNMPv1 administration structure (“community based” and hence SNMPv2c). It is defined in RFC 1901, RFC 1905, RFC 1906, RFC 2578.

SNMPv3:

SNMPv3 defines the secure version of the SNMP. SNMPv3 also facilitates remote configuration of the SNMP entities. It is defined by RFC 1905, RFC 1906, RFC 3411, RFC 3412, RFC 3414, RFC 3415.

Though each version had matured towards rich functionalities, additional emphasis was given to the security aspect on each upgrade. Here is a small clip on each editions security aspect.

SNMP v1    Community-based security

SNMP v2c   Community-based security

SNMP v2u   User-based security

SNMP v2    Party-based security

SNMP v3    User-based security

Other useful links