Topic Path: Symbol Reference > Classes > TIdSNMP Class

Implements a Simple Network Management Protocol (SNMP) client.

TIdSNMP = class(TIdUDPClient);

TIdSNMP is a TIdUDPClient descendant that implements a Simple Network Management Protocol (SNMP) client, as described in the Internet Standards document: 

RFC 1157 - A Simple Network Management Protocol [SNMP]  

The Internet Activities Board recommends that all IP and TCP implementations be network manageable. This implies implementation of the Internet MIB, as described in the Internet Standards documents: 

RFC 1155 - Structure and Identification of Management Information for TCP/IP-based Internets  

RFC 1156 - Management Information Base for Network Management of TCP/IP-based internets  

SNMP allows devices in the network to exchange information about themselves (like parameters and statistics). Devices have current status that indicates if the running conditions are healthy and many interesting knowing about its neighbourhood (active stations, statistics, problems). 

SNMP standardizes the types and uses for "interesting" device information stored across many different vendors products using the concept of the Management Information Base (or MIB). The MIB specifies what kind of configuration, status and statistical information are associated with a device. 

The information may be stored at device as a combination of switchs, settings, hardware counters, in memory variables and tables or files. This can be considered conveniently as a database. SNMP standards, use this logical database of network management information. It is called a MIB (Management Information Base). The internal structure of those MIBs are not important for the manager, but the way and the accessibility of the data base is very important. 

TIdSNMP provides properties and methods that allowing monitoring of network state at a significant level of detail using polling. TIdSNMP provides properties and methods to configure, send, and receive solicited SNMP messages. 

TIdSNMP also provides properties and methods to configure, send, and receive unsolicited SNMP messages (traps). 

TIdSNMP uses port number 161 specified in the Port property, as required in the SNMP protocol, to receive UDP datagrams using the basic encoding rules of ASN.1. on the host with which it is associated. TIdSNMP uses port number 162 specified in TrapPort to receive unsolicited trap messages. 

TIdSNMP makes extensive use of the TSNMPInfo class used to communicate management information among management entities using the exchange of SNMP protocol messages. SNMP messages consist of a version identifier, an SNMP community name, and a protocol data unit (PDU). 

TIdSNMP can be used to poll a managed SNMP device, or to build a SNMP management console for SNMP-enabled agents.

!!! Does not use PDUSetRequest or PDUGetResponse

!!! Discuss PDU (Protocol Data Unit) 

SNMP agents which generate SNMP messages must perform the following top-level actions: 

  • Construct PDU
  • Pass Community, transport address source and destination, and PDU
  • build response message
  • serialize response message

Similarly, the top-level actions of a SNMP protocol entity which receives a message are as follows: 

  • parse incoming data
  • verify SNMP version number
  • pass community and data to the destination transport
  • parse response message

Copyright 1993-2006, Chad Z. Hower (aka Kudzu) and the Indy Pit Crew. All rights reserved.
Post feedback to the Indy Docs Newsgroup.