Glossary Item Box

PowerSNMP for .NET

Protocol Overview

SNMP supports basic network monitoring and management functions between a management station and managed nodes through applications located on the nodes, called agents.

An agent maintains a data store and when queried by the manager, retrieves data from the store and sends it to the manager in a response.

SNMP over TCP/IP uses UDP messages as transport for queries and responses, as well as for traps (version 1) and notifications (version 2). Traps are sent to the management station when certain events occur, such as when a node comes up or is shut down. All information values are identified using a notation called Abstract Syntax Notation One (ASN.1); a typical IID might be 1.3.6.1.2.1.1.1.0 (sysDescr).

The following drawing illustrates a typical manager and agent. Note that the agent is normally listening on port 161 for incoming requests, and the manager (in this case) is using port 162 so that he can also listen for traps as well as send requests:

SNMP has evolved to version 2 and then to version 3. PowerSNMP provides you with a single programming model for using all 3 versions in a very flexible way. The following overview describes the 9 possible types of protocol data units (PDUs) with defined version(s), their corresponding PowerSNMP class, and a brief description. Version 3 PDUs may be encrypted, but other than providing username and password information, the encryption and decryption process occurs automatically.

PDU Type w/ SNMP Version PowerSNMP Class Description

Get Request (version 1/2/3)

GetMessage

A manager requests the value of one or more IIDs from an agent. Required properties are Version, Community, and a collection of Variable instances with each Variable.Id property initialized with the IID for which information is requested. The manager usually sends this PDU to an agent listening on the "well-known" SNMP port 161.

GetNext Request (version 1/2/3)

GetNextMessage

Similar to GetRequest, but requests the next “lexicographical” entry of one or more IDs from an agent. The next IID with its associated value is included in the agent’s response.

Inform Request (version 2/3)

InformMessage

A manager sends information to another manager. Required properties are Version, Community, and a collection of Variable instances with the Variable.Id and Variable.Value properties initialized. A Response PDU is expected back from the target manager.

Set Request (version 1/2/3))

SetMessage

Sets the value of one or more IIDs in an agent's data store. Required properties are Version, Community, and a collection of Variable instances with the Variable.Id and Variable.Value properties initialized.

Response
(version 1/2/3)

ResponseMessage

Response message from an agent to a manager who sent a GetMessage, GetNextMessage, GetBulkMessage, SetMessage or InformMessage. Required properties are Version, Community, and a collection of Variable instances with the Variable.Id and Variable.Value properties initialized.

GetBulk Request
(version 2/3)

GetBulkMessage

Similar to GetRequest, except that the NonRepeaters and Repetitions properties control how many variables are returned by the agent.

Trap (version 1)

TrapMessage

Sent from an agent to notify a manager that an event has occurred. Required properties are Community, Enterprise, GenericTrap, SpecificTrap, UpTime and a collection of Variable instances with the Variable.Id and Variable.Value properties initialized.

Notification (version 2/3 Trap)

NotifyMessage

Sent from an agent to notify a manager that an event has occurred. Required properties are Community and a collection of Variable instances with the Variable.Id and Variable.Value properties initialized. This format replaces the version 1 Trap PDU format.

Report (version 2/3)

ReportMessage

Similar in many ways to a Response PDU, the version 2 definition indicates that the Report PDU semantics are not defined. It is used by version 3 for sending security information.


The manager can use any port for initiating a Get Request, GetNext Request, Inform Request, GetBulk Request or Set Request. The agent always replies to the source address of the message. In the case of a Set Request, a Response message is used to confirm the updated information on the agent. To sense Traps and Notifications the manager uses port 162 (or uses some other port that the agent is configured to use). Agents are configured to send trap and notification messages to managers according to configured procedures. It is possible (but not necessary) for a manager to use port 162 for all Get Request, GetNext Request, Inform Request, GetBulk Request and Set Request messages, and receive Response, Notify, Trap and Inform messages all on the same port.

 

In This Section

Protocol Overview
This topic provides an overview of the SNMP Protocol.
Object and Instance Identifiers (OIDs and IIDs)
This topic discusses the ASN.1 naming convention as it applies to OIDs and IIDs.
Get / GetNext / GetBulk Requests
This topic discusses Get, GetNext and GetBulk request messages.
Set Request
This topic discusses Set request messages.
Inform Request
This topic discusses Inform Request messages.
Response
This topic discusses SNMP Response messages.
Trap
This topic discusses Trap messages.
Notify (Trap v2/3)
This topic discusses Notify messages.

 

 


Send comments on this topic.

Documentation version 1.2.0.0.

© 2008 Dart Communications.  All rights reserved.