Internet Engineering Task Force R.G. Cole
Internet-Draft US Army CERDEC
Intended status: Experimental J.M. Macker
Expires: May 09, 2013 Naval Research Laboratory
A. Bierman
YumaWorks, Inc.
November 05, 2012

Definition of Managed Objects for Performance Reporting
draft-ietf-manet-report-mib-03

Abstract

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes objects for configuring autonomous report generation on any device that supports MIBs containing counter and gauge objects for performance monitoring. This allows a management station to instruct a device to build off-line reports to be collected asynchronously by the management station. Further, this REPORT-SAMPLED-MIB can be configured in a proxy configuration where the report generation is performed on a device in close network proximity to the device containing the referenced counter objects. Hence, this capability allows network operators to reduce the SNMP polling traffic burden on Mobile Ad-Hoc and Disruption Tolerant Networks which is typical of SNMP performance management applications.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http:/⁠/⁠datatracker.ietf.org/⁠drafts/⁠current/⁠.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on May 09, 2013.

Copyright Notice

Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http:/⁠/⁠trustee.ietf.org/⁠license-⁠info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.


Table of Contents

1. Introduction

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes objects for configuring autonomous, off-line report generation for performance monitoring on any device supporting MIBs containing variables that resolve to type Integer32 (i.e., Integer32, Counter, Gauge, or TimeTicks). This REPORT-SAMPLED-MIB allows for the report generation to occur on the same device as containing the referenced counter object or on a device in close network proximity to the device with the referenced counter object. This should be useful to devices or networks where efficient use of bandwidth is of concern or where intermittent connectivity is common. Hence, the REPORT-SAMPLED-MIB is useful for devices managed over some Mobile Ad-Hoc Networks (MANETs) or Disruption Tolerant Networks (DTNs).

This version of the REPORT-SAMPLED-MIB offers one type of off-line reporting. The MIB offers a means to collect sampled data related to defined MIB objects. This type of reporting is contained in the reportSampledGroup. Other types of report data are possible, including statistical data and historical data. However, it was felt wise to focus on a more limited scope off-line reporting capability and gain experimental use and application prior to expending energy developing a more extensive capability.

For the collection of sampled data, the REPORT-SAMPLED-MIB draws directly from the usrHistoryGroup from RMON 2 [RFC2021] through application of the 'AUGMENTS' clause. . Here the reportSampledControlTable allows the user to define aspects of the report for sampled data, including the number of MIB objects to be sampled and the nature of the sampling frequency and overall report duration. This group uses the notion of buckets, which contain sampled data from a set of identified MIB objects sampled at the same time point. The report consists of the buckets, each containing sets of sampled data from the selected MIB objects but at the specific sampling times. The reportSampledObjectTable allows the user to identify the multiple MIB objects to be sampled. The reportSampledDataTable contains the storage of the reported sampled data contained within buckets, one bucket for each time sampling instance.

2. The Internet-Standard Management Framework

For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 [RFC3410].

Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580].

3. Conventions

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].

4. Overview

The REPORT-SAMPLED-MIB references performance objects in other MIBs (and in other devices) and generates off-line performance reports related to those referenced objects. The REPORT-SAMPLED-MIB can be coincident with the other MIB or can reside on another device in close network proximity to the device containing the referenced performance related object.

4.1. REPORT-SAMPLED-MIB Management Model

This section describes the management model for the REPORT-SAMPLED-MIB process.

Figure 1 illustrates a potential use of the REPORT-SAMPLED-MIB for the generation of off-line, remotely generated reports. The management station on the left hand side of the illustration instructs the remote device to create reports through manipulation of the ReportCntrl Objects in the REPORT-SAMPLED-MIB resident on the remote device. The reports instruct the device to monitor the status of specified counters (on other MIBs and potentially on other devices in close network proximity) periodically. The reports are stored locally until the management station decides to pull them off the device. The figure shows a case where the REPORT-SAMPLED-MIB generates a notification that Report_2 has completed, prompting the management station to pull Report_2 from the device.

Mgmt       Device
Station
                       REPORT-SAMPLED-MIB         MIB_1
                       +---------+        +-----+
                       |         |        |     |
 Build_Rep_1           |+-------+|        +--+  |
    +----------------->||cntrl_1||<------>|PC|  |
                       |+-------+|<-+     +--+--+
                       |         |  |
                       |         |  |     MIB_2
                       |         |  |     +-----+
                       |            |     |     |
                       |         |  |     +--+  |
                       |         |  +---->|PC|  |
 Build_Rep_2           |+-------+|    +-->+--+--+
    +----------------->||cntrl_2||<---+
                       |+-------+|
                       |         |
                       |         |
 Build_Rep_3           |+-------+|
    +----------------->||cntrl_3||<---+   MIB_n
                       |+-------+|    |   +-----+
                       |         |    |   |     |
                       |+-----+  |    |   +--+  |
                       ||Rep_1|  |    +-->|PC|  |
                       |+-----+  |        +--+--+
                       |         |
                       |+-----+  |
    <------------------||Rep_2|  |
 Notf_Rep_2            |+-----+  |
                       |         |
                       |+-----+  |
                       ||Rep_3|  |
                       |+-----+  |
 Get_Rep_2             |         |
    +----------------->|         |
                       |         |
    <-----------------+|         |
 Send_Rep_2            +---------+


Figure 1: REPORT-SAMPLED-MIB front-end report generation process.
           

This version of the REPORT-SAMPLED-MIB provides for the collection of sampled data instead of statistical data. It does this by augmenting the usrHistory group from RMON2 [RFC2021] which allows for the generation of reports collecting the sampled object values binned for the purpose of aggregation and efficiency of collection. These are defined within the reportSampledGroup. The model used for this type of report generation is based upon three tables. The reportSampledControlTable defines aspects of the report generation related to duration of the reporting interval, the bin (or bucket) sizes for the report, and the number of object values collected for each bucket. The reportUsrHistoryObjectTable identifies the specific MIB objects whose values are binned within the report. And the reportSampledDataTable contains the binned data values collected for the report.

4.2. Terms

The following definitions apply throughout this document:

5. Structure of the MIB Module

This section presents the structure of the REPORT-SAMPLED-MIB module. The objects are arranged into the following groups:

5.1. Textual Conventions

No textual conventions are used in the REPORT-SAMPLED-MIB.

5.2. The Sampled Group

The Sampled Group contains tables which allows for the development of reports based upon sampling the referenced counter objects at specified intervals. The development of this group within the REPORT-SAMPLED-MIB which augments the User History group from the RMON 2 MIB [RFC2021]. The Sampled Group is composed of:

5.3. The Notifications Group

The Notifications Sub-tree contains the list of notifications supported within the REPORT-SAMPLED-MIB and their intended purpose or utility. The single notification defined within this MIB module is the 'reportSampledNewDataReport'. This notification is sent by the agent upon completion of a given report on the device. The notification contains the following objects: 'usrHistoryControlOwner', the entity that configured this report entry, and the 'reportSampledReportIndex', the index of the data table for this report. Collectively, these objects allow the management application to pull the completed report from the agent.

5.4. Tables and Indexing

The REPORT-SAMPLED-MIB module contains a number of tables which record data related to:

The REPORT-SAMPLED-MIB module's tables are indexed via the following constructs:

These tables and their indexing are:

6. Relationship to Other MIB Modules

The text of this section specifies the relationship of the MIB modules contained in this document to other standards, particularly to standards containing other MIB modules. Definitions imported from other MIB modules and other MIB modules that SHOULD be implemented in conjunction with the MIB module contained within this document are identified in this section.

6.1. Relationship to the SNMPv2-MIB

The 'system' group in the SNMPv2-MIB [RFC3418] is defined as being mandatory for all systems, and the objects apply to the entity as a whole. The 'system' group provides identification of the management entity and certain other system-wide data. The REPORT-SAMPLED-MIB does not duplicate those objects.

6.2. Relationship to the RMON2-MIB

The REPORT-SAMPLED-MIB is closely related to the RMON2-MIB [RFC2021] usrHistoryGroup. Specifically, the reportSampledGroup is a direct copy of the RMON2 User History Group, with the names changed to comply with the naming conventions within the REPORT-SAMPLED-MIB. Further, the design and use of the control tables within the REPORT-SAMPLED-MIB draw exactly from the definition of these table structures in the earlier RMON MIBs through the use of the 'AUGMENTS' clause within the 'reportSampledControlTable' and the 'reportSampledTable' in this MIB module.

6.3. MIB modules required for IMPORTS

Citations are not permitted within a MIB module, but any module mentioned in an IMPORTS clause or document mentioned in a REFERENCE clause is a Normative reference, and must be cited someplace within the narrative sections. Therefore, the imported items in this MIB module, such as Textual Conventions, that are not already cited, are cited in this section. Since relationships to other MIB modules should be described in the narrative text, this section will cite modules from which Textual Conventions are imported.

The REPORT-SAMPLED-MIB module IMPORTS objects from SNMPv2-SMI [RFC2578], SNMPv2-TC [RFC2579], SNMPv2-CONF [RFC2580], IF-MIB [RFC2863], and INET-ADDRESS-MIB [RFC4001]. Significantly, the REPORT-SAMPLED-MIB module also IMPORTS objects from the RMON2-MIB module [RFC2021].

7. Definitions


REPORT-SAMPLED-MIB DEFINITIONS ::= BEGIN

IMPORTS

   MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
   Gauge32, Integer32, experimental
      FROM SNMPv2-SMI                          -- [RFC2578]

   TimeStamp
      FROM SNMPv2-TC                           -- [RFC2579]

   MODULE-COMPLIANCE, OBJECT-GROUP, 
   NOTIFICATION-GROUP
      FROM SNMPv2-CONF                         -- [RFC2580]

   usrHistoryControlEntry, usrHistoryObjectEntry,
   usrHistoryControlIndex, usrHistoryControlOwner, 
   usrHistoryObjectIndex
--   usrHistoryControlObjects, usrHistoryControlBucketsRequested,
--   usrHistoryControlBucketsGranted, usrHistoryControlInterval,
--   usrHistoryControlStatus, 
--   usrHistoryObjectVariable, usrHistoryObjectSampleType
      FROM RMON2-MIB                           -- [RFC2021]

   InetAddress, InetAddressType
      FROM INET-ADDRESS-MIB                    -- [RFC4001]
   ;

reportSampledMIB MODULE-IDENTITY
   LAST-UPDATED "201211051300Z"  -- November 05, 2012
   ORGANIZATION "IETF MANET Working Group"
   CONTACT-INFO
      "WG E-Mail: manet@ietf.org

       WG Chairs: sratliff@cisco.com
                  jmacker@nrl.navy.mil


       Editors:   Robert G. Cole
                  US Army CERDEC
                  6010 Frankford Road
                  Aberdeen Proving Ground, MD 21005
                  USA
                  +1 443 395-8744
                  robert.g.cole@us.army.mil

                  Joseph Macker
                  Naval Research Laboratory
                  Washington, D.C. 20375
                  USA
                  macker@itd.nrl.navy.mil

                  Andy Bierman
                  YumaWorks, Inc.
                  andy@yumaworks.com"
   DESCRIPTION
      "This MIB module contains managed object definitions for
       the autonmous reporting of performance object counters.  
       Copyright (C) The IETF Trust (2009). This version
       of this MIB module is part of RFC xxxx; see the RFC
       itself for full legal notices."

     -- Revision History
     REVISION    "201211051300Z"   -- November 05, 2012
     DESCRIPTION
        "The seventh draft of this MIB module published as
         draft-ietf-manet-report-mib-03.txt.

         Revisions to this draft include 
         a) Added a 'Tables and Indexing' section to the
            body of this document.
         b) Added an 'Applicability Statement' section
            to the body of this document."
     REVISION    "201201311300Z"   -- January 31, 2012
     DESCRIPTION
        "The sixth draft of this MIB module published as
         draft-ietf-manet-report-mib-02.txt.

         Revisions to this draft include 
         a) Pulled the statistical and historical reporting
            from the MIB module and left only the sampled
            reporting, in order to greatly simplify the
            first instance of this reporting MIB module.
         b) Renamed the module, the REPORT-SAMPLED-MIB 
            module.
         c) Leveraged the RMON2-MIB module more effectively
            through the use of the AUGMENTS clause.
         d) Changed the module to 'experimental'."
     REVISION    "201102171300Z"   -- February 17, 2011
     DESCRIPTION
        "The fifth draft of this MIB module published as
         draft-ietf-manet-report-mib-01.txt.  This document
         has been promoted to a MANET Working Group
         draft.  

         Revisions to this draft include 
         a) Proposed changes to the statsReport table to
            simplify communications between device and
            mgmt application,
         b) Added Notifications,
         c) Changed the reporting structure of the 
            Sampled and the History reporting
            to align with the structure of the
            Statistics reports for the purpose of
            allowing for efficient notification and 
            collection of data reports.
         d) Ran through smilint to clean up all errors
            and most warning.  A few still remain."
     REVISION    "201007051300Z"   -- July 05, 2010
     DESCRIPTION
        "The fourth draft of this MIB module published as
         draft-ietf-manet-report-mib-00.txt.  This document
         has been promoted to a MANET Working Group
         draft.  

         Significant revisions to this draft include 
         a) added support for proxy configurations through
         the addition of address objects associated with
         the referenced counter objects associated with the
         performance reports."
     REVISION    "201003021300Z"   -- March 02, 2010
     DESCRIPTION
        "The third draft of this MIB module published as
         draft-cole-manet-report-mib-02.txt.  Significant
         revisions to this draft include a) changed naming
         of usrHistoryGroup to sampledGroup and  b) added
         a historyGroup."
     REVISION    "200910251300Z"   -- October 25, 2009
     DESCRIPTION
        "The second draft of this MIB module published as
         draft-cole-manet-report-mib-01.txt.  Significant
         revisions to this draft include a) the inclusion of
         raw data collection borrow blatently from the
         usrHistory Group within RMON2, b) the deletion of
         the CurrentHistoryTable from version -00, 
         c) modifications to the overall structure of the
         MIB, and d) the definition of various Compliance
         options for implementations related to this MIB."
     REVISION    "200904281300Z"   -- April 28, 2009
     DESCRIPTION
        "Initial draft of this MIB module published as
         draft-cole-manet-report-mib-00.txt."
     -- RFC-Editor assigns XXXX
     ::= { experimental 998 }   -- to be assigned by IANA



-- TEXTUAL CONVENTIONs
-- None


--
-- Top-Level Object Identifier Assignments
--

reportSampledMIBNotifications OBJECT IDENTIFIER 
                              ::= { reportSampledMIB 0 }
reportSampledMIBObjects       OBJECT IDENTIFIER 
                              ::= { reportSampledMIB 1 }
reportSampledMIBConformance   OBJECT IDENTIFIER 
                              ::= { reportSampledMIB 2 }


reportSampledGroup            OBJECT IDENTIFIER 
                              ::= { reportSampledMIBObjects 1 }

--      Then, the reportSampledGroup assignments are :
--             reportSampledControlTable    - 1
--             reportSampledObjectTable     - 2   
--             reportSampledDataTable       - 3



reportSampledControlTable OBJECT-TYPE
    SYNTAX SEQUENCE OF SampledControlEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of data-collection configuration entries.
         This table augments the 'usrHistoryControlTable'
         from RMON2-MIB (RFC 2021)."
    REFERENCE
        "RFC 2021 - Remote Network Monitoring Management
         Information Base Version 2 (RMON2-MIB),
         Waldbusser, S., January 1997."
    ::= { reportSampledGroup 1 }


reportSampledControlEntry OBJECT-TYPE
    SYNTAX SampledControlEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of parameters that set up a group of user-defined
        MIB objects to be sampled periodically (called a
        bucket-group).

        For example, an instance of reportSampledControlInterval
        might be named reportSampledControlInterval.1"
    AUGMENTS { usrHistoryControlEntry }
    ::= { reportSampledControlTable 1 }

SampledControlEntry ::= SEQUENCE {
    reportSampledControlRequestedNumber   Integer32,
    reportSampledControlReportNumber      Integer32
}

reportSampledControlRequestedNumber OBJECT-TYPE
    SYNTAX Integer32 (1..127)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The number of reports to be generated and stored by this
         agent for this report request.  

        This object may not be modified if the associated
        reportSampledControlStatus object is equal to active(1)."
    DEFVAL { 1 }
    ::= { reportSampledControlEntry 1 }

reportSampledControlReportNumber OBJECT-TYPE
    SYNTAX Integer32 (1..127)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of the current report in progress.  The first
         report is assigned a number equal to '1'.  Each successive
         report number is incremented by unity.  When the last report
         is completed, this value is set to
         reportSampledControlRequestedNumber + 1."
    ::= { reportSampledControlEntry 2 }


-- Object table

reportSampledObjectTable OBJECT-TYPE
    SYNTAX SEQUENCE OF SampledObjectEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of data-collection configuration entries.
         This table augments the 'usrHistoryObjectTable'
         from the RMON2-MIB (RFC 2021)."
    REFERENCE
        "RFC 2021 - Remote Network Monitoring Management
         Information Base Version 2 (RMON2-MIB),
         Waldbusser, S., January 1997."
    ::= { reportSampledGroup 2 }

reportSampledObjectEntry OBJECT-TYPE
    SYNTAX SampledObjectEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of MIB instances to be sampled periodically.

        Entries in this table are created when an associated
        reportSampledControlObjects object is created.

        The usrHistoryControlIndex value in the index is
        that of the associated reportSampledControlEntry.

        For example, an instance of reportSampledObjectVariable 
        might be reportSampledObjectVariable.1.3"
    AUGMENTS { usrHistoryObjectEntry }
    ::= { reportSampledObjectTable 1 }

SampledObjectEntry ::= SEQUENCE {
    reportSampledObjectIpAddrType        InetAddressType,
    reportSampledObjectIPAddress         InetAddress
}

reportSampledObjectIpAddrType  OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This identifies the IP address type
        of the IP address associated with the
        secondary counter object to be
        monitored within this report.

        Only the values ipv4(1) and
        ipv6(2) are supported.

        This object may not be modified if the associated
        reportStatsControlStatus object is equal to active(1)."
    ::= { reportSampledObjectEntry 1 }   

reportSampledObjectIPAddress  OBJECT-TYPE
    SYNTAX      InetAddress (SIZE(4|16))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This identifies the IP addree of the
        secondary counter object to be
        monitored within this report.

        This object may not be modified if the associated
        reportStatsControlStatus object is equal to active(1)."
    ::= { reportSampledObjectEntry 2 }   


-- data table
reportSampledTable OBJECT-TYPE
    SYNTAX SEQUENCE OF SampledEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of user defined history entries."
    ::= { reportSampledGroup 3 }

reportSampledEntry OBJECT-TYPE
    SYNTAX SampledEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A historical sample of user-defined variables.  This sample
        is associated with the reportSampledControlEntry which set 
        up the parameters for a regular collection of these samples.

        The usrHistoryControlIndex value, from the RMON2-MIB
        (RFC 2021), in the index identifies the 
        reportSampledControlEntry on whose behalf this entry 
        was created.

        The usrHistoryObjectIndex value in the index identifies
        the reportSampledObjectEntry on whose behalf this entry 
        was created.

        For example, an instance of reportSampledAbsValue, which 
        represents the 14th sample of a variable collected as 
        specified by reportSampledControlEntry.1 and 
        reportSampledObjectEntry.1.5, would be named 
        reportSampledAbsValue.1.14.5"
    REFERENCE
        "RFC 2021 - Remote Network Monitoring Management
         Information Base Version 2 (RMON2-MIB),
         Waldbusser, S., January 1997."
    INDEX { usrHistoryControlIndex, reportSampledReportIndex,
            reportSampledSampleIndex, usrHistoryObjectIndex }
    ::= { reportSampledTable 1 }

SampledEntry ::= SEQUENCE {
    reportSampledReportIndex   Integer32,
    reportSampledReportID      Integer32,
    reportSampledSampleIndex   Integer32,
    reportSampledIntervalStart TimeStamp,
    reportSampledIntervalEnd   TimeStamp,
    reportSampledAbsValue      Gauge32,
    reportSampledValStatus     INTEGER
}

reportSampledReportIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..127)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An index that uniquely identifies the particular report
        this entry is associated with among the set of reports
        requested through the reportSampledControlNumber in the
        reportSampledControlEntry. This index starts at 1 and
        increases by one as each new report is generated."
    ::= { reportSampledEntry 1 }

reportSampledReportID OBJECT-TYPE
    SYNTAX     Integer32 (1..127)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "An ID that uniquely identifies the particular report
        this entry is associated with among the set of reports
        requested through the reportSampledControlNumber in the
        reportSampledControlEntry. This ID is set to equal the
        value of the reportSampledReportIndex."
    ::= { reportSampledEntry 2 }

reportSampledSampleIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..2147483647)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An index that uniquely identifies the particular sample this
        entry represents among all samples associated with the same
        reportSampledControlEntry. This index starts at 1 and
        increases by one as each new sample is taken."
    ::= { reportSampledEntry 3 }

reportSampledIntervalStart OBJECT-TYPE
    SYNTAX TimeStamp
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The value of sysUpTime at the start of the interval over
        which this sample was measured.  If the probe keeps track of
        the time of day, it should start the first sample of the
        history at a time such that when the next hour of the day
        begins, a sample is started at that instant.

        Note that following this rule may require the probe to delay
        collecting the first sample of the history, as each sample
        must be of the same interval. Also note that the sample which
        is currently being collected is not accessible in this table
        until the end of its interval."
    ::= { reportSampledEntry 4 }

reportSampledIntervalEnd OBJECT-TYPE
    SYNTAX TimeStamp
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The value of sysUpTime at the end of the interval over which
        this sample was measured."
    ::= { reportSampledEntry 5 }

reportSampledAbsValue OBJECT-TYPE
    SYNTAX Gauge32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The absolute value (i.e. unsigned value) of the
        user-specified statistic during the last sampling period. The
        value during the current sampling period is not made available
        until the period is completed.

        To obtain the true value for this sampling interval, the
        associated instance of reportSampledValStatus must 
        be checked, and reportSampledAbsValue adjusted as necessary.

        If the MIB instance could not be accessed during the sampling
        interval, then this object will have a value of zero and the
        associated instance of reportSampledValStatus will be set to
        'valueNotAvailable(1)'."
    ::= { reportSampledEntry 6 }


reportSampledValStatus OBJECT-TYPE
    SYNTAX INTEGER {
        valueNotAvailable(1),
        valuePositive(2),
        valueNegative(3)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This object indicates the validity and sign of the data in
        the associated instance of reportSampledAbsValue.

        If the MIB instance could not be accessed during the sampling
        interval, then 'valueNotAvailable(1)' will be returned.

        If the sample is valid and actual value of the sample is
        greater than or equal to zero then 'valuePositive(2)' is
        returned.

        If the sample is valid and the actual value of the sample is
        less than zero, 'valueNegative(3)' will be returned. The
        associated instance of reportSampledAbsValue should be
        multiplied by -1 to obtain the true sample value."
    ::= { reportSampledEntry 7 }



--
-- Notifications
--

reportSampledNotificationObjects OBJECT IDENTIFIER 
                                 ::= {reportSampledMIBNotifications 0}


   -- reportSampledNotificationObjects

   reportSampledNewDataReport NOTIFICATION-TYPE
          OBJECTS { usrHistoryControlOwner, -- The entity that
                             --   configured this entry
                    reportSampledReportID   -- The ID of the
                             --   data table for this report
                  }
          STATUS       current
          DESCRIPTION
             "reportSampledNewDataReport is a notification sent  
              when a new report is completed from the
              reportSampledControlTable.  The notification carries
              the index from the control table that established
              this report and the index from the data table that
              holds this report.  Indication of the new report
              is when the reportSampledControlReportNumber
              is incremented."
          ::= { reportSampledNotificationObjects 1 }



--
-- Compliance Statements
--

-- Mandatory for Sampled will include all.

reportSampledCompliances  OBJECT IDENTIFIER 
                          ::= { reportSampledMIBConformance 1 }
reportSampledMIBGroups    OBJECT IDENTIFIER 
                          ::= { reportSampledMIBConformance 2 }


reportSampledCompliance  MODULE-COMPLIANCE
   STATUS current
   DESCRIPTION "The Sampled basic implementation requirements for 
                managed network entities that implement
                the REPORT Sampled process." 
   MODULE  -- this module
   MANDATORY-GROUPS { reportSampledLocalGroup }
::= { reportSampledCompliances 1 }

reportSampledNotificationCompliance  MODULE-COMPLIANCE
   STATUS current
   DESCRIPTION "The Sampled Notification implementation 
                requirements for managed network entities 
                that implement the REPORT process." 
   MODULE  -- this module
   MANDATORY-GROUPS { reportSampledNotificationObjectGroup }
::= { reportSampledCompliances 2 }



-- Units of Conformance

reportSampledLocalGroup  OBJECT-GROUP
   OBJECTS {
            reportSampledControlRequestedNumber,
            reportSampledControlReportNumber,
            reportSampledObjectIpAddrType,
            reportSampledObjectIPAddress,
            reportSampledReportID,
            reportSampledIntervalStart,
            reportSampledIntervalEnd,
            reportSampledAbsValue,
            reportSampledValStatus
   }
   STATUS  current
   DESCRIPTION
      "Set of REPORT state objects implemented
       in this module."
::= { reportSampledMIBGroups 1 }

--reportSampledImportedGroup  OBJECT-GROUP
--   OBJECTS {
--            usrHistoryControlObjects,
--            usrHistoryControlBucketsRequested,
--            usrHistoryControlBucketsGranted,
--            usrHistoryControlInterval,
--            usrHistoryControlOwner,
--            usrHistoryControlStatus,
--            usrHistoryObjectVariable,
--            usrHistoryObjectSampleType
--   }
--   STATUS  current
--   DESCRIPTION
--      "Set of REPORT state objects implemented
--       in this module."
--::= { reportSampledMIBGroups 2 }

reportSampledNotificationObjectGroup  NOTIFICATION-GROUP
   NOTIFICATIONS {
            reportSampledNewDataReport
   }
   STATUS  current
   DESCRIPTION
      "Set of REPORT notifications implemented
       in this module for the Sampled reports."
::= { reportSampledMIBGroups 3 }

END

	

8. Security Considerations

This REPORT-SAMPLED-MIB defines a capability where the local device may poll other remote devices to collect performance data accessible through other MIB modules on the remote devices. These capabilities defined within the REPORT-SAMPLED-MIB are control-able by a network management application through SNMP. As such, a network management application could potentially use the REPORT-SAMPLED-MIB as a mechanism to implement a Distributed Denial-of-Service (DDoS) attack against remote devices. Care should be taken to secure access to the REPORT-SAMPLED-MIB agent. Specifically, access control mechanisms and authentication mechanisms (via SNMPv3) should always be used for SNMP SET operations. Further, some objects may contain data deemed sensitive and authentication and encryption mechanisms (via SNMPv3) should be used for SNMP GET operations.

There are a number of management objects defined in this MIB module with a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations.

These are the tables and objects and their sensitivity/vulnerability:

SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPSec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module.

It is RECOMMENDED that implementers consider the security features as provided by the SNMPv3 framework (see [RFC3410], section 8), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy).

Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them.

9. Applicability Statement

This document describes objects for configuring parameters of the remote report generation process on a router or close device. This MIB module, denoted REPORT-SAMPLED-MIB, also reports performance information and notifications. The REPORT-SAMPLED-MIB provides for the remote control, collection and notification of performance reports on devices. As such, it eliminates the need for periodic polling for counters from remote management stations as a means for generating performance reports. This is hoped to greatly reduce management overhead on the MANET. This sections provides some examples of how this MIB module can be used in MANET network deployments. A fuller discussion of MANET network management use cases and challenges will be provided elsewhere.

In the following, two scenarios are listed where this MIB module is useful, i.e.,

10. IANA Considerations

     The MIB module in this document uses the following IANA-assigned
     OBJECT IDENTIFIER values recorded in the SMI Numbers registry: 
      
     Descriptor        OBJECT IDENTIFIER value
     ----------        -----------------------

     reportSampledMIB  { experimental XXX }
      	

11. Contributors

This MIB document uses the template authored by D. Harrington which is based on contributions from the MIB Doctors, especially Juergen Schoenwaelder, Dave Perkins, C.M.Heard and Randy Presuhn.

12. Acknowledgements

We would like to thank Bert Wijnen for pointing out the existence of the usrHistory group within RMON2 and in answering our numerous questions on the usrHistory group. Further, we wish to thank U. Herberg for promoting additions to this MIB through his thoughtful consideration of performance monitoring requirements for other MIBs within the MANET WG, e.g., NHDP and OLSR MIBs.

13. References

13.1. Normative References

[RFC2021] Waldbusser, S., "Remote Network Monitoring Management Information Base Version 2 using SMIv2", RFC 2021, January 1997.
[RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", RFC 2863, June 2000.
[RFC3418] Presuhn, R., "Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)", STD 62, RFC 3418, December 2002.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2578] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
[RFC2579] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.
[RFC2580] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.
[RFC4001] Daniele, M., Haberman, B., Routhier, S. and J. Schoenwaelder, "Textual Conventions for Internet Network Addresses", RFC 4001, February 2005.

13.2. Informative References

[RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction and Applicability Statements for Internet-Standard Management Framework", RFC 3410, December 2002.

Appendix A. Change Log

Changes from draft-ietf-manet-report-mib-01 to draft-ietf-manet-report-mib-02 draft.

  1. Stripped the Statistical and the Historical Reports from this draft in order to greatly simplify the initial development and experiments of this MIB module.
  2. Changed the RFC category to Experimental.
  3. Completed the Security section.
  4. Relied upon the AUGMENTS statement to simplify further this MIB definition.

Changes from draft-ietf-manet-report-mib-00 to draft-ietf-manet-report-mib-01 draft.

  1. Proposed additions to the statsReports in order to potentially simplify data transmission to management applications.
  2. Added some Notification definitions and their relationship to the three reports' structure, i.e., statsReports, sampledReports, and historyReports.
  3. In the process of adding notifications for the Sampled and the History reports, decided to restructure the reports from their previously rolling storage model to the fixed interval reporting used all along in the Statistics reporting. This allows the agent to notify the management application that a report has completed and that it is ready to be pulled from the agent storage.
  4. Ran MIB through smilint checker and cleaned up all errors and most warnings. A few warnings remain to be addressed.
  5. Cleaned up textual material.

Changes from draft-cole-manet-report-mib-02 to draft-ietf-manet-report-mib-00 draft.

  1. Major change was the incorporation of the IP address objects associated with all objects of type 'OBJECT IDENTIFIER'. This allows the REPORT-SAMPLED-MIB to exist as a proxy report generation capability on a device separate but in close proximity to the device monitoring the referenced object.
  2. Cleaned up the up front text, reducing the repetition with the object descriptions in the MIB.
  3. Worked on and added sections discussing the relationship to other MIBs.

Changes from draft-cole-manet-report-mib-01 to draft-cole-manet-report-mib-02 draft.

  1. Restructured the MIB somewhat to now offer the three reporting capabilities in increasing order of detail: a) statistical reports, b) sampled reports, and c) historical reports.
  2. Renamed the usrHistoryGroup and elements to samplingGroup. This is in line with its actual capabilities.
  3. Added a new historyGroup which provides a history of change events.
  4. Updated the4 Conformance section to reflect the above changes and additions. But did not yet run smilint to check MIB syntax.

Changes from draft-cole-manet-report-mib-00 to draft-cole-manet-report-mib-01 draft.

  1. Added (copied) the usrHistory group from RMON2 into the REPORT-SAMPLED-MIB.
  2. Restructured the MIB to account for the inclusion of the reportSampledGroup.
  3. Dropped the reportCurReportsTable as this did not make sense within the context of the REPORT-SAMPLED-MIB.
  4. Added the Compliance and Conformance material. Defined several Compliance Groups to all for base implementations of the REPORT-SAMPLED-MIB for only statistical reports, for only historical reports or for both. Allow for enhanced implementations to address higher capacity issues and extension to metric reporting for statistical reporting.
  5. Ran the MIB through the smilint checker and in the process corrected numerous typos, omissions, TEXTUAL CONVENTIONS, IMPORTS, etc.
  6. Updated main text to reflect changes.

Appendix B. Open Issues

This section contains the set of open issues related to the development and design of the REPORT-SAMPLED-MIB. This section will not be present in the final version of the MIB and will be removed once all the open issues have been resolved.

  1. Identify all objects requiring non-volatile storage in their DESCRIPTION clauses.

Appendix C.

***************************************************************
* Note to the RFC Editor (to be removed prior to publication) *
*                                                             *
* 1) The reference to RFCXXXX within the DESCRIPTION clauses  *
* of the MIB module point to this draft and are to be         *
* assigned by the RFC Editor.                                 *
*                                                             *
* 2) The reference to RFCXXX2 throughout this document point  *
* to the current draft-ietf-manet-report-xx.txt.  This        *
* need to be replaced with the XXX RFC number.                *
*                                                             *
***************************************************************
              

Authors' Addresses

Robert G. Cole US Army CERDEC 6010 Frankford Road Aberdeen Proving Ground, Maryland 21005 USA Phone: +1 443 395 8744 EMail: robert.g.cole@us.army.mil URI: http://www.cs.jhu.edu/~rgcole/
Joseph Macker Naval Research Laboratory Washington, D.C. 20375 USA EMail: macker@itd.nrl.navy.mil
Andy Bierman YumaWorks, Inc. Redwood City, CA 94065 EMail: andy@yumaworks.com