1 SNMP Introduction
The SNMP development tool provides an environment for rapid agent prototyping and construction. With the following information provided, this tool is used to set up a running multi-lingual SNMP agent:
- a description of a Management Information Base (MIB) in Abstract Syntax Notation One (ASN.1)
- instrumentation functions for the managed objects in the MIB, written in Erlang.
The advantage of using an extensible agent toolkit is to remove details such as type-checking, access rights, Protocol Data Unit (PDU), encoding, decoding, and trap distribution from the programmer, who only has to write the instrumentation functions, which implement the MIBs. The
get-next
function only has to be implemented for tables, and not for every variable in the global naming tree. This information can be deduced from the ASN.1 file.1.1 Scope and Purpose
This manual describes the SNMP development tool, as a component of the Erlang/Open Telecom Platform development environment. It is assumed that the reader is familiar with the Erlang Development Environment, which is described in a separate User's Guide.
1.2 Prerequisites
The following prerequisites is required for understanding the material in the SNMP User's Guide:
- the basics of the Simple Network Management Protocol version 1 (SNMPv1)
- the basics of the community-based Simple Network Management Protocol version 2 (SNMPv2c)
- the basics of the Simple Network Management Protocol version 3 (SNMPv3)
- the knowledge of defining MIBs using SMIv1 and SMIv2
- familiarity with the Erlang system and Erlang programming
The tool requires Erlang release 4.7 or later.
1.3 About This Manual
In addition to this introductory chapter, the SNMP User's Guide contains the following chapters:
- Chapter 2: "Functional Description" describes the features and operation of the SNMP development toolkit. It includes topics on Subagents and MIB loading, Internal MIBs, and Traps.
- Chapter 3: "Instrumentation Functions" describes how instrumentation functions should be defined in Erlang for the different operations.
- Chapter 4: "The MIB Compiler" describes the features and the operation of the MIB compiler.
- Chapter 5: "Running the Agent" describes how to start and configure the agent. Topics on how to debug the agent are also included.
- Chapter 6: "Implementation Example" describes how an MIB can be implemented with the SNMP Development Toolkit. Implementation examples are included.
- Chapter 7: "Advanced Topics" describes subagents, agent semantics, audit trail logging, and the consideration of distributed tables.
- Chapter 8: "Definition of Configuration Files" is a reference chapter, which contains more detailed information about the configuration files.
- Chapter 9: "Definition of Instrumentation Functions" is a reference chapter which contains more detailed information about the instrumentation functions.
- Chapter 10: "Definition of Net if" is a reference chapter, which describes the Net if function in detail.
- Appendix A describes the conversion of SNMPv2 to SNMPv1 error messages.
- Appendix B contains the RFC1903 text on
RowStatus
.
1.4 Where to Find More Information
Refer to the following documentation for more information about SNMP and about the Erlang/OTP development system:
- Marshall T. Rose (1991), "The Simple Book - An Introduction to Internet Management", Prentice-Hall
- Evan McGinnis and David Perkins (1997), "Understanding SNMP MIBs", Prentice-Hall
- RFC1155, 1157, 1212 and 1215 (SNMPv1)
- RFC1901-1907 (SNMPv2c)
- RFC1908, 2089 (coexistence between SNMPv1 and SNMPv2)
- RFC2271, RFC2273 (SNMP std MIBs)
- the Mnesia User's Guide
- the Erlang 4.4 Extensions User's Guide
- the Reference Manual
- the Erlang Embedded Systems User's Guide
- the System Architecture Support Libraries (SASL) User's Guide
- the Installation Guide
- the Asn1 User's Guide
- Concurrent Programming in Erlang, 2nd Edition (1996), Prentice-Hall, ISBN 0-13-508301-X.