RMONMIB Working Group Russell Dietz TPM MIB Hifn, Inc. Robert Cole AT&T Labs Internet-Draft February 22, 2002 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 [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 (2001). All Rights Reserved. Expires August 22, 2002 [Page 1] Internet-Draft TPM MIB February 24, 2002 2. Abstract 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 application sub-transac- tions. The metrics are defined through reference to existing IETF, ITU and other standards organizations' documents. The monitoring covers both passive and active traffic generation sources. Expires August 22, 2002 [Page 2] Internet-Draft TPM MIB February 24, 2002 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.2. Report Aggregations . . . . . . . . . . . . . . . . . . . . . 7 5.3. Structure of the MIB . . . . . . . . . . . . . . . . . . . . . 8 5.4. Statistics for Aggregation of Data - Conventions . . . . . . . 8 5.5. Relationship to the Remote Monitoring MIB . . . . . . . . . . 9 5.6. Relationship to RMON MIB Protocol Identifier Reference . . . . 9 5.7. Relationship to Standards-Based Performance Metric Refer- ences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5.8. Relationship to Application Performance Measurement MIB . . . 9 6. Statistics Perspective . . . . . . . . . . . . . . . . . . . . . 9 6.1. Statistics Structure . . . . . . . . . . . . . . . . . . . . . 11 6.2. Statistics Analysis . . . . . . . . . . . . . . . . . . . . . 12 6.3. Statistics Cutting Room Floor . . . . . . . . . . . . . . . . 13 7. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 13 8. Intellectual Property . . . . . . . . . . . . . . . . . . . . . 54 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 54 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 11. Security Considerations . . . . . . . . . . . . . . . . . . . . 57 12. Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 58 A. Full Copyright Statement . . . . . . . . . . . . . . . . . . . . 58 B. Outstanding Issues . . . . . . . . . . . . . . . . . . . . . . . 59 Expires August 22, 2002 [Page 3] Internet-Draft TPM MIB February 24, 2002 4. The SNMP Management Framework The SNMP Management Framework presently consists of five major compo- nents: o An overall architecture, described in RFC 2571 [RFC2571]. 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 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC 1215 [RFC1215]. The second version, called SMIv2, is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580]. 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 [RFC1157]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [RFC1901] and RFC 1906 [RFC1906]. The third version of the mes- sage protocol is called SNMPv3 and described in RFC 1906 [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574]. o Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [RFC1157]. A second set of proto- col operations and associated PDU formats is described in RFC 1905 [RFC1905]. o A set of fundamental applications described in RFC 2573 [RFC2573] and the view-based access control mechanism described in RFC 2575 [RFC2575]. A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 [RFC2570]. 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 Expires August 22, 2002 [Page 4] Internet-Draft TPM MIB February 24, 2002 readable information is not considered to change the semantics of the MIB. 5. Overview This document continues the architecture created in the RMON MIB [RFC2021] by providing a major feature upgrade, primarily by provid- ing new metrics 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 [RFC2021] and uses the Protocol Directory as a key component in reporting the layering involved in the traffic flows. The specific objectives of this document are to: + Provide a drill-down capability to compliment the user-perceived monitoring defined within the APM MIB [APM]. This capability is intended to support trouble resolution, further characterization of performance, and a finer granularity of monitoring capabili- ties. The APM MIB provides a method for retreiving aggregated measurement data of the end-user's perception of application-level performance. APM additionally provides thresholding and associ- ated alarms in the event the end-user perceived performance degrades below defined thresholds. The TPM MIB compliments the APM MIB capabilities by monitoring sub-transaction level aspects of the application not typically percieved by the end-user. As an example, APM MIB provides response time statistics of a typical web-browser application. This application typically consists of DNS transaction, TCP connection establishment (or multiple estab- lishments), HTTP download of the base page and multiple downloads of the various embedded objects. Ideally TPM MIB would provide statistics on the performance aspects of these multiple sub-trans- actions. Expires August 22, 2002 [Page 5] Internet-Draft TPM MIB February 24, 2002 + Provide additional performance metrics and related statistics. For trouble shooting and a finer gransularity of performance moni- toring, it is useful to provide measurements of additional metrics beyond those supported by the APM MIB. + Support standards based metrics and associated statistical aggregation by defining methods to reference those standards. The TPM MIB provides a capability to describe metrics by reference to appropriate IETF, ITU or other standards defining metrics. This capability is provided through the tpmMetricsDefTable. + Provide (as an option) a history table storing the N last mea- surements of the metric and protocol in question. APM MIB pro- vides aggregated statistics of end-user perceived performance. There are times when it is necessary to have access to the raw measurements. The tpmHistoryTable optionally provides access to this capability. 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 [APM]. 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 [RFC2021]. protocol A specific protocol encapsulation, as identified for monitoring purposes. This term is used exactly as defined in the RMON Protocol Identifiers document [RFC2074]. performance metric Expires August 22, 2002 [Page 6] Internet-Draft TPM MIB February 24, 2002 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 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, Expires August 22, 2002 [Page 7] Internet-Draft TPM MIB February 24, 2002 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 servers(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: -- tpmCapabilities Group -- tpmAggregateReports Group -- tpmCurrentReports Group -- tpmExceptionReports Group -- tpmHistoryReports Group Expires August 22, 2002 [Page 8] Internet-Draft TPM MIB February 24, 2002 These groups are the basic unit of conformance. If an agent imple- ments a group, then it must implement all objects in that group. While this section provides an overview of grouping and conformance information for this MIB, the authoritative reference for such infor- mation is contained in the MODULE-COMPLIANCE and OBJECT-GROUP macros later in this MIB. These groups are defined to provide a means of assigning object iden- tifiers, and to provide a method for implementors of managed agents to know which objects they must implement. 5.3.1. The tpmCapabilities Group The tpmCapabilities Group contains objects and tables which show the measurement protocol and metric capabilities of the agent. This group primarily consists of the tpmTransactionMetricDirTable and the tpmMetricDefTable. 5.3.2. The tpmAggregateReports Group The tpmAggregateReports Group is used to provide the collection of aggregated statistical measurements for the configured report inter- vals. The tpmAggregateReports Group consists of the tpmAggrReportCn- trlTable and the tpmAggrReportTable. 5.3.3. The tpmCurrentReports Group The tpmCurrentReports Group is used to provide the collection of uncompleted measurements for the current configured report for those transactions caught in progress. The tpmCurrentReports Group con- sists of the tpmCurrReportTable. 5.3.4. The tpmExceptionReports Group The tpmExceptionReports Group is used to link immediate notifications of transactions that exceed certain thresholds defined in the APM Exception Group. This group reports the sub-application measurements for those applications exceeding thresholds. 5.3.5. The tpmHistoryReports Group The tpmHistoryReports Group is used to provide the collection of raw measurements for the configured report intervals for the individual Expires August 22, 2002 [Page 9] Internet-Draft TPM MIB February 24, 2002 transactions comprising the statistical sample for the report. The tpmHistoryReports Group consists of the tpmHistReportCntrlTable and the tpmHistReportTable. 5.4. Statistics for Aggregation of Data - Conventions In order to properly measure the performance of traffic flows in a network, the proper analysis of a set of statistics is required. Since a large majority of the statistics 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 values to assist in further analysis by a management appli- cation. 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 tpmMetricsDefTable (discussed below) describes the set of metrics supported in this MIB-set frame- work. 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 [RFC2021]. 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 [RFC2074]. The pro- tocol index values throughout the document are a direct reference to the same relationship that exists between the RMON-2 MIB [RFC2021] and the Protocol Identifier Reference document, RFC 2074 [RFC2074]. 5.7. Relationship to Standards-Based Performance Metric References This document uses the tmpMetricsDefTable to describe the metrics supported by an instance of the TPM MIB. The performance metric index values throughout the document are a direct reference to the metrics defined in that table. 5.8. Relationship to Application Performance Measurement MIB This document uses the apmReportControlIndex, appLocalIndex and apm- ReportIndex as outlined in the current Application Performance Expires August 22, 2002 [Page 10] Internet-Draft TPM MIB February 24, 2002 Measurement MIB draft document [APM]. These objects are used to cre- ate a reference link for the purpose of reporting traffic flow details on application protocol measurements. 6. Statistics Perspective When dealing with time based measurements 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, stor- ing 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 measurements. As an added benefit, the study of statistics also has a large body of existing knowledge 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 measurements the agent collects will come from examin- ing 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 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 Expires August 22, 2002 [Page 11] Internet-Draft TPM MIB February 24, 2002 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 aggregation 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 will provide data that can be used to calculate the most basic and useful statistical aggregates. 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 computa- tion 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 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 com- bined by adding the sum of the x's and by adding the number of ele- ments to get a combined sum and number of elements. The average for- mula then works just the same. Also the sum of the x and the number of element variables are used in calculating other statistical mea- surement values as well. 6.1. Statistics Structure The data statistical 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 statistic and minimizing the CPU pro- cessing requirement needed to generate the statistic. The statistic data structure contains five unsigned integer datum. Expires August 22, 2002 [Page 12] Internet-Draft TPM MIB February 24, 2002 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 statistic and do not have to be stored for later processing. For example to count the number of events in a time interval it is suffi- cient 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 statistic is also designed to be easily scalable in terms of com- bining adjacent intervals. For example if an agent created a spe- cific statistic every 30 seconds and a user table interval was set to 60 seconds, the 60 second statistic could be obtained by combining the two 30 second statistics. The following rules will be applied when combining adjacent statistics. N SN SX S(S (X)) S (X2) S(S (X2)) Xmax MAX(Xmax) Xmin MIN(Xmin) S IX SIX + NSX +SIX S (IX2) SI(SI (X2)) The following approximates the CPU processing requirements needed to update a specific statistic. 5 additions 3 multiplication 2 comparisons 6 assignments. The statistic structure gives a generic framework upon which the actual performance statistics will be defined. Each specific statis- tic 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. Statistics Analysis The actual meaning of a specific statistic datum is determined by the definition of the specific statistic. The following is a discussion Expires August 22, 2002 [Page 13] Internet-Draft TPM MIB February 24, 2002 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. 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 metric sample. Maximum Minimum Range Arithmetic Mean Root Mean Square Variance Standard Deviation Slope of a least-squares line 6.3. Statistics Cutting Room Floor During the design of the statistic structure different data elements were proposed, examined, and then either put in the statistic or left out of the statistic. The following is what was considered but did not make it into the statistical set. 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 Expires August 22, 2002 [Page 14] Internet-Draft TPM MIB February 24, 2002 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. 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 [RFC2571]. The statistical measurement of kurtosis can be obtained by adding S(X3) and S(X4) to the existing statistical set. This would have meant two additional multiplies, 2 additional MIB vari- ables, and an even larger chance of overflow is X is suffi- ciently 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 -- * Application-to-Protocol transaction linkage -- * Metric-to-Protocol linkage -- * Metric study control -- * Metrics for Client/Server Conversations -- TPM-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, Unsigned32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP Expires August 22, 2002 [Page 15] Internet-Draft TPM MIB February 24, 2002 FROM SNMPv2-CONF RowStatus, TEXTUAL-CONVENTION, TimeStamp FROM SNMPv2-TC rmon, OwnerString FROM RMON-MIB protocolDirLocalIndex, LastCreateTime, DataSource, TimeFilter FROM RMON2-MIB apmReportControlIndex, appLocalIndex, apmNameClientID FROM APM-MIB; tpmMIB MODULE-IDENTITY LAST-UPDATED "200111191500Z" -- 19-Nov-2001 ORGANIZATION "IETF RMONMIB WG" CONTACT-INFO " E-mail: rmonmib@ietf.org Subscribe: rmonmib-request@ietf.org w/ msg body: subscribe rmonmib Russell Dietz Hifn, Inc. Postal: 750 University Ave Los Gatos, CA 95032-7695 USA Tel: +1 408 399-3623 Fax: +1 408 399-3501 E-mail: rdietz@hifn.com Robert G. Cole AT&T Labs Postal: 330 Saint Johns Street, 2nd Floor Havre de Grace, MD 21078 USA Tel: +1 410 939-8732 Fax: +1 410 939-8732 E-mail: rgcole@att.com" DESCRIPTION "This module defines managed objects for measuring traffic related transport performance metrics in networks. 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." REVISION "200202251500Z" -- 25-Feb-2002 DESCRIPTION "Added Conformance section. Dropped Notification section (redundant with APM notifications). Cleaned up Current and Exception Reports. Added tmpHistReport history table control and Expires August 22, 2002 [Page 16] Internet-Draft TPM MIB February 24, 2002 reports." REVISION "200111191500Z" -- 19-Nov-2001 DESCRIPTION "Some MIB structure reorganization." REVISION "200107161500Z" -- 16-Jul-2001 DESCRIPTION "Developed tpmMetricDefTable from A.Bierman's PM-CAPS draft." ::= { rmon 30 } -- this has NOT been assigned tpmCapabilities OBJECT IDENTIFIER ::= { tpmMIB 1 } tpmReports OBJECT IDENTIFIER ::= { tpmMIB 2 } tpmConformance OBJECT IDENTIFIER ::= { tpmMIB 3 } tpmAggrReportCntrl OBJECT IDENTIFIER ::= { tpmReports 1 } tpmAggrReport OBJECT IDENTIFIER ::= { tpmReports 2 } tpmCurrReport OBJECT IDENTIFIER ::= { tpmReports 3 } tpmExcpReportCntrl OBJECT IDENTIFIER ::= { tpmReports 4 } tpmExcpReport OBJECT IDENTIFIER ::= { tpmReports 5 } tpmHistReportCntrl OBJECT IDENTIFIER ::= { tpmReports 6 } tpmHistReport OBJECT IDENTIFIER ::= { tpmReports 7 } -- -- 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. -- -- -- The tmpCapabilitiesGroup -- -- -- Transport Performance Transaction Metric Directory -- -- This table is used to describe and link sets of performance -- metrics and protocols to an entry in the application directory. -- This table, with the tpmMetricDefTable, describes the capability of -- the agent to collection sub-application level data related to each -- entry in the apmAppDirectoryTable. -- tpmClockResolution OBJECT-TYPE SYNTAX MicroSeconds MAX-ACCESS read-only Expires August 22, 2002 [Page 17] Internet-Draft TPM MIB February 24, 2002 STATUS current -- UNITS Microseconds DESCRIPTION "A read only variable indicating the resolution of the measurements possible by this device." ::= { tpmCapabilities 1 } tpmClockMaxSkew OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current -- UNITS Seconds DESCRIPTION "A read only variable indicating the maximum offset error due to skew of the local clock over the time interval 86400 seconds, in seconds." ::= { tpmCapabilities 2 } tpmClockSource OBJECT-TYPE SYNTAX INTEGER { local (1), other (2), manual (3), gps (4), ntp (5) } MAX-ACCESS read-only STATUS current -- UNITS MicroSeconds DESCRIPTION "A read only variable indicating the source of the clock. This is provided to allow a user to determine how accurate the timing mechanism is compared with other devices. This is mostly needed for the co-ordination of time values between probes for one-way measurements." ::= { tpmCapabilities 3 } tpmTransactionMetricDirLastChange OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time the tpmTransactionmetricDirTable was last modified, through modifications of the tpmTransactionMetricDirConfig object." ::= { tpmcapabilities 4 } Expires August 22, 2002 [Page 18] Internet-Draft TPM MIB February 24, 2002 tpmTransactionMetricDirTable OBJECT-TYPE SYNTAX SEQUENCE OF TpmTransactionMetricDirEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the protocol transactions and the corresponding performance metrics that this agent has the capability to compute and collect, for the specified application. There is one entry in this table for each such application, protocol transaction and metric combination supported by this agent. The entries in this table represent the metrics that are collected for each protocol transaction that comprise the application. The agent should boot up with this table preconfigured with those combinations of applications, protocol transactions and metrics that it knows about and wishes to monitor. Implementations must populate the table with all possible application, protocol transaction and metric combinations and have the default configuration objects set to supportedOff(2). This table does not support the creation of new combinations by the management application. The deletion of an entry in the apmAppDirectoryTable will cause the removal of entries from this table. These entries must be removed because the appLocalIndex value will no longer be visible in the apmAppDirectoryTable. When an entry is created in the apmAppDirectoryTable and the agent has the ability to support metrics for these protocol transactions. The appropriate entries must be made in the tpmTransactionMetricDefTable." ::= { tpmCapabilities 5 } tpmTransactionMetricDirEntry OBJECT-TYPE SYNTAX TpmTransactionMetricDirEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the tpmTransactionMetricDirTable. An example of the indexing of this entry is tpmTransactionMetricDirConfig.5.2 where 5 is the value of a valid and visible appLocalIndex object in in the appLocalDir table. The entries decribe the the transaction and metric pairs monitored for this application. The protocolDirLocalIndex identifies the protocol transaction and the tpmMetricDefIndex describes the metric monitored." Expires August 22, 2002 [Page 19] Internet-Draft TPM MIB February 24, 2002 INDEX { appLocalIndex, -- Application Index tpmTransactionMetricIndex -- (Protocol,Metric) Index } ::= { tpmTransactionMetricDirTable 1 } TpmTransactionMetricDirEntry ::= SEQUENCE { tpmTransactionMetricIndex Integer32, tpmTransactionMetricProtocolIndex Integer32, tpmTransactionMetricMetricIndex Integer32, tpmTransactionMetricDirConfig INTEGER } tpmTransactionMetricIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index used to uniquely identify an entry in the tpmTransactionMetricDir table. Each such entry defines protocol transaction and metric instance to be monitored for a specific application." ::= { tpmtransactionMetricDirEntry 1 } tpmTransactionMetricProtocolIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The protocolDirLocalIndex of the particular transaction to be analyzed when computing and generating the selected metric." ::= { tpmtransactionMetricDirEntry 2 } tpmTransactionMetricMetricIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The tpmMetricDefID of the particular metric to be generated." ::= { tpmtransactionMetricDirEntry 3 } tpmTransactionMetricDirConfig OBJECT-TYPE SYNTAX INTEGER { notSupported(1), supportedOff(2), supportedOn(3) } MAX-ACCESS read-write Expires August 22, 2002 [Page 20] Internet-Draft TPM MIB February 24, 2002 STATUS current DESCRIPTION "This object describes and configures the probe's support for this performance metric in relationship to the specified transaction. The agent creates entries in this table for all metrics and transactions 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 tpmMetricDir table. If the value of this object is notSupported(1), the probe will not perform computations for this performance metric and transaction 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 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 tpmReportTable, for all appropriate studies configured in the perfControl table." ::= { tpmTransactionMetricDirEntry 4 } -- -- TPM Metric Definitions Table -- -- The tpmMetricDefTable describes the metrics available to the -- TMP MIB. The tpmMetricDefTable defines metrics by referencing -- existing IETF, ITU and other standards organizations' documents. tpmMetricDefTable OBJECT-TYPE SYNTAX SEQUENCE OF TpmMetricDefEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains one row per metric supported by this agent, and should be populated during system Expires August 22, 2002 [Page 21] Internet-Draft TPM MIB February 24, 2002 initialization." ::= { tpmCapabilities 6 } tpmMetricDefEntry OBJECT-TYPE SYNTAX TpmMetricDefEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about a particular metric." INDEX { tpmMetricDefID } ::= { tpmMetricDefTable 1 } tpmMetricDefEntry ::= SEQUENCE { tpmMetricDefID OBJECT IDENTIFIER, tpmMetricDefType INTEGER, tpmMetricDefDirType INTEGER, tpmMetricDefName SnmpAdminString, tpmMetricDefReference SnmpAdminString } tpmMetricDefID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index for this entry. This object identifies the standard or vendor-specific registration OBJECT IDENTIFER defined for a particular metric." ::= { tpmMetricDefEntry 1 } tpmMetricDefType OBJECT-TYPE SYNTAX INTEGER { other(1), connectMetric(2), delayMetric(3), lossMetric(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "The basic type of metric indicated by this entry. The value 'other(1)' indicates that this metric cannot be characterized by any of the remaining enumerations specified for this object. The value 'connectMetric(2)' indicates that this metric measures connectivity characteristics. Expires August 22, 2002 [Page 22] Internet-Draft TPM MIB February 24, 2002 The value 'delayMetric(3)' indicates that this metric measures delay characteristics. The value 'lossMetric(4)' indicates that this metric measures loss characteristics." ::= { tpmMetricDefEntry 2 } tpmMetricDefDirType OBJECT-TYPE SYNTAX INTEGER { oneWay(1), twoWay(2), multiWay(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The directional characteristics of the this metric. The value 'oneWay(1)' indicates that this metric is measured with some sort of uni-directional test. The value 'twoWay(2)' indicates that this metric is measured with some sort of bi-directional test. The value 'multiWay(3)' indicates that this metric is measured with some combination of uni-directional and/or bi- directional tests." ::= { tpmMetricDefEntry 3 } tpmMetricDefName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "The textual name of this metric." ::= { tpmMetricDefEntry 4 } tpmMetricDefReference OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains a reference to the document which defines this metric. If this document is available online via electronic download, then a URL should be specified in this object. For example, if this tpmMetricDefEntry identified the IPPM Expires August 22, 2002 [Page 23] Internet-Draft TPM MIB February 24, 2002 metric 'Type-P-Round-Trip-Delay', then this object should contain the value 'http://www.ietf.org/rfc/rfc2681.txt'." ::= { tpmMetricDefEntry 5 } -- -- The tmpAggregateReportsGroup -- -- -- The tpmReportAggregateCntrlTable is the controlling entry to manage -- the population of studies in the Transport Aggregate Report -- tpmAggrReportCntrlTable OBJECT-TYPE SYNTAX SEQUENCE OF TpmAggrReportCntrlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table to control the collection of performance metric studies for selected interfaces, metrics and transaction 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." ::= { tpmReports 1 } tpmAggrReportCntrlEntry OBJECT-TYPE SYNTAX TpmAggrReportCntrlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the tpmAggrReportCntrlTable. An example of the indexing of this entry is tpmAggrReportCntrlDataSource.1" INDEX { tpmAggrReportCntrlIndex } ::= { tpmReportAggregateCntrlTable 1 } TpmAggrReportCntrlEntry ::= SEQUENCE { tpmAggrReportCntrlIndex Integer32, tpmAggrReportCntrlApmControlIndex Integer32, tpmAggrReportCntrlDataSource DataSource, tpmAggrReportCntrlMetrics Integer32, tpmAggrReportCntrlAggregationType INTEGER, Expires August 22, 2002 [Page 24] Internet-Draft TPM MIB February 24, 2002 tpmAggrReportCntrlInterval Integer32, tpmAggrReportCntrlRequestedSize Integer32, tpmAggrReportCntrlGrantedSize Integer32, tpmAggrReportCntrlRequestedReports Integer32, tpmAggrReportCntrlGrantedReports Integer32, tpmAggrReportCntrlStartTime TimeStamp, tpmAggrReportCntrlReportNumber Integer32, tpmAggrReportCntrlInsertsDenied Integer32, tpmAggrReportCntrlDroppedFrames Counter32, tpmAggrReportCntrlOwner OwnerString, tpmAggrReportCntrlStatus RowStatus } tpmAggrReportCntrlIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies an entry in the tpmAggrReportCntrlTable. Each such entry defines a unique report whose results are placed in the tpmAggrReportTable on behalf of this tpmAggrReportCntrlEntry." ::= { tpmAggrReportCntrlEntry 1 } tpmAggrReportCntrlApmCntrlIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "This index associates this TpmAggrReportCntrlEntry directly with an existing ApmReportControlEntry. This link is used to syncronize reports in the associated tpmAggrReportTable. A value of 0 (zero) enables an independent control table that will report entries to tpmAggrReportTable based only on the other objects in this table. This object may not be modified if the associated tpmAggrReportCntrlStatus object is equal to active(1)." DEFVAL { 0 } ::= { tpmAggrReportCntrlEntry 2 } tpmAggrReportCntrlDataSource OBJECT-TYPE SYNTAX DataSource MAX-ACCESS read-create STATUS current DESCRIPTION Expires August 22, 2002 [Page 25] Internet-Draft TPM MIB February 24, 2002 "The source of the data for TPM Reports generated on behalf of this tpmAggrReportCntrlEntry. If the measurement is being performed by a probe, this should be set to interface or port where data was received for analysis. If the measurement isn't being performed by a probe, this should be set to the primary interface over which the measurement is being performed. If the measurement isn't being performed by a probe and there is no primary interface or this information isn't known, this object should be set to 0.0. This object may not be modified if the associated tpmAggrReportCntrlStatus object is equal to active(1)." ::= { tpmAggrReportCntrlEntry 3 } tpmAggrReportCntrlMetrics OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The number of performance metric and protocol combinations to be collected in the portion of tpmAggrReportTable associated with this tpmAggrReportCntrlEntry. This value is determined by the capabilities of the tpm monitor." ::= { tpmAggrReportCntrlEntry 4 } tpmAggrReportCntrlAggregationType OBJECT-TYPE 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 tpmAggrReportCntrlMetrics 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 tpmAggrReportTable. The flows(1) aggregation is the simplest. All traffic Expires August 22, 2002 [Page 26] Internet-Draft TPM MIB February 24, 2002 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 servers(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 tpmAggrReportCntrlStatus object is equal to active(1)." ::= { tpmAggrReportCntrlEntry 5 } tpmAggrReportCntrlInterval OBJECT-TYPE SYNTAX Integer32 (1..86400) UNITS "Seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The interval in seconds over which data is accumulated before being aggregated into a report in the tpmAggrReportTable. All reports with the same tpmAggrReportCntrlIndex will be based on the same interval. This object may not be modified if the associated tpmReportAggregateCntrlStatus object is equal to active(1)." DEFVAL { 3600 } ::= { tpmAggrReportCntrlEntry 6 } tpmAggrReportCntrlRequestedSize OBJECT-TYPE SYNTAX Integer32 (0..2147483647) Expires August 22, 2002 [Page 27] Internet-Draft TPM MIB February 24, 2002 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 tpmReportCntrlGrantedSize 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 tpmAggrReportTable only. Since the probe can derive this table from the apmReportTable, the probe must make sure that sufficient resources exist to support the creation of the apmReportTable plus any additional resources required to convert or support this table." ::= { tpmAggrReportCntrlEntry 7 } tpmAggrReportCntrlGrantedSize 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 tpmAggrReportCntrlRequestedSize 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 tpmAggrReportCntrlRequestedSize object. Since the probe must support only the granted size, the probe should attempt to maintain the most recently active entries in the tpmMetric 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." ::= { tpmAggrReportCntrlEntry 8 } tpmAggrReportCntrlRequestedReports OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-create STATUS current DESCRIPTION Expires August 22, 2002 [Page 28] Internet-Draft TPM MIB February 24, 2002 "The number of saved reports requested to be allocated on behalf of this entry." ::= { tpmAggrReportCntrlEntry 9 } tpmAggrReportCntrlGrantedReports OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The number of saved reports the agent has allocated based on the requested amount in tpmAggrReportCntrlRequestedReports. Since each report can have many entries, the total number of entries allocated will be this number multiplied by the value of tpmAggrReportCntrlGrantedSize, or 1 if that object doesn't exist. When the associated tpmAggrReportCntrlRequestedReports object is created or modified, the agent should set this object as closely to the requested value as is possible for the particular implementation and available resources. When considering resources available, the agent must consider its ability to allocate this many reports each with the number of entries represented by tpmAggrReportCntrlGrantedSize, or 1 if that object doesn't exist. Note that while the storage required for each report may fluctuate due to changing conditions, the agemt must continue to have storage available to satisfy the full report size for all reports when necessary. Further, the agent must not lower this value except as a result of a set to the associated tpmAggrReportCntrlRequestedSize object." ::= { tpmAggrReportCntrlEntry 10 } tpmAggrReportCntrlStartTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when the system began processing the report in progress. Note that the report in progress is not available. This object may be used by the management station to figure out the start time for all previous reports saved for this tpmAggrReportCntrlEntry, as reports are started at fixed intervals." ::= { tpmAggrReportCntrlEntry 11 } Expires August 22, 2002 [Page 29] Internet-Draft TPM MIB February 24, 2002 tpmAggrReportCntrlReportNumber OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of the report in progress. When an tpmAggrReportCntrlEntry is activated, the first report will be numbered zero." ::= { tpmAggrReportCntrlEntry 12 } tpmAggrReportCntrlInsertsDenied OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of failed attempts to add an entry to reports for this tpmReportControlEntry because the number of entries would have exceeded tpmReportAggregateCntrlGrantedSize. This number is valuable in determining if enough entries have been allocated for reports in light of fluctuating network usage. Note that an entry that is denied will often be attempted again, this number will not predict the exact number of additional entries needed, but can be used to understand the relative magnitude of the problem. Also note that there is no ordering specified for the entries in the report, thus there are no rules for which entries will be omitted when not enough entries are available. As a consequence, the agent is not required to delete 'least valuable' entries first." ::= { tpmAggrReportCntrlEntry 13 } tpmAggrReportCntrlDroppedFrames OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of frames which were received by the agent and therefore not accounted for in the *StatsDropEvents, but for which the agent chose not to count for this entry for whatever reason. Most often, this event occurs when the agent is out of some resources and decides to shed load from this collection. This count does not include packets that were not counted because they had MAC-layer errors. Expires August 22, 2002 [Page 30] Internet-Draft TPM MIB February 24, 2002 Note that if the alMatrixTables are not implemented or are inactive because no protocols are enabled in the protocol directory, this value should be 0. Note that, unlike the dropEvents counter, this number is the exact number of frames dropped." ::= { tpmAggrReportCntrlEntry 14 } tpmAggrReportCntrlOwner 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." ::= { tpmAggrReportCntrlEntry 15 } tpmAggrReportCntrlStatus 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 tpmAggrReportTable shall be deleted." ::= { tpmAggrReportCntrlEntry 16 } -- -- Transport Aggregate Report Table -- -- This table contains transport performance metric studies for each -- of the control table entries in tpmAggrReportCntrlTable. These -- studies are provided based on the selections and parameters found -- for the entry in the tpmAggregateReportCntrlTable. -- tpmAggrReportTable OBJECT-TYPE SYNTAX SEQUENCE OF TpmAggrReportEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A study of performance statistics for those table entries specified in the tpmTransactionMetric DIR Expires August 22, 2002 [Page 31] Internet-Draft TPM MIB February 24, 2002 table associated with the application in question and indexed by appLocalIndex and tpmTransactionMetricIndex." ::= { tpmReports 2 } tpmAggrReportEntry OBJECT-TYPE SYNTAX TpmAggrReportEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the tpmAggrReportTable. The tpmAggrReportCntrlIndex value in the index identifies the tpmAggrReportCntrlEntry on whose behalf this entry was created. The tpmAggrReportIndex value in the index identifies which report (in the series of reports) this entry is a part of. The tmpAggrReportAppLocalIndex value in the index identifies the application protocol that is begin reported. The protocolDirLocalIndex value in the index identifies the network layer protocol of the tpmAggrReportServerAddress. When the associated tpmAggrReportCntrlAggregationType value is equal to protocol(4), this value will equal 0. The tpmAggrReportServerAddress value in the index identifies the network layer address of the server in traffic flows aggregated in this entry. The tpmAggrReportApmNameClientID value in the index identifies the network layer address of the client in traffic flows aggregated in this entry. The tpmTransactionMetricIndex value in the index identifies the transaction protocol-metric pair for the 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 tpmAggrReportCntrlIndex value in the index identifies the tpmAggrReportCntrlEntry on whose behalf this entry was created. The tpmTransationMetricIndex value in the index identifies the metric and transaction of the tpmAggrReportServerAddress, via the tpmTransactionMetricDir table. An example of the indexing of this table is tpmAggrReportStatisticN.3.15.34.18.4.128.2.6.7.262.30" INDEX { tpmAggrReportCntrlIndex, tpmAggrReportIndex, tmpAggrReportAppLocalIndex, -- Application Layer protocolLocalDirIndex, -- Network Layer tpmAggrReportServerAddress, Expires August 22, 2002 [Page 32] Internet-Draft TPM MIB February 24, 2002 tpmAggrReportApmNameClientID, tpmAggrReportTransMetricIndex -- Metric and Protocol } ::= { tpmAggrReportTable 1 } TpmAggrReportEntry ::= SEQUENCE { tpmAggrReportIndex Integer32, tpmAggrReportAppLocalIndex AppLocalIndex, tpmAggrReportServerAddress OCTET STRING, tpmAggrReportApmNameClientID Unsigned32, tpmAggrReportTransMetricIndex Integer32, tpmAggrReportStatisticN Counter32, tpmAggrReportOverflowStatisticN Counter32, tpmAggrReportHCStatisticN Counter64, tpmAggrReportStatisticSumX Counter32, tpmAggrReportOverflowStatisticSumX Counter32, tpmAggrReportHCStatisticSumX Counter64, tpmAggrReportStatisticMaximum Gauge32, tpmAggrReportStatisticMinimum Gauge32, tpmAggrReportStatisticSumSquared Counter32, tpmAggrReportOverflowStatisticSumSquared Counter32, tpmAggrReportHCStatisticSumSquared Counter64, tpmAggrReportStatisticSumIX Counter32, tpmAggrReportOverflowStatisticSumIX Counter32, tpmAggrReportHCStatisticSumIX Counter64, tpmAggrReportStatisticSumIXSquared Counter32, tpmAggrReportOverflowStatisticSumIXSquared Counter32, tpmAggrReportHCStatisticSumIXSquared Counter64 } tpmAggrReportIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The value of tpmAggrReportCntrlNumber for the report to which this entry belongs." ::= { tpmAggrReportEntry 1 } tpmAggrReportAppLocalIndex OBJECT-TYPE SYNTAX AppLocalIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The common application of the transactions aggregated in this entry." ::= { tpmAggrReportEntry 2 } Expires August 22, 2002 [Page 33] Internet-Draft TPM MIB February 24, 2002 tpmAggrReportServerAddress 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 tpmTransactionMetricIndex from the tpmTransactionMetricDir table 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." ::= { tpmAggrReportEntry 3 } tpmAggrReportApmNameClientID OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique ID assigned to the machine represented by this mapping. This ID is assigned by the agent using an implementation-specific algorithm." ::= { tpmAggrReportEntry 4 } tpmAggrReportTransMetricIndex OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique index that indentifies the transaction and metric associated with the statistics reported here." ::= { tpmAggrReportEntry 5 } tpmAggrReportStatisticN 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. Expires August 22, 2002 [Page 34] Internet-Draft TPM MIB February 24, 2002 This value represents the results for one metric and is related directly to the specific parameters of the metric and the Server and Client addresses involved." ::= { tpmAggrReportEntry 6 } tpmAggrReportOverflowStatisticN OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the associated tpmAggrReportStatisticN counter has overflowed." ::= { tpmAggrReportEntry 7 } tpmAggrReportHCStatisticN OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The high-capacity version of tpmAggrReportStatisticN." ::= { tpmAggrReportEntry 8 } tpmAggrReportStatisticSumX OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only 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." ::= { tpmAggrReportEntry 9 } tpmAggrReportOverflowStatisticSumX OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the associated tpmAggrReportStatisticSumX counter has overflowed." ::= { tpmAggrReportEntry 10 } tpmAggrReportHCStatisticSumX OBJECT-TYPE SYNTAX Counter64 Expires August 22, 2002 [Page 35] Internet-Draft TPM MIB February 24, 2002 MAX-ACCESS read-only STATUS current DESCRIPTION "The high-capacity version of tpmAggrReportStatisticSumX." ::= { tpmAggrReportEntry 11 } tpmAggrReportStatisticMaximum 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." ::= { tpmAggrReportEntry 12 } tpmAggrReportStatisticMinimum OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only 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." ::= { tpmAggrReportEntry 13 } tpmAggrReportStatisticSumSquared 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. Expires August 22, 2002 [Page 36] Internet-Draft TPM MIB February 24, 2002 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." ::= { tpmAggrReportEntry 14 } tpmAggrReportOverflowStatisticSumSquared OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the associated tpmAggrReportStatisticSumSquared counter has overflowed." ::= { tpmAggrReportEntry 15 } tpmAggrReportHCStatisticSumSquared OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The high-capacity version of tpmAggrReportStatisticSumSquared." ::= { tpmAggrReportEntry 16 } tpmAggrReportStatisticSumIX OBJECT-TYPE SYNTAX Counter32 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, tpmReportStatisticN. 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." ::= { tpmAggrReportEntry 17 } tpmAggrReportOverflowStatisticSumIX OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the associated tpmAggrReportStatisticSumIX counter has overflowed." ::= { tpmAggrReportEntry 18 } tpmAggrReportHCStatisticSumIX OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current Expires August 22, 2002 [Page 37] Internet-Draft TPM MIB February 24, 2002 DESCRIPTION "The high-capacity version of tpmAggrReportStatisticSumIX." ::= { tpmAggrReportEntry 19 } tpmAggrReportStatisticSumIXSquared OBJECT-TYPE SYNTAX Counter32 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, tpmAggrReportStatisticN. 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." ::= { tpmAggrReportEntry 20 } tpmAggrReportOverflowStatisticSumIXSquared OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times the associated tpmAggrReportStatisticSumIXSquared counter has overflowed." ::= { tpmAggrReportEntry 21 } tpmAggrReportHCStatisticSumIXSquared OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The high-capacity version of tpmAggrReportStatisticSumIXSquared." ::= { tpmAggrReportEntry 22 } -- -- The tmpCurrentReportsGroup -- -- -- TPM Current Transaction Table -- -- This table will contain entries ONLY if the tpmAggrReport is associated -- with an apmControlReportEntry. These entries are a current -- 'snapshot' of the metrics being collected in association with a set -- of APM related application transactions. -- tpmCurrReportTable OBJECT-TYPE Expires August 22, 2002 [Page 38] Internet-Draft TPM MIB February 24, 2002 SYNTAX SEQUENCE OF TpmCurrReportEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains all sub-flow metrics for transactions that have been started but have not yet finished." ::= { tpmReport 3 } tpmCurrReportEntry OBJECT-TYPE SYNTAX TpmCurrReportEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the tpmCurrReportTable. The tpmCurrReportControlIndex value in the index identifies the tpmAggrReportCntrlEntry on whose behalf this entry was created. The tmpCurrReportAppLocalIndex value in the index identifies the application protocol that is begin reported. The protocolDirLocalIndex value in the index identifies the network layer protocol of the tpmAggrReportServerAddress. When the associated tpmAggrReportCntrlAggregationType value is equal to protocol(4), this value will equal 0. The tpmCurrReportCurrentServerAddress value in the index identifies the network layer address of the server in traffic flows aggregated in this entry. The tpmCurrReportCurrentApmNameClientID value in the index identifies the network layer address of the client in traffic flows aggregated in this entry. The tpmCurrReportCurrentMetricIndex value in the index identifies the transported application protocol of the 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 tpmCurrReportCntrIndex value in the index identifies the tpmAggrReportCntrlEntry on whose behalf this entry was created. The tpmCurrReportMetricIndex value in the index identifies the metric and protocol of the tpmCurrReportServerAddress, via the tpmTransactionMetricDir table. An example of the indexing of this table is tpmCurrReportStatisticN.3.34.18.4.128.2.6.6.262.6.30" Expires August 22, 2002 [Page 39] Internet-Draft TPM MIB February 24, 2002 INDEX { tpmCurrReportCntrlIndex, tpmCurrReportAppLocalIndex, -- Application Layer protocolLocalDirIndex, -- Network Layer tpmCurrReportServerAddress, tpmCurrReportApmNameClientID, tpmCurrReportTransMetricIndex, -- Metric and Protocol tpmCurrReportApmCurrentTransactionID } ::= { tpmCurrReportTable 1 } tpmCurrReportEntry ::= SEQUENCE { tpmCurrReportAppLocalIndex AppLocalIndex, tpmCurrReportServerAddress OCTET STRING, tpmCurrReportApmNameClientID Unsigned32, tpmCurrReportTransMetricIndex Integer32, tpmCurrReportApmTransactionID Integer32, tpmCurrReportApmSuccess INTEGER, tpmCurrReportMetricValue Integer32 } tpmCurrReportAppLocalIndex OBJECT-TYPE SYNTAX AppLocalIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The common application of the transactions reported in this entry." ::= { tpmCurrReportEntry 1 } tpmCurrReportCurrentServerAddress OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS not-accessible STATUS current DESCRIPTION "The network server address for this tpmCurrentEntry. This is represented as an octet string with specific semantics and length as identified by the second protocolDirLocalIndex component of the index. 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." ::= { tpmCurrReportEntry 2 } tpmCurrReportApmNameClientID OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) Expires August 22, 2002 [Page 40] Internet-Draft TPM MIB February 24, 2002 MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique ID assigned to the machine represented by this mapping. This ID is assigned by the agent using an implementation-specific algorithm." ::= { tpmCurrReportEntry 3 } tpmCurrReportTransMetricIndex OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique index that indentifies the transaction and metric associated with the statistics reported here." ::= { tpmCurrReportEntry 4 } tpmCurrReportApmTransactionID OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value for this transaction amongst other transactions sharing the same application layer protocol and server and client addresses. Implementations may choose to use the value of the client's source port, when possible." ::= { tpmCurrReportEntry 5 } tpmCurrReportApmSuccess OBJECT-TYPE SYNTAX INTEGER { successful(1), failed(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The success of this transaction up to this time. A transaction that has failed may exist in this table until it is closed. Once a transaction has been marked as failed, it cannot move back into the successful state. Note that this value may change over the lifetime of the transaction and it is the final value of this metric that is recorded as the success of the transaction for use in other APM MIB functions." ::= { tpmCurrReportEntry 6 } tpmCurrReportMetricValue OBJECT-TYPE Expires August 22, 2002 [Page 41] Internet-Draft TPM MIB February 24, 2002 SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current value of the metric being evaluated. For some transaction types this value may be 0, e.g., the current round trip time for a DNS query. For other transaction types this will represent the current value of a continuously measured metric, e.g., the current throughput of an FTP transaction." ::= { tpmCurrReportEntry 7 } -- -- The tpmExceptionReportsGroup -- -- -- TPM Exception Report Table -- -- This table will contain the sub-flows related to an apmExceptionTable -- entry. -- tpmExcpReportCntrlTable OBJECT-TYPE SYNTAX SEQUENCE OF TpmExcpReportCntrlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table creates a link between the apmExceptionTable and the possible notifications that may occur based on any entries in the apmExceptionTables. Each tpmExcpReportCntrlEntry is associated with a particular exception entry in the apmExceptionTable based on the value of tpmExcpReportApmExceptionIndex. Because the quality of a transaction is not known until it is completed, these thresholds are only applied after the transaction has completed." ::= { tpmReports 4 } tpmExcpReportCntrlEntry OBJECT-TYPE SYNTAX TpmExcpReportCntrlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the tpmExcpReportCntrlTable." Expires August 22, 2002 [Page 42] Internet-Draft TPM MIB February 24, 2002 INDEX { tpmExcpReportCntrlApmExceptionIndex, tpmExcpReportCntrlIndex } ::= { tpmExcpReportCntrlTable 1 } TpmExcpReportCntrlEntry ::= SEQUENCE { tpmExcpReportCntrlIndex Integer32, tpmExcpReportCntrlApmExceptionIndex Integer32, tpmExcpReportCntrlOwner OwnerString, tpmExcpReportCntrlStatus RowStatus } tpmExcpReportCntrlIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies an entry in the tpmExcpReportTable. Each such entry sets up a link to an entry in the apmExceptionTable. Note that even though the index of the tpmExcpReportTable contains other objects (e.g. protocolDirID) that may disambiguate tpmExcpReportEntries, no two tpmExcpreportEntries may have the same value of tpmExcpReportIndex." ::= { tpmExcpReportCntrlEntry 1 } tpmExcpReportCntrlApmExceptionIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "An index that creates the link to the uniquely identified entry in the apmExceptionTable." ::= { tpmExcpReportCntrlEntry 2 } tpmExcpReportCntrlOwner 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." ::= { tpmExcpReportCntrlEntry 3 } tpmExcpReportCntrlStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create Expires August 22, 2002 [Page 43] Internet-Draft TPM MIB February 24, 2002 STATUS current DESCRIPTION "The status of this tpmExcpReportCntrlEntry." ::= { tpmExcpReportCntrlEntry 4 } -- -- TPM Exception Report Table -- -- tpmExcpReportTable OBJECT-TYPE SYNTAX SEQUENCE OF TpmExcpReportEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains all sub-flow metrics for transactions that have been tagged by the apmExceptionTable filter as having had poor performance." ::= { tpmReports 5 } tpmExcpReportEntry OBJECT-TYPE SYNTAX TpmExcpReportEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the tpmExcpReportTable. The tpmExcpReportCntrlIndex value in the index identifies the tpmExcpreportCntrlEntry on whose behalf this entry was created. The tpmExcpReportIndex value in the index identifies which report (in the series of reports) this entry is a part of. The tpmExcpReportAppLocalIndex value in the index identifies the application protocol that is begin reported. The protocolDirLocalIndex value in the index identifies the network layer protocol of the tpmAggrReportServerAddress. When the associated tpmAggrReportCntrlAggregationType value is equal to protocol(4), this value will equal 0. The tpmExcpReportCntrlServerAddress value in the index identifies the network layer address of the server in traffic flows aggregated in this entry. The tpmExcpReportCntrlClientID value in the index identifies the network layer address of the client in traffic flows aggregated in this entry. The tpmExcpReportMetricIndex value in the index identifies the transported application protocol of the traffic flows aggregated in this entry. Note that the order of protocolDirLocalIndex variables is Expires August 22, 2002 [Page 44] Internet-Draft TPM MIB February 24, 2002 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 tpmExcpReportCntrlIndex value in the index identifies the tpmExcpreportCntrlEntry on whose behalf this entry was created. The tpmExcpReportMetricIndex value in the index identifies the metric and protocol of the tpmExcpReportCntrlServerAddress, via the tpmtransactionMetricDir table. An example of the indexing of this table is tpmReportExceptionStatisticN.3.34.18.4.128.2.6.7.4.262.11.23698.30" INDEX { tpmExcpReportCntrlIndex, tpmExcpReportAppLocalIndex, -- Application Layer protocolLocalDirIndex, -- Network Layer tpmExcpReportServerAddress, tpmExcpReportClientID, tpmExcpReportTransMetricIndex, -- Metric and Protocol tpmExcpReportApmExceptionIndex, tpmExcpReportApmTransactionID } ::= { tpmExcpreportTable 1 } TpmExcpReportEntry ::= SEQUENCE { tpmExcpReportAppLocalIndex AppLocalIndex, tpmExcpReportServerAddress OCTET STRING, tpmExcpReportClientID Unsigned32, tpmExcpReportTransMetricIndex Integer32, tpmExcpReportApmTransactionID Integer32, tmpExcpReportMetricValue Integer32 } tpmExcpReportAppLocalIndex OBJECT-TYPE SYNTAX AppLocalIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The common application of the transactions reported in this entry." ::= { tpmExcpReportEntry 1 } tpmAggrReportAppLocalIndex OBJECT-TYPE SYNTAX AppLocalIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The common application of the transactions aggregated in this entry." Expires August 22, 2002 [Page 45] Internet-Draft TPM MIB February 24, 2002 ::= { tpmAggrReportEntry 2 } tpmExcpReportServerAddress OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS not-accessible STATUS current DESCRIPTION "The network server address for this tpmExcpReportEntry. This is represented as an octet string with specific semantics and length as identified by the second protocolDirLocalIndex component of the index. 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." ::= { tpmExcpReportEntry 3 } tpmExcpReportApmNameClientID OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique ID assigned to the machine represented by this mapping. This ID is assigned by the agent using an implementation-specific algorithm." ::= { tpmExpReportEntry 4 } tpmExcpReportTransMetricIndex OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique index that indentifies the transaction and metric associated with the data reported here." ::= { tpmExcpReportEntry 5 } tpmExcpReportApmTransactionID OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value for this transaction amongst other transactions sharing the same application layer protocol and server and client addresses. Implementations may choose to use the value of the client's source port, when possible." ::= { tpmExpReportEntry 6 } Expires August 22, 2002 [Page 46] Internet-Draft TPM MIB February 24, 2002 tpmExcpReportMetricValue OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The value of the metric evaluation for this transaction." ::= { tpmExpReportEntry 7 } -- -- The tmpHistoryReportsGroup -- -- -- TPM History -- -- The tpmHistReportCntrlTable is the controlling entry to manage -- the population of data in the Transport History Report -- tpmHistReportCntrlTable OBJECT-TYPE SYNTAX SEQUENCE OF TpmHistReportCntrlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table to control the collection of performance metric data for selected interfaces, metrics and transaction 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." ::= { tpmReports 5 } tpmHistReportCntrlEntry OBJECT-TYPE SYNTAX TpmHistReportCntrlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the tpmHistReportCntrlTable. An example of the indexing of this entry is tpmHistReportCntrlDataSource.1" INDEX { tpmAggrReportCntrlIndex } ::= { tpmHistReportCntrlTable 1 } Expires August 22, 2002 [Page 47] Internet-Draft TPM MIB February 24, 2002 TpmHistReportCntrlEntry ::= SEQUENCE { tpmHistReportCntrlIndex Integer32, tpmHistReportCntrlRequestedSize Integer32, tpmHistReportCntrlGrantedSize Integer32, tpmHistReportCntrlRequestedReports Integer32, tpmHistReportCntrlGrantedReports Integer32, tpmHistReportCntrlStartTime TimeStamp, tpmHistReportCntrlReportNumber Integer32, tpmHistReportCntrlInsertsDenied Integer32, tpmHistReportCntrlDroppedFrames Counter32, tpmHistReportCntrlOwner OwnerString, tpmHistReportCntrlStatus RowStatus } tpmHistReportCntrlIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies an entry in the tpmAggrReportCntrlTable. Each such entry defines a unique report whose results are placed in the tpmHistReportTable on behalf of this tpmHistReportCntrlEntry." ::= { tpmHistReportCntrlEntry 1 } tpmHistReportCntrlRequestedSize 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 tpmHistReportCntrlGrantedSize 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 tpmHistReportTable only. The probe must make sure that sufficient resources exist to support the creation of the tpmHistReportTable plus any additional resources required to convert or support this table." ::= { tpmHistReportCntrlEntry 2 } tpmHistReportCntrlGrantedSize OBJECT-TYPE SYNTAX Integer32 (0..2147483647) Expires August 22, 2002 [Page 48] Internet-Draft TPM MIB February 24, 2002 MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum number of performance entries in this report. When the associated tpmHistReportCntrlRequestedSize 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 tpmHistReportCntrlRequestedSize object. Since the probe must support only the granted size, the probe should attempt to maintain the most recently active entries in the tpmMetric 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." ::= { tpmHistReportCntrlEntry 3 } tpmHistReportCntrlRequestedReports OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The number of saved reports requested to be allocated on behalf of this entry." ::= { tpmHistReportCntrlEntry 4 } tpmHistReportCntrlGrantedReports OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The number of saved reports the agent has allocated based on the requested amount in tpmHistReportCntrlRequestedReports. Since each report can have many entries, the total number of entries allocated will be this number multiplied by the value of tpmHistReportCntrlGrantedSize, or 1 if that object doesn't exist. When the associated tpmHistReportCntrlRequestedReports object is created or modified, the agent should set this object as closely to the requested value as is possible for the particular implementation and available resources. When considering resources available, the agent must consider its Expires August 22, 2002 [Page 49] Internet-Draft TPM MIB February 24, 2002 ability to allocate this many reports each with the number of entries represented by tpmHistReportCntrlGrantedSize, or 1 if that object doesn't exist. Note that while the storage required for each report may fluctuate due to changing conditions, the agemt must continue to have storage available to satisfy the full report size for all reports when necessary. Further, the agent must not lower this value except as a result of a set to the associated tpmHistReportCntrlRequestedSize object." ::= { tpmHistReportCntrlEntry 5 } tpmHistReportCntrlStartTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when the system began processing the report in progress. Note that the report in progress is not available. This object may be used by the management station to figure out the start time for all previous reports saved for this tpmHistReportCntrlEntry, as reports are started at fixed intervals." ::= { tpmHistReportCntrlEntry 6 } tpmHistReportCntrlReportNumber OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of the report in progress. When an tpmHistReportCntrlEntry is activated, the first report will be numbered zero." ::= { tpmHistReportCntrlEntry 7 } tpmHistReportCntrlInsertsDenied OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of failed attempts to add an entry to reports for this tpmHistReportControlEntry because the number of entries would have exceeded tpmHistReportCntrlGrantedSize. This number is valuable in determining if enough entries have been allocated for reports in light of fluctuating network Expires August 22, 2002 [Page 50] Internet-Draft TPM MIB February 24, 2002 usage. Note that an entry that is denied will often be attempted again, this number will not predict the exact number of additional entries needed, but can be used to understand the relative magnitude of the problem. Also note that there is no ordering specified for the entries in the report, thus there are no rules for which entries will be omitted when not enough entries are available. As a consequence, the agent is not required to delete 'least valuable' entries first." ::= { tpmHistReportCntrlEntry 8 } tpmHistReportCntrlDroppedFrames OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of frames which were received by the agent and therefore not accounted for in the *StatsDropEvents, but for which the agent chose not to count for this entry for whatever reason. Most often, this event occurs when the agent is out of some resources and decides to shed load from this collection. This count does not include packets that were not counted because they had MAC-layer errors. Note that if the alMatrixTables are not implemented or are inactive because no protocols are enabled in the protocol directory, this value should be 0. Note that, unlike the dropEvents counter, this number is the exact number of frames dropped." ::= { tpmHistReportCntrlEntry 9 } tpmHistReportCntrlOwner 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." ::= { tpmHistReportCntrlEntry 10 } tpmHistReportCntrlStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current Expires August 22, 2002 [Page 51] Internet-Draft TPM MIB February 24, 2002 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 tpmAggrReportTable shall be deleted." ::= { tpmHistReportCntrlEntry 11 } -- -- Transport History Report Table -- -- This table contains transport performance metric studies for each -- of the control table entries in tpmHistReportCntrlTable. These -- studies are provided based on the selections and parameters found -- for the entry in the tpmAggregateReportCntrlTable. -- tpmHistReportTable OBJECT-TYPE SYNTAX SEQUENCE OF TpmCurrReportEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains all sub-flow metrics for transactions associated with the report." ::= { tpmReport 4 } tpmHistReportEntry OBJECT-TYPE SYNTAX TpmHistReportEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the tpmHistReportTable. The tpmHistReportIndex value in the index identifies the tpmAggrReportCntrlEntry on whose behalf this entry was created. The tpmHistReportAppLocalIndex value in the index identifies the application protocol that is begin reported. The protocolDirLocalIndex value in the index identifies the network layer protocol of the tpmAggrReportServerAddress. When the associated tpmAggrReportCntrlAggregationType value is equal to protocol(4), this value will equal 0. The tpmHistReportServerAddress value in the Expires August 22, 2002 [Page 52] Internet-Draft TPM MIB February 24, 2002 index identifies the network layer address of the server in traffic flows aggregated in this entry. The tpmHistReportClientID value in the index identifies the network layer address of the client in traffic flows aggregated in this entry. The tpmHistReportCurrentMetricIndex value in the index identifies the transported application protocol of the 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 tpmHistReportCntrIndex value in the index identifies the tpmHistReportCntrlEntry on whose behalf this entry was created. The tpmCurrReportMetricIndex value in the index identifies the metric and protocol of the tpmHistReportServerAddress, via the tpmTransactionMetricDir table. An example of the indexing of this table is tpmHistReportMetricValue.3.34.18.4.128.2.6.6.66.6.2455" INDEX { tpmAggrReportCntrlIndex, tpmHistReportIndex, -- Report number tpmHistReportAppLocalIndex, -- Application Layer protocolLocalDirIndex, -- Network Layer tpmHistReportServerAddress, tpmHistReportApmNameClientID, tpmHistReportTransMetricIndex, -- Metric and Protocol tpmHistReportTransactionID } ::= { tpmHistReportTable 1 } tpmHistReportEntry ::= SEQUENCE { tpmHistReportIndex Integer32, tpmHistReportAppLocalIndex AppLocalIndex, tpmHistReportServerAddress OCTET STRING, tpmHistReportApmNameClientID Unsigned32, tpmHistReportTransMetricIndex Integer32, tpmHistReportTransactionID Integer32, tpmHistReportMetricValue Integer32 } tpmHistReportIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS not-accessible STATUS current Expires August 22, 2002 [Page 53] Internet-Draft TPM MIB February 24, 2002 DESCRIPTION "The value of tpmAggrReportCntrlNumber for the report to which this entry belongs." ::= { tpmHistReportEntry 1 } tpmHistReportAppLocalIndex OBJECT-TYPE SYNTAX AppLocalIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The common application of the transactions reported in this entry." ::= { tpmHistReportEntry 2 } tpmHistReportServerAddress OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS not-accessible STATUS current DESCRIPTION "The network server address for this tpmHistReportEntry. This is represented as an octet string with specific semantics and length as identified by the second protocolDirLocalIndex component of the index. 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." ::= { tpmHistReportEntry 3 } tpmHistReportClientID OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique ID assigned to the machine represented by this mapping. This ID is assigned by the agent using an implementation-specific algorithm." ::= { tpmHistReportEntry 4 } tpmHistReportTransMetricIndex OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique index that indentifies the transaction and metric associated with the transactions reported here." Expires August 22, 2002 [Page 54] Internet-Draft TPM MIB February 24, 2002 ::= { tpmHistReportEntry 5 } tpmHistReportTransactionID OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value for this transaction amongst other transactions sharing the same application layer protocol and server and client addresses. Implementations may choose to use the value of the client's source port, when possible." ::= { tpmHistReportEntry 6 } tpmHistReportMetricValue OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The metric value of this transaction." ::= { tpmHistReportEntry 7 } -- -- TPM Conformance -- tpmCompliances OBJECT IDENTIFIER :== { tpmConformance 1 } tpmGroups OBJECT IDENTIFIER :== { tpmConformance 2 } -- -- TPM Compliance Statement -- -- Compliance statement defines the following implementation: -- -- - tpmCapabilitiesGroup (minimum) -- - tpmAggregateReportsGroup (minimum) -- - tmpCurrentReportsGroup (optional) -- - tmpExceptionReportsGroup (optional) -- - tpmHistoryReportsGroup (optional) tpmMIB Compliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Describes the requirements for conformance to the TMP MIB." MODULE -- this module MANDATORY-GROUPS { tpmCapabilitiesGroup, Expires August 22, 2002 [Page 55] Internet-Draft TPM MIB February 24, 2002 tmpAggregateReportsGroup } ::= { tmpMIBCompliance 1 } -- -- TPM MIB Groups -- tmpCapabilitiesGroup OBJECT-GROUP OBJECTS { tpmClockResolution, tpmClockMaxSkew, tpmClockSource, tpmTransactionMetricDirLastChange, tmpTransactionMetricProtocolIndex, tmpTransactionMetricMetricIndex, tmpTransactionMetricDirConfig tpmMetricDefType, tpmMetricDefDirType, tpmMetricDefName, tpmMetricDefReference } STATUS current DESCRIPTION "" ::= { tmpMIBGroups 1 } tmpAggregateReportsGroup OBJECT-GROUP OBJECTS { tpmAggrReportCntrlApmControlIndex, tpmAggrReportCntrlDataSource, tpmAggrReportCntrlMetrics, tpmAggrReportCntrlAggregationType, tpmAggrReportCntrlInterval, tpmAggrReportCntrlRequestedSize, tpmAggrReportCntrlGrantedSize, tpmAggrReportCntrlRequestedReports, tpmAggrReportCntrlGrantedReports, tpmAggrReportCntrlStartTime, tpmAggrReportCntrlReportNumber, tpmAggrReportCntrlInsertsDenied, tpmAggrReportCntrlDroppedFrames, tpmAggrReportCntrlOwner, tpmAggrReportCntrlStatus, tpmAggrReportStatisticN, tpmAggrReportOverflowStatisticN, tpmAggrReportHCStatisticN, Expires August 22, 2002 [Page 56] Internet-Draft TPM MIB February 24, 2002 tpmAggrReportStatisticSumX, tpmAggrReportOverflowStatisticSumX, tpmAggrReportHCStatisticSumX, tpmAggrReportStatisticMaximum, tpmAggrReportStatisticMinimum, tpmAggrReportStatisticSumSquared, tpmAggrReportOverflowStatisticSumSquared, tpmAggrReportHCStatisticSumSquared, tpmAggrReportStatisticSumIX, tpmAggrReportOverflowStatisticSumIX, tpmAggrReportHCStatisticSumIX, tpmAggrReportStatisticSumIXSquared, tpmAggrReportOverflowStatisticSumIXSquared, tpmAggrReportHCStatisticSumIXSquared } STATUS current DESCRIPTION "" ::= { tmpMIBGroups 2 } tmpCurrentReportsGroup OBJECT-GROUP OBJECTS { tpmCurrReportApmSuccess, tpmCurrReportMetricValue } STATUS current DESCRIPTION "" ::= { tmpMIBGroups 3 } tmpExceptionReportsGroup OBJECT-GROUP OBJECTS { tpmExcpReportCntrlApmExceptionIndex, tpmExcpReportCntrlOwner, tpmExcpReportCntrlStatus, tpmExcpReportApmTransactionID, tmpExcpReportMetricValue } STATUS current DESCRIPTION "" ::= { tmpMIBGroups 4 } tmpHistoryReportsGroup OBJECT-GROUP OBJECTS { tpmHistReportCntrlRequestedSize, Expires August 22, 2002 [Page 57] Internet-Draft TPM MIB February 24, 2002 tpmHistReportCntrlGrantedSize, tpmHistReportCntrlRequestedReports, tpmHistReportCntrlGrantedReports, tpmHistReportCntrlStartTime, tpmHistReportCntrlReportNumber, tpmHistReportCntrlInsertsDenied, tpmHistReportCntrlDroppedFrames, tpmHistReportCntrlOwner, tpmHistReportCntrlStatus, tpmHistReportTransactionID, tpmHistReportMetricValue } STATUS current DESCRIPTION "" ::= { tmpMIBGroups 5 } END Expires August 22, 2002 [Page 58] Internet-Draft TPM MIB February 24, 2002 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 Hifn, Inc. The authors also gatefully acknowledge the beneficial discussions they have had with Carter Bullard of QoSient, LLC. Finally, the tpmMet- ricDefTable was taken from Andy Bierman's PM-CAPs draft. Expires August 22, 2002 [Page 59] Internet-Draft TPM MIB February 24, 2002 10. References [RFC2571] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999. [RFC1155] Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990. [RFC1212] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991. [RFC1215] M. Rose, "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991. [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Structure of Management Infor- mation Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990. [RFC1901] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996. [RFC1906] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Man- agement Protocol (SNMPv2)", RFC 1906, January 1996. [RFC2572] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999. [RFC2574] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Proto- col (SNMPv3)", RFC 2574, April 1999. Expires August 22, 2002 [Page 60] Internet-Draft TPM MIB February 24, 2002 [RFC1905] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Pro- tocol Operations for Version 2 of the Simple Network Manage- ment Protocol (SNMPv2)", RFC 1905, January 1996. [RFC2573] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2573, April 1999. [RFC2575] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Manage- ment Protocol (SNMP)", RFC 2575, April 1999. [RFC2570] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduc- tion to Version 3 of the Internet-standard Network Manage- ment Framework", RFC 2570, April 1999. [RFC2021] S. Waldbusser, "Remote Network Monitoring Management Infor- mation Base Version 2 using SMIv2", RFC 2021, January 1997. [HCRMON] S. Waldbusser, "Remote Network Monitoring Management Infor- mation Base for High Capacity Networks", draft-ietf-rmonmib- hcrmon-04.txt, October 1998. [RFC2074] Bierman, A., and R. Iddon, "Remote Network Monitoring MIB Protocol Identifiers", RFC 2074, January 1997. [APM] S. Waldbusser, "Application Performance Measurement MIB", draft-ietf-rmonmib-apm-mib-05.txt, March 2, 2001. [PM] A. Bierman, "Performance Measurement Capabilities MIB", draft-ietf-rmonmib-pmcaps-02.txt, November 24, 2000. Expires August 22, 2002 [Page 61] Internet-Draft TPM MIB February 24, 2002 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., tpmReportMetricStatisticN), are excluded from partic- ular 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 [RFC2574] and the View-based Access Control Model RFC 2575 [RFC2575] 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 August 22, 2002 [Page 62] Internet-Draft TPM MIB February 24, 2002 12. Author's Address Russell Dietz Hifn, Inc. 750 University Ave Los Gatos, CA, USA 95032-7695 Tel: +1 408 399-3623 Fax: +1 408 399-3501 E-mail: rdietz@hifn.com Robert Cole AT&T Labs 330 Saint Johns Street, 2nd Floor Havre de Grace, MD, USA 21078 Tel: +1 410 939-8732 Fax: +1 410 939-8732 E-mail: rgcole@att.com" A. Full Copyright Statement Copyright (C) The Internet Society (2001). 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 August 22, 2002 [Page 63]