draft-ietf-ippm-ipdv-03.txt   draft-ietf-ippm-ipdv-04.txt 
Network Working Group C. Demichelis Network Working Group C. Demichelis
INTERNET-DRAFT CSELT INTERNET-DRAFT CSELT
Expiration Date: December 1999 P. Chimento Expiration Date: December 1999 P. Chimento
CTIT CTIT
June 1999 October 1999
Instantaneous Packet Delay Variation Metric for IPPM Instantaneous Packet Delay Variation Metric for IPPM
<draft-ietf-ippm-ipdv-03.txt> <draft-ietf-ippm-ipdv-04.txt>
1. Status of this Memo 1. Status of this Memo
This document is an Internet-Draft and is in full conformance with | This document is an Internet-Draft and is in full conformance with |
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 2, line 10 skipping to change at page 2, line 10
The metric is valid for measurements between two hosts both in the The metric is valid for measurements between two hosts both in the
case that they have synchronized clocks and in the case that they are case that they have synchronized clocks and in the case that they are
not synchronized. In the second case it allows an evaluation of the not synchronized. In the second case it allows an evaluation of the
reciprocal skew. Measurements performed on both directions (Two-way reciprocal skew. Measurements performed on both directions (Two-way
measurements) allow a better estimation of clock differences. The measurements) allow a better estimation of clock differences. The
precision that can be obtained is evaluated. precision that can be obtained is evaluated.
3. Introduction 3. Introduction
This memo takes as a reference the Draft-ietf "One-Way-Delay metric | This memo is based on "A One-Way-Delay metric for IPPM", RFC 2679 |
for IPPM" [1]. Part of the text in this memo is directly taken from [2]. Part of the text in this memo is taken directly from that
that Draft. document.
This memo defines a metric for variation in delay of packets that
flow from one host to another one through an IP path. Since the
metric is related to a variation, different definitions are possible
according to what the variation is measured against.
This memo defines a metric for variation in delay of packets that >
flow from one host to another one through an IP path. This quantity >
is sometimes called "jitter". This term, however, causes confusion >
because it is used in different ways by different groups of people. |
"Jitter" commonly has two meanings: The first meaning is the | "Jitter" commonly has two meanings: The first meaning is the |
variation of a signal with respect to some clock signal, where the | variation of a signal with respect to some clock signal, where the |
arrival time of the signal is expected to coincide with the arrival | arrival time of the signal is expected to coincide with the arrival |
of the clock signal. The second meaning has to do with the variation | of the clock signal. The second meaning has to do with the variation |
of a metric (e.g. delay) with respect to some reference metric (e.g. | of a metric (e.g. delay) with respect to some reference metric (e.g. |
average delay or minimum delay). The form of "jitter" that we talk | average delay or minimum delay). The form of "jitter" that we talk |
about here has to do almost exclusively with the second meaning, | about here has to do almost exclusively with the second meaning, |
rather than the first. See the section on the relationship with other | rather than the first. For more information see the section on the |
standards. relationship with other standards.
3.1. Definition 3.1. Definition
A definition of the Instantaneous Packet Delay Variation (ipdv) can A definition of the Instantaneous Packet Delay Variation (ipdv) can
be given for a pair of packets or for a packet inside a stream of be given for a pair of packets or for a packet inside a stream of
packets. packets.
For a pair of packets: For a pair of packets:
+ The ipdv of a pair of IP packets, that are transmitted from the + The ipdv of a pair of IP packets, that are transmitted from the
skipping to change at page 3, line 32 skipping to change at page 3, line 31
measurement and corrections are possible. The related precision is measurement and corrections are possible. The related precision is
often comparable with the one that can be achieved with synchronized often comparable with the one that can be achieved with synchronized
clocks, being of the same order of magnitude of synchronization clocks, being of the same order of magnitude of synchronization
errors. This will be discussed below. errors. This will be discussed below.
3.3. General Issues Regarding Time 3.3. General Issues Regarding Time
Everything contained in the Section 2.2. of [2] applies also in this | Everything contained in the Section 2.2. of [2] applies also in this |
case. case.
In addition, we assume here that the reciprocal skew of the two To summarize: As in [1] we define "skew" as the first derivative of >
clocks can be decomposed into two parts: the offset of a clock with respect to "true time" and define "drift" >
as the second derivative of the offset of a clock with respect to >
"true time". >
+ A fixed one, called in this context "skew", given, for example, by From there, we can construct "relative skew" and "relative drift" for >
tolerances in physical dimensions of crystals. two clocks C1 and C2 with respect to one another. These are natural >
extensions of the basic framework definitions of these quantities: >
+ A variable one, called in this context "drift", given, for + Relative offset = difference in clock times >
example, by changes in temperature or other conditions of
operation. Both of these components are part of the term "skew" as + Relative skew = first derivative of the difference in clock times >
defined in the referenced Draft and in the Framework document.
+ Relative drift = second derivative of the difference in clock >
times >
NOTE: The drift of a clock, as it is above defined over a long period NOTE: The drift of a clock, as it is above defined over a long period
must have an average value that tends to zero while the period must have an average value that tends to zero while the period
becomes large since the frequency of the clock has a finite (and becomes large since the frequency of the clock has a finite (and
small) range. In order to underline the order of magnitude of this small) range. In order to underline the order of magnitude of this
effect,it is considered that the maximum range of drift for effect,it is considered that the maximum range of drift for
commercial crystals is about 50 part per million (ppm). Since it is commercial crystals is about 50 part per million (ppm). Since it is
mainly connected with variations in operating temperature (from 0 to mainly connected with variations in operating temperature (from 0 to
70 degrees Celsius), it is expected that a host will have a nearly 70 degrees Celsius), it is expected that a host will have a nearly
constant temperature during its operation period, and variations in constant temperature during its operation period, and variations in
skipping to change at page 4, line 26 skipping to change at page 4, line 27
flow from a source host to a destination host (one-way ipdv). The flow from a source host to a destination host (one-way ipdv). The
initial assumption is that source and destination hosts have initial assumption is that source and destination hosts have
synchronized clocks. The definition of a singleton of one-way ipdv synchronized clocks. The definition of a singleton of one-way ipdv
metric is first considered, and then a definition of samples for ipdv metric is first considered, and then a definition of samples for ipdv
will be given. will be given.
Then the case of application to non-synchronized hosts will be Then the case of application to non-synchronized hosts will be
discussed, and the precision will be compared with the one of discussed, and the precision will be compared with the one of
synchronized clocks. synchronized clocks.
A bidirectional ipdv metric will be defined, as well as the A bidirectional ipdv metric will be defined, as well as the >
methodology for error corrections. This will not be a two-way metric, methodology for error corrections. This will not be a two-way metric, >
but a "paired" one-way in opposite directions. Some statistics but a "paired" one-way in opposite directions.
describing the IP path's behavior will be proposed.
5. A singleton definition of a One-way ipdv metric | 5. A singleton definition of a One-way ipdv metric |
This definition makes use of the corresponding definition of type-P- This definition makes use of the corresponding definition of type-P-
One-Way-Delay metric [2]. This section makes use of those parts of One-Way-Delay metric [2]. This section makes use of those parts of
the One-Way-Delay Draft that directly apply to the One-Way-ipdv the One-Way-Delay Draft that directly apply to the One-Way-ipdv
metric, or makes direct references to that Draft. metric, or makes direct references to that Draft.
5.1. Metric name 5.1. Metric name
skipping to change at page 5, line 32 skipping to change at page 5, line 32
5.3. Metric unit 5.3. Metric unit
The value of a Type-P-One-way-ipdv is either a real number of seconds The value of a Type-P-One-way-ipdv is either a real number of seconds
(positive, zero or negative) or an undefined number of seconds. (positive, zero or negative) or an undefined number of seconds.
5.4. Definition 5.4. Definition
Type-P-One-way-ipdv is defined for two (consecutive) packets from Src Type-P-One-way-ipdv is defined for two (consecutive) packets from Src
to Dst, as the difference between the value of the type-P-One-way- to Dst, as the difference between the value of the type-P-One-way-
delay from Src to Dst at T2 [via path] and the value of the type-P- delay from Src to Dst at T2 and the value of the type-P-One-Way-Delay
One-Way-Delay from Src to Dst at T1 [via path]. T1 is the wire-time from Src to Dst at T1. T1 is the wire-time at which Scr sent the
at which Scr sent the first bit of the first packet, and T2 is the first bit of the first packet, and T2 is the wire-time at which Src
wire-time at which Src sent the first bit of the second packet. This sent the first bit of the second packet. This metric is therefore
metric is therefore ideally derived from the One-Way-Delay metric. ideally derived from the One-Way-Delay metric.
NOTE: The requirement of "consecutive" packets is not essential. The NOTE: The requirement of "consecutive" packets is not essential. The
measured value is anyway the difference in One-Way-Delay at the times measured value is anyway the difference in One-Way-Delay at the times
T1 and T2, which is meaningful by itself, as long as the times T1 and | T1 and T2, which is meaningful by itself, as long as the times T1 and |
T2 denote the wire times of the packets sent from Src to Dst. T2 denote the wire times of the packets sent from Src to Dst.
Therefore, for a real number ddT "The type-P-one-way-ipdv from Src to Therefore, for a real number ddT "The type-P-one-way-ipdv from Src to
Dst at T1, T2 [via path] is ddT" means that Src sent two consecutive Dst at T1, T2 is ddT" means that Src sent two consecutive packets,
packets, the first at wire-time T1 (first bit), and the second at the first at wire-time T1 (first bit), and the second at wire-time T2
wire-time T2 (first bit) and the packets were received by Dst at (first bit) and the packets were received by Dst at wire-time dT1+T1
wire-time dT1+T1 (last bit of the first packet), and at wire-time (last bit of the first packet), and at wire-time dT2+T2 (last bit of
dT2+T2 (last bit of the second packet), and that dT2-dT1=ddT. the second packet), and that dT2-dT1=ddT.
"The type-P-one-way-ipdv from Src to Dst at T1,T2 [via path] is "The type-P-one-way-ipdv from Src to Dst at T1,T2 is undefined" means
undefined" means that Src sent the first bit of a packet at T1 and that Src sent the first bit of a packet at T1 and the first bit of a
the first bit of a second packet at T2 and that Dst did not receive second packet at T2 and that Dst did not receive one or both packets.
one or both packets.
5.5. Discussion 5.5. Discussion
Type-P-One-way-ipdv is a metric that makes use of the same Type-P-One-way-ipdv is a metric that makes use of the same
measurement methods provided for delay metrics. measurement methods provided for delay metrics.
The following practical issues have to be considered: The following practical issues have to be considered:
+ Being a differential measurement, this metric is less sensitive to + Being a differential measurement, this metric is less sensitive to
clock synchronization problems. This issue will be more carefully clock synchronization problems. This issue will be more carefully
examined in section 7 of this memo. It is pointed out that, if the examined in section 7 of this memo. It is pointed out that, if the
reciprocal clock conditions change in time, the accuracy of the relative clock conditions change in time, the accuracy of the
measurement will depend on the time interval T2-T1 and the measurement will depend on the time interval T2-T1 and the
magnitude of possible errors will be discussed below. magnitude of possible errors will be discussed below.
+ A given methodology will have to include a way to determine + A given methodology will have to include a way to determine
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 large (and the packet is yet to arrive at Dst). As noted by
Mahdavi and Paxson, simple upper bounds (such as the 255 seconds Mahdavi and Paxson, simple upper bounds (such as the 255 seconds
theoretical upper bound on the lifetimes of IP packets [Postel: theoretical upper bound on the lifetimes of IP packets [Postel:
RFC 791]) could be used, but good engineering, including an RFC 791]) could be used, but good engineering, including an
understanding of packet lifetimes, will be needed in practice. understanding of packet lifetimes, will be needed in practice.
skipping to change at page 7, line 26 skipping to change at page 7, line 26
+ At the Src host, select Src and Dst IP addresses, and form two + At the Src host, select Src and Dst IP addresses, and form two
test packets of Type-P with these addresses. Any 'padding' portion test packets of Type-P with these addresses. Any 'padding' portion
of the packet needed only to make the test packet a given size of the packet needed only to make the test packet a given size
should be filled with randomized bits to avoid a situation in should be filled with randomized bits to avoid a situation in
which the measured delay is lower than it would otherwise be due which the measured delay is lower than it would otherwise be due
to compression techniques along the path. to compression techniques along the path.
+ At the Dst host, arrange to receive the packets. + At the Dst host, arrange to receive the packets.
+ At the Src host, place a timestamp in the first Type-P packet, + At the Src host, place a timestamp in the first Type-P packet,
and send it towards Dst [via path]. and send it towards Dst.
+ If the packet arrives within a reasonable period of time, take a + If the packet arrives within a reasonable period of time, take a
timestamp as soon as possible upon the receipt of the packet. By timestamp as soon as possible upon the receipt of the packet. By
subtracting the two timestamps, an estimate of One-Way-Delay can subtracting the two timestamps, an estimate of One-Way-Delay can
be computed. be computed.
+ Record this first delay value. + Record this first delay value.
+ At the Src host, place a timestamp in the second Type-P packet, + At the Src host, place a timestamp in the second Type-P packet,
and send it towards Dst [via path]. and send it towards Dst.
+ If the packet arrives within a reasonable period of time, take a + If the packet arrives within a reasonable period of time, take a
timestamp as soon as possible upon the receipt of the packet. By timestamp as soon as possible upon the receipt of the packet. By
subtracting the two timestamps, an estimate of One-Way-Delay can subtracting the two timestamps, an estimate of One-Way-Delay can
be computed. be computed.
+ By subtracting the second value of One-Way-Delay from the first + By subtracting the second value of One-Way-Delay from the first
value the ipdv value of the pair of packets is obtained. value the ipdv value of the pair of packets is obtained.
+ If one or both packets fail to arrive within a reasonable period + If one or both packets fail to arrive within a reasonable period
skipping to change at page 8, line 38 skipping to change at page 8, line 38
ipdv. The residual error related to clocks is the difference of the ipdv. The residual error related to clocks is the difference of the
errors that are supposed to change from the time T1, at which the errors that are supposed to change from the time T1, at which the
first measurement is performed, to the time T2 at which the second first measurement is performed, to the time T2 at which the second
measure ment is performed. Synchronization, skew, accuracy and measure ment is performed. Synchronization, skew, accuracy and
resolution are here considered with the following notes: resolution are here considered with the following notes:
+ Errors in synchronization between source and destination clocks + Errors in synchronization between source and destination clocks
contribute to errors in both of the delay measurements required contribute to errors in both of the delay measurements required
for calculating ipdv. for calculating ipdv.
+ If the synchronization error affecting the One-Way-Delay + The effect of drift and skew errors on ipdv measurements can be >
measurement is Tsync, and it is a linear function of time, through quantified as follows: Suppose that the skew and drift functions >
the skew value "sk", at time T1 the error will be Tsync1 and at are known. Assume first that the skew function is linear in time. >
time T2 the error will be Tsync2. The ipdv measurement will be Clock offset if then also a function of time and the error evolves >
affected by the error: Tsync2-Tsync1 = sk x (T2 - T1) depending on as e(t) = K*t + O, where K is a constant and O is the offset at >
skew and T2-T1. To minimize this error it is possible to reduce time 0. In this case, the error added to the subtraction two >
the time interval T2-T1, but this could limit the generality of different time stamps (t2 > t1) is e(t2)-e(t1) = K*(t2 - t1) which >
the metric. Methods for evaluating the synchronization error will will be added to the time difference (t2 - t1). If the drift >
be discussed below, since they come from a statistic over a cannot be ignored, but we assume that the drift is a linear >
significant sample. If the measurement conditions do not allow function of time, then the skew is given by s(t) = M*(t**2) + N*t >
neglecting the drift, assumed linear in the interval T2-T1, and + S0, where M and N are constants and S0 is the skew at time 0. >
having a value of "dr" expressed in ppm / sec., the ipdv error The error added by the variable skew/drift process in this case >
will become: Tsync2-Tsync1 = sk x (T2 - T1) + [dr x (T2-T1) x becomes e(t) = O + s(t) and the error added to the difference in >
(T2-T1)] / 2 Drift varies the skew value in the time. The limits time stamps is e(t2)-e(t1) = N*(t2-t1) + M*{(t2-t1)**2}. >
in which the skew can vary are anyway limited and small, so that a It is the claim here (see remarks in section 3.3) that the effects >
given drift cannot act indefinitely. Section 7 and Appendix A of skew are rather small over the time scales that we are >
provide more information on this point. discussing here, since temperature variations in a system tend to >
be slow relative to packet inter-transmission times and the range >
of drift is so small.
+ As far as accuracy and resolution are concerned, what is noted in + As far as accuracy and resolution are concerned, what is noted in
the Draft on One-Way-Delay [2] in section 3.7.1, applies also in the one-way-delay document [2] in section 3.7.1, applies also in
this case, with the further consideration, about resolution, that this case, with the further consideration, about resolution, that
in this case the uncertainty introduced is two times the one of a in this case the uncertainty introduced is two times the one of a
single delay measurement. Errors introduced by these effects are single delay measurement. Errors introduced by these effects are
often larger than the ones introduced by the drift. often larger than the ones introduced by the drift.
5.7.2. Errors/uncertainties related to Wire-time vs Host-time 5.7.2. Errors/uncertainties related to Wire-time vs Host-time
The content of sec. 3.7.2 of [2] applies also in this case, with the The content of sec. 3.7.2 of [2] applies also in this case, with the
following further consideration: The difference between Host-time and following further consideration: The difference between Host-time and
Wire-time can be in general decomposed into two components, of which Wire-time can be in general decomposed into two components, of which
one is constant and the other is variable. Only the variable one is constant and the other is variable. Only the variable
components will produce measurement errors, while the constant one components will produce measurement errors, while the constant one
will be canceled while calculating ipdv. will be canceled while calculating ipdv. However, in most cases, the >
fixed and variable components are not known exactly.
6. Definitions for Samples of One-way ipdv 6. Definitions for Samples of One-way ipdv
Starting from the definition of the singleton metric of one-way ipdv, | Starting from the definition of the singleton metric of one-way ipdv, |
we define a sample of such singletons. In the following, the two | we define a sample of such singletons. In the following, the two |
packets needed for a singleton measurement will be called a "pair". | packets needed for a singleton measurement will be called a "pair". |
A stream of test packets is generated where the second packet of a | A stream of test packets is generated where the second packet of a |
pair is, at the same time, the first packet of the next pair. | pair is, at the same time, the first packet of the next pair. |
skipping to change at page 12, line 7 skipping to change at page 12, line 7
reception time Rx as "old values". reception time Rx as "old values".
+ On reception of the other packets Dst verifies the seuqence number + On reception of the other packets Dst verifies the seuqence number
and if it is correct, by using the "old values" and the newly and if it is correct, by using the "old values" and the newly
received ones, a value of ipdv is computed. Then Dst records the received ones, a value of ipdv is computed. Then Dst records the
new sequence number, transmit and receive timestamps as "old new sequence number, transmit and receive timestamps as "old
values". values".
6.7. Errors and uncertainties 6.7. Errors and uncertainties
The same considerations apply that have been made about the singleton The same considerations apply that have been made about the singleton >
metric. An additional error can be introduced by the pseudo-random metric. Additional error can be introduced by the pseudo-random >
Poisson process as focused in [2]. Further considerations will be Poisson process as discussed in [2]. Further considerations will be >
made in section 7, and in Appendix A. given in section 7. |
6.8. Distribution of One-way-ipdv values | 6.8. Distribution of One-way-ipdv values |
The one-way-ipdv values are limited by virtue of the fact that there | The one-way-ipdv values are limited by virtue of the fact that there |
are upper and lower bounds on the one-way-delay values. Specifically, | are upper and lower bounds on the one-way-delay values. Specifically, |
one-way-delay is upper bounded by the value chosen as the maximum | one-way-delay is upper bounded by the value chosen as the maximum |
beyond which a packet is counted as lost. It is lower bounded by | beyond which a packet is counted as lost. It is lower bounded by |
propagation, transmission and nodal transit delays assuming that | propagation, transmission and nodal transit delays assuming that |
there are no queues or variable nodal delays in the path. Denote the | there are no queues or variable nodal delays in the path. Denote the |
upper bound of one-way-delay by U and the lower bound by L and we see | upper bound of one-way-delay by U and the lower bound by L and we see |
skipping to change at page 13, line 14 skipping to change at page 13, line 14
6.9.1. Type-P-One-way-ipdv-inverse-percentile 6.9.1. Type-P-One-way-ipdv-inverse-percentile
Given a Type-P-One-way-ipdv-Stream and a time threshold, that can be Given a Type-P-One-way-ipdv-Stream and a time threshold, that can be
either positive or negative, the fraction of all the ipdv values in either positive or negative, the fraction of all the ipdv values in
the Stream less than or equal to the threshold, if the threshold is the Stream less than or equal to the threshold, if the threshold is
positive, or greater or equal to the threshold if the threshold is positive, or greater or equal to the threshold if the threshold is
negative. negative.
For many real-time services that require a regular delivery of the For many real-time services that require a regular delivery of the
packets, this statistics can give the amount of packets received packets, these statistics provide the number of packets exceeding a
beyond acceptable limits. given limit.
6.9.2. Type-P-One-way-ipdv-jitter | 6.9.2. Type-P-One-way-ipdv-jitter |
This metric was defined in [7] and is simply the absolute value of | This metric is the same as the definition of "jitter" in [7], and is |
the Type-P-One-way-ipdv. This can be used to derive a number of | simply the absolute value of the Type-P-One-way-ipdv. |
metrics. |
7. Discussion on clock synchronization
This section gives some considerations about the need of having
synchronized clocks at Src and Dst. These considerations are given as
a basis for discussion, they require further investigation. We start
from the analysis of the mean value of the ipdv distribution related
to a "continuous" sample. Some more detailed calculations are
presented in Appendix A.
7.1. Effects of synchronization errors
We refer here to the two components that can generate this type of
errors that are the reciprocal "skew" and "drift" of the Src and Dst
clocks. It is first of all noted that the variable component "drift"
is physically limited and its effects can be interpreted by saying
that the total reciprocal skew of the two clocks can vary, ranging
from a min to a max. value in the time. This type of variation takes
place very slowly being mostly connected to variations in
temperature.
We suppose to perform a measurement between a Src and a Dst that have
a reciprocal, initial skew of "ts1" and a reciprocal drift such that,
after the time T the total skew is "ts2". It is not here a limitation
to consider that at the beginning of time T the two clocks indicate
the same time T0.
In order to analyze the effects produced by this situation we suppose
that packets are transferred, from Src to Dst, with a constant delay
D In this conditions the measured ipdv should always be zero, and
what is actually measured is the error.
An ipdv value is measured at the beginning of time T with two packets 6.9.3. The treatment of lost packets as having "infinite" or >
having an interval of Ti(1).Another ipdv value is measured at the end "undefined" delay complicates the derivation of statistics for ipdv. >
of T with two packets having a time interval Ti(2). Specifically, when packets in the measurement sequence are lost, >
simple statistics such as sample mean cannot be computed. One >
possible approach to handling this problem is to reduce the event >
space by conditioning. That is, we consider conditional statistics; >
namely we estimate the mean ipdv (or jitter or other derivative >
statistic) conditioned on the event that successive packet pairs >
arrive at the destination (within the given timeout). While this >
itself is not without problems (what happens, for example, when every >
other packet is lost), it offers a way to make some (valid) >
statements about ipdv, at the same time avoiding events with >
undefined outcomes. We suggest that this be a topic for further >
study.
On our purposes other errors (like wire-time vs host-time) are not 7. Discussion of clock synchronization
considered since they are not relevant in this analysis, being common
to all the measurement methods.
It is then possible to calculate the values of the Tx and Rx This section gives some considerations about the need of having
timestamps as they are seen by the two clocks, and the related two synchronized clocks at the source and destination. These
ipdv values. considerations are given as a basis for discussion and they require
further investigation. >
The first ipdv value will be: ipdv1 = ts1*Ti(1) + ((ts2-ts1)/T)*Ti(1) 7.1. Effects of synchronization errors >
The second ipdv value will be: ipdv2 = ts2*Ti(2) +((ts2-ts1)/T)*Ti(2)
The error is given by the effect of the skew during the time interval Clock errors can be generated by two processes: the relative drift >
Ti(i) between the two packets of the pair, and a second order term and the relative skew of two given clocks. We should note that drift >
due to the variation of that skew in the same interval. is physically limited and so the total relative skew of two clocks >
can vary between an upper and a lower bound. >
If, as in the most of practical cases, the drift can be considered Suppose then that we have a measurement between two systems such that >
close to zero, then ts1 = ts2, and the error is not depending on the the clocks in the source and destination systems have at time 0 a >
time at which the measurement is done. In addition, this type of relative skew of s(0) and after a measurement interval T have skew >
error can be corrected as it is indicated in the next paragraph and s(T). We assume that the two clocks have an initial offset of O (that >
discussed in Appendix A. is letter O). >
In any case the maximum error on an ipdv value will correspond to the Now suppose that the packets travel from source to destination in >
effect of the maximum reciprocal skew on the maximum interval between constant time, in which case the ipdv is zero and the difference in >
packets. the timestamps of the two clocks is actually just the relative offset >
of the clocks. Suppose further that at the beginning of the >
measurement interval the ipdv value is calculated from a packet pair >
and at the end of the measurement interval another ipdv value is >
calculated from another packet pair. Assume that the time interval >
covered by the first measurement is t1 and that covered by the second >
measurement is t2. Then >
7.2. Related precision ipdv1 = s(0)*t1 + t1*(s(T)-s(0))/T >
This means that: ipdv2 = s(T)*t2 + t2*(s(T)-s(0))/T >
+ If the skew is constant and is = ts all the ipdv(i) values are assuming that the change is skew is linear in time. In most practical >
increased by the quantity Ti(i)*ts with respect the actual value. cases, it is claimed that the drift will be close to zero in which >
The mean ipdv value will therefore increased of the quantity case the second (correction) term in the above equations disappears. >
E[Ti(i)]*ts, which is measured. Also E[Ti(i)] can be measured, and
should be related to lambda. That means that the skew ts can be
calculated. If together with ipdv(i), also the corresponding Ti(i)
are collected, for each ipdv(i) value a correcting term is
available, and a sample of "corrected" c-ipdv(i) values is
obtained, where c-ipdv(i) = ipdv(i) - Ti(i)*st.
+ Considering the total skew as subdivided into a fixed part and a Note that in the above discussion, other errors, including the >
variable part (skew and drift),respectively, ts and + or - td, differences between host time and wire time, and externally-caused >
from the mean ipdv value and the mean emission interval the clock discontinuities (e.g. clock corrections) were ignored. Under >
average skew can be derived in the period of interest (Appendix these assumptions the maximum clock errors will be due to the maximum >
A). The preceding correction can then be applied. The maximum relative skew acting on the largest interval between packets. >
residual error on an ipdv value is given by the difference between
the actual skew at the time in which the value has been measured
and the average skew, multiplied by the time interval between the
packets that have generated that ipdv value. Considerations on the
number of values in the sample affected by errors are reported in
Appendix A.
+ If the duration of the measurement is such that it is possible to | 7.2. Estimating the skew of unsynchronized clocks >
consider that the ipdv (without skew) is close to zero, the mean
value of the ipdv distribution will have the value of the average
skew multiplied by the mean value of the emission interval, as
supposed above.
+ We observe that the displacement due to the skew does not change If the skew is linear (that is, if s(t) = S * t for constant S), the >
the shape of the distribution, and, for example the Standard error in ipdv values will depend on the time between the packets used >
Deviation remains the same. What introduces a distortion is the in calculating the value. If ti is the time between the ith and >
effect of the drift, also when the mean value of this effect is (i+1)st packet, then let Ti denote the sample mean time between >
zero at the end of the measurement. The value of this distortion packets and the average skew is s(Ti) = S * Ti. Note that E[Ti] >
is limited to the effect of the total skew variation on the should equal 1/lambda. In the event that the delays are constant, the >
emission interval. skew parameter S can be estimated from the estimate Ti of the time >
between packets and the sample mean ipdv value. Under these >
assumptions, the ipdv values can be corrected by subtracting the >
estimated S * ti. >
+ In what has been said, skew and drift have been considered as We observe that the displacement due to the skew does not change the >
"reciprocal". In Appendix A it will be considered that each of the shape of the distribution, and, for example the Standard Deviation >
two clocks have a skew and a drift with respect a "true time", and remains the same. What introduces a distortion is the effect of the >
it will be observed that the difference is negligible with respect drift, also when the mean value of this effect is zero at the end of >
the situation in which one of the two clocks is taken as the "true the measurement. The value of this distortion is limited to the >
time". effect of the total skew variation on the emission interval. >
8. Definition for a bidirectional ipdv metric 8. Definition for a bidirectional ipdv metric
We now consider that the action of the skew on one direction is the We now consider that the action of the skew on one direction is the
same, with opposite sign, of the action on the other direction. The same, with opposite sign, of the action on the other direction. The
idea of performing at the same time two independent measurements in idea of performing at the same time two independent measurements in
the two directions is suggested by this fact. the two directions is suggested by this fact.
If, after a long measurement, the variable conditions of the system If, after a long measurement, the variable conditions of the system
under test have reached the situation of a contribution close to zero under test have reached the situation of a contribution close to zero
to the mean value of the ipdv distribution, it is expected that only to the mean value of the ipdv distribution, it is expected that only
the action of the average skew has modified the measured mean value. the action of the average skew has modified the measured mean value.
It is therefore expected that on one direction that value is equal It is therefore expected that in one direction that value is equal
and opposite to the one measured in the other direction. and opposite to the one measured in the other direction.
This fact offers the possibility of defining a theoretical reference This fact offers the possibility of defining a theoretical reference
measurement duration in the following way: measurement duration in the following way:
The reference duration of a bidirectional ipdv measurement between an The reference duration of a bidirectional ipdv measurement between an
host E and an host W is reached at time Tf such that for each time T host E and an host W is reached at time Tf such that for each time T
> Tf the expression ABS(E(ipdv E-W) - E(ipdv W-E))< epsilon, where > Tf the expression ABS(E(ipdv E-W) - E(ipdv W-E))< epsilon, where
epsilon is what we can consider as zero, is always verified. This is epsilon is what we can consider as zero, is always verified. This is
one, but not the only method for verifying that the mean ipdv value one, but not the only method for verifying that the mean ipdv value
has reached the value of the average reciprocal skew. has reached the value of the average relative skew.
At this point it is possible to evaluate the reciprocal skew. This At this point it is possible to evaluate the relative skew. This
will require the knowledge of the mean value of the intervals between will require the knowledge of the mean value of the intervals between
consecutive packets, that can be calculated over the transmitted consecutive packets, that can be calculated over the transmitted
stream, by using the collected time stamps. stream, by using the collected time stamps.
A bidirectional measurement can be defined not only as twin one-way A bidirectional measurement can be defined not only as twin one-way
independent metrics that take place (nearly) at the same time, but independent metrics that take place (nearly) at the same time, but
also as a two-way metric making use of packets looped back at one also as a two-way metric making use of packets looped back at one
end. This metric, that can be object of further study/Draft, would be end. This metric, that can be object of further study/Draft, would be
able to measure also the Round Trip Delay and its variations. able to measure also the Round Trip Delay and its variations.
Problems will anyway arise on the characterization of emission Problems will anyway arise on the characterization of emission
skipping to change at page 19, line 25 skipping to change at page 19, line 9
In general, legitimate measurements must have their parameters | In general, legitimate measurements must have their parameters |
selected carefully in order to avoid interfering with normal traffic | selected carefully in order to avoid interfering with normal traffic |
in the network. Such measurements should also be authorized and | in the network. Such measurements should also be authorized and |
authenticated in some way so that attacks can be identified and | authenticated in some way so that attacks can be identified and |
intercepted. | intercepted. |
11. Acknowledgements | 11. Acknowledgements |
Thanks to Matt Zekauskas from Advanced and Ruediger Geib from | Thanks to Matt Zekauskas from Advanced and Ruediger Geib from |
Deutsche Telekom for discussions relating to the contents of this | Deutsche Telekom for discussions relating to the contents of this |
revised draft. | revised draft. For this additional revision, discussions by e-mail >
with Andy Scherrer were very helpful.
12. References | 12. References
[1] V.Paxon, G.Almes, J.Mahdavi, M.Mathis - "Framework for IP | [1] V.Paxon, G.Almes, J.Mahdavi, M.Mathis - "Framework for IP
Performance Metrics", RFC 2330 Feb. 1998 | Performance Metrics", RFC 2330 Feb. 1998
[2] G.Almes, S.Kalidindi - "A One-Way-Delay Metric for IPPM", | [2] G.Almes, S.Kalidindi - "A One-Way-Delay Metric for IPPM", RFC
Internet Draft <draft-ietf-ippm-delay-07.txt> May 1999 | 2679, September 1999
[3] Draft New ITU-T Recommendation I.380 "Internet Protocol Data | [3] ITU-T Recommendation I.380 "Internet Protocol Data
Communication Service - IP Packet Transfer and Availability | Communication Service - IP Packet Transfer and Availability
Performance Parameters" | Performance Parameters", February 1999
[4] Demichelis, Carlo - "Packet Delay Variation Comparison between | [4] Demichelis, Carlo - "Packet Delay Variation Comparison between
ITU-T and IETF Draft Definitions" March 1999 | ITU-T and IETF Draft Definitions" March 1999
[5] ITU-T Recommendation I.356 "B-ISDN ATM Layer Cell Transfer | [5] ITU-T Recommendation I.356 "B-ISDN ATM Layer Cell Transfer
Performance" | Performance"
[6] e-mail exchanges with Ruediger Geib | [6] e-mail exchanges with Ruediger Geib
[7] V. Jacobson, K. Nichols, K. Poduri - "An expedited forwarding | [7] V. Jacobson, K. Nichols, K. Poduri - "An expedited forwarding
PHB", Internet Draft, November 1998 <draft-ietf-diffserv-phb- | PHB", RFC 2598, June 1999
ef-01.txt> |
13. Authors' Addresses | 13. Authors' Addresses
Carlo Demichelis <carlo.demichelis@cselt.it> Carlo Demichelis <carlo.demichelis@cselt.it>
CSELT - Centro Studi E Laboratori Telecomunicazioni S.p.A CSELT - Centro Studi E Laboratori Telecomunicazioni S.p.A
Via G. Reiss Romoli 274 Via G. Reiss Romoli 274
10148 - TORINO 10148 - TORINO
Italy Italy
Phone +39 11 228 5057 Phone +39 11 228 5057
Fax. +39 11 228 5069 Fax. +39 11 228 5069
Philip Chimento <chimento@ctit.utwente.nl> Philip Chimento <chimento@ctit.utwente.nl>
CTIT - Centre for Telematics and Information Technology CTIT - Centre for Telematics and Information Technology
University of Twente University of Twente
Postbox 217 Postbox 217
7500 AE Enschede 7500 AE Enschede
The Netherlands The Netherlands
Phone +31 53 489 4331 Phone +31 53 489 4331
FAX +31 53 489 4524 FAX +31 53 489 4524
APPENDIX A Expiration date: April 2000
This Appendix considers the scenario in which two hosts have clocks
that are both not synchronized. Between the two hosts, in an
independent way and at the same time in both direction an ipdv
measurement is performed according the methodology that is described
in the main body of this Draft. This hypothetical scenario is only
supposed for discussing the theory and the characteristics of the
ipdv metric and its results, without considering implementation
issues.
14. Initial positions
The two hosts will be called West (W) and East (E). The two
measurements start at the same time, while the end of the measurement
it is supposed to be decided by the results of the measurement
itself.
At the beginning of the measurement the time declared by the West
clock is T0w, the time declared by the East clock is T0e, while the
true time is T0t.
The W-clock is affected by an absolute skew of skw ppm and the E-
clock by an absolute skew of skw ppm.
The W-clock is affected by an absolute drift ranging from -drw ppm to
+drw ppm, the E-clock by an absolute drift ranging from -dre ppm to
+dre ppm.
14.1. Evaluation of skew and drift effects
In order to evaluate the effect of the drift on this type of metric,
it is necessary to consider the time in which the variation of the
skew takes place. We consider the two extreme cases in which the
variation takes place uniformly from the beginning to the end of the
measurement and the variation takes place suddenly at a generic time
along the measurement. Let TM be the measurement time.
14.1.1. Mean ipdv value
Since the mean ipdv value, as it has been seen, is the difference of
the last delay minus the first, divided by the number of considered
values, we consider what, in the two cases, is measured for first and
last delay.
We call trueDf the true first Delay and trueDl the true last Delay.
For the evaluation that we want to do, it is not a limitation to
consider that they are equal and have a value of trueD. We also
consider as time 0 the true time at which the transmission of the
first packet starts from West toward East.
In case of continuous drift we define a "drift per second" as: drpsW
= 2*drw / TM and drpsE = 2*dre / TM along the measurement this
will bring the skew from a value of: skWmin = skw - drw ;
skEmin = ske - dre to a value of skWmax = skw + drw ; skEmax =
ske + dre
What is measured as first Delay is:
measured first Rx time - measured first Tx time OffsetEast + trueD*[1
+ skEmin + (1/2)*drpsE] - OffsetWest
What is measured as last Delay is:
measured last Rx time - measured last Tx time OffsetEast + (TM +
trueD)*[1 + skEmin + (1/2)*2*dre] -
- OffsetWest - TM*[1 + skWmin + (1/2)*2*drw]
The difference between the last and first Delay is therefore:
TM*(skEmin - skWmin + dre - drw) - trueD*drpsE/(2*TM)
if TM = 10 hours drpsE is in the order of 50*10E-6 / 36000 that is
about 10E-9 and the second term of the expression is in the order of
10E-14 for true delays in the order of 1 sec (negligible term). We
consider that, with very good approximation:
Mean emission interval (mti) = TM / number of ipdv values (N)
Therefore:
mean ipdv = (measured last Delay - measured first Delay) / N =
= mti*(skEmin - skWmin + dre - drw)
but we considered skEmin = ske - dre and skWmin = skw - drw and
therefore:
mean ipdv = (meas.lastD - meas.firstD) / mti*(reciprocal mean skew)
The previous procedure is now applied to the case in which the total
drift takes place in a very short time. Some cases are possible, and
we consider the one in which at the beginning the West clock has
skWmax and the East clock has skEmin, at time txW the West clock
assumes skWmin and at time txE the East clock assumes skEmax. What
is measured as first Delay is now:
measured first Rx time - measured first Tx time OffsetEast + trueD*(1
+ skEmin) - OffsetWest
What is measured as last Delay is:
measured last Rx time - measured last Tx time + OffsetEast + txE*(1 +
skEmin) + (TM - txE)*(1 + skEmax) + + trueD*(1 + skEmax) - -
OffsetWest - txW*(1 + skWmax) - (TM - txW)*(1 + skWmin)
but the mean skew values will be:
mskw = [skWmax*txW + skWmin*(TM - txW)] / TM mske = [skEmin*txE +
skEmax*(TM - txE)] / TM
the difference between the two delays therefore is:
TM*(mske - mskw) + 2*trueD*dre
and the mean ipdv value will be:
mean ipdv = mti*(mske - mskw) + 2*mti*trueD*dre/TM
the second term of the second member in the previous hypotheses is in
the order of the nanosecond, and we neglect it. Also in this case,
from the mean ipdv value, and knowing the mean emission interval, the
relative skew of the clocks can be obtained.
More in general, independently on how the drift acts inside its
limits, we assert that always the mean ipdv value divided by the mean
emission interval produces the value of the mean reciprocal skew of
the two clocks, provided that the collected number of ipdv values is
significant for the statistics.
14.1.2. Errors and corrections
If the drift is always close to zero, it is possible to obtain the
true value of the reciprocal skew and correct all the ipdv values.
Each of them is associated to an emission interval ti between the two
packets that have produced the value itself. Then a better ipdv value
will be: corr.ipdv(i) = meas.ipdv(i) - ti * skew This is a better
value but not exactly the true one, since we supposed that both
clocks are not synchronized to the true time. Two errors are
affecting the corrective terms which are:
+ The reciprocal skew is measured as referred to the Src clock
+ The interval ti is measured by the Src clock.
These are second order errors since the measured skew will be
affected by a "relative" error in the order of the Src skew, an the
same is for the error affecting the ti value.
If the drift is significant and it can range from the lower to the
upper limit of its field, the measured average of the skew will
depend on the type of variation. Some cases are considered that
demonstrate that actually the proposed correction is not so much
effective in this case. Only the fixed part of the total clock
variation can be properly corrected.
14.1.3. Constant drift
The first case is the first one considered in the preceding
paragraph, where the drift is uniform. We suppose that a reciprocal
skew is measured and used for correction.
At the beginning of the measurement the actual reciprocal skew is:
init.skew = mean.skew - rel.max.drift
and at the end the actual reciprocal skew is:
final.skew = mean.skew + rel max.drift
The correction is effective only in the central part of the
measurement. At the beginning and at the end a residual error will
affect the ipdv values whose value will be:
ipdv(i).err = ti * rel.max.drift
We underline here that the error is larger for large intervals ti and
lower for short intervals ti. For intervals derived from a poissonian
arrival process, there are many short intervals and few large
intervals. We also note that a constant drift cannot last
indefinitely, since there is a minimum and a maximum for the skew.
14.1.4. Step of drift
In this case the error profile depends on the time at which the drift
changes. If the change is near the beginning or near the end of the
measurement, the calculated mean skew will be very close to the
actual skew of the largest part of the measurement. On that part the
correction will be effective, while over the remaining few values the
error will be twice with respect the preceding case. The worse
condition is produced by a change in drift in the middle of the
measurement. In this case the correction would be useful only if the
drift was significantly less than the skew.
14.2. Comparison with a synchronized case
In this section we consider a case in which the two hosts have
synchronized clocks, and the synchronization is obtained by setting
the real time each second in each of the clocks. We optimistically
suppose that this is done exactly (without any imprecision). On the
clocks, anyway skew and drift continue to act. We refer to reciprocal
skew and drift, having already seen that this is significant. We
suppose to perform an ipdv measurement and we evaluate what is
measured by the mean ipdv value and what is the error on the measured
ipdv values.
We notice, first of all, that nothing changes for ipdv values
measured over intervals falling completely between two
synchronization instants. In this case, the effect of
synchronization is only to put to zero the offset, that does not
appear in the calculation of ipdv values.
Something different happens if the synchronization instant (or more
synchronization instants) falls inside the interval. In this case the
error can range from + to - the error related to one second interval,
or, more in general, from + to - the error related to an interval
equal to the synchronization period. The (few) large intervals will
produce a limited error while the (many) short intervals will
continue to produce errors of the same order of magnitude of the not
synchronized case.
Besides, even if the drift is negligible, the mean ipdv value is no
more suitable to calculate the skew, and it will be much more close
to zero. Therefore it is no more possible to correct the distortion
of the distribution.
Finally, it is necessary to add to these errors the unavoidable
imprecision of the synchronization process. We have to consider that
the magnitude of errors introduced by skew and drift is in the order
of tenth of microseconds. Not always the complete synchronization
process has a better precision.
14.3. Bidirectional measurement and components of ipdv
Three terms have been described that can displace the mean ipdv value
from zero. They are:
+ The total skew, already discussed above, that always acts in an
equal way and opposite direction over the two directions between
West and East hosts.
+ The effect of varying traffic that can increase or decrease along
limited periods, the average value of the One-Way-Delay. The
metric above presented supposes that the measurement period is
large enough for considering this effect as tending to zero. It
is explicitly noted that the effect will produce a zero effect
only on the mean ipdv value, while the effect on values ipdv(i) is
always present. This is not a distortion of the distribution,
since is part of the variation that is measured. This effect is
different, and usually concordant, on the two directions.
+ The difference between first and last instantaneous values of the
delay variation, that tends to zero when the number of collected
ipdv values becomes large.
In order to isolate the last two effects, we consider here a
measurement over a long period (e.g. 24 hours)where the drift is
negligible, and the effect of the skew has been corrected.
14.4. Slow variation in a given period
The packets of the stream can be represented on a system of cartesian
orthogonal axes with transmission time on x-axis and reception time
on y-axis, by points localized by transmission and reception time of
each packet. Considering an arbitrary period of time Tper, which will
be a parameter of this procedure, it can be taken as a sliding window
over the sample and for each position of this window, established by
successive packets, the segment of straight line is calculated that
best approximate the points, by means of a linear regression method.
The slope of this segment will be one if along the period the delay
has not changed, and different from one if that delay has increased
(>1) or decreased (<1). For each position of the window it is
therefore possible to find a value of "slow delay variation" with
Tper as a parameter. This will give an indication on variations
produced by different traffic conditions along the measurement
period. This item can be subject for further study.
At the same time this procedure offers a criterion for reducing the
error introduced in the calculation of the mean ipdv by the
instantaneous component of the difference between last and first
delay. Supposing that the timestamps, on which the metric is based,
are collected and then processed, if the method of the sliding window
is applied at the beginning and at the end of the collected sample,
it is possible to avoid starting and ending the measurement on values
possibly too different from the average (points too far away from the
calculated straight line). |
Expiration date: December, 1999
 End of changes. 

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