diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 1997-08-04 08:25:27 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 1997-08-04 08:25:27 +0000 |
commit | 93b4311ec91b2d008ecc3a26200e4a44481494e8 (patch) | |
tree | c8f6ac63d26985c0b40ef84e7611871cfffb0b4b /ASNMP/asnmp-overview.html | |
parent | 95433e3dbe5d6d6fc4ba640a14d290b609b90a73 (diff) | |
download | ATCD-93b4311ec91b2d008ecc3a26200e4a44481494e8.tar.gz |
*** empty log message ***
Diffstat (limited to 'ASNMP/asnmp-overview.html')
-rw-r--r-- | ASNMP/asnmp-overview.html | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/ASNMP/asnmp-overview.html b/ASNMP/asnmp-overview.html new file mode 100644 index 00000000000..a70e872ad11 --- /dev/null +++ b/ASNMP/asnmp-overview.html @@ -0,0 +1,106 @@ +<html> +<! by Michael R. MacFaden mrm@cisco.com > +<title>ASNMP Overview</title> + +<h1>ASNMP Overview</h1> + +<p>The Another SNMP class library is an Object Oriented programming +toolkit for using IETF standard network management protocols in the +Internet. The SNMP protocol is perhaps the most ubiquitous management +protocol running on most very device or application deployed in the +modern network today. + +<p>ASNMP is targeted to programmers that want to write command and +control (C&C) applications. C&C Applications communicate with +a variety of objects: +<sl> +<li>network devices such as ATM switches, Internet routers, +LAN bridges and LAN printers +<li>Routing protocols such as OSPF +<li>database servers such as ORACLE or Informix. + +<p>ASNMP Version 1 implements a blocking SNMP Version 1 with some +Version 2c additions (Counter32, Counter64 SMI values). See +SNMP Version 1 as defined in the IETF Request for Comments (RFC) +<sl> +<li>1155 +<li>1157 +<li>1215 +<sl> +<p>Also see the RFC 1902 spec for new SMI datatypes such as Counter64. + +<p>ASNMP is built using the CMU SNMP and HP SNMP++ as the base +classes then modified for use in the ACE framework. About 10% of the API +changed during code rework. See ASNMP/asnmp/ChangeLog for details. + +<h2>Class Heirarchy</h2> + +<pre> +UdpTarget - defines Collection of attributes(address, timeout, etc) used + to define a command session. +Snmp - A logical session between NM app and agent +Pdu - Pdu contains a vb list , community string, and a command +Vb - Varbind. A pdu can have zero, one or more of these + consists of an Oid to identify the variable and a datatype + of one of the SMI values. The oid/value binding is defined + in a MIB file (RFC 1155) + +<p>The Structure of Managment Information (SMI) datatypes +and related types are: +<ul> +<li>Address->IpAddress->UdpAddress as well as MAC, IPX, IPXSOCK, Netbios +<li>Unsigned Integer +<li>Gauge32 +<li>Integer32 +<li>Counter32 +<li>Counter64 +<li>TimeTicks +<li>OctetStr +<li>Oid +</ul> + +<hr> + +<h2>Sample program</h2> +<p>A sample Object to get obtain an Agent's Systems' Description +given an network address and a community string. + +class system_id { + public: + system_id(UdpAddress addr, OctetStr read_community_string) + { + UdpTarget tgt; + Snmp snmp; + Pdu pdu; + Oid oid("1.3.6.1.2.1.1.1.0"); + Vb vb(oid); + tgt.set_address(addr); + tgt.set_read_community(read_community_string); + pdu += vb; + + if (snmp.get(pdu, tgt) == 0) { + pdu.get_vb(vb, 0); + vb.get_value(desc_); + } + else + desc_ = "<error - no value set>" + } + + int get_description(OctetStr& description) { + description = desc_; + return 0; + } + +private: + OctetStr desc_; +}; + +<h1>Future Directions</h1> +<p>Here are some areas for further work +<sl> +<li>Add OO mib parser and mib code generator +<li>Collapse the CMU/HP code into one set of classes. +<li>Add full V2c support. +<li>Size/Speed improvements +</sl> +</html> |