draft-ietf-bmwg-ippm-delay-01.txt   draft-ietf-bmwg-ippm-delay-02.txt 
Network Working Group G. Almes, Advanced Network & Services Network Working Group G. Almes, Advanced Network & Services
Internet Draft S. Kalidindi, Advanced Network & Services Internet Draft S. Kalidindi, Advanced Network & Services
Expiration Date: September 1997 March 1997 Expiration Date: January 1998 July 1997
A One-way Delay Metric for IPPM A One-way Delay Metric for IPPM
<draft-ietf-bmwg-ippm-delay-01.txt> <draft-ietf-bmwg-ippm-delay-02.txt>
1. Status of this Memo 1. Status of this Memo
This document is an Internet Draft. Internet Drafts are working doc- This document is an Internet Draft. Internet Drafts are working doc-
uments of the Internet Engineering Task Force (IETF), its areas, and uments of the Internet Engineering Task Force (IETF), its areas, and
its working groups. Note that other groups may also distribute work- its working groups. Note that other groups may also distribute work-
ing documents as Internet Drafts. ing documents as Internet Drafts.
Internet Drafts are draft documents valid for a maximum of six Internet Drafts are draft documents valid for a maximum of six
months, and may be updated, replaced, or obsoleted by other documents months, and may be updated, replaced, or obsoleted by other documents
skipping to change at page 1, line 36 skipping to change at page 1, line 36
ftp.isi.edu (US West Coast). ftp.isi.edu (US West Coast).
This memo provides information for the Internet community. This memo This memo provides information for the Internet community. This memo
does not specify an Internet standard of any kind. Distribution of does not specify an Internet standard of any kind. Distribution of
this memo is unlimited. this memo is unlimited.
2. Introduction 2. Introduction
This memo defines a metric for one-way delay of packets across Inter- This memo defines a metric for one-way delay of packets across Inter-
net paths. It builds on notions introduced and discussed in the IPPM net paths. It builds on notions introduced and discussed in the IPPM
Framework document (currently "Framework for IP Provider Metrics" Framework document (currently 'Framework for IP Provider Metrics'
<draft-ietf-bmwg-ippm-framework-00.txt>); the reader is assumed to be <draft-ietf-bmwg-ippm-framework-01.txt>); the reader is assumed to be
familiar with that document. familiar with that document.
This memo is intended to be very parallel in structure to a companion This memo is intended to be very parallel in structure to a companion
document for Packet Loss (soon to be submitted as "A Packet Loss Met- document for Packet Loss ('A Packet Loss Metric for IPPM' <draft-
ric for IPPM" <draft-ietf-bmwg-ippm-loss-00.txt>). ietf-bmwg-ippm-loss-01.txt>).
The structure of the memo is as follows: The structure of the memo is as follows:
ID One-way Delay Metric March 1997 ID One-way Delay Metric July 1997
+ A 'singleton' analytic metric, called Type-P-One-way-Delay, will + A 'singleton' analytic metric, called Type-P-One-way-Delay, will
be introduced to measure a single observation of one-way delay. be introduced to measure a single observation of one-way delay.
+ Using this singleton metric, a 'sample', called Type-P-One-way- + Using this singleton metric, a 'sample', called Type-P-One-way-
Delay-Stream, will be introduced to measure a sequence of single- Delay-Stream, will be introduced to measure a sequence of single-
ton delays measured at times taken from a Poisson process. ton delays measured at times taken from a Poisson process.
+ Using this sample, several 'statistics' of the sample will be + Using this sample, several 'statistics' of the sample will be
defined and discussed. defined and discussed.
This progression from singleton to sample to statistics, with clear This progression from singleton to sample to statistics, with clear
separation among them, is important. {Comment: In fact, it might be separation among them, is important.
wise to make them separate documents in the future.}
Whenever a technical term from the IPPM Framework document is first Whenever a technical term from the IPPM Framework document is first
used in this memo, it will be tagged with a trailing asterisk, as used in this memo, it will be tagged with a trailing asterisk, as
with >>term*<<. with >>term*<<.
2.1. Motivation: 2.1. Motivation:
One-way delay of a type-P packet from a source host* to a destination One-way delay of a type-P packet from a source host* to a destination
host is useful for several reasons: host is useful for several reasons:
+ Some applications do not perform well (or at all) if end-to-end + Some applications do not perform well (or at all) if end-to-end
skipping to change at page 2, line 45 skipping to change at page 2, line 44
delay that will likely be experienced when the path* traversed is delay that will likely be experienced when the path* traversed is
lightly loaded. lightly loaded.
+ Values of this metric above the minimum provide an indication of + Values of this metric above the minimum provide an indication of
the congestion present in the path. the congestion present in the path.
It is outside the scope of this document to say precisely how delay It is outside the scope of this document to say precisely how delay
metrics would be applied to specific problems. metrics would be applied to specific problems.
2.2. General Issues Regarding Time 2.2. General Issues Regarding Time
Whenever a time (i.e., a moment in history) is mentioned here, it is Whenever a time (i.e., a moment in history) is mentioned here, it is
understood to be measured in seconds relative to 0000 UT on 1 January understood to be measured in seconds (and fractions) relative to UTC.
1900. {Comment: times will thus be commensurate with NTP timestamps
[Mills: RFC 1305].}
As described more fully in the Framework document, there are four As described more fully in the Framework document, there are four
distinct, but related notions of clock uncertainty: distinct, but related notions of clock uncertainty:
ID One-way Delay Metric March 1997
synchronization synchronization
measures the extent to which two clocks agree on what time it is. measures the extent to which two clocks agree on what time it is.
For example, the clock on one host might be 5.4 msec ahead of the For example, the clock on one host might be 5.4 msec ahead of the
clock on a second host. clock on a second host.
ID One-way Delay Metric July 1997
accuracy accuracy
measures the extent to which a given clock agrees with UTC. For measures the extent to which a given clock agrees with UTC. For
example, the clock on a host might be 27.1 msec behind UTC. example, the clock on a host might be 27.1 msec behind UTC.
resolution resolution
measures the precision of a given clock. For example, the clock on measures the precision of a given clock. For example, the clock on
an old Unix host might tick only once every 10 msec, and thus have an old Unix host might tick only once every 10 msec, and thus have
a resolution of only 10 msec. a resolution of only 10 msec.
skew measures the change of accuracy, or of synchronization, with time. skew measures the change of accuracy, or of synchronization, with time.
skipping to change at page 4, line 5 skipping to change at page 3, line 45
path from Src to Dst, this optional parameter can be omitted path from Src to Dst, this optional parameter can be omitted
{Comment: the presence of path is motivated by cases such as with {Comment: the presence of path is motivated by cases such as with
Merit's NetNow setup, in which a Src on one NAP can reach a Dst on Merit's NetNow setup, in which a Src on one NAP can reach a Dst on
another NAP by either of several different backbone networks. Gener- another NAP by either of several different backbone networks. Gener-
ally, this optional parameter is useful only when several different ally, this optional parameter is useful only when several different
routes are possible from Src to Dst. Using the loose source route IP routes are possible from Src to Dst. Using the loose source route IP
option is avoided since it would often artificially worsen the per- option is avoided since it would often artificially worsen the per-
formance observed, and since it might not be supported along some formance observed, and since it might not be supported along some
paths.} paths.}
ID One-way Delay Metric March 1997
3.3. Metric Units: 3.3. Metric Units:
The value of a type-P-One-way-Delay is either a non-negative real The value of a type-P-One-way-Delay is either a non-negative real
number or an undefined (informally, infinite) number of seconds. number or an undefined (informally, infinite) number of seconds.
ID One-way Delay Metric July 1997
3.4. Definition: 3.4. Definition:
For a non-negative real number dT, >>the *Type-P-One-way-Delay* from For a non-negative real number dT, >>the *Type-P-One-way-Delay* from
Src to Dst at T [via path] is dT<< means that Src sent a type-P Src to Dst at T [via path] is dT<< means that Src sent a type-P
packet [via path] to Dst at time T and that Dst received that packet packet [via path] to Dst at time T and that Dst received that packet
at time T+dT. at time T+dT.
>>The *Type-P-One-way-Delay* from Src to Dst at T [via path] is unde- >>The *Type-P-One-way-Delay* from Src to Dst at T [via path] is unde-
fined (informally, infinite)<< means that Src sent a type-P packet fined (informally, infinite)<< means that Src sent a type-P packet
[via path] to Dst at time T and that Dst did not receive that packet. [via path] to Dst at time T and that Dst did not receive that packet.
skipping to change at page 5, line 4 skipping to change at page 4, line 45
whether a delay value is infinite or whether it is merely very whether a delay value is infinite or whether it is merely very
large (and the packet is yet to arrive at Dst). As noted by Mah- large (and the packet is yet to arrive at Dst). As noted by Mah-
davi and Paxson, simple upper bounds (such as the 255 seconds the- davi and Paxson, simple upper bounds (such as the 255 seconds the-
oretical upper bound on the lifetimes of IP packets [Postel: RFC oretical upper bound on the lifetimes of IP packets [Postel: RFC
791]) could be used, but good engineering, including an under- 791]) could be used, but good engineering, including an under-
standing of packet lifetimes, will be needed in practice. {Com- standing of packet lifetimes, will be needed in practice. {Com-
ment: Note that, for many applications of these metrics, the harm ment: Note that, for many applications of these metrics, the harm
in treating a large delay as infinite might be zero or very small. in treating a large delay as infinite might be zero or very small.
A TCP data packet, for example, that arrives only after several A TCP data packet, for example, that arrives only after several
multiples of the RTT may as well have been lost.} multiples of the RTT may as well have been lost.}
ID One-way Delay Metric March 1997
+ As with other 'type-P' metrics, the value of the metric may depend + As with other 'type-P' metrics, the value of the metric may depend
on such properties of the packet as protocol, (UDP or TCP) port on such properties of the packet as protocol, (UDP or TCP) port
number, size, and arrangement for special treatment (as with IP number, size, and arrangement for special treatment (as with IP
precedence or with RSVP). precedence or with RSVP).
ID One-way Delay Metric July 1997
+ If the packet is duplicated along the path (or paths!) so that + If the packet is duplicated along the path (or paths!) so that
multiple non-corrupt copies arrive at the destination, then the multiple non-corrupt copies arrive at the destination, then the
packet is counted as received, and the first copy to arrive deter- packet is counted as received, and the first copy to arrive deter-
mintes the packet's one-way delay. mintes the packet's one-way delay.
3.6. Methodologies: 3.6. Methodologies:
As with other Type-P-* metrics, the detailed methodology will depend As with other Type-P-* metrics, the detailed methodology will depend
on the Type-P (e.g., protocol number, UDP/TCP port number, size, on the Type-P (e.g., protocol number, UDP/TCP port number, size,
precedence). precedence).
skipping to change at page 6, line 5 skipping to change at page 6, line 5
method must take into account the closeness of synchronization method must take into account the closeness of synchronization
between Src and Dst. If the delay between Src's timestamp and the between Src and Dst. If the delay between Src's timestamp and the
actual sending of the packet is known, then the estimate could be actual sending of the packet is known, then the estimate could be
adjusted by subtracting this amount; uncertainty in this value adjusted by subtracting this amount; uncertainty in this value
must be taken into account in error analysis. Similarly, if the must be taken into account in error analysis. Similarly, if the
delay between the actual receipt of the packet and Dst's timestamp delay between the actual receipt of the packet and Dst's timestamp
is known, then the estimate could be adjusted by subtracting this is known, then the estimate could be adjusted by subtracting this
amount; uncertainty in this value must be taken into account in amount; uncertainty in this value must be taken into account in
error analysis. error analysis.
ID One-way Delay Metric March 1997 ID One-way Delay Metric July 1997
+ If the packet fails to arrive within a reasonable period of time, + If the packet fails to arrive within a reasonable period of time,
the one-way delay is taken to be undefined (informally, infinite). the one-way delay is taken to be undefined (informally, infinite).
Note that the threshold of 'reasonable' here is a parameter of the Note that the threshold of 'reasonable' here is a parameter of the
methodology. {Comment: or should it be a parameter of the met- methodology. {Comment: or should it be a parameter of the met-
ric?} ric?}
Issues such as the packet format, the means by which the path is Issues such as the packet format, the means by which the path is
ensured, the means by which Dst knows when to expect the test packet, ensured, the means by which Dst knows when to expect the test packet,
and the means by which Src and Dst are synchronized are outside the and the means by which Src and Dst are synchronized are outside the
scope of this document. {Comment: We plan to document elsewhere our scope of this document. {Comment: We plan to document elsewhere our
own work in describing such more detailed implementation techniques own work in describing such more detailed implementation techniques
and we encourage others to as well.} and we encourage others to as well.}
3.7. Errors and Uncertainties: 3.7. Errors and Uncertainties:
The description of any specific measurement method should include an The description of any specific measurement method should include an
accounting and analysis of various sources of error/uncertainty. The accounting and analysis of various sources of error/uncertainty. The
Framework document provides general guidence on this point, but we Framework document provides general guidence on this point, but we
note here the following specifics related to delay metrics: note here the following specifics related to delay metrics:
+ Errors/uncertainties due to uncertainties in the clocks of the Src + Errors/uncertainties due to uncertainties in the clocks of the Src
and Dst hosts. We discuss this in more detail below. and Dst hosts.
+ Errors/uncertainties due to the difference between 'wire time' and + Errors/uncertainties due to the difference between 'wire time' and
'host time'. 'host time'.
Each of these are discussed in more detail below. Each of these are discussed in more detail below.
3.7.1. Errors/uncertainties related to Clocks 3.7.1. Errors/uncertainties related to Clocks
The uncertainty in a measurement of one-way delay is related, in The uncertainty in a measurement of one-way delay is related, in
part, to uncertainties in the clocks of the Src and Dst hosts. In part, to uncertainties in the clocks of the Src and Dst hosts. In
the following, we refer to the clock used to measure when the packet the following, we refer to the clock used to measure when the packet
was sent from Src as the source clock, we refer to the clock used to was sent from Src as the source clock, we refer to the clock used to
skipping to change at page 7, line 5 skipping to change at page 7, line 5
tion, accuracy, resolution, and skew mentioned in the Introduction, tion, accuracy, resolution, and skew mentioned in the Introduction,
we note the following: we note the following:
+ Any error in the synchronization between the source clock and the + Any error in the synchronization between the source clock and the
dest clock will contribute to error in the delay measurement. We dest clock will contribute to error in the delay measurement. We
say that the source clock and the dest clock have a synchroniza- say that the source clock and the dest clock have a synchroniza-
tion error of Tsynch if the source clock is Tsynch ahead of the tion error of Tsynch if the source clock is Tsynch ahead of the
dest clock. Thus, if we know the value of Tsynch exactly, we dest clock. Thus, if we know the value of Tsynch exactly, we
could correct for clock synchronization by adding Tsynch to the could correct for clock synchronization by adding Tsynch to the
uncorrected value of Tdest-Tsource. uncorrected value of Tdest-Tsource.
ID One-way Delay Metric March 1997 ID One-way Delay Metric July 1997
+ The accuracy of a clock is important only in identifying the time + The accuracy of a clock is important only in identifying the time
at which a given delay was measured. Accuracy, per se, has no at which a given delay was measured. Accuracy, per se, has no
importance to the accuracy of the measurement of delay. This is importance to the accuracy of the measurement of delay. This is
because, when computing delays, we are interested only in the dif- because, when computing delays, we are interested only in the dif-
ferences between clock values. ferences between clock values.
+ The resolution of a clock adds to uncertainty about any time mea- + The resolution of a clock adds to uncertainty about any time mea-
sured with it. Thus, if the source clock has a resolution of 10 sured with it. Thus, if the source clock has a resolution of 10
msec, then this adds 10 msec of uncertainty to any time value mea- msec, then this adds 10 msec of uncertainty to any time value mea-
sured with it. We will denote the resolution of the source clock sured with it. We will denote the resolution of the source clock
skipping to change at page 8, line 5 skipping to change at page 8, line 5
To the extent that the difference between wire time and host time is To the extent that the difference between wire time and host time is
accurately known, this knowledge can be used to correct for host time accurately known, this knowledge can be used to correct for host time
measurements and the corrected value more accurately estimates the measurements and the corrected value more accurately estimates the
desired (wire time) metric. desired (wire time) metric.
To the extent, however, that the difference between wire time and To the extent, however, that the difference between wire time and
host time is uncertain, this uncertainty must be accounted for in an host time is uncertain, this uncertainty must be accounted for in an
analysis of a given measurement method. We denote by Hsource an analysis of a given measurement method. We denote by Hsource an
ID One-way Delay Metric March 1997 ID One-way Delay Metric July 1997
upper bound on the uncertainty in the difference between wire time upper bound on the uncertainty in the difference between wire time
and host time on the Src host, and similarly define Hdest for the Dst and host time on the Src host, and similarly define Hdest for the Dst
host. We then note that these problems introduce a total uncertainty host. We then note that these problems introduce a total uncertainty
of Hsource+Hdest. This estimate of total wire-vs-host uncertainty of Hsource+Hdest. This estimate of total wire-vs-host uncertainty
should be included in the error/uncertainty analysis of any measure- should be included in the error/uncertainty analysis of any measure-
ment implementation. ment implementation.
4. A Definition for Samples of One-way Delay 4. A Definition for Samples of One-way Delay
skipping to change at page 9, line 5 skipping to change at page 9, line 5
4.3. Metric Units: 4.3. Metric Units:
A sequence of pairs; the elements of each pair are: A sequence of pairs; the elements of each pair are:
+ T, a time, and + T, a time, and
+ dT, either a non-negative real number or an undefined number of + dT, either a non-negative real number or an undefined number of
seconds. seconds.
The values of T in the sequence are monotonic increasing. Note that The values of T in the sequence are monotonic increasing. Note that
T would be a valid parameter to Type-P-One-way-Delay, and that dT T would be a valid parameter to Type-P-One-way-Delay, and that dT
would be a valid value of Type-P-One-way-Delay. would be a valid value of Type-P-One-way-Delay.
ID One-way Delay Metric March 1997 ID One-way Delay Metric July 1997
4.4. Definition: 4.4. Definition:
Given T0, Tf, and lambda, we compute a pseudo-random Poisson process Given T0, Tf, and lambda, we compute a pseudo-random Poisson process
beginning at or before T0, with average arrival rate lambda, and end- beginning at or before T0, with average arrival rate lambda, and end-
ing at or after Tf. Those time values greater than or equal to T0 ing at or after Tf. Those time values greater than or equal to T0
and less than or equal to Tf are then selected. At each of the times and less than or equal to Tf are then selected. At each of the times
in this process, we obtain the value of Type-P-One-way-Delay at this in this process, we obtain the value of Type-P-One-way-Delay at this
time. The value of the sample is the sequence made up of the result- time. The value of the sample is the sequence made up of the result-
ing <time, delay> pairs. If there are no such pairs, the sequence is ing <time, delay> pairs. If there are no such pairs, the sequence is
skipping to change at page 10, line 5 skipping to change at page 10, line 5
arrival process, and arrival process, and
+ the methodologies discussion already given for the singleton Type- + the methodologies discussion already given for the singleton Type-
P-One-way-Delay metric. P-One-way-Delay metric.
Care must, of course, be given to correctly handle out-of-order Care must, of course, be given to correctly handle out-of-order
arrival of test packets; it is possible that the Src could send one arrival of test packets; it is possible that the Src could send one
test packet at TS[i], then send a second one (later) at TS[i+1], test packet at TS[i], then send a second one (later) at TS[i+1],
while the Dst could receive the second test packet at TR[i+1], and while the Dst could receive the second test packet at TR[i+1], and
then receive the first one (later) at TR[i]. then receive the first one (later) at TR[i].
ID One-way Delay Metric March 1997 ID One-way Delay Metric July 1997
4.7. Errors and Uncertainties: 4.7. Errors and Uncertainties:
In addition to sources of errors and uncertainties associated with In addition to sources of errors and uncertainties associated with
methods employed to measure the singleton values that make up the methods employed to measure the singleton values that make up the
sample, care must be given to analyze the accuracy of the Poisson sample, care must be given to analyze the accuracy of the Poisson
arrival process of the wire-time of the sending of the test packets. arrival process of the wire-time of the sending of the test packets.
Problems with this process could be caused by either of several Problems with this process could be caused by either of several
things, including problems with the pseudo-random number techniques things, including problems with the pseudo-random number techniques
used to generate the Poisson arrival process, or with jitter in the used to generate the Poisson arrival process, or with jitter in the
skipping to change at page 11, line 5 skipping to change at page 11, line 5
> >
Then the 50th percentile would be 110 msec, since 90 msec and 100 Then the 50th percentile would be 110 msec, since 90 msec and 100
msec are smaller and 110 msec and 'undefined' are larger. msec are smaller and 110 msec and 'undefined' are larger.
5.2. Type-P-One-way-Delay-Median 5.2. Type-P-One-way-Delay-Median
Given a Type-P-One-way-Delay-Stream, the median of all the dT values Given a Type-P-One-way-Delay-Stream, the median of all the dT values
in the Stream. In computing the median, undefined values are treated in the Stream. In computing the median, undefined values are treated
as infinitely large. as infinitely large.
ID One-way Delay Metric March 1997 ID One-way Delay Metric July 1997
As noted in the Framework document, the median differs from the 50th As noted in the Framework document, the median differs from the 50th
percentile only when the sample contains an even number of values, in percentile only when the sample contains an even number of values, in
which case the mean of the two central values is used. which case the mean of the two central values is used.
Example: suppose we take a sample and the results are: Example: suppose we take a sample and the results are:
Stream2 = < Stream2 = <
<T1, 100 msec> <T1, 100 msec>
<T2, 110 msec> <T2, 110 msec>
<T3, undefined> <T3, undefined>
skipping to change at page 11, line 32 skipping to change at page 11, line 32
Given a Type-P-One-way-Delay-Stream, the minimum of all the dT values Given a Type-P-One-way-Delay-Stream, the minimum of all the dT values
in the Stream. In computing this, undefined values are treated as in the Stream. In computing this, undefined values are treated as
infinitely large. Note that this means that the minimum could thus infinitely large. Note that this means that the minimum could thus
be undefined (informally, infinite) if all the dT values are unde- be undefined (informally, infinite) if all the dT values are unde-
fined. In addition, the Type-P-One-way-Delay-Minimum is undefined if fined. In addition, the Type-P-One-way-Delay-Minimum is undefined if
the sample is empty. the sample is empty.
In the above example, the minimum would be 90 msec. In the above example, the minimum would be 90 msec.
5.4. Type-P-One-way-Delay-Inverse-Percentile
Given a Type-P-One-way-Delay-Stream and a non-negative time duration
threshold, the fraction of all the dT values in the Stream less than
or equal to the threshold. The result could be as low as 0% (if all
the dT values exceed threshold) or as high as 100%.
In the above example, the Inverse-Percentile of 103 msec would be
50%.
6. Security Considerations 6. Security Considerations
This memo raises no security issues. This memo raises no security issues.
ID One-way Delay Metric July 1997
7. Acknowledgements 7. Acknowledgements
Special thanks are due to Vern Paxson of Lawrence Berkeley Labs for Special thanks are due to Vern Paxson of Lawrence Berkeley Labs for
his helpful comments on issues of clock uncertainty and statistics. his helpful comments on issues of clock uncertainty and statistics.
Thanks also to Sean Shapira for several useful suggestions. Thanks also to Sean Shapira for several useful suggestions.
8. References 8. References
G. Almes, W. Cerveny, P. Krishnaswamy, J. Mahdavi, M. Mathis, and V. V. Paxson, G. Almes, J. Mahdavi, and M. Mathis, "Framework for IP
Paxson, "Framework for IP Provider Metrics", Internet Draft <draft- Provider Metrics", Internet Draft <draft-ietf-bmwg-ippm-
almes-ippm-framework-00.txt>, July 1996. framework-01.txt>, July 1997.
J. Postel, "Internet Protocol", RFC 791, September 1981. J. Postel, "Internet Protocol", RFC 791, September 1981.
ID One-way Delay Metric March 1997
D. Mills, "Network Time Protocol (v3)", RFC 1305, April 1992. D. Mills, "Network Time Protocol (v3)", RFC 1305, April 1992.
9. Authors' Addresses 9. Authors' Addresses
Guy Almes <almes@advanced.org> Guy Almes <almes@advanced.org>
Advanced Network & Services, Inc. Advanced Network & Services, Inc.
200 Business Park Drive 200 Business Park Drive
Armonk, NY 10504 Armonk, NY 10504
USA USA
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/