SNMP Resources
Learning about SNMP
SNMP, true to its name (Simple Network Management Protocol), is a conceptually simple protocol. There are two basic commands: “get a value” and “set a value”. A device being monitored or controlled runs a piece of software called an SNMP agent. The agent oversees a collection of variables that represent the state of the device being managed. The collection is organized in an extensible tree structure known as the Management Information Base (MIB).
“Controlling and Monitoring Audio Systems with Simple Network Management Protocol (SNMP)” by Kevin Gross and Tom Holtzen, Presented at the 105th AES Convention, September 26, 1998, Preprint #4760. An overview of SNMP from an audio perspective.
TCP/IP Illustrated, Volume 1 by W. Richard Stevens (Addison-Wesley) ISBN: 0201633469. Chapter 25 offers a readable technical description of the protocol
Designing a MIB
A MIB is a collection of management variables which may be read and optionally written through SNMP commands. Variables are represented in the MIB as a tree structure. Different branches of this tree correspond to different functional units of the system being managed. MIBs are generally expressed as a text file using a data structure specification language called ASN.1. Have a look at the CobraNet MIB for an example.
Understanding SNMP MIBs by David Perkins and Evan McGuinnis (Prentice Hall) ISBN: 0134377087. A technical reference useful for those designing a MIB and indispensable if you are writing an SNMP agent.
“Management Information Base for Network Management of TCP/IP-based internets: MIB-II (RFC 1213)” from the IETF. All SNMP agents include this standard information base. The IETF has standardized a number of other commonly used information bases. If your building a network printer, for instance, you definitely want to have a look at Printer MIB (RFC 1759).
The Internet Assigned Number Authority (IANA) can provide you with an Enterprise Number. Product specific variables reside under the umbrella of your enterprise number.
MG-Soft offers a MIB browser and compiler which can be used to help write and check syntax of your MIB file(s).
The ASN.1 Homepage(not availiable) can help you understand the Abstract Syntax Notation (ASN) used to define a MIB. ASN.1 is a programming language used to formally describe shared data structures.
Using an Off-the-Shelf Agent
All major embedded operating systems (Phar Lap, QNX, pSOS, VxWorks and even Windows CE) include or are currently developing an SNMP agent either as part of the core package or as a cost added option.
SNMP Research is a major provider of commercial SNMP agents. Many of the OS vendors listed above have integrated and resell the SNMP Research agent. Epilogue (a subsidiary of ISI [the pSOS people]) is another SNMP agent developer.
DMH Software, a vendor of a highly portable SNMP agent for embedded system and other systems
Using a Public Domain SNMP Agent
Agent++ supports SNMPv3
The Carnegie Mellon Network Group offers a full featured SNMP agent in source code.
Linux is an open source operating system which includes an SNMP agent.
Writing Your Own Agent
Unless you have some extraordinary development constraints, you should not be reading this section. In most circumstances, the cost and effort to develop, debug and test an agent far outweighs any money you’ll put on the counter to purchase an off the shelf agent.
Understanding SNMP MIBs by David Perkins and Evan McGuinnis (Prentice Hall) ISBN: 0134377087. The appendices of this book give some of the essential details and constants used by SNMP.
“A Simple Network Management Protocol (RFC 1157)” from the IETF. This is the protocol specification for SNMP. The standards documents generated by the IETF (Internet Engineering Task Force) are surprisingly readable. Part of the IETF’s standards approval process involves building a correct (interoperable) implementation merely by reading the specification document.
SNMP Version 3 (SNMPv3) Web Site contains version 3 (and version 2) information including links to relevant IETF protocol standards documents (RFCs).
Testing an Agent
If you’ve written your own agent, you’ll want to procure a test suite to verify your implementation. The following vendors offer SNMP test suites and tools.
Managing a Windows Application Via SNM
You need to write an SNMP “extension agent” to manage an application, or hardware peripheral on a workstation. The extension agent supplements the standard SNMP agent with the additional management variables relevant to the application or peripheral under management. Typically writing an extension agent is not a difficult task. The SNMP agent connects to your extension agent through a well defined (though platform dependent) high level Application Programmer’s Interface (API). With multiple extension agents running, multiple applications on the same computer can be managed and monitored via SNMP.
Windows NT SNMP by James D. Murray (O’Rielly) ISBN: 1565923383. This is the book to look to if you need to make a Windows application manageable via SNMP.
Lightweight Managers and APIs
SNMP++ is an object oriented programming interface to SNMP. This is an open source initiative originally shepherded by Hewlett Packard.
Dart offers an SNMP COM object targeted to SNMP operations under Visual Basic.
ACE-SNMP from SNMP Frameworks includes scripting capability and allows SNMP network management to be accomplished through a browser. Most of the heavy duty management platforms include variants of these capabilities.
SNMPc from Castle Rock Computing is a comprehensive lightweight manager.
Transcend Network Supervisor is a free network monitoring tool from 3COM.
DeviceView is a free SNMP manger from Intel primarily for managing Intel networking products. Some generic SNMP management capability is included.
MG-Soft offers a suite of SNMP development tools and utilities. Some of these can be downloaded on a trial basis.
Heavy Duty Management Platforms
The heavy duty management platforms are extremely scalable. These platforms are designed for enterprise management and usually carry an enterprise sized price tag. Campus sized installations (such as a theme park) are appropriate applications of these platforms.
Internet Resources
There’s a lot of technical information regarding data networking on the world’s largest network
-
comp.dcom.net-management newsgroup and associated Archive Base.
-
comp.protocols.snmp newsgroup.
-
The Simple Times is a technical SNMP newsletter.
-
SNMP Link is a comprehensive SNMP resource for SNMP developers.
-
The SimpleWeb a collection of SNMP and network management links.
-
SNMP Version 3 (SNMPv3) Web Site contains version 3 (and version 2) information including links to relevant IETF protocol standards documents (RFCs).