summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorelie <elie>2012-09-10 13:57:25 +0000
committerelie <elie>2012-09-10 13:57:25 +0000
commitf55cf65ede14f9186ea1a357415048d88886a145 (patch)
tree851ee2f7978e258e77efd4fd376498c4fa8908d1 /docs
parentbc8cb42017e8a615802ccb8c389242c2e0901319 (diff)
downloadpysnmp-f55cf65ede14f9186ea1a357415048d88886a145.tar.gz
some more changes and picture removed
Diffstat (limited to 'docs')
-rw-r--r--docs/pysnmp-tutorial.html105
1 files changed, 44 insertions, 61 deletions
diff --git a/docs/pysnmp-tutorial.html b/docs/pysnmp-tutorial.html
index 6292f6e..42f1edd 100644
--- a/docs/pysnmp-tutorial.html
+++ b/docs/pysnmp-tutorial.html
@@ -433,80 +433,37 @@ exploited in a oneliner fashion, for quick and simple prototyping.
</UL>
<P>
-The following figure draws major components of PySNMP system along with
-standard Applications.
-</P>
-
-<P ALIGN=CENTER>
-<IMG SRC="pysnmp-arch.gif" USEMAP="#pysnmp-arch" ALT="PySNMP architecture"
-BORDER=0>
-<MAP ID="pysnmp-arch" NAME="pysnmp-arch">
-<!--
-<AREA SHAPE ="rect" COORDS ="445,114,602,146" HREF="#HIGH-LEVEL-PDU-API"
-ALT="PDU Management" />
-<AREA SHAPE ="rect" COORDS ="479,171,564,206" HREF="#PDU-API"
-ALT="SNMP PDU" />
-<AREA SHAPE ="rect" COORDS ="428,58,617,216" HREF="#APPS-API"
-ALT="Applications" />
-<AREA SHAPE ="rect" COORDS ="208,124,333,184" HREF="#LCD-API"
-ALT="LCD" />
--->
-<AREA SHAPE ="rect" COORDS ="196,16,629,225" HREF="#ONELINER-APPS"
-ALT="One-line Applications" />
-<!--
-<AREA SHAPE ="rect" COORDS ="18,405,145,464" HREF="#TSP-API"
-ALT="Transport Dispatcher" />
-<AREA SHAPE ="rect" COORDS ="240,279,554,342" HREF="#SNMP-ENGINE-API"
-ALT="SNMP Engine" />
--->
-</MAP>
-</P>
-
-<P>
-These standard SNMP applications, such as GET/SET command generators and
-responders or TRAP notificators and receivers, translate into a set of
-classes designed by the Visitor pattern. Application classes
-implement concrete SNMP operations in terms of specific PDU handling,
-while SNMP Engine class acts as a Visitor. A single SNMP Engine can serve
-many Applications of different types at the same time.
-</P>
-
-<P>
-One of the design choices of SNMPv3 standard is to use a set of dedicated
-Managed Objects for SNMP engine internal purposes. One reason for that
-design involves making SNMP engine remotely configurable via SNMP.
-These internally used Managed Objects are collectively called Local
-Configuration Datastore (LCD). In PySNMP, all SNMP engine configuration
-and statistics is kept in LCD. LCD Configurator is a wrapper aimed at
-simplifying LCD operations. Technically, LCD Configurator is a set of
-functions whose names clearly reflect their semantics.
+As for its internal structure, PySNMP consists of a handful of large,
+dedicated components. They normally take shape of classes which turn
+into linked objects at runtime. So here are the main components:
</P>
+<UL>
+<LI>
<P>
-SNMP Engine, on the above figure, is a Composite class holding references
-to all components of SNMP system. Typical user application has a single
-instance of SNMP Engine class possibly shared by many SNMP Applications
-of all kinds.
+SNMP Engine is an object holding references to all other components of
+the SNMP system. Typical user application has a single instance of SNMP
+Engine class possibly shared by many SNMP Applications of all kinds.
+As the other linked-in components tend to buildup various
+configuration and housekeeping information in runtime, SNMP Engine object
+appears to be expensive to configure to a usable state.
</P>
+</LI>
+<LI>
<P>
Transport subsystem is used for sending SNMP messages to and accepting them
from network. The I/O subsystem consists of an abstract Dispatcher and one
or more abstract Transport classes. Concrete Dispatcher implementation
is I/O method-specific, consider BSD sockets for example. Concrete Transport
classes are transport domain-specific. SNMP frequently uses UDP Transport
-but others are also possible. Dispatcher/Transport classes are designed after
-the Visitor pattern -- Transport instances are Dispatcher visitors. Transport
-Dispatcher interfaces are mostly used by Message And PDU Dispatcher. However,
-when using the SNMPv1/v2c-native API (the lowest-level one), these interfaces
-would be invoked directly.
-</P>
-
-<P>
-The rest of components are not normally accessed directly. They're mentioned
-here for clarification purposes.
+but others are also possible. Transport Dispatcher interfaces are mostly
+used by Message And PDU Dispatcher. However, when using the SNMPv1/v2c-native
+API (the lowest-level one), these interfaces would be invoked directly.
</P>
+</LI>
+<LI>
<P>
Message And PDU Dispatcher is a heart of SNMP system. Its main responsibilities
include dispatching PDUs from SNMP Applications through various subsystems
@@ -515,26 +472,52 @@ from network up to SNMP Applications. It maintains logical connection with
Management Instrumentation Controller which carries out operations on Managed
Objects, here for the purpose of LCD access.
</P>
+</LI>
+<LI>
<P>
Message Processing Modules handle message-level protocol operations for present
and possibly future versions of SNMP protocol. Most importantly, these include
message parsing/building and possibly invoking security services whenever
required. All MP Modules share standard API used by Message And PDU Dispatcher.
</P>
+</LI>
+<LI>
<P>
Message Security Modules perform message authentication and/or encryption.
As of this writing, User-Based (for v3) and Community (for v1/2c) modules
are implemented in PySNMP. All Security Modules share standard API used by
Message Processing subsystem.
</P>
+</LI>
+<LI>
<P>
Access Control subsystem uses LCD information to authorize remote access to
Managed Objects. This is used when serving Agent Applications or Trap
receiver in Manager Applications.
</P>
+</LI>
+
+<LI>
+<P>
+A collection of dedicated Managed Objects Instances are used by PySNMP
+for its internal purposes. They are collectively called Local
+Configuration Datastore (LCD). In PySNMP, all SNMP engine configuration
+and statistics is kept in LCD. LCD Configurator is a wrapper aimed at
+simplifying LCD operations.
+</P>
+</LI>
+</UL>
+
+<P>
+In most cases user is expected to only deal with the top-leve oneliner
+API to all these PySNMP components. However implementing SNMP Agents,
+Proxies and some other fine features of Managers require using the
+Standard Applications API. In those cases general understanding of SNMP
+operations and SNMP Engine components would be helpful.
+</P>
<A NAME="ONELINER-APPS"></A>
<H4>