Registry for Performance
MetricsUniversidad Carlos III de
MadridAv. Universidad 30LeganesMadrid28911SPAIN34 91 6249500marcelo@it.uc3m.eshttp://www.it.uc3m.esCisco Systems,
Inc.De Kleetlaan 6a b11831 DiegemBelgiumbclaise@cisco.comBTAdastral Park, Martlesham HeathIpswichENGLANDphilip.eardley@bt.comAT&T Labs200 Laurel Avenue SouthMiddletown, NJUSAacmorton@att.comConsultant118 Timber HitchCaryNCUSAaakhter@gmail.comThis document defines the format for the IANA Performance Metrics
Registry. This document also gives a set of guidelines for Registered
Performance Metric requesters and reviewers.The IETF specifies and uses Performance Metrics of protocols and
applications transported over its protocols. Performance metrics are
such an important part of the operations of IETF protocols that specifies guidelines for their development.The definition and use of Performance Metrics in the IETF happens in
various working groups (WG), most notably: The "IP Performance Metrics" (IPPM) WG is the WG primarily
focusing on Performance Metrics definition at the IETF.The "Metric Blocks for use with RTCP's Extended Report Framework"
(XRBLOCK) WG recently specified many Performance Metrics related to
"RTP Control Protocol Extended Reports (RTCP XR)" , which establishes a framework to allow new
information to be conveyed in RTCP, supplementing the original
report blocks defined in "RTP: A Transport Protocol for Real-Time
Applications", .The "Benchmarking Methodology" WG (BMWG) defined many Performance
Metrics for use in laboratory benchmarking of inter-networking
technologies.The "IP Flow Information eXport" (IPFIX) concluded WG specified
an IANA process for new Information Elements. Some Performance
Metrics related Information Elements are proposed on regular
basis.The "Performance Metrics for Other Layers" (PMOL) a concluded WG,
defined some Performance Metrics related to Session Initiation
Protocol (SIP) voice quality .It is expected that more Performance Metrics will be defined in the
future, not only IP-based metrics, but also metrics which are
protocol-specific and application-specific.Despite the importance of Performance Metrics, there are two related
problems for the industry. First, ensuring that when one party requests
another party to measure (or report or in some way act on) a particular
Performance Metric, then both parties have exactly the same
understanding of what Performance Metric is being referred to. Second,
discovering which Performance Metrics have been specified, to avoid
developing a new Performance Metric that is very similar, but not quite
inter-operable. These problems can be addressed by creating a registry
of performance metrics. The usual way in which the IETF organizes
registries is with Internet Assigned Numbers Authority (IANA), and there
is currently no Performance Metrics Registry maintained by the IANA.This document requests that IANA create and maintain a Performance
Metrics Registry, according to the maintenance procedures and the
Performance Metrics Registry format defined in this memo. The resulting
Performance Metrics Registry is for use by the IETF and others. Although
the Registry formatting specifications herein are primarily for registry
creation by IANA, any other organization that wishes to create a
Performance Metrics Registry MAY use the same formatting specifications
for their purposes. The authors make no guarantee of the registry
format's applicability to any possible set of Performance Metrics
envisaged by other organizations, but encourage others to apply it. In
the remainder of this document, unless we explicitly say otherwise, we
will refer to the IANA-maintained Performance Metrics Registry as simply
the Performance Metrics Registry.The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP 14
when, and only when,
they appear in all capitals, as shown here.A Performance Metric is a
quantitative measure of performance, targeted to an IETF-specified
protocol or targeted to an application transported over an
IETF-specified protocol. Examples of Performance Metrics are the FTP
response time for a complete file download, the DNS response time to
resolve the IP address, a database logging time, etc. This
definition is consistent with the definition of metric in and broader than the definition of performance
metric in .A Registered
Performance Metric is a Performance Metric expressed as an entry in
the Performance Metrics Registry, administered by IANA. Such a
performance metric has met all the registry review criteria defined
in this document in order to included in the registry.The IANA registry
containing Registered Performance Metrics.A set of metrics that are
registered in a proprietary registry, as opposed to Performance
Metrics Registry.The Performance Metrics
Experts is a group of designated experts
selected by the IESG to validate the Performance Metrics before
updating the Performance Metrics Registry. The Performance Metrics
Experts work closely with IANA.A Parameter is an input factor defined as a
variable in the definition of a Performance Metric. A Parameter is a
numerical or other specified factor forming one of a set that
defines a metric or sets the conditions of its operation. All
Parameters must be known to measure using a metric and interpret the
results. There are two types of Parameters: Fixed and Run-time
parameters. For the Fixed Parameters, the value of the variable is
specified in the Performance Metrics Registry entry and different
Fixed Parameter values results in different Registered Performance
Metrics. For the Run-time Parameters, the value of the variable is
defined when the metric measurement method is executed and a given
Registered Performance Metric supports multiple values for the
parameter. Although Run-time Parameters do not change the
fundamental nature of the Performance Metric's definition, some have
substantial influence on the network property being assessed and
interpretation of the results. Note: Consider the case of packet loss in the following two
Active Measurement Method cases. The first case is packet loss
as background loss where the Run-time Parameter set includes a
very sparse Poisson stream, and only characterizes the times
when packets were lost. Actual user streams likely see much
higher loss at these times, due to tail drop or radio errors.
The second case is packet loss as inverse of throughput where
the Run-time Parameter set includes a very dense, bursty stream,
and characterizes the loss experienced by a stream that
approximates a user stream. These are both "loss metrics", but
the difference in interpretation of the results is highly
dependent on the Run-time Parameters (at least), to the extreme
where we are actually using loss to infer its compliment:
delivered throughput.Methods of Measurement
conducted on traffic which serves only the purpose of measurement
and is generated for that reason alone, and whose traffic
characteristics are known a priori. The complete definition of
Active Methods is specified in section 3.4 of. Examples of Active Measurement Methods are the
measurement methods for the One way delay metric defined in and the one for round trip delay defined in .Methods of Measurement
conducted on network traffic, generated either from the end users or
from network elements that would exist regardless whether the
measurement was being conducted or not. The complete definition of
Passive Methods is specified in section 3.6 of . One characteristic of Passive Measurement
Methods is that sensitive information may be observed, and as a
consequence, stored in the measurement system.Hybrid Methods are Methods
of Measurement that use a combination of Active Methods and Passive
Methods, to assess Active Metrics, Passive Metrics, or new metrics
derived from the a priori knowledge and observations of the stream
of interest. The complete definition of Hybrid Methods is specified
in section 3.8 of .This document is intended for two different audiences:For those defining new Registered Performance Metrics, it
provides specifications and best practices to be used in deciding
which Registered Performance Metrics are useful for a measurement
study, instructions for writing the text for each column of the
Registered Performance Metrics, and information on the supporting
documentation required for the new Performance Metrics Registry
entry (up to and including the publication of one or more RFCs or
I-Ds describing it).For the appointed Performance Metrics Experts and for IANA
personnel administering the new IANA Performance Metrics Registry,
it defines a set of acceptance criteria against which these proposed
Registered Performance Metrics should be evaluated.In addition, this document may be useful for other organizations who
are defining a Performance Metric registry of their own, and may re-use
the features of the Performance Metrics Registry defined in this
document.This Performance Metrics Registry is applicable to Performance
Metrics issued from Active Measurement, Passive Measurement, and any
other form of Performance Metric. This registry is designed to encompass
Performance Metrics developed throughout the IETF and especially for the
technologies specified in the following working groups: IPPM, XRBLOCK,
IPFIX, and BMWG. This document analyzes an prior attempt to set up a
Performance Metrics Registry, and the reasons why this design was
inadequate . Finally, this document gives a set
of guidelines for requesters and expert reviewers of candidate
Registered Performance Metrics.This document makes no attempt to populate the Performance Metrics
Registry with initial entries.Based on Section 4.3, this document is
processed as Best Current Practice (BCP) .In this section, we detail several motivations for the Performance
Metrics Registry.As any IETF registry, the primary use for a registry is to manage a
registry for its use within one or more protocols. In the particular
case of the Performance Metrics Registry, there are two types of
protocols that will use the Performance Metrics in the Performance
Metrics Registry during their operation (by referring to the Index
values): Control protocol: This type of protocol used to allow one
entity to request another entity to perform a measurement using a
specific metric defined by the Performance Metrics Registry. One
particular example is the LMAP framework .
Using the LMAP terminology, the Performance Metrics Registry is
used in the LMAP Control protocol to allow a Controller to request
a measurement task to one or more Measurement Agents. In order to
enable this use case, the entries of the Performance Metrics
Registry must be sufficiently defined to allow a Measurement Agent
implementation to trigger a specific measurement task upon the
reception of a control protocol message. This requirement heavily
constrains the type of entries that are acceptable for the
Performance Metrics Registry. Report protocol: This type of protocol is used to allow an
entity to report measurement results to another entity. By
referencing to a specific Performance Metrics Registry, it is
possible to properly characterize the measurement result data
being reported. Using the LMAP terminology, the Performance
Metrics Registry is used in the Report protocol to allow a
Measurement Agent to report measurement results to a
Collector. It should be noted that the LMAP framework explicitly allows
for using not only the IANA-maintained Performance Metrics Registry
but also other registries containing Performance Metrics, either
defined by other organizations or private ones. However, others who
are creating Registries to be used in the context of an LMAP framework
are encouraged to use the Registry format defined in this document,
because this makes it easier for developers of LMAP Measurement Agents
(MAs) to programmatically use information found in those other
Registries' entries.A Performance Metrics Registry serves as a single point of
reference for Performance Metrics defined in different working groups
in the IETF. As we mentioned earlier, there are several WGs that
define Performance Metrics in the IETF and it is hard to keep track of
all them. This results in multiple definitions of similar Performance
Metrics that attempt to measure the same phenomena but in slightly
different (and incompatible) ways. Having a registry would allow both
the IETF community and external people to have a single list of
relevant Performance Metrics defined by the IETF (and others, where
appropriate). The single list is also an essential aspect of
communication about Performance Metrics, where different entities that
request measurements, execute measurements, and report the results can
benefit from a common understanding of the referenced Performance
Metric.There are a couple of side benefits of having such a registry.
First, the Performance Metrics Registry could serve as an inventory of
useful and used Performance Metrics, that are normally supported by
different implementations of measurement agents. Second, the results
of measurements using the Performance Metrics should be comparable
even if they are performed by different implementations and in
different networks, as the Performance Metric is properly defined. BCP
176 examines whether the results produced by
independent implementations are equivalent in the context of
evaluating the completeness and clarity of metric specifications. This
BCP defines the standards track advancement testing for (active) IPPM
metrics, and the same process will likely suffice to determine whether
Registered Performance Metrics are sufficiently well specified to
result in comparable (or equivalent) results. Registered Performance
Metrics which have undergone such testing SHOULD be noted, with a
reference to the test results.It is neither possible nor desirable to populate the Performance
Metrics Registry with all combinations of Parameters of all Performance
Metrics. The Registered Performance Metrics SHOULD be: interpretable by the user.implementable by the software designer,deployable by network operators,accurate, for interoperability and deployment across vendors,Operationally useful, so that it has significant industry
interest and/or has seen deployment,Sufficiently tightly defined, so that different values for the
Run-time Parameters does not change the fundamental nature of the
measurement, nor change the practicality of its implementation.In essence, there needs to be evidence that a candidate
Registered Performance Metric has significant industry interest, or has
seen deployment, and there is agreement that the candidate Registered
Performance Metric serves its intended purpose.There was a previous attempt to define a metric registry RFC 4148. However, it was obsoleted by RFC 6248 because it was "found to be
insufficiently detailed to uniquely identify IPPM metrics... [there was
too much] variability possible when characterizing a metric exactly"
which led to the RFC4148 registry having "very few users, if any".A couple of interesting additional quotes from RFC 6248 might help to understand the issues
related to that registry. "It is not believed to be feasible or even useful to register
every possible combination of Type P, metric parameters, and Stream
parameters using the current structure of the IPPM Metrics
Registry.""The registry structure has been found to be insufficiently
detailed to uniquely identify IPPM metrics.""Despite apparent efforts to find current or even future users,
no one responded to the call for interest in the RFC 4148 registry
during the second half of 2010."The current approach learns from this by tightly defining each
Registered Performance Metric with only a few variable (Run-time)
Parameters to be specified by the measurement designer, if any. The idea
is that entries in the Performance Metrics Registry stem from different
measurement methods which require input (Run-time) parameters to set
factors like source and destination addresses (which do not change the
fundamental nature of the measurement). The downside of this approach is
that it could result in a large number of entries in the Performance
Metrics Registry. There is agreement that less is more in this context -
it is better to have a reduced set of useful metrics rather than a large
set of metrics, some with with questionable usefulness.As mentioned in the previous section, one of the main issues with
the previous registry was that the metrics contained in the registry
were too generic to be useful. This document specifies stricter
criteria for performance metric registration (see section 5), and
imposes a group of Performance Metrics Experts that will provide
guidelines to assess if a Performance Metric is properly
specified.Another key difference between this attempt and the previous one is
that in this case there is at least one clear user for the Performance
Metrics Registry: the LMAP framework and protocol. Because the LMAP
protocol will use the Performance Metrics Registry values in its
operation, this actually helps to determine if a metric is properly
defined. In
particular, since we expect that the LMAP control protocol will enable
a controller to request a measurement agent to perform a measurement
using a given metric by embedding the Performance Metrics Registry
identifier in the protocol. Such a metric and method are properly
specified if they are defined well-enough so that it is possible (and
practical) to implement them in the measurement agent. This was the
failure of the previous attempt: a registry entry with an undefined
Type-P (section 13 of RFC 2330) allows
implementation to be ambiguous.This Performance Metrics Registry is applicable to Performance
Metrics used for Active Measurement, Passive Measurement, and any other
form of Performance Metric. Each category of measurement has unique
properties, so some of the columns defined below are not applicable for
a given metric category. In this case, the column(s) SHOULD be populated
with the "NA" value (Non Applicable). However, the "NA" value MUST NOT
be used by any metric in the following columns: Identifier, Name, URI,
Status, Requester, Revision, Revision Date, Description. In the future,
a new category of metrics could require additional columns, and adding
new columns is a recognized form of registry extension. The
specification defining the new column(s) MUST give guidelines to
populate the new column(s) for existing entries (in general).The columns of the Performance Metrics Registry are defined below.
The columns are grouped into "Categories" to facilitate the use of the
registry. Categories are described at the 7.x heading level, and columns
are at the 7.x.y heading level. The Figure below illustrates this
organization. An entry (row) therefore gives a complete description of a
Registered Performance Metric.Each column serves as a check-list item and helps to avoid omissions
during registration and expert review. A numeric identifier for the Registered Performance Metric. This
identifier MUST be unique within the Performance Metrics
Registry.The Registered Performance Metric unique identifier is an
unbounded integer (range 0 to infinity).The Identifier 0 should be Reserved. The Identifier values from
64512 to 65536 are reserved for private or experimental use, and the
user may encounter overlapping uses.When adding newly Registered Performance Metrics to the
Performance Metrics Registry, IANA SHOULD assign the lowest
available identifier to the new Registered Performance Metric.If a Performance Metrics Expert providing review determines that
there is a reason to assign a specific numeric identifier, possibly
leaving a temporary gap in the numbering, then the Performance
Expert SHALL inform IANA of this decision.As the name of a Registered Performance Metric is the first thing
a potential human implementor will use when determining whether it
is suitable for their measurement study, it is important to be as
precise and descriptive as possible. In future, users will review
the names to determine if the metric they want to measure has
already been registered, or if a similar entry is available as a
basis for creating a new entry.Names are composed of the following elements, separated by an
underscore character "_":MetricType_Method_SubTypeMethod_... Spec_Units_OutputMetricType: a combination of the directional properties and
the metric measured, such as:RTDelay (Round Trip Delay)RTDNS (Response Time Domain Name Service)RLDNS (Response Loss Domain Name Service)OWDelay (One Way Delay)RTLoss (Round Trip Loss)OWLoss (One Way Loss)OWPDV (One Way Packet Delay Variation)OWIPDV (One Way Inter-Packet Delay Variation)OWReorder (One Way Packet Reordering)OWDuplic (One Way Packet Duplication)OWBTC (One Way Bulk Transport Capacity)OWMBM (One Way Model Based Metric)SPMonitor (Single Point Monitor)MPMonitor (Multi-Point Monitor)Method: One of the methods defined in , such as:Active (depends on a dedicated measurement packet stream
and observations of the stream)Passive (depends *solely* on observation of one or more
existing packet streams)HybridType1 (obervations on one stream that combine both
active and passive methods)HybridType2 (obervations on two or more streams that
combine both active and passive methods)Spatial (Spatial Metric of RFC5644)SubTypeMethod: One or more sub-types to further describe the
features of the entry, such as:ICMP (Internet Control Message Protocol)IP (Internet Protocol)DSCPxx (where xx is replaced by a Diffserv code
point)UDP (User Datagram Protocol)TCP (Transport Control Protocol)QUIC (QUIC transport protocol)HS (Hand-Shake, such as TCP's 3-way HS)Poisson (Packet generation using Poisson
distribution)Periodic (Periodic packet generation)SendOnRcv (Sender keeps one packet in-transit by sending
when previous packet arrives)PayloadxxxxB (where xxxx is replaced by an integer, the
number of octets in the Payload))SustainedBurst (Capacity test, worst case)StandingQueue (test of bottleneck queue behavior)SubTypeMethod values are separated by a hyphen "-"
character, which indicates that they belong to this element, and
that their order is unimportant when considering name
uniqueness.Spec: RFC number and major section number that specifies this
Registry entry in the form RFCXXXXsecY, such as RFC7799sec3.
Note: the RFC number is not the Primary Reference specification
for the metric definition, such as for
One-way Delay; it will contain the placeholder "RFCXXXXsecY"
until the RFC number is assigned to the specifying document, and
would remain blank in private registry entries without a
corresponding RFC. Anticipating the "RFC10K" problem, the number
of the RFC continues to replace RFCXXXX regardless of the number
of digits in the RFC number. Anticipating Registry Entries from
other standards bodies, the form of this Name Element MUST be
proposed and reviewed for consistency and uniqueness by the
Expert Reviewer.Units: The units of measurement for the output, such as:SecondsRatio (unitless)Percent (value multiplied by 100)Logical (1 or 0)PacketsBPS (Bits per Second)PPS (Packets per Second)EventTotal (for unit-less counts)Multiple (more than one type of unit)Enumerated (a list of outcomes)UnitlessOutput: The type of output resulting from measurement, such
as:SingletonRaw (multiple Singletons)CountMinimumMaximumMedianMean95Percentile (95th Percentile)99Percentile (99th Percentile)StdDev (Standard Deviation)VariancePFI (Pass, Fail, Inconclusive)FlowRecords (descriptions of flows observed)LossRatio (lost packets to total packets, <=1)An example is:RTDelay_Active_IP-UDP-Periodic_RFCXXXXsecY_Seconds_95Percentileas described in section 4 of .Note that private registries following the format described here
SHOULD use the prefix "Priv_" on any name to avoid unintended
conflicts (further considerations are described in section 10).
Private registry entries usually have no specifying RFC, thus the
Spec: element has no clear interpretation.The URIs column MUST contain a URL that
uniquely identifies and locates the metric entry so it is accessible
through the Internet. The URL points to a file containing all the
human-readable information for one registry entry. The URL SHALL
reference a target file that is HTML-formated and contains URLs to
referenced sections of HTML-ized RFCs. These target files for
different entries can be more easily edited and re-used when
preparing new entries. The exact form of the URL for each target
file will be determined by IANA and reside on "iana.org". The major
sections of provide
an example of a target file in HTML form (sections 4 and
higher).A Registered Performance Metric description is a written
representation of a particular Performance Metrics Registry entry.
It supplements the Registered Performance Metric name to help
Performance Metrics Registry users select relevant Registered
Performance Metrics.This entry gives the specification containing the candidate
registry entry which was reviewed and agreed, if such an RFC or
other specification exists.This entry names the entity responsible for approving revisions
to the registry entry, and SHALL provide contact information (for an
individual, where appropriate).This entry gives the version number for the registry format used.
Formats complying with this memo MUST use 1.0. The version number
SHALL NOT change unless a new RFC is published that changes the
registry format.This category includes columns to prompt all necessary details
related to the metric definition, including the RFC reference and
values of input factors, called fixed parameters, which are left open
in the RFC but have a particular value defined by the performance
metric.This entry provides a reference (or references) to the relevant
section(s) of the document(s) that define the metric, as well as any
supplemental information needed to ensure an unambiguous definition
for implementations. The reference needs to be an immutable
document, such as an RFC; for other standards bodies, it is likely
to be necessary to reference a specific, dated version of a
specification.Fixed Parameters are Parameters whose value must be specified in
the Performance Metrics Registry. The measurement system uses these
values.Where referenced metrics supply a list of Parameters as part of
their descriptive template, a sub-set of the Parameters will be
designated as Fixed Parameters. As an example for active metrics,
Fixed Parameters determine most or all of the IPPM Framework
convention "packets of Type-P" as described in , such as transport protocol, payload length, TTL,
etc. An example for passive metrics is for RTP packet loss
calculation that relies on the validation of a packet as RTP which
is a multi-packet validation controlled by MIN_SEQUENTIAL as defined
by . Varying MIN_SEQUENTIAL values can alter
the loss report and this value could be set as a Fixed
Parameter.Parameters MUST have well-defined names. For human readers, the
hanging indent style is preferred, and any Parameter names and
definitions that do not appear in the Reference Method Specification
MUST appear in this column (or Run-time Parameters column).Parameters MUST have a well-specified data format.A Parameter which is a Fixed Parameter for one Performance
Metrics Registry entry may be designated as a Run-time Parameter for
another Performance Metrics Registry entry.This category includes columns for references to relevant sections
of the immutable document(s) and any supplemental information needed
to ensure an unambiguous method for implementations.This entry provides references to relevant sections of immutable
documents, such as RFC(s) (for other standards bodies, it is likely
to be necessary to reference a specific, dated version of a
specification) describing the method of measurement, as well as any
supplemental information needed to ensure unambiguous interpretation
for implementations referring to the RFC text.Specifically, this section should include pointers to pseudocode
or actual code that could be used for an unambigious
implementation.This column applies to Performance Metrics that generate traffic
as part of their Measurement Method, including but not necessarily
limited to Active metrics. The generated traffic is referred as a
stream and this column describes its characteristics.Each entry for this column contains the following information:
Value: The name of the packet stream scheduling
disciplineReference: the specification where the parameters of the
stream are definedThe packet generation stream may require parameters such as the
average packet rate and distribution truncation value for streams
with Poisson-distributed inter-packet sending times. In case such
parameters are needed, they should be included either in the Fixed
parameter column or in the run time parameter column, depending on
wether they will be fixed or will be an input for the metric.The simplest example of stream specification is Singleton
scheduling (see ), where a single atomic
measurement is conducted. Each atomic measurement could consist of
sending a single packet (such as a DNS request) or sending several
packets (for example, to request a webpage). Other streams support a
series of atomic measurements in a "sample", with a schedule
defining the timing between each transmitted packet and subsequent
measurement. Principally, two different streams are used in IPPM
metrics, Poisson distributed as described in and Periodic as described in . Both Poisson and Periodic have their own unique
parameters, and the relevant set of parameters names and values
should be included either in the Fixed Parameters column or in the
Run-time parameter column.This column applies to Performance Metrics that observe packets
flowing through (the device with) the measurement agent i.e. that is
not necessarily addressed to the measurement agent. This includes
but is not limited to Passive Metrics. The filter specifies the
traffic that is measured. This includes protocol field
values/ranges, such as address ranges, and flow or session
identifiers.The traffic filter itself depends on needs of the metric itself
and a balance of an operator's measurement needs and a user's need
for privacy. Mechanics for conveying the filter criteria might be
the BPF (Berkley Packet Filter) or PSAMP
Property Match Filtering which reuses IPFIX . An example BPF string for matching TCP/80
traffic to remote destination net 192.0.2.0/24 would be "dst net
192.0.2.0/24 and tcp dst port 80". More complex filter engines might
be supported by the implementation that might allow for matching
using Deep Packet Inspection (DPI) technology.The traffic filter includes the following information: Type: the type of traffic filter used, e.g. BPF, PSAMP,
OpenFlow rule, etc. as defined by a normative referenceValue: the actual set of rules expressedThe sampling
distribution defines out of all the packets that match the traffic
filter, which one of those are actually used for the measurement.
One possibility is "all" which implies that all packets matching the
Traffic filter are considered, but there may be other sampling
strategies. It includes the following information: Value: the name of the sampling distributionReference definition: pointer to the specification where the
sampling distribution is properly defined.The sampling distribution may require parameters. In case such
parameters are needed, they should be included either in the Fixed
parameter column or in the run time parameter column, depending on
whether they will be fixed or will be an input for the metric.Sampling and Filtering Techniques for IP Packet Selection are
documented in the PSAMP (Packet Sampling) ,
while the Framework for Packet Selection and Reporting, provides more background information. The
sampling distribution parameters might be expressed in terms of the
Information Model for Packet Sampling Exports, , and the Flow Selection Techniques, .Run-Time Parameters are Parameters that must be determined,
configured into the measurement system, and reported with the
results for the context to be complete. However, the values of these
parameters is not specified in the Performance Metrics Registry
(like the Fixed Parameters), rather these parameters are listed as
an aid to the measurement system implementer or user (they must be
left as variables, and supplied on execution).Where metrics supply a list of Parameters as part of their
descriptive template, a sub-set of the Parameters will be designated
as Run-Time Parameters.Parameters MUST have well defined names. For human readers, the
hanging indent style is preferred, and the names and definitions
that do not appear in the Reference Method Specification MUST appear
in this column.A Data Format for each Run-time Parameter MUST be specified in
this column, to simplify the control and implementation of
measurement devices. For example, parameters that include an IPv4
address can be encoded as a 32 bit integer (i.e. binary base64
encoded value) or ip-address as defined in .
The actual encoding(s) used must be explicitly defined for each
Run-time parameter. IPv6 addresses and options MUST be accomodated,
allowing Registered Metrics to be used in either address family.Examples of Run-time Parameters include IP addresses, measurement
point designations, start times and end times for measurement, and
other information essential to the method of measurement.In some methods of measurement, there may be several roles
defined, e.g., for a one-way packet delay active measurement there
is one measurement agent that generates the packets and another
agent that receives the packets. This column contains the name of
the Role(s) for this particular entry. In the one-way delay example
above, there should be two entries in the Role registry column, one
for each Role (Source and Destination). When a measurement agent is
instructed to perform the "Source" Role for one-way delay metric,
the agent knows that it is required to generate packets. The values
for this field are defined in the reference method of measurement
(and this frequently results in abbreviated role names such as
"Src").When the Role column of a registry entry defines more than one
Role, then the Role SHALL be treated as a Run-time Parameter and
supplied for execution. It should be noted that the LMAP framework
distinguishes the Role from other Run-time
Parameters, and defines a special parameter "Roles" inside the
registry-grouping function list in the LMAP YANG model.For entries which involve a stream and many singleton measurements,
a statistic may be specified in this column to summarize the results
to a single value. If the complete set of measured singletons is
output, this will be specified here.Some metrics embed one specific statistic in the reference metric
definition, while others allow several output types or statistics.This column contains the name of the output type. The output type
defines a single type of result that the metric produces. It can be
the raw results (packet send times and singleton metrics), or it can
be a summary statistic. The specification of the output type MUST
define the format of the output. In some systems, format
specifications will simplify both measurement implementation and
collection/storage tasks. Note that if two different statistics are
required from a single measurement (for example, both "Xth
percentile mean" and "Raw"), then a new output type must be defined
("Xth percentile mean AND Raw"). See the Naming section above for a
list of Output Types.This column contains a pointer to the specification(s) where the
output type and format are defined.The measured results must be expressed using some standard
dimension or units of measure. This column provides the units.When a sample of singletons (see Section 11 of for definitions of these terms) is collected,
this entry will specify the units for each measured value.Some specifications for Methods of Measurement include the
possibility to perform an error calibration. Section 3.7.3 of is one example. In the registry entry, this field
will identify a method of calibration for the metric, and when
available, the measurement system SHOULD perform the calibration
when requested and produce the output with an indication that it is
the result of a calbration method. In-situ calibration could be
enabled with an internal loopback that includes as much of the
measurement system as possible, performs address manipulation as
needed, and provides some form of isolation (e.g., deterministic
delay) to avoid send-receive interface contention. Some portion of
the random and systematic error can be characterized this way.For one-way delay measurements, the error calibration must
include an assessment of the internal clock synchronization with its
external reference (this internal clock is supplying timestamps for
measurement). In practice, the time offsets of clocks at both the
source and destination are needed to estimate the systematic error
due to imperfect clock synchronization (the time offsets are
smoothed, thus the random variation is not usually represented in
the results).Both internal loopback calibration and clock synchronization can
be used to estimate the *available accuracy* of the Output Metric
Units. For example, repeated loopback delay measurements will reveal
the portion of the Output result resolution which is the result of
system noise, and thus inaccurate.The status of the specification of this Registered Performance
Metric. Allowed values are 'current' and 'deprecated'. All newly
defined Information Elements have 'current' status.The requester for the Registered Performance Metric. The
requester MAY be a document, such as RFC, or person.The revision number of a Registered Performance Metric, starting
at 0 for Registered Performance Metrics at time of definition and
incremented by one for each revision.The date of acceptance or the most recent revision for the
Registered Performance Metric. The date SHALL be determined by IANA
and the reviewing Performance Metrics Expert.Besides providing additional details which do not appear in other
categories, this open Category (single column) allows for unforeseen
issues to be addressed by simply updating this informational
entry.Once a Performance Metric or set of Performance Metrics has been
identified for a given application, candidate Performance Metrics
Registry entry specifications prepared in accordance with should be submitted to IANA to follow the process for
review by the Performance Metric Experts, as defined below. This process
is also used for other changes to the Performance Metrics Registry, such
as deprecation or revision, as described later in this section.It is desirable that the author(s) of a candidate Performance Metrics
Registry entry seek review in the relevant IETF working group, or offer
the opportunity for review on the working group mailing list.Requests to add Registered Performance Metrics in the Performance
Metrics Registry SHALL be submitted to IANA, which forwards the
request to a designated group of experts (Performance Metric Experts)
appointed by the IESG; these are the reviewers called for by the
Expert Review policy defined for the
Performance Metrics Registry. The Performance Metric Experts review
the request for such things as compliance with this document,
compliance with other applicable Performance Metric-related RFCs, and
consistency with the currently defined set of Registered Performance
Metrics.Submission to IANA MAY be during IESG review (leading to IETF
Standards Action), where an Internet Draft proposes one or more
Registered Performance Metrics to be added to the Performance Metrics
Registry, including the text of the proposed Registered Performance
Metric(s).If the proposed registry entry is defined in an RFC but is not yet
widely deployed, there SHOULD be a statement in the RFC that says the
proposed registry entry is not ready for registration, and use SHOULD
employ a private/experimental ID. It is the responsibility of the
document authors to submit the request to IANA when the proposed
registry entry is ready for official registration.Authors of proposed Registered Performance Metrics SHOULD review
compliance with the specifications in this document to check their
submissions before sending them to IANA.At least one Performance Metric Expert should endeavor to complete
referred reviews in a timely manner. If the request is acceptable, the
Performance Metric Experts signify their approval to IANA, and IANA
updates the Performance Metrics Registry. If the request is not
acceptable, the Performance Metric Experts MAY coordinate with the
requester to change the request to be compliant, otherwise IANA SHALL
coordinate resolution of issues on behalf of the expert. The
Performance Metric Experts MAY choose to reject clearly frivolous or
inappropriate change requests outright, but such exceptional
circumstances should be rare.This process should not in any way be construed as allowing the
Performance Metric Experts to overrule IETF consensus. Specifically,
any Registered Performance Metrics that were added to the Performance
Metrics Registry with IETF consensus require IETF consensus for
revision or deprecation.Decisions by the Performance Metric Experts may be appealed as in
Section 7 of .A request for Revision is only permitted when the requested changes
maintain backward-compatibility with implementations of the prior
Performance Metrics Registry entry describing a Registered Performance
Metric (entries with lower revision numbers, but the same Identifier
and Name).The purpose of the Status field in the Performance Metrics Registry
is to indicate whether the entry for a Registered Performance Metric
is 'current' or 'deprecated'.In addition, no policy is defined for revising the Performance
Metric entries in the IANA Regsirty or addressing errors therein. To
be clear, changes and deprecations within the Performance Metrics
Registry are not encouraged, and should be avoided to the extent
possible. However, in recognition that change is inevitable, the
provisions of this section address the need for revisions.Revisions are initiated by sending a candidate Registered
Performance Metric definition to IANA, as in Section 8.1, identifying
the existing Performance Metrics Registry entry, and explaining how
and why the existing entry should be revised.The primary requirement in the definition of procedures for
managing changes to existing Registered Performance Metrics is
avoidance of measurement interoperability problems; the Performance
Metric Experts must work to maintain interoperability above all else.
Changes to Registered Performance Metrics may only be done in an
interoperable way; necessary changes that cannot be done in a way to
allow interoperability with unchanged implementations MUST result in
the creation of a new Registered Performance Metric (with a new Name,
replacing the RFCXXXXsecY portion of the name) and possibly the
deprecation of the earlier metric.A change to a Registered Performance Metric SHALL be determined to
be backward-compatible only when: it involves the correction of an error that is obviously only
editorial; orit corrects an ambiguity in the Registered Performance Metric's
definition, which itself leads to issues severe enough to prevent
the Registered Performance Metric's usage as originally defined;
orit corrects missing information in the metric definition
without changing its meaning (e.g., the explicit definition of
'quantity' semantics for numeric fields without a Data Type
Semantics value); orit harmonizes with an external reference that was itself
corrected.If a Performance Metric revision is deemed permissible and
backward-compatible by the Performance Metric Experts, according to
the rules in this document, IANA SHOULD execute the change(s) in the
Performance Metrics Registry. The requester of the change is appended
to the original requester in the Performance Metrics Registry. The
Name of the revised Registered Performance Metric, including the
RFCXXXXsecY portion of the name, SHALL remain unchamged (even when the
change is the result of IETF Standards Action; the revised registry
entry SHOULD reference the new immutable document, such as an RFC or
for other standards bodies, it is likely to be necessary to reference
a specific, dated version of a specification, in an appropriate
category and column).Each Registered Performance Metric in the Performance Metrics
Registry has a revision number, starting at zero. Each change to a
Registered Performance Metric following this process increments the
revision number by one.When a revised Registered Performance Metric is accepted into the
Performance Metrics Registry, the date of acceptance of the most
recent revision is placed into the revision Date column of the
registry for that Registered Performance Metric.Where applicable, additions to Registered Performance Metrics in
the form of text Comments or Remarks should include the date, but such
additions may not constitute a revision according to this process.Older version(s) of the updated metric entries are kept in the
registry for archival purposes. The older entries are kept with all
fields unmodified (version, revision date) except for the status field
that SHALL be changed to "Deprecated".Changes that are not permissible by the above criteria for
Registered Performance Metric's revision may only be handled by
deprecation. A Registered Performance Metric MAY be deprecated and
replaced when: the Registered Performance Metric definition has an error or
shortcoming that cannot be permissibly changed as in Section 8.2
Revising Registered Performance Metrics; orthe deprecation harmonizes with an external reference that was
itself deprecated through that reference's accepted deprecation
method.A request for deprecation is sent to IANA, which passes it to the
Performance Metric Experts for review. When deprecating an Performance
Metric, the Performance Metric description in the Performance Metrics
Registry must be updated to explain the deprecation, as well as to
refer to any new Performance Metrics created to replace the deprecated
Performance Metric.The revision number of a Registered Performance Metric is
incremented upon deprecation, and the revision Date updated, as with
any revision.The use of deprecated Registered Performance Metrics should result
in a log entry or human-readable warning by the respective
application.Names and Metric IDs of deprecated Registered Performance Metrics
must not be reused.The deprecated entries are kept with all fields unmodified, except
the version, revision date, and the status field (changed to
"Deprecated").This draft defines a registry structure, and does not itself
introduce any new security considerations for the Internet. The
definition of Performance Metrics for this registry may introduce some
security concerns, but the mandatory references should have their own
considerations for secuity, and such definitions should be reviewed with
security in mind if the security considerations are not covered by one
or more reference standards.With the background and processes described in earlier sections, this
document requests the following IANA Actions.Editor's Note: Mock-ups of the implementation of this set of requests
have been prepared with IANA's help during development of this memo, and
have been captured in the Proceedings of IPPM working group sessions.
IANA is currently preparing a mock-up. A recent version is available
here: http://encrypted.net/IETFMetricsRegistry-106.htmlThe new registry group SHALL be named, "PERFORMANCE METRICS
Group".Registration Procedure: Specification RequiredReference: <This RFC>Experts: Performance Metrics ExpertsNote: TBDThis document specifies the procedure for Performance Metrics Name
Element Registry setup. IANA is requested to create a new set of
registries for Performance Metric Name Elements called "Registered
Performance Metric Name Elements". Each Registry, whose names are
listed below:MetricType:Method:SubTypeMethod:Spec:Units:Output:will contain the current set of possibilities for Performance
Metrics Registry Entry Names.To populate the Registered Performance Metric Name Elements at
creation, the IANA is asked to use the lists of values for each name
element listed in Section 7.1.2. The Name Elements in each registry
are case-sensitive.When preparing a Metric entry for Registration, the developer
SHOULD choose Name elements from among the registered elements.
However, if the proposed metric is unique in a significant way, it may
be necessary to propose a new Name element to properly describe the
metric, as described below.A candidate Metric Entry RFC or immutable document for IANA and
Expert Review would propose one or more new element values required to
describe the unique entry, and the new name element(s) would be
reviewed along with the metric entry. New assignments for Registered
Performance Metric Name Elements will be administered by IANA through
Expert Review , i.e., review by one of a group
of experts, the Performance Metric Experts, who are appointed by the
IESG upon recommendation of the Transport Area Directors.This document specifies the procedure for Performance Metrics
Registry setup. IANA is requested to create a new registry for
Performance Metrics called "Performance Metrics Registry". This
Registry will contain the following Summary columns:Identifier:Name:URIs:Description:Reference:Change Controller:Version:Descriptions of these columns and additional information
found in the template for registry entries (categories and columns)
are further defined in section .The "Identifier" 0 should be Reserved. "The Identifier" values from
64512 to 65536 are reserved for private use.Names starting with the prefix Priv_ are reserved for private use,
and are not considered for registration. The "Name" column entries are
further defined in section .The "URIs" column will have a URL to the full template of each
registry entry. The Registry Entry text SHALL be HTML-ized to aid the
reader, with links to reference RFCs (similar to the way that Internet
Drafts are HTML-ized, the same tool can perform the function) or
immutable document.The “Reference” column will include an RFC number, an
approved specification designator from another standards body, other
immutable document, or the contact person @@@@ acm thinks this list
needs to exclude contact person now.New assignments for Performance Metrics Registry will be
administered by IANA through Expert Review ,
i.e., review by one of a group of experts, the Performance Metric
Experts, who are appointed by the IESG upon recommendation of the
Transport Area Directors, or by Standards Action. The experts can be
initially drawn from the Working Group Chairs, document editors, and
members of the Performance Metrics Directorate, among other sources of
experts.Extensions of the Performance Metrics Registry require IETF
Standards Action. Only one form of registry extension is
envisaged:Adding columns, or both categories and columns, to accommodate
unanticipated aspects of new measurements and metric
categories.If the Performance Metrics Registry is extended in this way,
the Version number of future entries complying with the extension
SHALL be incremented (either in the unit or tenths digit, depending on
the degree of extension.This section provides a blank template to help IANA and registry
entry writers.This category includes multiple indexes to the registry entry: the
element ID and metric name.<insert a numeric identifier, an integer, TBD><insert name according to metric naming convention>URL: http://<TBD by IANA>/<name><provide a description>This category includes columns to prompt the entry of all necessary
details related to the metric definition, including the RFC reference
and values of input factors, called fixed parameters.<Full bibliographic reference to an immutable doc.><specific section reference and additional clarifications, if
needed><list and specify Fixed Parameters, input factors that must be
determined and embedded in the measurement system for use when
needed>This category includes columns for references to relevant sections
of the RFC(s) and any supplemental information needed to ensure an
unambiguous methods for implementations.<for metric, insert relevant section references and
supplemental info><list of generation parameters and section/spec references if
needed>The measured results based on a filtered version of the packets
observed, and this section provides the filter details (when
present).<section reference>.<insert time distribution details, or how this is diff from
the filter>Run-time Parameters are input factors that must be determined,
configured into the measurement system, and reported with the
results for the context to be complete.<list of run-time parameters, and their data formats><lists the names of the different roles from the measurement
method>This category specifies all details of the Output of measurements
using the metric.<insert name of the output type, raw or a selected summary
statistic><describe the reference data format for each type of
result><insert units for the measured results, and the reference
specification>.<insert information on calibration><current or deprecated><name or RFC, etc.><1.0><format YYYY-MM-DD><Additional (Informational) details for this entry>Thanks to Brian Trammell and Bill Cerveny, IPPM chairs, for leading
some brainstorming sessions on this topic. Thanks to Barbara Stark and
Juergen Schoenwaelder for the detailed feedback and suggestions. Thanks
to Andrew McGregor for suggestions on metric naming. Thanks to Michelle
Cotton for her early IANA review, and to Amanda Barber for answering
questions related to the presentation of the registry and accessibility
of the complete template via URL.