Internet-Draft Russell Dietz TPM MIB Apptitude, Inc. March 2000 Transport Performance Metrics MIB Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. 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 mate- rial or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This document is an Internet-Draft. Internet-Drafts are working doc- uments of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute work- ing documents as Internet-Drafts. Distribution of this document is unlimited. Please send comments to the author, . 1. Copyright Notice Copyright (C) The Internet Society (2000). All Rights Reserved. 2. Abstract Expires September 2000 [Page 1] Internet-Draft TPM MIB March 2000 This memo defines an experimental portion of the Management Informa- tion Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects used for monitoring selectable performance metrics and statistics derived from the monitoring of network packets and transport protocol states. Expires September 2000 [Page 2] Internet-Draft TPM MIB March 2000 3. Table of Contents 1. Copyright Notice . . . . . . . . . . . . . . . . . . . . . . . . 1 2. Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3. Table of Contents . . . . . . . . . . . . . . . . . . . . . . . 3 4. The SNMP Management Framework . . . . . . . . . . . . . . . . . 4 5. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5.1. Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5.2. Report Aggregations . . . . . . . . . . . . . . . . . . . . . 6 5.3. Structure of the MIB . . . . . . . . . . . . . . . . . . . . . 8 5.4. Performance Metric Conventions . . . . . . . . . . . . . . . . 8 5.5. Relationship to the Remote Monitoring MIB . . . . . . . . . . 8 5.6. Relationship to RMON MIB Protocol Identifier Reference . . . . 8 5.7. Relationship to RMON MIB Performance Metric Identifiers . . . 8 5.8. Relationship to Draft APMMON MIB . . . . . . . . . . . . . . . 9 5.9. Relationship to Application Performance Measurement MIB . . . 9 6. Metrics Perspective . . . . . . . . . . . . . . . . . . . . . . 9 6.1. Metric Structure . . . . . . . . . . . . . . . . . . . . . . . 10 6.2. Metric Analysis . . . . . . . . . . . . . . . . . . . . . . . 11 6.3. Metric Cutting Room Floor . . . . . . . . . . . . . . . . . . 12 7. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 13 8. Intellectual Property . . . . . . . . . . . . . . . . . . . . . 35 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 35 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 11. Security Considerations . . . . . . . . . . . . . . . . . . . . 38 12. Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 39 A. Full Copyright Statement . . . . . . . . . . . . . . . . . . . . 39 Expires September 2000 [Page 3] Internet-Draft TPM MIB March 2000 4. The SNMP Management Framework The SNMP Management Framework presently consists of five major compo- nents: o An overall architecture, described in RFC 2571 [1]. o Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and described in STD 16, RFC 1155 [2], and STD 16, RFC 1212 [3] and RFC 1215 [4]. The second version, called SMIv2, is described in STD 58, RFC 2578 [5], RFC 2579 [6] and RFC 2580 [7]. o Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in STD 15, RFC 1157 [8]. A second version of the SNMP message protocol, which is not an Internet standards track pro- tocol, is called SNMPv2c and described in RFC 1901 [9] and RFC 1906 [10]. The third version of the message protocol is called SNMPv3 and described in RFC 1906 [10], RFC 2572 [11] and RFC 2574 [12]. o Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [8]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [13]. o A set of fundamental applications described in RFC 2573 [14] and the view-based access control mechanism described in RFC 2575 [15]. A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 [16]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI. This memo specifies a MIB module that is compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine readable information is not considered to change the semantics of the Expires September 2000 [Page 4] Internet-Draft TPM MIB March 2000 MIB. 5. Overview This document continues the architecture created in the RMON MIB [17] by providing a major feature upgrade, primarily by providing new met- rics and studies containing the metrics to assist in the analysis of performance for traffic flow in the network, in direct relationship to the transporting of application layer protocols. Performance monitoring agents have been widely used to analyze the parameters and metrics related to the perceived performance of dis- tributed applications and services in networks. The metrics col- lected by these agents has ranged from basic response time to a com- bination of metrics related to the loss and re-transmission of data- grams and PDUs. While the metrics are becoming more useful in the implementation of service level monitoring and troubleshooting tools, the lack of a standard method to report these in has limited the deployment to very specific customer needs and areas. This document is intended to create a general framework for the col- lection and reporting of performance related metrics on traffic flows in a network. The MIB in this document in directly linked to the current RMON-2 MIB [17] and uses the Protocol Directory as a key com- ponent in reporting the layering involved in the traffic flows. While this document outlines the basic measurements of performance in regard to the transporting of application flows, it does not attempt to measure or provide a means to measure the actual perceived perfor- mance of the application transactions or quality. The detailed mea- surements of end-user perceived performance is directly related to this document and may be found in the APM MIB [21]. The objects defined in this document are intended as an interface between an RMON agent and an RMON management application and are not intended for direct manipulation by humans. While some users may tolerate the direct display of some of these objects, few will toler- ate the complexity of manually manipulating objects to accomplish row creation. These functions should be handled by the management appli- cation. 5.1. Terms This document uses some terms that need introduction: DataSource A source of data for monitoring purposes. This term is used exactly as defined in the RMON-2 MIB [17]. Expires September 2000 [Page 5] Internet-Draft TPM MIB March 2000 protocol A specific protocol encapsulation, as identified for monitoring purposes. This term is used exactly as defined in the RMON Protocol Identifiers document [19]. performance metric A specific statistical reporting metric, as identified for monitoring purposes. There can be several metrics reported by an agent in the same implementation. The metrics are extensible based on the agent implementation. 5.2. Report Aggregation This MIB provides functions to aggregate measurements into higher level summaries. Every traffic flow is identified by its protocol, server, and client and has one or more metrics related to the performance of the trans- port protocol for a given application flow. For example, in a 5 minute period several transactions might be recorded: Protocol Client Server Metric HTTP Jim Amazon 50 SAP/R3 Jane SAP 20 HTTP Joe HR 35 FTP Jim ietf 20 HTTP Joe HR 15 RealVideo Joe CNN 18 HTTP Jane HR 22 These traffic flows can be aggregated in several ways, providing sta- tistical summaries - for example summarizing all HTTP transported flows, or all HTTP transported flows to the HR Server. Note that data from different protocols may not be summarized because: 1. The performance characteristics of different protocols differ widely enough to render statistical analysis meaningless. 2. The transport metrics of different protocols may be different, making a statistical analysis impossible. Aggregating traffic flows collected over a period requires aggrega- tion algorithms. Several are provided: FlowCount The total number of traffic flows during this period Expires September 2000 [Page 6] Internet-Draft TPM MIB March 2000 SuccessfulFlows The total number of traffic flows that were opened and closed For example, when aggregating the previous set of transactions by protocol we get (for simplicity the example only shows FlowCount, SuccessfulFlow, and a generic metric): Protocol Count Metric HTTP 4 3 SAP/R3 1 1 FTP 1 1 RealVideo 1 1 There are four different types of aggregation. The flows(1) aggregation is the simplest. All traffic flows that share common protocol/server/client 3-tuples are aggregated together, resulting in a set of metrics for all such unique 3-tuples. The clients(2) aggregation results in somewhat more aggregation (i.e. fewer resulting records). All traffic flows that share common protocol/client tuples are aggregated together, resulting in a set of metrics for all such unique tuples. The clients(3) aggregation usually results in still more aggregation (i.e. fewer resulting records). All traffic flows that share common protocol/server tuples are aggregated together, resulting in a set of metrics for all such unique tuples. The protocols(4) aggregation results in the most aggregation (i.e. the fewest resulting records). All traffic flows that share a common protocol are aggregated together, resulting in a set of metrics for all such unique protocols. 5.3. Structure of the MIB The objects are arranged in the following groups: -- performance metric directory -- performance metric to protocol directory -- performance metric studies Expires September 2000 [Page 7] Internet-Draft TPM MIB March 2000 5.4. Performance Metric Conventions In order to properly measure the performance of traffic flows in a network, the proper analysis of a set of metrics is required. Since a large majority of the metrics have a basis of time, the use of a simple statistical model is feasible. Therefore, the MIB definitions within this document all use a basic set of statistical computed val- ues to assist in further analysis by a management application. The remaining subsections in this section detail the common struc- tured features the are applied to the performance metrics in the sta- tistical format described above. The Transport Performance Metrics MIB Performance Metric Identifiers [20] describes the basic set of metrics supported in this MIB-set framework. Additional details on the method for analyzing these metrics is also found in the Indenti- fiers document. 5.5. Relationship to the Remote Monitoring MIB This document describes the implementation of an additional MIB for the support of performance related metrics within the framework of the RMON-2 MIB [19]. The objects and table defined in this MIB are an extension to the existing framework for the support of both Client/Server and Server push related applications and services. 5.6. Relationship to RMON MIB Protocol Identifier Reference This document uses the Protocol Indentifiers outlined in the current Protocol Identifier Reference document, RFC 2074 [17]. The protocol index values throughout the document are a direct reference to the same relationship that exists between the RMON-2 MIB [19] and the Protocol Identifier Reference document, RFC 2074 [17]. 5.7. Relationship to RMON MIB Performance Metric Identifiers This document uses the Performance Metric Indentifiers outlined in the current Performance Metric Reference document, [20]. The perfor- mance metric index values throughout the document are a direct refer- ence to the metrics defined in the reference. 5.8. Relationship to Draft APMMON MIB This document was derived from the structure and concepts found in the current APMMON MIB [21]. The basic architecture has been changed to form a model for supplying transport relevant metrics. The APMMON MIB will no longer be updated. 5.9. Relationship to Application Performance Measurement MIB Expires September 2000 [Page 8] Internet-Draft TPM MIB March 2000 This document uses the apmReportControlIndex and apmReportIndex as outlined in the current Application Performance Metric MIB draft doc- ument [22]. These objects are used to create a reference link for the purpose of reporting traffic flow details on application protocol measurements. 6. Metrics Perspective When dealing with time based metrics on application data packets it would be ideal if all the timestamps and related data could be stored and forwarded for later analysis. However when faced with thousands of conversations per second on ever faster networks, storing all the data, even if compressed, would take too much processing, memory, and manager download time to be practical. Fortunately there is a branch of mathematics that has studied methods for describing such sets of data. Pick up any book on statistics and in the first several chapters techniques and methods will be pre- sented that can be applied to time based metrics. As an added bene- fit, the study of statistics also has a large body of existing knowl- edge on analysis of the data derived data. It is important to note that in dealing with network data we will be dealing with statistical populations and not samples. Statistics books deal with both because the math is similar. In collecting agent data a population, i.e. all the data, must be processed. Because of the nature of application protocols just sampling some of the packets will not give good results. Missing just one critical packet, such as one that specified an ephemeral port on which data will be transmitted, or what application will be run, can cause much valid data to be lost. The time-based metrics the agent collects will come from examining the entire group of data, i.e. the population. The population will be finite. The agent will seek only to provide information that will describe the actual data. Analysis of that data will be left to the management station. The simplest form of representing a group of data is by frequency distributions, buckets. Statistics provides a great many ways of analyzing this type of data and there are some rules in creating the buckets. First the range needs to be known. Second a bucket size needs to be determined. Fixed bucket sizes are best, while variable may be used if needed. However the statistics texts tend to only refer to operations of fixed size buckets. This method of describing data is expensive for a agent to implement. First the agent must process a great amount of data at a time. In storing the data, deter- mine the range, then locating the buckets and then fill in the data Expires September 2000 [Page 9] Internet-Draft TPM MIB March 2000 after the fact takes too much storage and too much time. Fixing the range and bucket sizes in the beginning can be problematical as the agent may have to adjust the values for each of the applications it collects data on. Such numbers can be in the thousands. Additional complexity arises in adding new protocols and even in describing the buckets themselves to the management application. Frequency distribution statistics describes measurements such as mean and standard deviation that can be obtained by summation functions on the individual data elements in a population. Analysis of the data described by these functions has been greatly studied and interpreta- tion of these values is available to anyone with an introduction to statistics. In fact, frequency distributions are routinely analyzed to generate these varied numbers which are then used for further analysis. Also note that frequency distributions by their very nature, buckets, introduce error factors that are not present with direct analysis by a summation type formulas. The agent metric will provide data that can be used to calculate the most basic and useful statistical measurements. The agent will not perform the calculations and provide the statistical measurement directly. There are several reason why this is not desired. The first is that to find the final measurement can be expensive in terms of computation and representation. There are divisions and square roots and the measurements are expressed as floating point values. The second is that by providing the variables to the statistical functions, those variables are scalable. It is possible to combine smaller intervals into larger ones. An example is the arithmetic mean or average. This is the sum of the data divided by the number of data elements. The agent metric will provide 2 OIDs, the first the sum of the x, the second the number of elements N. The management station can perform the division to obtain the average. Given two samples, they can be combined by adding the sum of the x's and by adding the number of elements to get a combined sum and number of elements. The average formula then works just the same. Also the sum of the x and the num- ber of element variables are used in calculating other statistical measurement values as well. 6.1. Metric Structure The data structure elements, datum, of the metric have been chosen to maximize the amount of data available while minimizing the amount of memory needed to store the metric and minimizing the CPU processing requirement needed to generate the metric. Expires September 2000 [Page 10] Internet-Draft TPM MIB March 2000 The metric data structure contains five unsigned integer datum. N count of the number of data points for the metric S X sum of all the data point values for the metric S (X2) sum of all the data point values squared for the metric Xmax maximum data point value for the metric Xmin minimum data point value for the metric S IX sum of the datapoints multiplied by their order A performance metric is used to describe events over a time interval. The events, data points, can be processed immediately into the metric and do not have to be stored for later processing. For example to count the number of events in a time interval it is sufficient to increment a counter for each event, it is not necessary to cache all the events and then count them at the end of the interval. The metric is also designed to be easily scalable in terms of combining adjacent intervals. For example if an agent created a specific metric every 30 seconds and a user table interval was set to 60 seconds, the 60 second metric could be obtained by combining the two 30 second met- rics. The following rules will be applied when combining adjacent metrics. N SN SX S(S (X)) S (X2) S(S (X2)) Xmax MAX(Xmax) Xmin MIN(Xmin) S IX SIX + NSX +SIX The following approximates the CPU processing requirements needed to update a specific metric. 5 additions 3 multiplication 2 comparisons 6 assignments. The metric structure gives a generic framework upon which the actual performance metrics will be defined. Each specific performance met- ric definition must address the specific significance, if any, given to each of the metric datum. While a specific metric definition should try to conform to the generic framework, it is ok for a metric datum to not be used, and to have no meaning, for a specific metric. In such cases the datum will default to a 0 value. 6.2. Metric Analysis The actual meaning of a specific metric datum is determined by the definition of the specific metric. The following is a discussion of the operations and observations that can be performed on a generic metric. This means that the following may or may not apply and/or have meaning when applied to any specific metric. Expires September 2000 [Page 11] Internet-Draft TPM MIB March 2000 The following observations and analysis techniques are not all inclu- sive. Rather these are the ones we have come up with at the time of writing this document. Number. Frequency. The time interval is the time interval specified in the control table. It is not a metric datum, but it is associated with the met- ric. Maximum Minimum Range Arithmetic Mean Root Mean Square Variance Standard Deviation Slope of a least-squares line 6.3. Metric Cutting Room Floor During the design of the metric structure different data elements were proposed, examined, and then either put in the metric or left out of the metric. The following is what was considered but did not make it into the metric. o Sum of the deltas. The trend enumeration can be based on this easy calculation. It didn't make it because it could be nega- tive, which would have meant another MIB variable to specify sign information. And the number is an ambiguous measure of slope as seen by comparing the following two series of values. The sum of the delta in both cases is 6-2 = 4. Series A: 2, 6, 10, 6, 6, 6, 6, 6, 6, 6 Series B: 2, 2, 2, 2, 6, 10, 10, 10, 10, 6 o Sum of the absolute values of the delta values. This would pro- vide a measurement of the overall movement within an interval. Expires September 2000 [Page 12] Internet-Draft TPM MIB March 2000 A value for the average change could be calculated. This mea- surement gives no indication of trend or grouping of data within the interval. It usefulness in measuring Performance metric could not be determined. o Sum of positive delta values and sum of the negative delta val- ues. These did not give much more useful information than the sum of the deltas and took 2 data elements to represent. Expanding each of these with an associated count and maximum would give nice information, but at a total of 6 data elements for this data alone. Therefore it was deemed too expensive in terms of memory. o The statistical measurement of skew can be obtained by adding S(X3) to the existing metric. This would have meant an addi- tional multiply, and additional MIB variable, and possibly over- flow problems if X is sufficiently large. o An overall architecture, described in RFC 2571 [1]. The statis- tical measurement of kurtosis can be obtained by adding S(X3) and S(X4) to the existing metric. This would have meant two additional multiplies, 2 additional MIB variables, and an even larger chance of overflow is X is sufficiently large. And in this case large is really not so large. 7. Definitions -- -- RMON-2 Extensions for the Monitoring metrics related to the -- performance of transporting traffic in networks. -- -- TPM Metric Collection -- * Metric support table -- * Metric-to-Protocol linkage -- * Metric study control -- * Metrics for Client/Server Conversations -- TPM-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF RowStatus, TEXTUAL-CONVENTION, TimeStamp FROM SNMPv2-TC rmon, OwnerString Expires September 2000 [Page 13] Internet-Draft TPM MIB March 2000 FROM RMON-MIB protocolDirLocalIndex, LastCreateTime, DataSource, TimeFilter FROM RMON2-MIB; tpmMIB MODULE-IDENTITY LAST-UPDATED "200003101500Z" -- 10-Mar-2000 ORGANIZATION "Apptitude, Inc." CONTACT-INFO " Russell Dietz Apptitude, Inc. Postal: 6330 San Ignacio Avenue San Jose, CA 95119-1209 USA Tel: +1 408 574-2256 Fax: +1 408 224-1038 E-mail: rsdietz@apptitude.com" DESCRIPTION "This module defines Remote Monitoring MIB extensions for measuring traffic related transport performance metrics in networks." ::= { rmon 24 } tpmObjects OBJECT IDENTIFIER ::= { tpmMIB 1 } tpmNotifications OBJECT IDENTIFIER ::= { tpmMIB 2 } tpmConformance OBJECT IDENTIFIER ::= { tpmMIB 3 } tpmDirObjects OBJECT IDENTIFIER ::= { tpmObjects 1 } tpmConfigObjects OBJECT IDENTIFIER ::= { tpmObjects 2 } tpmMetricObjects OBJECT IDENTIFIER ::= { tpmObjects 3 } perfMetricDir OBJECT IDENTIFIER ::= { tpmDirObjects 1 } perfMetricProtocolDir OBJECT IDENTIFIER ::= { tpmDirObjects 2 } perfMetric OBJECT IDENTIFIER ::= { tpmMetricObjects 1 } -- -- Extensions to the RMON-2 MIB for the collection of Performance -- Metrics related to application traffic in a network -- -- In order to maintain the RMON 'look-and-feel', some of -- the text from the RMON-2 and HC-RMON MIBs by -- Steve Waldbusser have been used in this MIB. -- Expires September 2000 [Page 14] Internet-Draft TPM MIB March 2000 -- -- Performance Metric Directory Group -- -- Lists the inventory of performance metrics the probe has the -- capability of collecting and allows the configuration of -- entries in this list. -- perfMetricDirLastChange OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time the performance metric directory was last modified, through modifications of the perfMetricDirConfig object." ::= { perfMetricDir 1 } perfMetricDirTable OBJECT-TYPE SYNTAX SEQUENCE OF PerfMetricDirEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the performance metrics that this agent has the capability to track and generate. There is one entry in this table for each such metric. These metrics represent different statistical analyses which may be performed on any or all protocols in the agent. The agent should boot up with this table preconfigured with those metrics that it has the ability to generate." ::= { perfMetricDir 2 } perfMetricDirEntry OBJECT-TYPE SYNTAX PerfMetricDirEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the perfMetricDirTable. An example of the indexing of this entry is perfMetricDirLocalIndex.2.1.2048.1.0, which is the encoding of a length of 2, followed by 2 subids encoding the perfMetricDirID of 1.2048, followed by a length of 1 and the 1 subids encoding zero-valued parameters. If the same perfMetricDirID has several different implementations within the agent that vary the parameters, each of those will appear in this table with the appropriate parameter Expires September 2000 [Page 15] Internet-Draft TPM MIB March 2000 values." INDEX { perfMetricDirID, -- Metric OID perfMetricDirParameters -- Metric parameter values } ::= { perfMetricDirTable 1 } PerfMetricDirEntry ::= SEQUENCE { perfMetricDirID OCTET STRING, perfMetricDirParameters OCTET STRING, perfMetricDirLocalIndex Integer32, perfMetricDirDescr DisplayString, perfMetricDirConfig INTEGER } perfMetricDirID OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique identifier for a particular performance metric. Standard identifiers will be defined in a manner such as defined by other standard documents. See [20] for more details. Despite the broad set of standard metrics, the probe will only place entries in here for those performance metrics it chooses to collect. In other words, it need not populate this table with all of the possible variations of a 'response time related' metric. Whether or not it does these things is a matter of product definition (cost/benefit, usability), and is up to the designer of the product. If an entry is written to this table with a perfMetricDirID that the agent doesn't understand, either directly or algorithmically, the SET request will be rejected with an inconsistentName or badValue (for SNMPv1) error." ::= { perfMetricDirEntry 1 } perfMetricDirParameters OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of parameters for the associated perfMetricDirID. See the associated RMON2 Performance Metric Identifiers document for a description of the possible parameters. There Expires September 2000 [Page 16] Internet-Draft TPM MIB March 2000 will be one octet in this string for each sub-identifier in the perfMetricDirID, and the parameters will appear here in the same order as the associated sub-identifiers appear in the perfMetricDirID. Every node in the perfMetricDirID tree has a different, optional set of parameters defined (that is, the definition of parameters for a node is optional). The proper parameter value for each node is included in this string. Note that the inclusion of a parameter value in this string for each node is not optional - what is optional is that a node may have no parameters defined, in which case the parameter field for that node will be zero." ::= { perfMetricDirEntry 2 } perfMetricDirLocalIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The locally arbitrary, but unique identifier associated with this perfMetricDir entry. The value for each supported metric must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization. The specific value is meaningful only within a given SNMP entity. A perfMetricDirLocalIndex must not be reused until the next agent-restart." ::= { perfMetricDirEntry 3 } perfMetricDirDescr OBJECT-TYPE SYNTAX DisplayString (SIZE (1..64)) MAX-ACCESS read-only STATUS current DESCRIPTION "A textual description of the performance metric computation. A probe may choose to describe only a subset of the entire statistical operation (e.g. only a simple understanding as in 'response time in milliseconds'). This object is intended for human consumption only." ::= { perfMetricDirEntry 4 } perfMetricDirConfig OBJECT-TYPE SYNTAX INTEGER { notSupported(1), Expires September 2000 [Page 17] Internet-Draft TPM MIB March 2000 supportedOff(2), supportedOn(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object describes and configures the probe's support for this performance metric. When the agent begins processing it creates entries in this table for all metrics that it can generate. Because the probe will only populate this table with supported entries, and the table cannot have entries added, the notSupport(1) setting is only used to signify that other configuration parameters are causing the agent to currently not support the generation and collection of this metric. If the value of this object is notSupported(1), the probe will not perform computations for this performance metric and shall not allow this object to be changed to any other value. If the value of this object is supportedOn(3), the probe supports computations for this performance metric and is configured to perform the computations for this performance metric for all perfMetricProtocolDirTable entries and all interfaces. If the value of this object is supportedOff(2), the probe supports computations for this performance metric but is configured to not perform the computations for this performance metric for any perfMetricProtocolDirEntries and all interfaces. Whenever this value changes from supportedOn(3) to supportedOff(2), the probe shall leave the current value of perfMetricProtocolDirConfig and perfMetricProtocolDirServerDynamic as it was prior to the change of perfMetricDirConfig. In addition, this change will cause the deletion of all entries in the perfTable, perfServerSummayTable and perfClientSummaryTable, for all appropriate studies configured in the perfControl table. It is important for the management application to understand the relationship between these configuration values. This table acts as a filter for features selected in the perfMetricProtocolDir Table. In other words, if support is enabled in the perfMetricProtocolDirTable, but disabled here, the metric will not be computed." ::= { perfMetricDirEntry 5 } -- -- Performance Metric Protocol Directory -- -- This table is used to describe and link a set of performance Expires September 2000 [Page 18] Internet-Draft TPM MIB March 2000 -- metrics to an entry in the protocol directory. The table is also -- used to detail and configure the collection of each metric, as -- well as the dynamic creation of Server Addresses in the -- perfServerConfig table. -- perfMetricProtocolDirLastChange OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time the performance metric protocol directory was last modified, through modifications of the perfMetricProtocolDirConfig or perfMetricProtocolDirServerDynamicConfig objects." ::= { perfMetricProtocolDir 1 } perfMetricProtocolDirTable OBJECT-TYPE SYNTAX SEQUENCE OF PerfMetricProtocolDirEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the performance metrics that this agent has the capability to compute and collect, for the specified protocol. There is one entry in this table for each such combination of metric and protocol. The entries in this table represent the metrics that are collected for each protocol. The agent should boot up with this table preconfigured with those combinations of metrics and protocols that it knows about and wishes to monitor. Implementations must populate the table with all possible metric and protocol combinations and have the default configuration objects set to supportedOff(2). This table does not support the creation of new metric and protocol combinations by the management application. The deletion of an entry in the protocolDirTable will cause the removal of entries from this table. These entries must be removed because the protocolDirLocalIndex value will no longer be visible in the protocolDirTable. When an entry is created in the protocolDirTable and the agent has the ability to support metrics for that protocol. The appropriate entries must be made in the perfMetricProtocol table." ::= { perfMetricProtocolDir 2 } perfMetricProtocolDirEntry OBJECT-TYPE SYNTAX PerfMetricProtocolDirEntry Expires September 2000 [Page 19] Internet-Draft TPM MIB March 2000 MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the perfMetricProtocolDirTable. An example of the indexing of this entry is perfMetricProtocolDirConfig.1.2. Where 1 is the value of a valid and visible protocolDirLocalIndex object in the protocolDir table and 2 is the value of a valid perfMetricDirLocalIndex in the perfMetricDir table." INDEX { protocolDirLocalIndex, -- Protocol Index perfMetricDirLocalIndex -- Metric Index } ::= { perfMetricProtocolDirTable 1 } PerfMetricProtocolDirEntry ::= SEQUENCE { perfMetricProtocolDirConfig INTEGER, perfMetricProtocolDirServerDynamic INTEGER } perfMetricProtocolDirConfig OBJECT-TYPE SYNTAX INTEGER { notSupported(1), supportedOff(2), supportedOn(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object describes and configures the probe's support for this performance metric in relationship to the specified protocol. The agent creates entries in this table for all metrics and protocol combinations that it can generate. Because the probe will only populate this table with supported entries, and the table cannot have entries added, the notSupported(1) setting is only used to signify that other configuration parameters are causing the agent to currently not support the generation and collection of this metric for the specified protocol. Also, the status of this object will not change to notSupported(1) due to a change to supportedOff(2) in the perfMetricDir table. If the value of this object is notSupported(1), the probe will not perform computations for this performance metric and protocol combination and shall not allow this object to be changed to any other value. If the value of this object is Expires September 2000 [Page 20] Internet-Draft TPM MIB March 2000 supportedOn(3), the probe supports computations for this performance metric and protocol and is configured to perform the computations for this performance metric and protocol combination for all interfaces. If the value of this object is supportedOff(2), the probe supports computations for this performance metric for the specified protocol, but is configured to not perform the computations for this performance metric and protocol for any interfaces. Whenever this value changes from supportedOn(3) to supportedOff(2), the probe shall cause the deletion of all entries in the perfTable, perfServerSummayTable and perfClientSummaryTable, for all appropriate studies configured in the perfControl table." ::= { perfMetricProtocolDirEntry 1 } perfMetricProtocolDirServerDynamic OBJECT-TYPE SYNTAX INTEGER { notSupported(1), supportedOff(2), supportedOn(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object describes and configures the probe's support for the discovery of servers for this performance metric in relationship the the specified protocol. If an agent has the ability to dynamically determine the server for a protocol while collecting a specific metric, then the agent should set this object to supportedOff(2), by default. If the agent has no way to determine the server for this metric and protocol, the agent must set this object to notSupported(1). When the agent creates entries in this table for all metrics and protocol combinations that it can generate. If the value of this object is notSupported(1), the probe will not populate the perfServerConfig table with entries for the metric and protocol combination and shall not allow this object to be changed to any other value. If the value of this object is supportedOn(3), the probe supports the creation of entries for this performance metric and protocol and is configured to populate the perfServerConfig table for this performance metric and protocol combination for all interfaces. If the value of this object is supportedOff(2), the probe supports the creation of dynamic entries in the perfServerConfig table for this performance metric for the specified protocol, but is configured to not insert entries Expires September 2000 [Page 21] Internet-Draft TPM MIB March 2000 into the perfServerConfig table for this performance metric and protocol for any interfaces. Whenever this value changes from supportedOn(3) to supportedOff(2), the probe shall cause the deletion of all entries in the perfServerConfig table with the perfServerConfigEntryType object set to dynamic(1) as well as causing the removal of any entries from the perfTable, perfServerSummayTable and perfClientSummaryTable, where the perfServerConfigServerAddress object was used to populate those tables for all appropriate studies configured in the perfControl table." ::= { perfMetricProtocolDirEntry 2 } -- -- -- Performance Metric Group -- -- The perfControlTable is the controlling entry to manage -- the population of studies in the Performance Group -- perfControlTable OBJECT-TYPE SYNTAX SEQUENCE OF PerfControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table to control the collection of performance metric studies for selected interfaces, metrics and protocols. Note that this is not like the typical RMON controlTable and dataTable in which each entry creates its own data table. Each entry in this table enables the creation of up to 3 data tables on a study basis. For each interval, the study is updated in place and the current data content of the table becomes invalid." ::= { perfMetric 1 } perfControlEntry OBJECT-TYPE SYNTAX PerfControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the perfControlTable. An example of the indexing of this entry is perfControlDataSource.1" INDEX { perfControlIndex } Expires September 2000 [Page 22] Internet-Draft TPM MIB March 2000 ::= { perfControlTable 1 } perfControlEntry ::= SEQUENCE { perfControlIndex Integer32, perfControlDataSource DataSource, perfControlMetrics Integer32, perfControlAggregationType INTEGER, perfControlTimeRemaining Integer32, perfControlGeneratedReports Counter32, perfControlDuration Integer32, perfControlRequestedSize Integer32, perfControlGrantedSize Integer32, perfControlStartTime TimeStamp, perfControlOwner OwnerString, perfControlStatus RowStatus } perfControlIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique index for this entry in the perfControlTable." ::= { perfControlEntry 1 } perfControlDataSource OBJECT-TYPE SYNTAX DataSource MAX-ACCESS read-create STATUS current DESCRIPTION "The source of data for this perfControlEntry." ::= { perfControlEntry 2 } perfControlMetrics OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The number of performance metric and protocol combinations to be collected in the portion of perfTable associated with this perfControlEntry. This object may not be modified if the associated instance of perfControlStatus is equal to active(1)." ::= { perfControlEntry 3 } perfControlAggregationType OBJECT-TYPE Expires September 2000 [Page 23] Internet-Draft TPM MIB March 2000 SYNTAX INTEGER { flows(1), -- Least Aggregation clients(2), servers(3), protocols(4) -- Most Aggregation } MAX-ACCESS read-create STATUS current DESCRIPTION "The type of aggregation being performed for this set of reports. The metrics for a single traffic flow are selected in the perfTable by the perfControlMetrics object. When such metrics are aggregated in this MIB, these metrics are replaced by statistical representation of each metric. The metrics describing aggregates are constant no matter which type of aggregation is being performed. These metrics may be found in the perfTable. The flows(1) aggregation is the simplest. All traffic flows that share common protocol/server/client 3-tuples are aggregated together, resulting in a set of metrics for all such unique 3-tuples. The clients(2) aggregation results in somewhat more aggregation (i.e. fewer resulting records). All traffic flows that share common protocol/client tuples are aggregated together, resulting in a set of metrics for all such unique tuples. The clients(3) aggregation usually results in still more aggregation (i.e. fewer resulting records). All traffic flows that share common protocol/server tuples are aggregated together, resulting in a set of metrics for all such unique tuples. The protocols(4) aggregation results in the most aggregation (i.e. the fewest resulting records). All traffic flows that share a common protocol are aggregated together, resulting in a set of metrics for all such unique protocols. Note that it is not meaningful to aggregate protocols, as different protocols have widely varying characteristics. As a result, this set of aggregations is complete. This object may not be modified if the associated Expires September 2000 [Page 24] Internet-Draft TPM MIB March 2000 perfControlStatus object is equal to active(1)." ::= { perfControlEntry 4 } perfControlTimeRemaining OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION "The number of seconds left in the report currently being collected. When this object is modified by the management station, a new collection is started, possibly aborting a currently running report. The new value is used as the requested duration of this report, and is immediately loaded into the associated perfControlDuration object. When the report finishes, the probe will automatically start another collection with the same initial value of perfControlTimeRemaining. Thus the management station may simply read the resulting reports repeatedly, checking the startTime and duration each time to ensure that a report was not missed or that the report parameters were not changed. While the value of this object is nonzero, it decrements by one per second until it reaches zero. At the time that this object decrements to zero, the reports are made accessible in any or all of the perfTable, perfServerSummaryTable and perfClientSummaryTable overwriting any reports that may be there. When this object is modified by the management station, any associated entries in the perfTable, perfServerSummaryTable and perfClientSummaryTable will be deleted." DEFVAL { 1800 } ::= { perfControlEntry 5 } perfControlGeneratedReports OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of reports that have been generated by this entry." ::= { perfControlEntry 6 } perfControlDuration OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current Expires September 2000 [Page 25] Internet-Draft TPM MIB March 2000 DESCRIPTION "The number of seconds that this report has collected during the last analysis interval. When the associated perfControlTimeRemaining object is set, this object shall be set by the probe to the same value and shall not be modified until the next time the perfControlTimeRemaining is set. This value shall be zero if no reports have been requested for this perfControlEntry." ::= { perfControlEntry 7 } perfControlRequestedSize OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum number of Client and Server combination entries requested for this report. When this object is created or modified, the probe should set perfControlGrantedSize as closely to this object as is possible for the particular probe implementation and available resources. It is important to note that this value is the number of requested entries in the perfTable only. Since the probe can derive the perfServerSummaryTable and perfClientSummaryTable from this table, the probe must make sure that sufficient resources exist to support the creation of the perfTable plus any additional resources required to convert or support the two summary tables." DEFVAL { 1024 } ::= { perfControlEntry 8 } perfControlGrantedSize OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum number of performance entries in this report. When the associated perfControlRequestedSize object is created or modified, the probe should set this object as closely to the requested value as is possible for the particular implementation and available resources. The probe must not lower this value except as a result of a set to the associated Expires September 2000 [Page 26] Internet-Draft TPM MIB March 2000 perfControlRequestedSize object. Since the probe must support only the granted size, the probe should attempt to maintain the most recently active entries in the perfMetric table if there is no more room or until there are no more performance metric entries. It is an implementation-specific matter as to whether or not zero-valued entries are available." ::= { perfControlEntry 9 } perfControlStartTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when this performance metric report was last started. In other words, this is the time that the associated perfControlTimeRemaining object was modified to start the requested report or the time the report was last automatically (re)started. This object may be used by the management station to determine if a report was missed or not." ::= { perfControlEntry 10 } perfControlOwner OBJECT-TYPE SYNTAX OwnerString MAX-ACCESS read-create STATUS current DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it." ::= { perfControlEntry 11 } perfControlStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this performance control entry. An entry may not exist in the active state unless all objects in the entry have an appropriate value. If this object is not equal to active(1), all associated entries in the perfTable shall be deleted." ::= { perfControlEntry 12 } Expires September 2000 [Page 27] Internet-Draft TPM MIB March 2000 -- -- Metric tables -- -- The following tables are all part of the Metric Study Group. -- These tables contain the results of the collected metrics. -- perfMetricTable OBJECT-TYPE SYNTAX SEQUENCE OF PerfMetricEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of performance metric and protocol collection entries." ::= { perfMetric 2 } perfMetricEntry OBJECT-TYPE SYNTAX PerfMetricEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of metric and protocol index values for the statistics to be generated for a specific report in the perfControl table." Entries in this table are created when an associated perfControlMetrics object is created. The perfControlIndex value in the index is that of the associated perforamnceControlEntry. For example, an instance of perfMetricDirLocalIndex might be perfMetricDirLocalIndex.1.3" INDEX { perfControlIndex, perfMetricIndex } ::= { perfMetricTable 1 } PerfMetricEntry ::= SEQUENCE { perfMetricIndex Integer32, perfMetricMetricDirLocalIndex Integer32, perfMetricProtocolDirLocalIndex Integer32 } perfMetricIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible Expires September 2000 [Page 28] Internet-Draft TPM MIB March 2000 STATUS current DESCRIPTION "An index used to uniquely identify an entry in the perforamnceMetric table. Each such entry defines a metric instance to be generated for a specific protocol periodically." ::= { perfMetricEntry 1 } perfMetricMetricDirLocalIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION "The perfMetricDirLocalIndex of the particular metric to be generated. This object may not be modified if the associated perfControlStatus object is equal to active(1)." ::= { perfMetricEntry 2 } perfMetricProtocolDirLocalIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION "The protocolDirLocalIndex of the particular protocol to be analyzed when computing and generating the selected metric. This object may not be modified if the associated perfControlStatus object is equal to active(1)." ::= { perfMetricEntry 3 } -- -- Performance Table -- -- This table contains performance metric studies for each of the -- control table entries in performanceControl table. These studies -- are provided based on the selections and parameters found for the -- entry in the perfControl table. -- perfTable OBJECT-TYPE SYNTAX SEQUENCE OF PerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A study of performance metrics for those perfMetric Expires September 2000 [Page 29] Internet-Draft TPM MIB March 2000 table entries specified in the perfMetric table as indexed by perfControlIndex and perfMetricIndex." ::= { perfMetric 3 } perfEntry OBJECT-TYPE SYNTAX PerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the perfTable. The perControlIndex value in the index identifies the perfControlEntry on whose behalf this entry was created. The perfControIndex value in the index identifies which report (in the series of reports) this entry is a part of. The perfMetricIndex value in the index identifies the transported application protocol of the traffic flows aggregated in this entry. The protocolDirLocalIndex value in the index identifies the network layer protocol of the perfServerAddress and perfClientAddress. When the associated perfControlAggregationType value is equal to protocol(4), this value will equal 0. The perfServerAddress value in the index identifies the network layer address of the server in traffic flows aggregated in this entry. The perfClientAddress value in the index identifies the network layer address of the client in traffic flows aggregated in this entry. Note that the order of protocolDirLocalIndex variables is the opposite of that in the RMON2 MIB (application.network instead of network.application) so that the report entries are sorted by application first, server second and client third. The perfControlIndex value in the index identifies the perfControlEntry on whose behalf this entry was created. The perfMetricIndex value in the index identifies the metric and protocol of the perfServerAddress and perfClientAddress, via the perfMetric table. An example of the indexing of this table is perfStatisticN.1.2.17.4.128.2.6.7.4.128.2.6.6" INDEX { perfControlIndex, perfMetricIndex, -- Metric and Protocol protocolLocalDirIndex, -- Network Layer perfServerAddress, perfClientAddress Expires September 2000 [Page 30] Internet-Draft TPM MIB March 2000 } ::= { perfTable 1 } PerfEntry ::= SEQUENCE { perfServerAddress OCTET STRING, perfClientAddress OCTET STRING, perfStatisticN Counter32, perfOverflowStatisticN Counter32, perfHCStatisticN Counter64, perfStatisticSumX Counter32, perfOverflowStatisticSumX Counter32, perfHCStatisticSumX Counter64, perfStatisticMaximum Gauge32, perfStatisticMinimum Gauge32, perfStatisticSumSquared Counter32, perfOverflowStatisticSumSquared Counter32, perfHCStatisticSumSquared Counter64, perfStatisticSumIX Counter32, perfOverflowStatisticSumIX Counter32, perfHCStatisticSumIX Counter64 } perfServerAddress OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS not-accessible STATUS current DESCRIPTION "The network layer address of the server host in this conversation. This is represented as an octet string with specific semantics and length as identified by the associated perfMetricProtocolDirLocalIndex from the perfMetricIndex for this conversation. For example, if the protocolDirLocalIndex indicates an encapsulation of IP, this object is encoded as a length octet of 4, followed by the 4 octets of the IP address, in network byte order." ::= { perfEntry 1 } perfClientAddress OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS not-accessible STATUS current DESCRIPTION "The network layer address of the client host in this Expires September 2000 [Page 31] Internet-Draft TPM MIB March 2000 conversation. This is represented as an octet string with specific semantics and length as identified by the associated perfMetricProtocolDirLocalIndex from the perfMetricIndex for this conversation. For example, if the protocolDirLocalIndex indicates an encapsulation of IP, this object is encoded as a length octet of 4, followed by the 4 octets of the IP address, in network byte order." ::= { perfEntry 2 } perfStatisticN OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The count of the total number of data points for the specified metric. This number always represents the total size of the statistical datum analyzed. Each metric specifies the exact meaning of this object. This value represents the results of one metric and is related directly to the specific parameters of the metric and the Server and Client addresses involved." ::= { perfEntry 3 } perfOverflowStatisticN OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the associated perfStatisticN counter has overflowed." ::= { perfEntry 4 } perfHCStatisticN OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The high-capacity version of perfStatisticN." ::= { perfEntry 5 } perfStatisticSumX OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only Expires September 2000 [Page 32] Internet-Draft TPM MIB March 2000 STATUS current DESCRIPTION "The sum of all the data point values for the specified metric. This number always represents the total values of the statistical datum analyzed. Each metric specifies the exact meaning of this object. This value represents the results of one metric and is related directly to the specific parameters of the metric and the Server and Client addresses involved." ::= { perfEntry 6 } perfOverflowStatisticSumX OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the associated perfStatisticSumX counter has overflowed." ::= { perfEntry 7 } perfHCStatisticSumX OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The high-capacity version of perfStatisticSumX." ::= { perfEntry 8 } perfStatisticMaximum OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The single maximum data point value observed during the study period for the specified metric. This number always represents the maximum value of any single statistical datum analyzed. Each metric specifies the exact meaning of this object. This value represents the results of one metric and is related directly to the specific parameters of the metric and the Server and Client addresses involved." ::= { perfEntry 9 } perfStatisticMinimum OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only Expires September 2000 [Page 33] Internet-Draft TPM MIB March 2000 STATUS current DESCRIPTION "The single minimum data point value observed during the study period for the specified metric. This number always represents the minimum value of any single statistical datum analyzed. Each metric specifies the exact meaning of this object. This value represents the results of one metric and is related directly to the specific parameters of the metric and the Server and Client addresses involved." ::= { perfEntry 10 } perfStatisticSumSquared OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The sum of all the squared data point values for the specified metric. This number always represents the total of the squared values of the statistical datum analyzed. Each metric specifies the exact meaning of this object. This value represents the results of one metric and is related directly to the specific parameters of the metric and the Server and Client addresses involved." ::= { perfEntry 11 } perfOverflowStatisticSumSquared OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the associated perfStatisticSumSquared counter has overflowed." ::= { perfEntry 12 } perfHCStatisticSumSquared OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The high-capacity version of perfStatisticSumSquared." ::= { perfEntry 13 } perfStatisticSumIX OBJECT-TYPE SYNTAX Counter32 Expires September 2000 [Page 34] Internet-Draft TPM MIB March 2000 MAX-ACCESS read-only STATUS current DESCRIPTION "For each interval, each data point is associated with a value I, I = 1..N where N is the number of data points, perfStatisticN. IX is the multiplication of the data point value with the current I. This value along with the other statistics values allow the calculation of the slope of the least-squares line through the data points." ::= { perfEntry 14 } perfOverflowStatisticSumIX OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the associated perfStatisticSumIX counter has overflowed." ::= { perfEntry 15 } perfHCStatisticSumIX OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The high-capacity version of perfStatisticSumIX." ::= { perfEntry 16 } END Expires September 2000 [Page 35] Internet-Draft TPM MIB March 2000 8. Intellectual Property The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to per- tain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards- related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat." The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. 9. Acknowledgements This memo has been produced with a great deal of assistance from David Craver, Joseph Maixner and John Metzger of Apptitude, Inc. Expires September 2000 [Page 36] Internet-Draft TPM MIB March 2000 10. References [1] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999. [2] Rose, M., and K. McCloghrie, "Structure and Identification of Man- agement Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990. [3] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991. [4] M. Rose, "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991. [5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [6] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [8] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990. [9] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduc- tion to Community-based SNMPv2", RFC 1901, January 1996. [10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996. [11] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message Pro- cessing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999. [12] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999. [13] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996. Expires September 2000 [Page 37] Internet-Draft TPM MIB March 2000 [14] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2573, SNMP Research, Inc., April 1999. [15] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Con- trol Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999. [16] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction to Version 3 of the Internet-standard Network Management Framework", RFC 2570, April 1999. [17] S. Waldbusser, "Remote Network Monitoring Management Information Base Version 2 using SMIv2", RFC 2021, January 1997. [18] S. Waldbusser, "Remote Network Monitoring Management Information Base for High Capacity Networks", draft-ietf-rmonmib-hcrmon-04.txt, October 1998. [19] Bierman, A., and R. Iddon, "Remote Network Monitoring MIB Protocol Identifiers", RFC 2074, January 1997. [20] R. Dietz, "Transport Performance Metrics MIB Performance Metric Identifiers", draft-dietz-apmmon-pmid-00.txt, March 2000. [21] R. Dietz, "Application Performance Metrics MIB", draft-dietz-apm- mon-mib-00.txt, July 1999. [22] S. Waldbusser, "Application Performance Measurement MIB", draft- waldbusser-apm-mib-00.txt, March 2000. Expires September 2000 [Page 38] Internet-Draft TPM MIB March 2000 11. Security Considerations There are a number of management objects defined in this MIB that have 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 envi- ronment without proper protection can have a negative effect on net- work operations. There are a number of managed objects in this MIB that may contain sensitive information. It is thus important to control even GET access to these objects and possibly to even encrypt the values of these object when sending them over the network via SNMP. Not all versions of SNMP provide features for such a secure environment. In order to implement this MIB, an agent must make certain management information available about protocols and network addresses used within a managed system, which may be considered sensitive in some network environments. Therefore, a network administrator may wish to employ instance-level access control, and configure the TPM MIB access (e.g., community strings in SNMPv1 and SNMPv2C), such that certain instances within this MIB (e.g., perfMetricStatisticN or perfServerSummarySum), are excluded from particular MIB views. SNMPv1 by itself is not a secure environment. 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. It is recommended that the implementors consider the security fea- tures as provided by the SNMPv3 framework. Specifically, the use of the User-based Security Model RFC 2574 [13] and the View-based Access Control Model RFC 2575 [15] is recommended. It is then a customer/user responsibility to ensure that the SNMP entity giving access to an instance of this MIB, is properly config- ured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/cre- ate/delete) them. Expires September 2000 [Page 39] Internet-Draft TPM MIB March 2000 12. Author's Address Russell Dietz Apptitude, Inc. 6330 San Ignacio Avenue San Jose, CA USA 95119 Phone: +1 408-574-2256 Email: rsdietz@apptitude.com A. Full Copyright Statement Copyright (C) The Internet Society (2000). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this doc- ument itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of develop- ing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MER- CHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." Expires September 2000 [Page 40]