⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 design.sgml

📁 gxsnmp SNMP MANAGER 的实现
💻 SGML
字号:
<!DOCTYPE book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [<!entity widgets SYSTEM "widget_hierarchy.sgml"><!entity turtletalk SYSTEM "turtletalk.sgml">]><book id="gxsnmp-design">  <bookinfo>    <title>GXSNMP Design Specifications</title>    <releaseinfo>April 10, 1999</releaseinfo>    <authorgroup>    <author>      <firstname>Jochen</firstname>      <surname>Friedrich</surname>      <affiliation>       <address><email>jochen@scram.de</email></address>      </affiliation>    </author>    <author>      <firstname>Gregory</firstname>      <surname>McLean</surname>      <affiliation>        <address><email>gregm@comstar.net</email></address>      </affiliation>    </author>      <author>        <firstname>John</firstname>        <surname>Schulien</surname>        <affiliation>          <address>             <email>jms@uic.edu</email>          </address>        </affiliation>      </author>    <author>      <firstname>Craig</firstname>      <surname>Small</surname>      <affiliation>        <address><email>csmall@eye-net.com.au</email></address>      </affiliation>    </author>   </authorgroup>    <legalnotice>      <para>This documentation is free software; you can redistribute        it and/or modify it under the terms of the GNU General Public        License as published by the Free Software Foundation; either        version 2 of the License, or (at your option) any later        version.</para>      <para>This program is distributed in the hope that it will be        useful, but WITHOUT ANY WARRANTY; without even the implied        warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the GNU General Public License for more details.</para>      <para>You should have received a copy of the GNU General Public        License along with this program; if not, write to the Free        Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,        MA 02111-1307 USA</para>      <para>For more details see the file COPYING in the source        distribution of GXSNMP.</para>     </legalnotice>  </bookinfo>  <chapter id="internal-design">    <title>GXSNMP Internal Design</title>    <sect1>      <title>Design Goals</title>          <para>          GXSNMP is a network management application that is intended to          grow in the future to provide all of the features one would expect          to find in the commerical offerings.        </para>     </sect1>         <sect1>       <title>Basic organization</title>       <para>         FIXME!       </para>     </sect1><!-- Widget Hierarchy -->     &widgets;<!-- Plugins -->     <sect1>       <title>Plugins</title>        <para>          FIXME!        </para>     </sect1>    </chapter>    <chapter id="snmpv3-design">      <title>SNMPv3 Design</title>      <sect1>        <title>Introduction</title>        <para>          SNMPv3 is currently defined in the RFCs 2271 - 2275. RFC2271 gives an          overview about SNMPv3 and defines separate modules for the standard          implementation. This document explains how these modules are           implemented in this library. Additionally,           draft-ietf-snmpv2-coex-??.txt is of interest on how to combine           SNMPv3 and older versions together in one application.        </para>      </sect1>      <sect1>        <title>Implementation details</title>          <para>            This section will deal with the actual implementation of SNMPv3            in the snmp library. We also will give reference to the relevant            Request For Comments (RFC).          </para>          <para>RFC 2271 defines the following modules</para>          <itemizedlist>             <listitem><para>dispatcher (RFC2272)</para>             <listitem><para>message processing subsystem (RFC2272)</para>             <listitem><para>security subsystem (RFC2274)</para>             <listitem><para>access control subsystem (RFC2275)</para>             <listitem><para>application (RFC2273)</para>          </itemizedlist>          <para>The dispatcher is special in that only one instance of dispatcher canexist in a given SNMP entity. Even an application may register differentmodules with the SNM engine for different functionality (e.g. a combinedSNMP agent with proxy). The dispatcher is implemented in C using a set offunctions, while all other modules must provide their interface as structof functions to the dispatcher in init time (poor mans objects :-) ).Additionally, the dispatcher must take care of the configuration file andprovide an API for the SNMP modules to read and write their variables.          </para>          <para>            These are the primitives of the RFC2271 properly sorted by module:          </para>          <itemizedlist>            <listitem><para>application</para>               <itemizedlist>                  <listitem><para>processPdu</para>                        <listitem><para>processResponsePdu</para>               </itemizedlist>            <listitem><para>dispatcher</para>               <itemizedlist>                  <listitem><para>sendPdu</para>                  <listitem><para>returnResponsePdu</para>                  <listitem><para>registerContextEngineID</para>                  <listitem><para>unregisterContextEngineID</para>               </itemizedlist>            <listitem><para>message processing subsystem</para>               <itemizedlist>                  <listitem><para>prepareOutgoingMessage</para>                  <listitem><para>prepareResponseMessage</para>                  <listitem><para>prepareDataElements</para>                  <listitem><para>releaseState</para>               </itemizedlist>            <listitem><para>access control subsystem</para>               <itemizedlist>                  <listitem><para>isAccessAllowed</para>               </itemizedlist>            <listitem><para>security subsystem</para>               <itemizedlist>                  <listitem><para>generateRequestMsg</para>                  <listitem><para>processIncomingMsg</para>                  <listitem><para>generateResponseMsg</para>               </itemizedlist>          </itemizedlist>          <para>Additionally, an initialization function must be provided by each moduleand a point of registration by the dispatcher for the different types of modules.          </para>          <para>Order of Initialization</para>            <itemizedlist>               <listitem><para>dispatcher is initialized</para>               <listitem><para>Each message processing subsystem is                initialized. It will resgister with the dispatcher by model               number and provides a struct of the primitives.</para>               <listitem><para>Each security subsystem registers.</para>               <listitem><para>Each access subsystem resisters.</para>            </itemizedlist>           <para>              Now the application can start registering their services using the             public function registerContextID.           </para>        </sect1>    </chapter><!-- Turtle Talk -->     &turtletalk;<!-- End TurtleTalk --> </book><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:2sgml-indent-data:tsgml-parent-document:nilsgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nil-->

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -