Internet Draft C. Kalbfleisch Verio, Inc. R.G. Cole AT&T D. Romascanu Avaya Communication 14 July 2000 Definition of Managed Objects for Synthetic Sources for Performance Monitoring algorithms. Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material 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. Copyright Notice Copyright (C) The Internet Society (2000). All Rights Reserved. Abstract This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes objects for configuring Synthetic Sources for Performance Monitoring algorithms (SSPM). This memo specifies a MIB module in a manner that is both compliant to the SMIv2, and semantically identical to the peer SMIv1 definitions. Distribution of this memo is unlimited. C. Kalbfleisch Expires January 2001 [Page 1] INTERNET DRAFT SSPM MIB July 2000 1. Introduction This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it defines a method of sorting the interfaces of a monitored device according to values of parameters specific to this interface. This memo also includes a MIB module. This MIB module extends the list of managed objects specified in [17] and [18]. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [20]. 2. The SNMP Management Framework The SNMP Management Framework presently consists of five major components: o An overall architecture, described in RFC 2271 [1]. o Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and described in RFC 1155 [2], RFC 1212 [3] and RFC 1215 [4]. The second version, called SMIv2, is described in RFC 1902 [5], RFC 1903 [6] and RFC 1904 [7]. o Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in RFC 1157 [8]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [9] and RFC 1906 [10]. The third version of the message protocol is called SNMPv3 and described in RFC 1906 [10], RFC 2272 [11] and RFC 2274 [12]. o Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in RFC 1157 [8]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [13]. o A set of fundamental applications described in RFC 2273 [14] and the view-based access control mechanism described in RFC 2275 [15]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are C. Kalbfleisch Expires January 2001 [Page 2] INTERNET DRAFT SSPM MIB July 2000 defined using the mechanisms defined in the SMI. This memo specifies a MIB module that is compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine readable information is not considered to change the semantics of the MIB. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED","MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC2119 [16]. 3. Overview This document defines a MIB for the purpose of remotely controlling synthetic sources (or 'active' probes) and sinks for the purpose of enhancing remote performance monitoring capabilities within IP networks and services. Much work within the IETF exists related to performance monitoring. One interesting aspect of this body of work is that it does not explicitly define an 'active' probe capability. An active probe capability is complimentary to existing capabilities, and this MIB is developed to fill this void. The utility of this function within the Internet and the relationship of this MIB to other working group activities is discussed in a framework document []. The rperfman BOF in Adelaide in March of 2000 was held to discuss the possibility of developing a standard set of synthetic probes for performance management functions. It was agreed at that time to move forward with the development of this MIB and that this work would be sponsored within the RMONMIB WG. For more information on the outcome of this BOF, refer to the meeting minutes [rperfmanBOF minutes by Bierman]. The following definitions apply throughout this document: + 'Performance monitoring' is the act of monitoring traffic for the purpose of evaluating a statistic of a metric related to the performance of the system. A performance monitoring system is comprised of a) traffic generators, b) measurement, c) data reduction, and d) reporting. The traffic generators may be natural sources, synthetic sources or intrusive sources [appmcapsMIB]. C. Kalbfleisch Expires January 2001 [Page 3] INTERNET DRAFT SSPM MIB July 2000 + A 'synthetic source' is a device or an embedded software program which generates a data packet (or packets) and injects it (them) onto the path to a corresponding probe or existing server solely in support of a performance monitoring function. A synthetic source may talk intrusively to existing application servers. The design goals for this MIB are: + Compliment the overall performance management architecture being defined within the RMONMIB WG - this MIB is defined within the context of the appmcapsMIB. + Extensibility - the MIB should be easily extended to include a greater set of protocols and applications for performance monitoring purposes. + Flexible - it should support both round trip and one way measurements. + Security - the control of the source and sink of traffic is handled by a management application and communication is recommended via SNMPv3. This document is organized as follows. The next section discusses the relationship of this MIB to other MIBs from the RMONMIB and DISMAN working groups. Then the structure of the MIB is discussed. Finally, the MIB definitions are given. 4. Relationship to other MIBs The objects defined in this MIB extend those defined in the Performance Measurement Capabilities MIB. That MIB defines capabilities for measurements. Two other MIBs, Application Performance Measurement MIB and Application Performance Measurement Framework Transport Performance Metrics MIB, define reporting capabilities for that framework. The intent of this MIB is to define a method for injecting packets into the network utilizing probe capabilities defined in the base MIBs and measured with the reporting MIBs. 5. MIB Structure This section presents the structure of the MIB. The objects are arranged into the following groups: o general information o source configuration o link layer extentions o application layer extentions C. Kalbfleisch Expires January 2001 [Page 4] INTERNET DRAFT SSPM MIB July 2000 o sink configuration o history information 5.1. general information This section provides general information about the capabilities of the probe. Currently this information is related to the resolution of the probe clock and its source. 5.2. source configuration This MIB takes an IP centric view of the configuration of the measurement. The source table provides configuration information for the IP layer portions of the measurements. 5.3. link layer extentions The link layer extentions table allows configuration of link layer attributes within the test. 5.4. application layer extentions The application layer extentions provides the ability to provide the configuration of application layer attributes. 5.5. sink configuration Currently the MIB is defined such that source configures one way source and round trip measurements. In the case of one way tests the sink configures the ability to receive a particular measurement. It may be desireable to modify the structure of the MIB such that there is a sink entry even on the originating probe for round trip measurements. See the issues section for more information. 5.6. history information This section of the MIB defines some configuration attributes to control the size of the history table and what happens when the table is full. The table is intended to provide information about the raw data of the tests from when then measurements were made. It is not intended as the general purpose reporting function. That function is to be provided by the before mentioned MIBs. 6. Definitions SSPM-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, mib-2, Counter32, Counter64, Integer32, Unsigned32, TimeTicks FROM SNMPv2-SMI TEXTUAL-CONVENTION, DisplayString, DateAndTime, TimeInterval C. Kalbfleisch Expires January 2001 [Page 5] INTERNET DRAFT SSPM MIB July 2000 FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF InetAddressType, InetAddress FROM INET-ADDRESS-MIB InterfaceIndex FROM IF-MIB pmStudyClassID, protocolDirLocalIndex FROM PMCAPS-MIB; sspmMIB MODULE-IDENTITY LAST-UPDATED "0007041400Z" ORGANIZATION "Individidual submission" CONTACT-INFO " Carl W. Kalbfleisch Postal: Verio, Inc. 1950 Stemmons Freeway Suite 2026 Dallas, TX 75207 US Tel: +1 214 853-7339 Fax: +1 214 744-0742 E-mail: cwk@verio.net" DESCRIPTION "This SSPM MIB module is applicable to probes implementing Synthetic Source for Perfomance Monitoring fucntions." -- revision history REVISION "0007041400Z" DESCRIPTION "Numerous updates." REVISION "0006141400Z" DESCRIPTION "Initial version." ::= { mib-2 777 } -- -- Object Identifier Assignements -- sspmMIBObjects OBJECT IDENTIFIER ::= { sspmMIB 1 } sspmMIBNotifications OBJECT IDENTIFIER ::= { sspmMIB 2 } sspmMIBConformance OBJECT IDENTIFIER ::= { sspmMIB 3 } -- -- Textual Conventions -- C. Kalbfleisch Expires January 2001 [Page 6] INTERNET DRAFT SSPM MIB July 2000 -- -- sspmGeneral -- sspmGeneral OBJECT IDENTIFIER ::= { sspmMIBObjects 1 } sspmClockResolution OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current -- UNITS Microseconds DESCRIPTION "A read only variable indicating the resolution of the measurements possible by this device. Suggest making the units microseconds." ::= { sspmGeneral 1 } sspmClockSource OBJECT-TYPE SYNTAX INTEGER { other (1), manual (2), gps (3), ntp (4) } 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." ::= { sspmGeneral 2 } -- -- sspmSource -- -- Contains the IP Layer configuration information used by -- Synthetic Sources for Performance Monitoring algorithms. -- sspmSource OBJECT IDENTIFIER ::= { sspmMIBObjects 2 } sspmSourceTable OBJECT-TYPE SYNTAX SEQUENCE OF SspmSourceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" ::= { sspmSource 1 } C. Kalbfleisch Expires January 2001 [Page 7] INTERNET DRAFT SSPM MIB July 2000 sspmSourceEntry OBJECT-TYPE SYNTAX SspmSourceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" INDEX { pmStudyClassID, protocolDirLocalIndex, sspmSourceInstance } ::= { sspmSourceTable 1} SspmSourceEntry ::= SEQUENCE { sspmSourceInstance Integer32, sspmSourceSrc InterfaceIndex, sspmSourceDestAddressType InetAddressType, sspmSourceDestAddress InetAddress, sspmSourcePacketSize UnsignedInteger32, sspmSourcePacketFillType INTEGER, sspmSourcePacketFillValue OCTET STRING, sspmSourceControl TruthValue, sspmSourceTimeOut MicroSeconds, sspmSourceSamplingDistribution INTEGER, sspmSourceFrequency MicroSeconds, sspmSourceTOS BITS, sspmSourceSrcRouteFill OCTET STRING, sspmSourceSourceSrcRouteLength INTEGER, sspmSourceTTL INTEGER, sspmSourceNoFrag INTEGER, sspmSourceOwner OwnerString, sspmSourceStatus RowStatus } sspmSourceInstance OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "An arbitrary index to differentiate multiple instantiations of the source for a given application." ::= { sspmSourceEntry 1 } sspmSourceSrc OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-create STATUS current DESCRIPTION "ifIndex where the packet should originate from the probe (if it matters). Zero value indicates it does C. Kalbfleisch Expires January 2001 [Page 8] INTERNET DRAFT SSPM MIB July 2000 not matter and the device decides." ::= { sspmSourceEntry 3 } sspmSourceDestAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "The type of Internet address by which the destination is accessed." ::= { sspmSourceEntry 4 } sspmSourceDestAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The Internet address for the destination." ::= { sspmSourceEntry 5 } sspmSourcePacketSize OBJECT-TYPE SYNTAX UnsignedInteger32 MAX-ACCESS read-create STATUS current DESCRIPTION "The size of packet to be transmitted in bytes. Should we bound to a max size?" ::= { sspmSourceEntry 6 } sspmSourcePacketFillType OBJECT-TYPE SYNTAX INTEGER { random (1), pattern (2), url(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates how the packet is filled. 'random' indicates that the packet contains random data patterns. This is probe and implementation dependent. 'pattern' indicates that the pattern defined in the sspmSourcePacketFillValue attribute is used to fill the packet. 'url' indicates that the value of sspmSourcePacketFillValue should contain a URL. The contents of the document at that URL are retrieved and utilized in the packet." ::= { sspmSourceEntry 7 } C. Kalbfleisch Expires January 2001 [Page 9] INTERNET DRAFT SSPM MIB July 2000 sspmSourcePacketFillValue OBJECT-TYPE SYNTAX OCTET STRING (0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "The string value to fill the packet with. If sspmSourcePacketFillType is set to 'pattern' then this pattern is repeated until the packet is sspmSourcePacketSize in bytes. Note that if length of the octet string specified for this value does not divide evenly into the packet size then an incomplete last copy of this data may be copied into the packet. If the value of sspmSourcePacketFillType is set to 'random' then this attribute is unused. If the value of the sspmSourcePacketFillType is set to 'url' then the URL specified in this attribute is retrieved and used by the probe." ::= { sspmSourceEntry 8 } sspmSourceControl OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "When set to Yes this test is enabled. When set to No, it is disabled." ::= { sspmSourceEntry 9 } sspmSourceTimeOut OBJECT-TYPE SYNTAX MicroSeconds MAX-ACCESS read-create STATUS current DESCRIPTION "Timeout value for the measurement response. If no response is received in the time specified then the test fails." ::= { sspmSourceEntry 10 } sspmSourceSamplingDistribution OBJECT-TYPE SYNTAX INTEGER { deterministic(1), random(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "When this attbute is set to 'deterministic', then C. Kalbfleisch Expires January 2001 [Page 10] INTERNET DRAFT SSPM MIB July 2000 packets are generated at sspmSourceFrequency rate. When this attribute is set to 'random' then packets are generated at sspmSourceFrequency rate with interpacket injections times distributes exponentially." ::= { sspmSourceEntry 11 } sspmSourceFrequency OBJECT-TYPE SYNTAX MicroSeconds MAX-ACCESS read-create STATUS current DESCRIPTION "The inverse of this value is the rate at which packets are generated. Refer to sspmSourceSamplingDistribution." ::= { sspmSourceEntry 12 } sspmSourceTOS OBJECT-TYPE SYNTAX BITS MAX-ACCESS read-create STATUS current DESCRIPTION "(yes, the whole 8 bit field)" ::= { sspmSourceEntry 13 } sspmSourceSrcRouteFill OBJECT-TYPE SYNTAX OCTET STRING (7..39) MAX-ACCESS read-create STATUS current DESCRIPTION "In the event that the test should run over a specific route. Intent is to force the route. Series of IP addresses along the path that would be put into the source route option in the IP header. Provide reference to IP Header RFC." ::= { sspmSourceEntry 14 } sspmSourceSourceSrcRouteLength OBJECT-TYPE SYNTAX INTEGER(7..39) MAX-ACCESS read-create STATUS current DESCRIPTION "In the event that the test should run over a specific route. Intent is to force the route. This attribute specifies the length of data to be copied from the sspmSourceSrcRouteFill." ::= { sspmSourceEntry 15 } C. Kalbfleisch Expires January 2001 [Page 11] INTERNET DRAFT SSPM MIB July 2000 sspmSourceTTL OBJECT-TYPE SYNTAX INTEGER(0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "If non-zero specifies the value to place into the TTL field on transmission." ::= { sspmSourceEntry 16 } sspmSourceNoFrag OBJECT-TYPE SYNTAX INTEGER { fragment(1), noFragment(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "'noFragment' indicates that the Don't Fragment Bit should be set on transmission" ::= { sspmSourceEntry 17 } sspmSourceOwner OBJECT-TYPE SYNTAX OwnerString MAX-ACCESS read-create STATUS current DESCRIPTION "name of the mgmt station who set up the test." ::= { sspmSourceEntry 18 } sspmSourceStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Status of this test." ::= { sspmSourceEntry 19 } -- -- sspmLinkLayerExtention -- -- Contains additional detailed configuration used by -- some Synthetic Sources for Performance Monitoring -- algorithms at the link layer. -- sspmLinkLayerExtention OBJECT IDENTIFIER ::= { sspmMIBObjects 3 } sspmLinkLayerExtentionTable OBJECT-TYPE C. Kalbfleisch Expires January 2001 [Page 12] INTERNET DRAFT SSPM MIB July 2000 SYNTAX SEQUENCE OF SspmLinkLayerExtentionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" ::= { sspmLinkLayerExtention 1 } sspmLinkLayerExtentionEntry OBJECT-TYPE SYNTAX SspmLinkLayerExtentionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" INDEX { pmStudyClassID, protocolDirLocalIndex, sspmSourceInstance } ::= { sspmLinkLayerExtentionTable 1} SspmLinkLayerExtentionEntry ::= SEQUENCE { sspmLinkLayerExtension8021Tagging BITS, sspmLinkLayerStatus RowStatus } sspmLinkLayerExtension8021Tagging OBJECT-TYPE SYNTAX BITS MAX-ACCESS read-create STATUS current DESCRIPTION "802.1 queue tagging used in bridge environment. 16 bit string. 12 bit vlan, 3 bits priority, 1 bit may be unused." ::= { sspmLinkLayerExtentionEntry 1 } sspmLinkLayerStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Status of this test." ::= { sspmLinkLayerEntry 2 } -- -- sspmApplLayerExtention -- -- Contains additional detailed configuration used by -- some Synthetic Sources for Performance Monitoring -- algorithms at the application Layer. -- sspmApplLayerExtention OBJECT IDENTIFIER ::= { sspmMIBObjects 4 } C. Kalbfleisch Expires January 2001 [Page 13] INTERNET DRAFT SSPM MIB July 2000 sspmApplLayerExtentionTable OBJECT-TYPE SYNTAX SEQUENCE OF SspmApplLayerExtentionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" ::= { sspmApplLayerExtention 1 } sspmApplLayerExtentionEntry OBJECT-TYPE SYNTAX SspmApplLayerExtentionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" INDEX { pmStudyClassID, protocolDirLocalIndex, sspmSourceInstance } ::= { sspmApplLayerExtentionTable 1} SspmApplLayerExtentionEntry ::= SEQUENCE { sspmApplLayerExtentionUsername Utf8Sting, sspmApplLayerExtentionPassword Utf8Sting, sspmApplLayerExtentionParameter Utf8Sting, sspmApplLayerExtentionStatus RowStatus } sspmApplLayerExtentionUsername OBJECT-TYPE SYNTAX Utf8String MAX-ACCESS read-create STATUS current DESCRIPTION "An optional username used by the application protocol." ::= { sspmApplLayerExtentionEntry 1 } sspmApplLayerExtentionPassword OBJECT-TYPE SYNTAX Utf8String MAX-ACCESS read-create STATUS current DESCRIPTION "An optional password used by the application protocol." ::= { sspmApplLayerExtentionEntry 2 } sspmApplLayerExtentionParameter OBJECT-TYPE SYNTAX Utf8String MAX-ACCESS read-create STATUS current DESCRIPTION "An optional parameter used by the application protocol. For DNS this would be the hostname or IP. For HTTP, this would be the URL. For nntp this would be the C. Kalbfleisch Expires January 2001 [Page 14] INTERNET DRAFT SSPM MIB July 2000 news group. For TCP this would be the port number. For SMTP this would be the recipient (and could assume the message is predefined)." ::= { sspmApplLayerExtentionEntry 3 } sspmApplLayerExtentionStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Status of this test." ::= { sspmApplLayerExtentionEntry 17 } -- -- sspmSinkTable -- -- Contains attributes for configuration of Synthetic -- Sources for Performance Monitoring sinks. IE -- sinks for receipt of one-way delay measurements. -- sspmSink OBJECT IDENTIFIER ::= { sspmMIBObjects 5 } sspmSinkTable OBJECT-TYPE SYNTAX SEQUENCE OF SspmSinkEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" ::= { sspmSink 1 } sspmSinkEntry OBJECT-TYPE SYNTAX SspmSinkEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "NOTE: The index to this table probably needs to be adjusted." INDEX { pmStudyClassID, protocolDirLocalIndex } ::= { sspmSinkTable 1} SspmSinkEntry ::= SEQUENCE { sspmSinkSourceAddressType InetAddressType, sspmSinkSourceAddress InetAddress, sspmSinkExpectationRate MicroSeconds, sspmSinkEnable TruthValue, sspmSinkFirstSequenceNumber Integer32, sspmSinkLastSequenceNumber Integer32, sspmSinkLastSequenceInvalid Counter32, sspmSinkStatus RowStatus C. Kalbfleisch Expires January 2001 [Page 15] INTERNET DRAFT SSPM MIB July 2000 } sspmSinkSourceAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "The type of Internet address of the source." ::= { sspmSinkEntry 1 } sspmSinkSourceAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The Internet address of the source." ::= { sspmSinkEntry 2 } sspmSinkExpectationRate OBJECT-TYPE SYNTAX MicroSeconds MAX-ACCESS read-create STATUS current DESCRIPTION "The expected rate of packets to arrive." ::= { sspmSinkEntry 3 } sspmSinkEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates if the sink is enabled or not." ::= { sspmSinkEntry 4 } sspmSinkFirstSequenceNumber OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "The expected first sequence number of packets." ::= { sspmSinkEntry 5 } sspmSinkLastSequenceNumber OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The last sequence number received." C. Kalbfleisch Expires January 2001 [Page 16] INTERNET DRAFT SSPM MIB July 2000 ::= { sspmSinkEntry 6 } sspmSinkLastSequenceInvalid OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets that arrived where their sequence number was not one plus the value of sspmSinkLastSequenceNumber." ::= { sspmSinkEntry 7 } sspmSinkStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Status of this conceptual row." ::= { sspmSinkEntry 8 } -- -- sspmHistory -- -- Defines attributes for capturing raw data history -- statistics. -- sspmHistory OBJECT IDENTIFIER ::= { sspmMIBObjects 6 } sspmHistoryMaxSize OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current -- DEFVAL 1000 DESCRIPTION "The maximum size of the sspmHistoryTable. Configuration of what happens when the sspmHistoryTable reaches this number of entries is controlled by the sspmHistoryControl attribute." ::= { sspmHistory 1} sspmHistoryControl OBJECT-TYPE SYNTAX INTEGER { wrap(1), stop(2) } MAX-ACCESS read-write STATUS current C. Kalbfleisch Expires January 2001 [Page 17] INTERNET DRAFT SSPM MIB July 2000 DESCRIPTION "Controls what happens to the sspmHistoryTable when the sspmHistoryMaxSize number of rows are in that table. Wrap - indicates that the table wraps and old entries are overwritten. Stop - indicates that the entries stop being written to that table." ::= { sspmHistory 2} sspmHistoryLastIndex OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "The index clause of the last entry written to the sspmHistoryTable." ::= { sspmHistory 3 } sspmHistoryTable OBJECT-TYPE SYNTAX SEQUENCE OF SspmHistoryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" ::= { sspmHistory 4 } sspmHistoryEntry OBJECT-TYPE SYNTAX SspmHistoryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" INDEX { sspmHistoryIndex } ::= { sspmHistoryTable 1} SspmHistoryEntry ::= SEQUENCE { sspmHistoryIndex Integer32, sspmHistorySrcAddressType InetAddressType, sspmHistorySrcAddress InetAddress, sspmHistoryTimeFrame DateAndTime, sspmHistorySendTimeOffset MicroSeconds, sspmHistoryReceiveTimeOffset MicroSeconds, sspmHistorySequenceNumber Integer32 } sspmHistoryIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current C. Kalbfleisch Expires January 2001 [Page 18] INTERNET DRAFT SSPM MIB July 2000 DESCRIPTION "Aribtrary monotonically increasing index value." ::= { sspmHistoryEntry 1 } sspmHistorySrcAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of Internet address where the packet originated from." ::= { sspmHistoryEntry 2 } sspmHistorySrcAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The Internet address where the packet originated from." ::= { sspmHistoryEntry 3 } sspmHistoryTimeFrame OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "Give a base time for time stamps." ::= { sspmHistoryEntry 4 } sspmHistorySendTimeOffset OBJECT-TYPE SYNTAX MicroSeconds MAX-ACCESS read-only STATUS current DESCRIPTION "The time offset from sspmHistoryTimeFrame when the packet was transmitted." ::= { sspmHistoryEntry 5 } sspmHistoryReceiveTimeOffset OBJECT-TYPE SYNTAX MicroSeconds MAX-ACCESS read-only STATUS current DESCRIPTION "Time offset from sspmHistoryTimeFrame when the packet was received at the sink." ::= { sspmHistoryEntry 6 } sspmHistorySequenceNumber OBJECT-TYPE SYNTAX Integer32 C. Kalbfleisch Expires January 2001 [Page 19] INTERNET DRAFT SSPM MIB July 2000 MAX-ACCESS read-only STATUS current DESCRIPTION "The sequence number of the packet received." ::= { sspmHistoryEntry 7 } -- -- Notifications -- -- -- Conformance -- sspmMIBCompliances OBJECT IDENTIFIER ::= { sspmMIBConformance 1 } sspmMIBGroups OBJECT IDENTIFIER ::= { sspmMIBConformance 2 } -- -- Compliance -- -- Envision the following: -- -- - just SourceGroup -- - Source plus Extention -- - Source, Extention plus History -- - Source, Extention plus Sink -- - Source, Extention, Sink, History -- -- -- Groups -- sspmGeneralGroup OBJECT-GROUP OBJECTS { sspmClockResolution, sspmClockSource } STATUS current DESCRIPTION "" ::= { sspmMIBGroups 1 } sspmSourceGroup OBJECT-GROUP OBJECTS { sspmSourceInstance } STATUS current DESCRIPTION C. Kalbfleisch Expires January 2001 [Page 20] INTERNET DRAFT SSPM MIB July 2000 "" ::= { sspmMIBGroups 2 } sspmLinkLayerExtentionGroup OBJECT-GROUP OBJECTS { sspmLinkLayerExtension8021Tagging } STATUS current DESCRIPTION "" ::= { sspmMIBGroups 3 } sspmApplLayerExtentionGroup OBJECT-GROUP OBJECTS { sspmApplLayerExtentionUsername, sspmApplLayerExtentionPassword, sspmApplLayerExtentionParameter, sspmApplLayerExtentionStatus } STATUS current DESCRIPTION "" ::= { sspmMIBGroups 4 } sspmSinkGroup OBJECT-GROUP OBJECTS { sspmSinkSourceAddressType, sspmSinkSourceAddress, sspmSinkExpectationRate, sspmSinkEnable, sspmSinkFirstSequenceNumber, sspmSinkLastSequenceNumber, sspmSinkLastSequenceInvalid, sspmSinkStatus } STATUS current DESCRIPTION "" ::= { sspmMIBGroups 5 } sspmHistoryGroup OBJECT-GROUP OBJECTS { sspmHistoryMaxSize, sspmHistoryControl, sspmHistoryLastIndex, sspmHistoryIndex, sspmHistorySrcAddressType, sspmHistorySrcAddress, C. Kalbfleisch Expires January 2001 [Page 21] INTERNET DRAFT SSPM MIB July 2000 sspmHistoryTimeFrame, sspmHistorySendTimeOffset, sspmHistoryReceiveTimeOffset, sspmHistorySequenceNumber } STATUS current DESCRIPTION "" ::= { sspmMIBGroups 6 } END 7. References C. Kalbfleisch Expires January 2001 [Page 22] INTERNET DRAFT SSPM MIB July 2000 R.G. Cole, C. Kalbfleisch, D. Romascanu, A Framework for Active Probes for Performance Monitoring, S. Waldbusser, Application Performance Measurement MIB, A. Bierman, Performance Measurement Capabilities MIB, R. Dietz, Application Performance Measurement Framework Transport Performance Metrics MIB, Harrington, D., Presuhn, R., and B. Wijnen, An Architecture for Describing SNMP Management Frameworks, RFC 2571, April 1999. Rose, M., and K. McCloghrie, Structure and Identification of Management Information for TCP/IP-based Internets, STD 16, RFC 1155, May 1990. Rose, M., and K. McCloghrie, Concise MIB Definitions, STD 16, RFC 1212, March 1991. M. Rose, A Convention for Defining Traps for use with the SNMP, RFC 1215, March 1991. McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, Structure of Management Information Version 2 (SMIv2), STD 58, RFC 2578, April 1999. McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, Textual Conventions for SMIv2, STD 58, RFC 2579, April 1999. McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, Conformance Statements for SMIv2, STD 58, RFC 2580, April 1999. Case, J., Fedor, M., Schoffstall, M., and J. Davin, Simple Network Management Protocol, STD 15, RFC 1157, May 1990. Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, Introduction to Community-based SNMPv2, RFC 1901, January 1996. Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2), RFC 1906, January 1996. Case, J., Harrington D., Presuhn R., and B. Wijnen, Message Processing and Dispatching for the Simple Network Management Protocol (SNMP), RFC 2572, April 1999. Blumenthal, U., and B. Wijnen, User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3), RFC 2574, April 1999. Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2), RFC 1905, January 1996. Levi, D., Meyer, P., and B. Stewart, SNMPv3 Applications, RFC 2573, April 1999. C. Kalbfleisch Expires January 2001 [Page 23] INTERNET DRAFT SSPM MIB July 2000 Wijnen, B., Presuhn, R., and K. McCloghrie, View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP), RFC 2575, April 1999. Case, J., Mundy, R., Partain, D., and B. Stewart, Introduction to Version 3 of the Internet-standard Network Management Framework, RFC 2570, April 1999. 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 pertain 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. 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 environment without proper protection can have a negative effect on network operations. The nature of the MIB is that it defines objects to allow packets to be injected into the network for the purpose of measuring some performance characteristics. There are some attributes which allow specifically configuring various fields in Link and IP layer packets. There are some attributes which configure username and password information for some application level protocols. Access to these attributes may provide unauthorized use of resources. C. Kalbfleisch Expires January 2001 [Page 24] INTERNET DRAFT SSPM MIB July 2000 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. 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 implementers consider the security features as provided by the SNMPv3 framework. Specifically, the use of the User-based Security Model RFC 2274 [12] and the View-based Access Control Model RFC 2275 [15] is RECOMMENDED. It is then a customer/user responsibility to ensure that the SNMP entity giving access to an instance of this MIB, is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them. 10. Author's Addresses Carl W. Kalbfleisch Verio, Inc. 1950 Stemmons Freeway, Suite 2026 Dallas, TX 75207 USA Tel: +1 214-853-7339 Email: cwk@verio.net Robert G. Cole AT&T Laboratories Network Design and Performance Analysis Department 330 Saint John Street, 2nd Floor Havre de Grace, MD 21078 Phone: +1 410-939-8732 Fax: +1 410-939-8732 Email: rgcole@att.com Dan Romascanu Avaya Communication Atidim Technology Park, Bldg. #3 Tel Aviv, 61131 Israel Tel: +972-3-645-8414 C. Kalbfleisch Expires January 2001 [Page 25] INTERNET DRAFT SSPM MIB July 2000 Email: dromasca@avaya.com A. Full Copyright Statement 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 document 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 developing 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 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 11. Issues This section will ultimately be removed from the document. It captures a list of open issues that need to be resolved as this document is discussed. Add RFC 2851 to references for INET-ADDRESS-MIB Add RFC 2863 to references for IF-MIB Should sspmClockSource define various levels of ntp resolution? Should the packet fill for URL fail if the probe does not support that ability? sspmApplLayerExtentionParameter - We also discussed deleteing this attribute and instead describing how one might define such an attribute in a private extention in the appendix of this C. Kalbfleisch Expires January 2001 [Page 26] INTERNET DRAFT SSPM MIB July 2000 ID. Determine proper indexing for sspmSinkTable Should start/end times be specified? Or should these be left to the NMS and or implementation of the schedule/script MIBs to set the control bit on/off. start time - time to start some test. Controlled by the control object to enable end time - when test ends. Purhaps duration is a better term repeat time - for configuing test which run once per hour, day, week, etc. Purhaps this can/should be done with the DISMAN shedule MIB. Should Appl Layer Parameter be defined. Could need to set more attributes for this. One option is a follow on MIB say for HTTP to set header values, etc. How should the sink be addressed. Currently it is intended that rows in the sink table are instantiated on the receiving side of a one way delay measurement. It may make better sense to have a source and sink even for round trip measurements. Then the only difference is whether the sink is on the same machine as the source. This was is a reference to a performance monitoring protocol. ( http://telesto.advanced.org/~kalidindi/STR/owdp.html ). Need to consider if the constructs described can be implemented with this MIB. Need to flush out conformance and compliance. C. Kalbfleisch Expires January 2001 [Page 27]