Glossary Item Box
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 |
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 |
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.
Send comments on this topic.
Documentation version 1.2.0.0.
© 2008 Dart Communications. All rights reserved.