home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_q_t / draft-ietf-snmpv3-v3mpc-model-01.txt < prev    next >
Text File  |  1997-06-19  |  44KB  |  1,591 lines

  1.                Message Processing and Control Model for
  2.                            version 3 of the
  3.                Simple Network Management Protocol (SNMPv3)
  4.  
  5.                             17 June 1997
  6.  
  7.  
  8.                                J. Case
  9.                          Snmp Research Inc.
  10.                             case@snmp.com
  11.  
  12.                              D. Harrington
  13.                         Cabletron Systems, Inc.
  14.                            dbh@cabletron.com
  15.  
  16.                                B. Wijnen
  17.                        IBM T. J. Watson Research
  18.                           wijnen@vnet.ibm.com
  19.  
  20.  
  21.  
  22.                 <draft-ietf-snmpv3-v3mpc-model-01.txt>
  23.  
  24.  
  25.                           Status of this Memo
  26.  
  27. This document is an Internet-Draft. Internet-Drafts are working
  28. documents of the Internet Engineering Task Force (IETF), its areas, and
  29. its working groups. Note that other groups may also distribute working
  30. documents as Internet-Drafts.
  31.  
  32. Internet-Drafts are draft documents valid for a maximum of six months
  33. and may be updated, replaced, or obsoleted by other documents at any
  34. time. It is inappropriate to use Internet- Drafts as reference material
  35. or to cite them other than as ``work in progress.''
  36.  
  37. To learn the current status of any Internet-Draft, please check the
  38. ``1id-abstracts.txt'' listing contained in the Internet- Drafts Shadow
  39. Directories on ds.internic.net (US East Coast), nic.nordu.net (Europe),
  40. ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).
  41.  
  42.  
  43.  
  44.                              Abstract
  45.  
  46. This document describes the SNMP version 3 Message Processing and
  47. Control Model for use in the SNMP architecture [SNMP-ARCH]. This
  48. model defines the SNMP version 3 message format, and the procedure
  49. for coordinating the processing of a message in SNMPv3 format.
  50.  
  51.  
  52.  
  53.  
  54. Harrington/Case         Expires November 1977        [Page  1]
  55. \
  56. Draft              SNMPv3 Message Processing and Control model        May 1997
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113. Harrington/Case         Expires November 1977        [Page  2]
  114. \
  115. Draft              SNMPv3 Message Processing and Control model        May 1997
  116.  
  117.  
  118. 0. Issues
  119.  . Interactions with Applications needs more synchronization with
  120.       SNMPv3 applications (orangelets) document
  121.    I am using "applications" instead of "orangelets". DaveL c.s.
  122.        are talking about applications and not about orangelets
  123.  . Interactions with Security Model needs more synchronization with
  124.       SNMPv3 USEC document. Statistics counters have already been
  125.       moved to this MPC document and have now generic names that
  126.       should fit any security model.
  127.  . Do we need to keep the security threats in section 5?
  128.  . Should statistics counters from ACM be moved to MPC ??
  129.       Bert thinks YES.
  130.  . Need to check the SNMP-MPC-MIB with a MIB compiler
  131.  . Need to decide if we want to enumerate Security and Application
  132.       status Codes, so that we can document in which case a specific
  133.       statsCounter gets incremented and a reportPDU gets sent.
  134.       Could decide that such is implementation matter.
  135.  . acknowledgements needs expansion
  136.  . sendRequestPdu() primitive
  137.       should we allow the application to pass stateReference
  138.          which the MPC could save with its state info about an
  139.          outstanding SNMP request message, so that when it returns
  140.          the response message it can pass back a stateReference that
  141.          the application can use to correlate a response to a request.
  142.  . scopedPDU defines contextEngineID as SIZE(0|12). Do we need 0?
  143.  . should the architecture require that all message formats have
  144.     the version number first?
  145.  . should globalData parameters be expanded in primitive?
  146.  . should we use the name primitive, or call them abstract service
  147.    interfaces?
  148.  . when matching a response to the outstanding requests, what
  149.    info must be checked? msgID, contextEngineID? Does the MPC need
  150.    to look at the verb directly?
  151.  
  152. 0.1. Change Log
  153.  
  154. [version 2.1]
  155.  . spell-check
  156.  . removed references to groupName
  157.  . replaced discussion of threats with reference to [SNMP-ARCH]
  158.  . moved unresolved co-editor questions into Issues list
  159.  . worked on improving consistency internally and with other documents
  160.  . changed errorCode, errorStatus, etc to statusCode.
  161.  . modified 4.7.1. discussion 
  162.  . published as draft-ietf-snmpv3-mpc-model-01.txt
  163.  
  164. [version 2.0] 
  165.     . changes as a result of 1st interim meeting 
  166.       . some new wording in introduction
  167.       . rewording in overview with a drawing
  168.       . added reportFlag to msgFlags
  169.  
  170.  
  171.  
  172. Harrington/Case         Expires November 1977        [Page  3]
  173. \
  174. Draft              SNMPv3 Message Processing and Control model        May 1997
  175.  
  176.  
  177.       . describe overall MPC model: MPC Selection mechanism
  178.       . describe overall MPC model: MPC Multiplexing Layer
  179.       . describe v3MPC model.
  180.       . added the abstract interface definitions for interacting
  181.         with SNMPv3 USEC Model
  182.       . added the abstract interface definitions for interacting
  183.         with applications
  184.       . added MIB definitions for error Counters (statistics)
  185.       . removed references to LPM and Access Control
  186.       . Bert added as editor ( thank you for the help, bert - dbh )
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231. Harrington/Case         Expires November 1977        [Page  4]
  232. \
  233. Draft              SNMPv3 Message Processing and Control model        May 1997
  234.  
  235.  
  236. 1. Introduction
  237.  
  238. The Architecture for describing Internet Management Frameworks
  239. is composed of multiple subsystems:
  240.      1) a message processing and control subsystem,
  241.      2) a security subsystem,
  242.      3) an access control subsystem, and
  243.      4) orangelets.
  244.  
  245. It is important to understand the SNMP architecture and the
  246. terminology of the architecture to understand where the model
  247. described in this document fits into the architecture and interacts
  248. with other subsystems within the architecture. The reader is
  249. expected to have read and understood the description of the SNMP
  250. architecture, as defined in [SNMP-ARCH].
  251.  
  252. The Message Processing and Control subsystem of an SNMP engine
  253. interacts with the network using SNMP messages, interacts with
  254. applications using data elements defined by the Message Processing
  255. and Control model, within the constraints of the Architecture, and
  256. interacts with other models within the constraints of the architecture.
  257.  
  258. A Message Processing and Control model has the responsibility for
  259. coordinating the sending and receiving of SNMP messages, and for
  260. coordinating the interaction with other subsystems to acquire the
  261. desired services for the processing of a message.
  262.  
  263. It is the purpose of this document to define:
  264.   - the overall MPC Model, including the MPC Selection and
  265.     the MPC Multiplexing Layer
  266.   - a specific model of Message Processing and Control subsystem,
  267.     designated the SNMP version 3 Message Processing and Control
  268.     (v3MPC) model.
  269.  
  270. Other (future) documents can add specific models of an MPC for
  271. other SNMP versions (like a v1MPC and/or a v2cMPC) which then
  272. fit into the overall MPC model described in this document.
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290. Harrington/Case         Expires November 1977        [Page  5]
  291. \
  292. Draft              SNMPv3 Message Processing and Control model        May 1997
  293.  
  294.  
  295. 2. Overview
  296.  
  297. The following illustration depicts the MPC:
  298.  
  299.               MPC External Interface
  300. +----------------------------------------------+
  301. |                 MPC SELECTION                |
  302. +----------------------------------------------+
  303.     ^            ^             ^
  304.     |            |             |
  305.     v            v             v
  306. +-------+    +--------+    +-------+
  307. | v1MPC |    | v2cMPC |    | v3MPC |   .   .   .
  308. +-------+    +--------+    +-------+
  309.     ^            ^             ^
  310.     |            |             |
  311.     v            v             v
  312. +----------------------------------------------+
  313. |             MULTIPLEXING LAYER               |
  314. +----------------------------------------------+
  315.         MPC Abstract Service Interface
  316.  
  317.  
  318. 2.1. MPC External Interface
  319.  
  320. The SNMP Message Processing and Control model is part of an SNMP
  321. meesageEngine which interacts with the network. It can possibly handle
  322. multiple SNMP Message formats (like the SNMPv1 [RFC1157], SNMPv2c 
  323. [RFC1901] and SNMPv3 message formats). The MPC Selection mechanism 
  324. receives and sends messages from/to the network. For incoming messages 
  325. it determines the specific message format of an incoming SNMP message 
  326. and then selects the corresponding version-specific MPC module to 
  327. further process the SNMP message.
  328.  
  329. The transport mappings for sending and receiving messages are defined
  330. in [RFC1906].
  331.  
  332. This document defines the SNMP version 3 MPC (v3MPC) model and the
  333. corresponding SNMPv3 message format. Other documents may specify
  334. additional version-specific MPC models.
  335.  
  336. The MPC model, while sending and receiving SNMP messages, collects
  337. statistics about SNMP messages and the behavior of the SNMP engine.
  338. These statistics are maintained in managed objects to make it
  339. accessible to remote SNMP engines. This document will define the
  340. managed objects, and the MIB module which contains them. This
  341. document will also describe how these managed objects might be used
  342. to provide useful network management.
  343.  
  344. 2.2. MPC Abstract Service Interface
  345.  
  346.  
  347.  
  348.  
  349. Harrington/Case         Expires November 1977        [Page  6]
  350. \
  351. Draft              SNMPv3 Message Processing and Control model        May 1997
  352.  
  353.  
  354. The SNMP Message Processing and Control model is a specification
  355. of a subsystem within an SNMP messageEngine which interacts with other
  356. subsystems, requesting services from, and performing services for,
  357. those other subsystems.
  358.  
  359. The v3MPC module interacts with one or more SNMPv3 Security Models
  360. to ensure that the proper security measures (authentication, timeliness
  361. checking, en/decryption) are applied to the messages being sent and
  362. received. It uses the abstract service interface to the security model,
  363. as defined by the SNMP architecture, to request services from such a
  364. security module.
  365.  
  366. The v3MPC is designed to guarantee certain behaviors and to
  367. meet a particular set of requirements. It will attempt to achieve
  368. its goals by controlling the processing of messages, sometimes by
  369. defining a fixed behavior that must be adhered to by a conforming
  370. implementation of this model, sometimes by defining options which
  371. can be specified by the developer or by the user to cause processing 
  372. to meet optional requirements.
  373.  
  374. This document describes how the internal interactions are
  375. coordinated and constrained by the v3MPC model.
  376.  
  377. Once an incoming message has passed the version-specific MPC processing
  378. (like the v3MPC processing) and is ready for processing by an
  379. application, the MPC uses a Multiplexing Layer which hides the
  380. differences between the various message formats of the different SNMP
  381. versions. It uses the abstract service interface to the applications,
  382. as defined by the SNMP architecture, to request or provide services
  383. from or to the applications.
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408. Harrington/Case         Expires November 1977        [Page  7]
  409. \
  410. Draft              SNMPv3 Message Processing and Control model        May 1997
  411.  
  412.  
  413. 3. Transport Mappings
  414.  
  415. The MPC model recognizes the transport mappings defined in RFC 1906,
  416. and may support additional transport mappings defined in other
  417. documents.
  418.  
  419. During installation, an SNMP engine acting in an agent role is
  420. configured with one or more transport service addresses
  421.  
  422.     These parameters may be specified explicitly, or they may be
  423.     specified implicitly as the same set of network-layer addresses
  424.     configured for other uses by the device together with the well-
  425.     known transport-layer "port" information for the appropriate
  426.     transport domain [RFC1906]. The agent listens on each of these
  427.     transport service addresses for messages.
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467. Harrington/Case         Expires November 1977        [Page  8]
  468. \
  469. Draft              SNMPv3 Message Processing and Control model        May 1997
  470.  
  471.  
  472. 4. The SNMPv3 message format
  473.  
  474. This is the format of a message to be processed by the v3MPC.
  475.  
  476. DEFINITIONS ::= BEGIN
  477.  
  478. snmpV3Message ::= SEQUENCE {
  479.         -- administrative parameters (globalData)
  480.         version    INTEGER { snmpv3 (3) },
  481.         msgID      INTEGER (0..2147483647),
  482.         mms        Integer32 (484..2147483647),
  483.  
  484.         msgFlags OCTET STRING (SIZE(1)),
  485.                    --  .... ..00   noAuth/noPriv
  486.                    --  .... ..01   auth/noPriv
  487.                    --  .... ..10   auth/priv
  488.                    --  .... ..11   reserved
  489.                    --  .... .1..   reportableFlag
  490.                    --  .... 1...   reportFlag
  491.  
  492.         securityModel SnmpSecurityModel,
  493.  
  494.         -- security model-specific parameters
  495.         -- format defined by Security Model
  496.         securityParameters OCTET STRING (SIZE(0..2048)),
  497.  
  498.         -- local-processing model-specific data
  499.         data  ScopedPduData
  500.     }
  501.  
  502.     ScopedPduData ::= CHOICE {
  503.             plaintext ScopedPDU,
  504.             encrypted OCTET STRING    -- encrypted value
  505.         }
  506.  
  507.     scopedPDU ::= SEQUENCE {
  508.             contextEngineID  OCTET STRING (SIZE(0|12)),
  509.             contextName OCTET STRING (SIZE(0..32)),
  510.             data
  511.                 ANY -- e.g. PDUs as defined in RFC1905
  512.         }
  513. END
  514.  
  515. 4.1. SNMP version
  516.  
  517. The SNMP version field set to snmpv3(3) identifies the message as
  518. an snmpV3Message.
  519.  
  520. 4.2. msgID
  521.  
  522. The msgID is used by the v3MPC to coordinate the processing of the
  523.  
  524.  
  525.  
  526. Harrington/Case         Expires November 1977        [Page  9]
  527. \
  528. Draft              SNMPv3 Message Processing and Control model        May 1997
  529.  
  530.  
  531. message by different subsystem models within the architecture.
  532.  
  533. Note that the request-id [RFC1905] used during local processing
  534. identifies the request, not the message that carried the request,
  535. and therefore might not be equal to the msgID.
  536.  
  537. 4.3. MMS
  538.  
  539. The maximum message size supported by the sender of the message.
  540. That is the maximum message size that the sender can accept when
  541. another SNMP engine sends an SNMP message (be it a response or
  542. any other message) to the sender of this message.
  543.  
  544. When a request message is being generated, the MMS is provided by
  545. the engine which generates the message. When a response message is
  546. being generated, the MMS from the request message is used by the v3MPC
  547. to determine the maximum size that is acceptable to send.
  548.  
  549. 4.4. msgFlags
  550.  
  551. The msgFlags field contains flags to control the processing of the
  552. message.
  553.  
  554. If the reportableFlag is set, then reportPDUs are allowed to be
  555. returned to the sender under those conditions which cause the
  556. generation of reportPDUs. If the reportableFlag is zero, then a
  557. reportPDU must not be sent. The reportableFlag should always be zero
  558. when the message is a report, a response, or a trap.
  559.  
  560. The reportFlag is set for report-PDUs so that the v3MPC can recognize
  561. such a reportPDU and process it internally.
  562.  
  563. It is the v3MPC module that generates and processes reportPDUs.
  564.  
  565. If the auth flag is set, then the security implementation is required
  566. to identify the securityIdentity on whose behalf a request is generated
  567. and to authenticate such identification. If the auth flag is zero,
  568. authentication of the securityIdentity is not required.
  569.  
  570. If the priv flag is set, then the security implementation is required
  571. to protect the data within an SNMP operation from disclosure, i.e. to
  572. encrypt the data. If the priv flag is zero, then the security
  573. implementation does not need to protect the data using encryption.
  574.  
  575. It is an explicit requirement of the SNMP Architecture that if privacy
  576. is selected, then authentication of the identification is required,
  577. i.e. priv flag can only be set if auth flag is also set.
  578.  
  579. The combination of the auth flag and the priv flag comprises a Level
  580. of Security (LoS), as defined in [SNMP-ARCH].
  581.  
  582.  
  583.  
  584.  
  585. Harrington/Case         Expires November 1977        [Page 10]
  586. \
  587. Draft              SNMPv3 Message Processing and Control model        May 1997
  588.  
  589.  
  590. 4.5. securityModel
  591.  
  592. The v3MPC supports the concurrent existence of multiple security
  593. models to provide security services for snmpV3Messages. The
  594. securityModel identifies which security model should be used to
  595. provide security processing for the message. The mapping to the
  596. appropriate implementation within an SNMP messageEngine is done
  597. in an implementation-dependent manner.
  598.  
  599. 4.6. security parameters
  600.  
  601. This octet string is not interpreted by the v3MPC. This abstract data
  602. element is used by the v3MPC to transfer security-model-specific data
  603. from the snmpV3Message to the security subsystem model indicated by the
  604. securityModel field in the message. This data is used exclusively by
  605. the security model, and the contents and format of the data is defined
  606. by the security model.
  607.  
  608. 4.7. scopedPDU
  609.  
  610. A scopedPDU contains a PDU and information to identify an
  611. administratively unique context. The object identifiers
  612. in the PDU refer to managed objects which are expected to be
  613. accessible within the specified context.
  614.  
  615. 4.7.1. contextEngineID
  616.  
  617. A contextEngineID is the unique identifier of the SNMP contextEngine
  618. that has access to the managed objects referenced in the PDUs.
  619.  
  620. The v3MPC will compare the contextEngineID to the registered
  621. contextEngineIDs to determine to which application the scopedPDU
  622. should be forwarded.
  623.  
  624. 4.7.2. contextName
  625.  
  626. This is the name of the locally-unique context, within the engine
  627. specified by the contextEngineID, which realizes the managed objects
  628. referenced within the PDUs.
  629.  
  630. 4.7.3. data
  631.  
  632. The data contains the PDUs. The v3MPC specifies that the PDUs are
  633. those as specified in RFC1905.
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644. Harrington/Case         Expires November 1977        [Page 11]
  645. \
  646. Draft              SNMPv3 Message Processing and Control model        May 1997
  647.  
  648.  
  649. 5. Services of the SNMP Message Processing and Control Model
  650.  
  651. 5.1. Services of the MPC Selection process
  652.  
  653. 5.1.1. Receiving an SNMP message from the network
  654.  
  655. The MPC Selection process when it receives an SNMP message from the
  656. network first increments the snmpInPkts counter [RFC1907]. If the
  657. received message is not the serialization (according to the
  658. conventions of [RFC1906]) of a Message value, then the
  659. snmpInASNParseErrs counter [RFC1907] is incremented, and the message
  660. is discarded without further processing.
  661.  
  662. The MPC Selection process determines the SNMP version of an incoming
  663. message. If the version is not supported by this SNMP messageEngine
  664. (e.g. there is no version-specific MPC for this version) then the
  665. snmpInBadVersions counter [RFC1907] is incremented, and the message
  666. is discarded without further processing.
  667.  
  668. Based on the SNMP version of the message, the MPC passes the message
  669. on to the appropriate version-specific MPC. Before doing so, it caches
  670. the origin network address information, so that a possible response
  671. can be sent back to the sender of the message.
  672.  
  673. 5.1.2. Sending an SNMP message onto the network
  674.  
  675. The MPC Selection process gets called by the version-specific MPC
  676. to send an SNMP message onto the network to a specified destination.
  677.  
  678. The MPC selection process sends the message to the specified
  679. destination. It then advises the calling version-specific MPC
  680. about the success or failure of the sending of the message.
  681.  
  682. 5.2. Services of the v3MPC Model
  683.  
  684. 5.2.1. Interacting with a Security Model to Protect against Threats
  685.  
  686. Several of the classical threats to network protocols are applicable
  687. to the network management problem and therefore would be applicable
  688. to any SNMP security model. These are described in [SNMP-ARCH].
  689.  
  690. 5.2.1.1. Receive SNMPv3 messages from the network
  691.  
  692. Upon receipt of an SNMPv3 message from the network (passed to the
  693. v3MPC by the MPC Selection process), this SNMPv3 Message Processing
  694. and Control model extracts and caches the version, msgID, MMS,
  695. and the msgFlags, determines the LoS, and determines where the block
  696. of security parameters start in the message.
  697.  
  698. The v3MPC, in an implementation-defined manner, establishes a
  699. mechanism for coordinating processing regarding this received
  700.  
  701.  
  702.  
  703. Harrington/Case         Expires November 1977        [Page 12]
  704. \
  705. Draft              SNMPv3 Message Processing and Control model        May 1997
  706.  
  707.  
  708. message, e.g. it may assign a "handle" to the message and it's
  709. cached data.
  710.  
  711. The SNMPv3 Message Processing and Control model passes the various
  712. header fields. the LoS, the whole message and it's length, and the
  713. block of security parameters to the implementation of the Security
  714. Model specified in the message header. The abstract service interface
  715. for this is:
  716.  
  717.       processMsg(version, msgID, mms, msgFlags,
  718.                  securityModel, securityParameters,
  719.                  LoS, wholeMsg, wholeMsgLen)
  720.  
  721. The Security Model, after completion of its processing, returns to
  722. the Message Processing and Control implementation a status code and,
  723. if the message passed all security checks, a MIID, 
  724. a cachedSecurityDataReference, a scopedPDUmms, and the scopedPDU
  725. itself. The abstract service interface for this is:
  726.  
  727.       returnMsg(MIID, cachedSecurityDataReference,
  728.                 scopedPDUmms, scopedPDU, statusCode)
  729.  
  730. In the event of an error in security processing (as indicated by the
  731. statusCode), the v3MPC module updates the proper error counter,
  732. generates a reportPDU and discards the message without further
  733. processing.
  734.  
  735. If successful, the v3MPC adds the cachedSecurityDataReference
  736. to it's set of cached information.
  737.  
  738. If the reportFlag is set, then the v3MPC assumes that this is an 
  739. SNMPv3 error report and parses the reportPDU. It then takes 
  740. appropriate action (like resending the request in case of a 
  741. notInTimeWindows report or advising the original application about 
  742. a failed request).
  743.  
  744. If the reportFlag is not set, then the v3MPC determines if this 
  745. message is a response to an outstanding request. To do so it checks 
  746. if there is an outstanding request message for the msgID and
  747. contextEngineID contained in the message.
  748.  
  749. The v3MPC passes this message, together with an indication if this
  750. is a response message or not, to the MPC Multiplexing layer,
  751. which will determine what to do with the payload of the message.
  752. If this is a response message, then any cached data for this msgID
  753. is discarded, the message processing part of the transaction
  754. is complete.
  755.  
  756. If the Multiplexing layer returns an error in the statusCode, then
  757. an appropriate reportPDU is generated and the message (including
  758. any cached data) is discarded without further processing.
  759.  
  760.  
  761.  
  762. Harrington/Case         Expires November 1977        [Page 13]
  763. \
  764. Draft              SNMPv3 Message Processing and Control model        May 1997
  765.  
  766.  
  767.  
  768. 5.2.1.2. Send SNMPv3 messages to the network
  769.  
  770. The MPC Multiplexing Layer passes a request to the v3MPC to be sent
  771. out as an SNMPv3 message. The v3MPC interacts with the SNMPv3
  772. Security Model to secure the outgoing message. There are 2 types
  773. of SNMPv3 messages to consider:
  774.  
  775.   a. An SNMP request or notification. In this case, the abstract
  776.      service interface is:
  777.  
  778.           generateRequestMsg(version, msgID, mms, msgFlags,
  779.                              securityModel, securityParameters,
  780.                              LoS, MIID, engineID, scopedPDU)
  781.  
  782.      The v3MPC module fills out the globalData of the SNMPv3 message
  783.      before calling upon the generateRequestMsg service. It does so
  784.      as follows:
  785.           - the version is set to snmpv3 (3).
  786.           - a unique msgID is generated. It is best to use random
  787.             numbers for the msgID.
  788.           - the mms is set to the value of snmpEngineMaxMessageSize.0
  789.           - the msgFlags are set:
  790.             - the auth and priv flags are set according to the LoS
  791.               requested.
  792.             - the reportableFlag is set to 1
  793.             - the other bits of the msgFlags octet are set to zero.
  794.           - the securityModel is set to SnmpV3UsecModel
  795.  
  796.   b. An SNMP response. In this case, the abstract service interface is:
  797.  
  798.           generateResponseMsg(version, msgID, mms, msgFlags,
  799.                               securityModel, securityParameters,
  800.                               scopedPDU, cachedSecurityDataReference)
  801.  
  802.      The v3MPC module fills out the global data based on the cached
  803.      information it saved from the incoming request to which this is
  804.      a response. The cachedSecurityDataReference is also picked up
  805.      from that cache.
  806.  
  807. The Security Model will construct the message, and return the completed
  808. message to the Message Processing and Control model. The abstract
  809. service interface is:
  810.  
  811.      returnGeneratedMsg(wholeMsg, wholeMsgLen, statusCode)
  812.  
  813. If the statusCode indicates success, then the v3MPC passes the
  814. completed message to the MPC Selection process for sending it to
  815. the destination. If the sending of the message succeeds, then the
  816. MPC Multiplexing Layer is advised that the sending of the SNMP
  817. message was successful.
  818.  
  819.  
  820.  
  821. Harrington/Case         Expires November 1977        [Page 14]
  822. \
  823. Draft              SNMPv3 Message Processing and Control model        May 1997
  824.  
  825.  
  826.  
  827. If the statusCode indicates an error, or if the actual sending of the
  828. message failed, then the MPC Multiplexing Layer is advised that the
  829. sending of the SNMP message failed.
  830.  
  831. If the message is a request, then the msgID, the target snmpEngineID
  832. and the target contextEngineID are saved in a cache, so that when a
  833. response is received, it can be matched up to an outstanding
  834. request.
  835.  
  836. 5.3. Services of the MPC Multiplexing Layer
  837.  
  838. 5.3.1. Application Registration for handling payloads (PDUs)
  839.  
  840. Applications must register, with the MPC multilexing layer, the 
  841. contextEngineIDs for which they wish to receive PDUs delivered
  842. in asynchronous messages.
  843. The abstract interfaces for this are:
  844.  
  845.        boolean register_contextEngineID(contextEngineID)
  846.  
  847.        unregister_contextEngineID(contextEngineID)
  848.  
  849. Only one application can register to provide asynchronous support
  850. for a contextEngineID. If a second one tries to register
  851. then a FAILED error code is returned. Otherwise a SUCCESS code is
  852. returned.
  853.  
  854. The unregister primitive does not return an error code. If unregister
  855. primitive is called for a non-registered contextEngineID, then the
  856. request is ignored.
  857.  
  858. 5.3.2. Sending the payload of an SNMP Message to an application
  859.  
  860. The MPC Model determines by which application a scopedPDU should 
  861. be processed.
  862.  
  863. If the message is a response to an outstanding request, then the
  864. response is passed to the application that issued the request.
  865. The abstract service interface for that is:
  866.  
  867.    processResponsePdu(contextEngineID, contextName, PDU, LoS,
  868.                       status_code)
  869.  
  870. If the message is not a response to an outstanding request,
  871. the MPC checks, in an implementation-dependent manner,
  872. which application registered for the contextEngineID contained
  873. in the scoped PDU. If no application registered for it, then
  874. the snmpMPCUnknownContextEngineIDs counter is incremented and an
  875. statusCode is returned to the calling version-specific MPC.
  876.  
  877.  
  878.  
  879.  
  880. Harrington/Case         Expires November 1977        [Page 15]
  881. \
  882. Draft              SNMPv3 Message Processing and Control model        May 1997
  883.  
  884.  
  885. Otherwise the registered application is called to handle the
  886. scopedPDU. The abstract service interface is:
  887.  
  888.    processPdu(contextEngineID, contextName, PDU, PDU-MMS,
  889.               LoS, securityModel, MIID, stateReference)
  890.  
  891. When such an application finishes processing the PDU they must return
  892. a statusCode and possibly a response. The abstract service interface 
  893. is:
  894.  
  895.    returnPdu(contextEngineID, contextName, PDU, LoS,
  896.              stateReference, statusCode)
  897.  
  898. If the statusCode indicates an error, then the stateReference data
  899. is discarded, a possible error counter is incremented and the error
  900. code is passed on to the version-specific MPC for further processing.
  901.  
  902. 5.3.3. Applications sending SNMP requests
  903.  
  904. When an application wants to send an SNMP request to another SNMP
  905. engine, it can call upon the services of the MPC Multiplexing Layer.
  906. The abstract service interface is:
  907.  
  908.    sendRequestPdu(TDomain, TAddress, snmpVersion,
  909.                   LoS, securityModel, MIID, contextEngineID,
  910.                   contextName, PDU)
  911.  
  912.  
  913. The MPC keeps state information about where the request came from and
  914. then passes the message up to the version-specific MPC for further
  915. processing.
  916.  
  917. When an application wants to send an SNMP message that will not 
  918. result in an SNMP response message (like a trap), it can call upon 
  919. the services of the MPC Multiplexing Layer. The abstract service 
  920. interface is:
  921.  
  922.    sendPdu(TDomain, TAddress, snmpVersion,
  923.            LoS, securityModel, MIID, contextEngineID,
  924.            contextName, PDU)
  925.  
  926. The MPC passes the message on to the version-specific MPC and then
  927. discards the information.
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939. Harrington/Case         Expires November 1977        [Page 16]
  940. \
  941. Draft              SNMPv3 Message Processing and Control model        May 1997
  942.  
  943.  
  944. 6. Definitions
  945.  
  946. 6.1. Definitions for the SNMP Message Processing and Control Model
  947.  
  948. SNMP-MPC-MIB DEFINITIONS ::= BEGIN
  949.  
  950. IMPORTS
  951.     MODULE-IDENTITY, OBJECT-TYPE, snmpModules,
  952.     Counter32                                  FROM SNMPv2-SMI;
  953.     TEXTUAL-CONVENTION, 
  954.     TDomain, TAddress                          FROM SNMPv2-TC;
  955.     MODULE-COMPLIANCE, OBJECT-GROUP            FROM SNMPv2-CONF;
  956.     snmpEngineID, SnmpSecurityModel, 
  957.     SnmpAdminString                            FROM IMF-MIB;
  958.  
  959.  
  960. snmpMPCMIB MODULE-IDENTITY
  961.     LAST-UPDATED "9706170000Z"     -- 17 June 1997, midnight
  962.     ORGANIZATION "SNMPv3 Working Group"
  963.     CONTACT-INFO "WG-email:   snmpv3@tis.com
  964.                   Subscribe:  majordomo@tis.com
  965.                               In message body:  subscribe snmpv3
  966.  
  967.                   Chair:      Russ Mundy
  968.                               Trusted Information Systems
  969.                   postal:     3060 Washington Rd
  970.                               Glenwood MD 21738
  971.                   email:      mundy@tis.com
  972.                   phone:      301-854-6889
  973.  
  974.                   Co-editor:  Dr. Jeffrey Case
  975.                               Snmp Research International, Inc.
  976.                   postal:
  977.                   phone:
  978.  
  979.                   Co-editor   Dave Harrington
  980.                               Cabletron Systems, Inc
  981.                   postal:     Post Office Box 5005
  982.                               MailStop: Durham
  983.                               35 Industrial Way
  984.                               Rochester NH 03867-5005
  985.                   email:      dbh@cabletron.com
  986.                   phone:      603-337-7357
  987.  
  988.                   Co-editor:  Bert Wijnen
  989.                               IBM T. J. Watson Research
  990.                   postal:     Schagen 33
  991.                               3461 GL Linschoten
  992.                               Netherlands
  993.                   email:      wijnen@vnet.ibm.com
  994.                   phone:      +31-348-432-794
  995.  
  996.  
  997.  
  998. Harrington/Case         Expires November 1977        [Page 17]
  999. \
  1000. Draft              SNMPv3 Message Processing and Control model        May 1997
  1001.  
  1002.  
  1003.  
  1004.                  "
  1005.     DESCRIPTION  "The snmp MPC MIB"
  1006.     ::= { snmpModules xx }
  1007.  
  1008. -- Administrative assignments
  1009.  
  1010. snmpMPCMIBObjects      OBJECT IDENTIFIER ::= { snmpMPCMIB 1 }
  1011. snmpMPCMIBConformance  OBJECT IDENTIFIER ::= { snmpMPCMIB 2 }
  1012.  
  1013. -- Statistics for MPC Model ******************************************
  1014.  
  1015. snmpMPCStats           OBJECT IDENTIFIER ::= { snmpMPCMIBObjects 1 }
  1016.  
  1017. snmpMPCStatsUnknownContextEngineIDs OBJECT-TYPE
  1018.     SYNTAX       Counter32
  1019.     MAX-ACCESS   read-only
  1020.     STATUS       current
  1021.     DESCRIPTION "The total number of packets received by the SNMP
  1022.                  engine which were dropped because they referenced a
  1023.                  contextEngineID that was not known to the engine
  1024.                  (e.g. was not registered by any application).
  1025.                 "
  1026.     ::= { snmpMPCStats 1 }
  1027.  
  1028. snmpMPCStatsUnsupportedLoS OBJECT-TYPE
  1029.     SYNTAX       Counter32
  1030.     MAX-ACCESS   read-only
  1031.     STATUS       current
  1032.     DESCRIPTION "The total number of packets received by the SNMP
  1033.                  engine which were dropped because they requested a
  1034.                  Level of Security that was unknown to the engine or
  1035.                  otherwise unavailable.
  1036.                 "
  1037.     ::= { snmpMPCStats 2 }
  1038.  
  1039. snmpMPCStatsNotInTimeWindows OBJECT-TYPE
  1040.     SYNTAX       Counter32
  1041.     MAX-ACCESS   read-only
  1042.     STATUS       current
  1043.     DESCRIPTION "The total number of packets received by the SNMP
  1044.                  engine which were dropped because they appeared
  1045.                  outside of the engine's window.
  1046.                 "
  1047.     ::= { snmpMPCStats 3 }
  1048.  
  1049. snmpMPCStatsUnknownSecurityIdentities OBJECT-TYPE
  1050.     SYNTAX       Counter32
  1051.     MAX-ACCESS   read-only
  1052.     STATUS       current
  1053.     DESCRIPTION "The total number of packets received by the SNMP
  1054.  
  1055.  
  1056.  
  1057. Harrington/Case         Expires November 1977        [Page 18]
  1058. \
  1059. Draft              SNMPv3 Message Processing and Control model        May 1997
  1060.  
  1061.  
  1062.                  engine which were dropped because they referenced a
  1063.                  security model specific securityIdentity that was
  1064.                  not known to the engine.
  1065.                 "
  1066.     ::= { snmpMPCStats 4 }
  1067.  
  1068.  
  1069. snmpMPCStatsAuthenticationErrors OBJECT-TYPE
  1070.     SYNTAX       Counter32
  1071.     MAX-ACCESS   read-only
  1072.     STATUS       current
  1073.     DESCRIPTION "The total number of packets received by the SNMP
  1074.                  engine which were dropped because they could not be
  1075.                  authenticated (i.e. the MAC did not match).
  1076.                 "
  1077.     ::= { snmpMPCStats 5 }
  1078.  
  1079. snmpMPCStatsPrivacyErrors OBJECT-TYPE
  1080.     SYNTAX       Counter32
  1081.     MAX-ACCESS   read-only
  1082.     STATUS       current
  1083.     DESCRIPTION "The total number of packets received by the SNMP
  1084.                  engine which were dropped because they could not be
  1085.                  decrypted.
  1086.                 "
  1087.     ::= { snmpMPCStats 6 }
  1088.  
  1089. -- Conformance information
  1090.  
  1091. snmpMPCMIBCompliances  OBJECT IDENTIFIER ::=
  1092.                                  { snmpMPCMIBConformance 1 }
  1093. snmpMPCMIBGroups       OBJECT IDENTIFIER ::=
  1094.                                  { snmpMPCMIBConformance 2 }
  1095.  
  1096.  
  1097. -- Compliance statements
  1098.  
  1099. snmpMPCMIBCompliance MODULE-COMPLIANCE
  1100.     STATUS       current
  1101.     DESCRIPTION "The compliance statement for SNMP entities which
  1102.                  implement the SNMP MPC MIB.
  1103.                 "
  1104.  
  1105.     MODULE    -- this module
  1106.         MANDATORY-GROUPS { snmpMPCBasicGroup }
  1107.  
  1108.     ::= { snmpMPCMIBCompliances 1 }
  1109.  
  1110. snmpMPCBasicGroup OBJECT-GROUP
  1111.     OBJECTS {
  1112.               snmpMPCStatsUnknownContextEngineIDs,
  1113.  
  1114.  
  1115.  
  1116. Harrington/Case         Expires November 1977        [Page 19]
  1117. \
  1118. Draft              SNMPv3 Message Processing and Control model        May 1997
  1119.  
  1120.  
  1121.               snmpMPCStatsUnsupportedLoS,
  1122.               snmpMPCStatsNotInTimeWindows,
  1123.               snmpMPCStatsUnknownSecurityIdentities,
  1124.               snmpMPCStatsAuthenticationErrors,
  1125.               snmpMPCStatsPrivacyErrors
  1126.             }
  1127.     STATUS       current
  1128.     DESCRIPTION "A collection of objects providing for remote monitoring
  1129.                  of an implementation of an SNMP Message Processing and
  1130.                  Control model.
  1131.                 "
  1132.     ::= { snmpMPCMIBGroups 1 }
  1133.  
  1134. END
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175. Harrington/Case         Expires November 1977        [Page 20]
  1176. \
  1177. Draft              SNMPv3 Message Processing and Control model        May 1997
  1178.  
  1179.  
  1180. 7. Security Consideration
  1181.  
  1182. The SNMP Message Processing and Control model coordinates the
  1183. processing of messages to provide a level of security for network
  1184. management messages and to direct the SNMP Message Payload to
  1185. the proper SNMP application.
  1186.  
  1187. The level of security actually provided is primarily determined by
  1188. the specific Security Model implementations and the specific
  1189. SNMP application implementations incorporated into this framework.
  1190. Applications have access to data which is not secured. Applications
  1191. should take reasonable steps to protect the data from disclosure, and
  1192. when they send data across the network, they should obey the LoS and
  1193. call upon the Access Control Model services to apply access control.
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234. Harrington/Case         Expires November 1977        [Page 21]
  1235. \
  1236. Draft              SNMPv3 Message Processing and Control model        May 1997
  1237.  
  1238.  
  1239. 8. Glossary
  1240.  
  1241. LoS 
  1242. MIID
  1243. MMS
  1244. MPC
  1245. PDU
  1246. SNMP
  1247. ScopedPDU
  1248. ScopedPduData
  1249. SnmpAdminString
  1250. SnmpSecurityModel
  1251. SnmpV3UsecModel
  1252. TAddress
  1253. TDomain
  1254. USEC
  1255. auth
  1256. cachedSecurityDataReference
  1257. contextEngine
  1258. contextEngineID
  1259. contextName
  1260. engineID
  1261. generateRequestMsg
  1262. generateResponseMsg
  1263. globalData
  1264. meesageEngine
  1265. messageEngine
  1266. MIID
  1267. mms
  1268. msgFlags
  1269. msgID
  1270. noAuth
  1271. noPriv
  1272. notInTimeWindows
  1273. orangelets
  1274. plaintext
  1275. priv
  1276. processMsg
  1277. processPdu
  1278. processResponsePdu
  1279. reportFlag
  1280. reportPDU
  1281. reportPDUs
  1282. reportableFlag
  1283. responsePDU
  1284. returnGeneratedMsg
  1285. returnMsg
  1286. returnPdu
  1287. scopedPDU
  1288. scopedPDUmms
  1289. securityIdentity
  1290.  
  1291.  
  1292.  
  1293. Harrington/Case         Expires November 1977        [Page 22]
  1294. \
  1295. Draft              SNMPv3 Message Processing and Control model        May 1997
  1296.  
  1297.  
  1298. securityModel
  1299. securityParameters
  1300. sendPdu
  1301. sendRequestPdu
  1302. snmpEngineID
  1303. snmpEngineMaxMessageSize.0
  1304. snmpModules
  1305. snmpV3Message
  1306. snmpV3Messages
  1307. snmpVersion
  1308. snmpv3
  1309. stateReference
  1310. statsCounter
  1311. statusCode
  1312. v1MPC - an MPC model designed to be compatible with RFC1157 
  1313. v2cMPC - an MPC model designed to be compatible with RFC1901 
  1314. v3MPC - the MPC model described in this document
  1315. wholeMsg - a complete message 
  1316. wholeMsgLen - the length of a complete message
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352. Harrington/Case         Expires November 1977        [Page 23]
  1353. \
  1354. Draft              SNMPv3 Message Processing and Control model        May 1997
  1355.  
  1356.  
  1357. 9. References
  1358.  
  1359. [RFC1901] The SNMPv2 Working Group, Case, J., McCloghrie, K.,
  1360.      Rose, M., and S., Waldbusser, "Introduction to
  1361.      Community-based SNMPv2", RFC 1901, January 1996.
  1362.  
  1363. [RFC1902] The SNMPv2 Working Group, Case, J., McCloghrie, K.,
  1364.      Rose, M., and S., Waldbusser, "Structure of Management
  1365.      Information for Version  2 of the Simple Network Management
  1366.      Protocol (SNMPv2)", RFC 1902, January 1996.
  1367.  
  1368. [RFC1905] The SNMPv2 Working Group, Case, J., McCloghrie, K.,
  1369.      Rose, M., and S., Waldbusser, "Protocol Operations for
  1370.      Version 2 of the Simple Network Management Protocol (SNMPv2)",
  1371.      RFC 1905, January 1996.
  1372.  
  1373. [RFC1906] The SNMPv2 Working Group, Case, J., McCloghrie, K.,
  1374.      Rose, M., and S. Waldbusser, "Transport Mappings for
  1375.      Version 2 of the Simple Network Management Protocol (SNMPv2)",
  1376.      RFC 1906, January 1996.
  1377.  
  1378. [RFC1907] The SNMPv2 Working Group, Case, J., McCloghrie, K.,
  1379.      Rose, M., and S. Waldbusser, "Management Information Base for
  1380.      Version 2 of the Simple Network Management Protocol (SNMPv2)",
  1381.      RFC 1907 January 1996.
  1382.  
  1383. [RFC1908] The SNMPv2 Working Group, Case, J., McCloghrie, K.,
  1384.      Rose, M., and S. Waldbusser, "Coexistence between Version 1
  1385.      and Version 2 of the Internet-standard Network Management
  1386.      Framework", RFC 1908, January 1996.
  1387.  
  1388. [SNMP-ARCH] The SNMPv3 Working Group, Harrington, D., Wijnen, B.,
  1389.      "An Architecture for describing Internet Management Frameworks",
  1390.      draft-ietf-snmpv3-next-gen-arch-02.txt, June 1997.
  1391.  
  1392. [SNMPv3-MPC] The SNMPv3 Working Group, Wijnen, B., Harrington, D.,
  1393.      "Message Processing and Control Model for version 3 of the Simple
  1394.      Network Management Protocol (SNMPv3)",
  1395.      draft-ietf-snmpv3-mpc-01.txt, June 1997.
  1396.  
  1397. [SNMPv3-ACM] The SNMPv3 Working Group, Wijnen, B., Harrington, D.,
  1398.      "Access Control Model for Version 3 of the Simple Network
  1399.      Management Protocol (SNMPv3)", draft-ietf-snmpv3-acm-00.txt,
  1400.      June 1997.
  1401.  
  1402. [SNMPv3-USEC] The SNMPv3 Working Group, Blumenthal, U., Wijnen, B.
  1403.      "User-Based Security Model for version 3 of the Simple Network
  1404.      Management Protocol (SNMPv3)",
  1405.      draft-ietf-snmpv3-usec-01.txt, June 1997.
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411. Harrington/Case         Expires November 1977        [Page 24]
  1412. \
  1413. Draft              SNMPv3 Message Processing and Control model        May 1997
  1414.  
  1415.  
  1416. 10. Editor's Addresses
  1417.  
  1418.    Co-editor:  Dr. Jeffrey Case
  1419.                Snmp Research International, Inc.
  1420.    postal:
  1421.    email:      case@snmp.com
  1422.                phone:
  1423.  
  1424.    Co-editor   Dave Harrington
  1425.                Cabletron Systems, Inc
  1426.    postal:     Post Office Box 5005
  1427.                MailStop: Durham
  1428.                35 Industrial Way
  1429.                Rochester NH 03867-5005
  1430.    email:      dbh@cabletron.com
  1431.    phone:      603-337-7357
  1432.  
  1433.    Co-editor:  Bert Wijnen
  1434.                IBM T. J. Watson Research
  1435.    postal:     Schagen 33
  1436.                3461 GL Linschoten
  1437.                Netherlands
  1438.    email:      wijnen@vnet.ibm.com
  1439.    phone:      +31-348-432-794
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470. Harrington/Case         Expires November 1977        [Page 25]
  1471. \
  1472. Draft              SNMPv3 Message Processing and Control model        May 1997
  1473.  
  1474.  
  1475. 11. Acknowledgements
  1476.  
  1477. This document builds on the work of the SNMP Security and
  1478. Administrative Framework Evolution team, comprised of
  1479.  
  1480.     David Harrington (Cabletron Systems Inc.)
  1481.     Jeff Johnson (Cisco)
  1482.     David Levi (SNMP Research Inc.)
  1483.     John Linn (Openvision)
  1484.     Russ Mundy (Trusted Information Systems) chair
  1485.     Shawn Routhier (Epilogue)
  1486.     Glenn Waters (Nortel)
  1487.     Bert Wijnen (IBM T.J. Watson Research)
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.  
  1526.  
  1527.  
  1528.  
  1529. Harrington/Case         Expires November 1977        [Page 26]
  1530. \
  1531. Draft              SNMPv3 Message Processing and Control model        May 1997
  1532.  
  1533.  
  1534. Table of Contents
  1535.  
  1536. 0. Issues                                                              3
  1537. 0.1. Change Log                                                        3
  1538. 1. Introduction                                                        5
  1539. 2. Overview                                                            6
  1540. 2.1. MPC External Interface                                            6
  1541. 2.2. MPC Abstract Service Interface                                    6
  1542. 3. Transport Mappings                                                  8
  1543. 4. The SNMPv3 message format                                           9
  1544. 4.1. SNMP version                                                      9
  1545. 4.2. msgID                                                             9
  1546. 4.3. MMS                                                              10
  1547. 4.4. msgFlags                                                         10
  1548. 4.5. securityModel                                                    11
  1549. 4.6. security parameters                                              11
  1550. 4.7. scopedPDU                                                        11
  1551. 4.7.1. contextEngineID                                                11
  1552. 4.7.2. contextName                                                    11
  1553. 4.7.3. data                                                           11
  1554. 5. Services of the SNMP Message Processing and Control Model          12
  1555. 5.1. Services of the MPC Selection process                            12
  1556. 5.1.1. Receiving an SNMP message from the network                     12
  1557. 5.1.2. Sending an SNMP message onto the network                       12
  1558. 5.2. Services of the v3MPC Model                                      12
  1559. 5.2.1. Interacting with a Security Model to Protect against Threats   12
  1560. 5.2.1.1. Receive SNMPv3 messages from the network                     12
  1561. 5.2.1.2. Send SNMPv3 messages to the network                          14
  1562. 5.3. Services of the MPC Multiplexing Layer                           15
  1563. 5.3.1. Application Registration for handling payloads (PDUs)          15
  1564. 5.3.2. Sending the payload of an SNMP Message to an application       15
  1565. 5.3.3. Applications sending SNMP requests                             16
  1566. 6. Definitions                                                        17
  1567. 6.1. Definitions for the SNMP Message Processing and Control Model    17
  1568. 7. Security Consideration                                             21
  1569. 8. Glossary                                                           22
  1570. 9. References                                                         24
  1571. 10. Editor's Addresses                                                25
  1572. 11. Acknowledgements                                                  26
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590. Harrington/Case         Expires November 1977        [Page 27]
  1591.