|
Components FAQ
SNMP Manager
Toolkit
What
is SNMP?
What can I do with this toolkit?
What are the key differences between different
versions
Is SNMP v3 supported?
Are SNMP v1 and v2c supported?
Do I need any additional libraries or
components?
Do you support synchronous and asynchronous
styles?
Can I use this to develop SNMP agent software?
Can I use this in applets?
How big is the footprint?
Why don't you support Java Beans™?
What about charting capabilities?
SNMP Utilities
What
is a MIB compiler/loader?
What is the SNMP Discovery Component?
What does the sample MIB browser do?
Can I redistribute the MIB compiler/loader
with my application?
Can I redistribute the MIB browser with my
application?
Can I 'pre-compile' MIBs? Why would I want
to do that?
HTTP Server Toolkit
What
can I do with this toolkit?
What versions of HTTP are supported?
Do you support servlets?
Do I need to learn CGI or any other scripting?
What about SSL and HTTPS?
SMTP Client Utility
What
is SMTP?
What can I do with this utility?
What mail formats are supported?
What other software or services do I need?
Can I send attachments with my email messages?
Can this utility be used to receive email?
TFTP Client Utility
What
is TFTP?
What can I do with this utility?
SNMP
Manager Toolkit
What is SNMP?
Simple Network
Management Protocol is the most ubiquitous protocol used
in the management of network devices, services, and applications. It is
a connectionless protocol that rides on top of UDP (User Datagram Protocol)
and is described in the Internet RFC 1157. There are generally two varieties
of SNMP entities - agents and managers (although newer classifications
can now be found). Agents represent the entities to be managed, while
managers manage agents. For more details, please refer to the SNMP
FAQ.
What can I do with this toolkit?
With the SNMP Manager Toolkit,
you can develop network management applications. Typically, such applications
monitor SNMP-enabled devices such as routers, copiers, printers, and servers.
You can also receive and generate SNMP traps. You can use synchronous
or asynchronous styles of communication.
What are the key differences between different versions
The Programmer's
Guide contains these and other related details.
Is SNMP v3 supported?
Yes. The SHA, and MD5 schemes
for authentication and the CBC-DES scheme for encryption are supported.
The USM model from a manager perspective is completely supported along
with the support API calls to remotely change security and authentication
passwords.
Are SNMP v1 and v2c supported?
Yes. They are supported as
well. And there is an extremely simple migration path from SNMP v1 and
SNMP v2c to SNMP v3 applications. Multiple versions can even be used within
the same application.
Do I need any additional libraries or components?
No. Some users assume that
they need a third-party library for cryptography, or perhaps the Java
JCA™ API. But all software needed for the product is built in. We acknowledge
the use of software from Cryptix for
the CBC DES encryption in the SNMP Manager Toolkit v2.0 and above, albeit
with significant modifications. No assumption is made about the presence
(or absence) of required class libraries.
Do you support synchronous and asynchronous styles?
Yes. An application can use
either, or can mix and match based on its needs. Asynchronous communications
often yield better performance, but synchronous communications are simpler
to implement.
Can I use this to develop SNMP agent software?
No. The API supports the development
of SNMP manager applications only.
Can I use this in applets?
Yes, with the normal caveats
of security issues in a browser. Popular browsers do not allow UDP. You
will probably need to sign your applet, or run it with compromised security.
If neither of these is acceptable, you may want to consider using the
HTTP Server Toolkit and build a classic 3-tier application where the data
collection is done on the HTTP server host and transported using HTTP.
How big is the footprint?
Small! The SNMP Manager Toolkit
.jar file is approximately 80 KB. The small size makes it greatly suited
for embedded applications such as routers, handheld devices, and any other
environment where resources are at a premium.
We encourage you to compare
this footprint with other Java SNMP implementations.
Why don't you support Java Beans™?
Cyberons™ for Java™ is a focused
toolkit for power developers. We designed the API to be minimal, yet complete.
Beans are excellent building blocks, but they need to be tailored to your
application. We did not want to appear presumptuous about your application
by simply providing 'datasheet check-box' features.
Our customers have not expressed
a need for Java Beans, and prefer to create their own using the toolkits.
Typically, our users demand simple APIs with minimal, essential classes
- along with examples and javadoc - but little else.
However, if there are Java
Beans that you feel would be useful additions to the product, please let
us know. With sufficient customer demand, we will incorporate them into
future versions of the product.
What about charting capabilities?
None are supported. The product
is focused on the network management aspects of SNMP; visualization can
be built using third-party libraries.
SNMP
Utilities
What is a MIB compiler/loader?
SNMP developers refer to the
structure of management information in terms of a MIB (Management Information
Base). A MIB is a somewhat textual (ASN.1) representation. A MIB compiler/loader
translates the information contained in the MIB into a programmatically
accessible form. Thus, using a MIB compiler, you can 'load' the MIB from
RFC 1213 and refer to the sysDescr variable in the System group as "sysDescr"
instead of by its OID (Object Identifier), which is 1.3.6.1.2.1.1.1.0.
Also, other semantic details, such as the textual description, the type
of the object, the range, and the accessibility, can be programmatically
determined from a compiled MIB.
What is the SNMP Discovery Component?
This is a new class library
introduced in Version 3.1 of Cyberons for Java. It provides the developer
means of discovering SNMP devices in a network. The discovery component
supports a wide variety of discovery options, including broadcast, recursive
searching through SNMP routers, etc. These options are configurable, and
provide the developer a much requested feature.
What does the sample MIB browser do?
It provides an application
that illustrates traversing through a MIB against a device. It serves
as an example of the API usage of the MIB compiler and the SNMP Manager
Toolkit.
While not expressly created
for the purpose, it also serves as a great test tool during application
development.
Can I redistribute the MIB compiler/loader with my application?
Absolutely! However, you must
follow the terms outlined in the license agreement.
Can I redistribute the MIB browser with my application?
No. Under the terms of the
license agreement, you may not redistribute
any samples or source code provided with the product.
Can I 'pre-compile' MIBs? Why would I want to do that?
Yes. 'Pre-compiling' is essentially
the process of loading and compiling a MIB, and then saving the compiled
form. Subsequently, the pre-compiled MIB can be reloaded, often in a fraction
of the time it would take to load and compile it. This is a recommended
practice if your application loads the MIB repeatedly.
A common use of pre-compiling
MIBs is in a monitoring application for a group of devices whose MIB was
used during development and needs to be packaged with the final product.
HTTP
Server Toolkit
What can I do with this toolkit?
You can develop HTTP server
applications. Typical applications include web sites and web based management
of devices. The HTTP Server Toolkit is extremely small and ideally suited
for embedding in devices.
As part of the NMS Application
Toolkit, the HTTP Server Toolkit is an ideal complement to developing
three-tiered management applications wherein the SNMP Manager Toolkit
is used for monitoring and data collection and the HTTP Server Toolkit
is used to transport and present the data to HTTP client browsers in suitably
customized form.
Out of the box, the HTTP Server
Toolkit provides you with a standard HTTP server that can serve HTML pages!
Netaphor developed its MetaConsole
product using these components.
What versions of HTTP are supported?
HTTP/1.0 and HTTP/1.1 are
supported.
Do you support servlets?
No. The HTTP Server Toolkit
is a lightweight set of classes intended for tiny applications. It is
not intended as a replacement for commercial HTTP servers that endure
millions of hits a day. It is intended as a key component of network management
and does not support large infrastructures.
Do I need to learn CGI or any other scripting?
No. All the customization
can be done in Java.
What about SSL and HTTPS?
SSL (Secure Sockets Layer)
and HTTPS (Secure HTTP) are not supported at this time. They are planned
for a future release.
SMTP
Client Utility
What is SMTP?
Simple Mail
Transfer Protocol is a TCP (Transmission Control Protocol)
based protocol used for transferring email between hosts. It is defined
in the Internet RFC 822.
What can I do with this utility?
You can programmatically generate
email messages and send them to recipients, formatted as plain text or
as HTML. Email attachments are supported.
A simple but powerful use
of this utility in a network management application is to notify administrators
of alarms and error conditions detected by the monitoring portion of your
application. In conjunction with the SNMP Manager Toolkit, you can build
powerful applications wherein sensitive data are monitored, and exceptions
and alarms programmatically transmitted to a systems administrator. Also,
mail messages can be dispatched to most paging devices and mobile phones,
trivially!
What mail formats are supported?
Out of the box, the text/plain
and text/html formats are supported using MIME 1.0 encoding. Base64 encoding
is supported for attachments.
What other software or services do I need?
While no other software is
needed for developing applications, an SMTP relay server is necessitated
per the protocol itself to 'send' mail messages.
Can
I send attachments with my email messages?
Yes. The encoding employed
is Base64.
Can this utility be used to receive email?
No. This is a client-side
utility used only to send electronic mail.
TFTP
Client Utility
What is TFTP?
Trivial File
Transfer Protocol is a very simple protocol used to transfer
files. It is described in the Internet RFC 1350. It is primarily used
for transferring files using a lightweight protocol layered on UDP (User
Datagram Protocol).
What can I do with this utility?
File transfer using TFTP can
be used to configure routers and switches. This utility lets you read
and write the configuration files. The protocol can also be used to transfer
files into and out of embedded devices where space is at a premium and
prevents the use of a more sophisticated protocol like File Transfer Protocol
(FTP). It can also be used to load the boot image of an embedded device
from a remote TFTP server.
|