diff options
author | elie <elie> | 2012-09-10 13:57:25 +0000 |
---|---|---|
committer | elie <elie> | 2012-09-10 13:57:25 +0000 |
commit | f55cf65ede14f9186ea1a357415048d88886a145 (patch) | |
tree | 851ee2f7978e258e77efd4fd376498c4fa8908d1 /docs | |
parent | bc8cb42017e8a615802ccb8c389242c2e0901319 (diff) | |
download | pysnmp-f55cf65ede14f9186ea1a357415048d88886a145.tar.gz |
some more changes and picture removed
Diffstat (limited to 'docs')
-rw-r--r-- | docs/pysnmp-tutorial.html | 105 |
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> |