draft-ietf-ippm-ipdv-02.txt | draft-ietf-ippm-ipdv-03.txt | |||
---|---|---|---|---|

Network Working Group C. Demichelis | ||||

Network Working Group C.Demichelis CSELT | INTERNET-DRAFT CSELT | |||

Expiration Date: December 1999 P. Chimento | ||||

expires May 1999 | CTIT | |||

June 1999 | ||||

Instantaneous Packet Delay Variation Metric for IPPM | Instantaneous Packet Delay Variation Metric for IPPM | |||

<draft-ietf-ippm-ipdv-02.txt> | <draft-ietf-ippm-ipdv-03.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 and is in full conformance with | | |||

uments of the Internet Engineering Task Force (IETF), its areas, and | all provisions of Section 10 of RFC2026. | |||

its working groups. Note that other groups may also distribute work- | ||||

ing documents as Internet Drafts. | ||||

Internet Drafts are draft documents valid for a maximum of six | Internet-Drafts are working documents of the Internet Engineering | |||

months, and may be updated, replaced, or obsoleted by other documents | Task Force (IETF), its areas, and its working groups. Note that | |||

at any time. It is inappropriate to use Internet Drafts as reference | other groups may also distribute working documents as Internet- | |||

material or to cite them other than as ``work in progress''. | Drafts. | |||

To learn the current status of any Internet Draft, please check the | Internet-Drafts are draft documents valid for a maximum of six months | |||

``1id-abstracts.txt'' listing contained in the Internet Drafts shadow | and may be updated, replaced, or obsoleted by other documents at any | |||

directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), | time. It is inappropriate to use Internet-Drafts as reference | |||

munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or | material or to cite them other than as "work in progress." | |||

ftp.isi.edu (US West Coast). | ||||

The list of current Internet-Drafts can be accessed at | | ||||

http://www.ietf.org/ietf/1id-abstracts.txt | | ||||

The list of Internet-Draft shadow directories can be accessed at | | ||||

http://www.ietf.org/shadow.html | ||||

This 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. Abstract | 2. Abstract | |||

This memo refers to a metric for variation in delay of packets across | This memo refers to a metric for variation in delay of packets across | |||

Internet paths. The metric is based on statistics of the difference | Internet paths. The metric is based on statistics of the difference | |||

in One-Way-Delay of consecutive packets. This particular definition | in One-Way-Delay of consecutive packets. This particular definition | |||

of variation is called "Instantaneous Packet Delay Variation (ipdv)". | of variation is called "Instantaneous Packet Delay Variation (ipdv)". | |||

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-ways | 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. | |||

I-D Ipdv Metric November 1998 | ||||

3. Introduction | 3. Introduction | |||

This memo takes as a reference the Draft-ietf "One-Way-Delay metric for | This memo takes as a reference the Draft-ietf "One-Way-Delay metric | | |||

IPPM" that it is supposed to be known. Part of the text in this memo is | for IPPM" [1]. Part of the text in this memo is directly taken from | |||

directly taken from that Draft. | that Draft. | |||

This memo defines a metric for variation in delay of packets that flow | This memo defines a metric for variation in delay of packets that | |||

from one host to another one through an IP path. Since the metric is | flow from one host to another one through an IP path. Since the | |||

related to a variation, different definitions are possible according | metric is related to a variation, different definitions are possible | |||

to what the variation is measured against. | according to what the variation is measured against. | |||

NOTE: The terminology used in this Draft will be re-visited as soon as | "Jitter" commonly has two meanings: The first meaning is the | | |||

a terminology document will be available. | variation of a signal with respect to some clock signal, where the | | |||

So far the following is considered: | arrival time of the signal is expected to coincide with the arrival | | |||

- The term Jitter is derived from the well known definition given for | of the clock signal. The second meaning has to do with the variation | | |||

transmission of electrical pulses associated to a clock, and it seems | of a metric (e.g. delay) with respect to some reference metric (e.g. | | |||

to be able to describe variations with respect to an expected arrival | average delay or minimum delay). The form of "jitter" that we talk | | |||

time. | about here has to do almost exclusively with the second meaning, | | |||

- Each entity adopted as a reference for variation measurements defines | rather than the first. See the section on the relationship with other | | |||

a specific metric. Each metric describes a specific aspect or effect | standards. | |||

of the behavior of the System Under Test (SUT). | ||||

- Among entities that can be adopted, as an example, it is possible to | ||||

consider a reference delay for the path, a reference delay for the Src | ||||

Dst pair, the Mean One-Way-Delay over a period of interest, the Delay | ||||

variation that can be derived considering the difference between the | ||||

actual and the expected arrival time, the difference between the | ||||

delay of a packet and the last measured similar delay. | ||||

3.1. Definition | 3.1. Definition | |||

A definition of the Instantaneous Packet Delay Variation (ipdv) can be | A definition of the Instantaneous Packet Delay Variation (ipdv) can | |||

given for a pair of packets or for a packet inside a stream of packets. | be given for a pair of packets or for a packet inside a stream of | |||

packets. | ||||

For a pair of packets: | For a pair of packets: | |||

- The ipdv of a pair of IP packets, that are transmitted from the measu- | ||||

rement point MP1 to the measurement point MP2, is the difference | + The ipdv of a pair of IP packets, that are transmitted from the | |||

between the One-Way-Delay measured for the second packet and the One- | measurement point MP1 to the measurement point MP2, is the | |||

Way-Delay measured for the first packet of the pair. | difference between the One-Way-Delay measured for the second | |||

packet and the One-Way-Delay measured for the first packet of the | ||||

pair. | ||||

For a stream of packets: | For a stream of packets: | |||

- The Instantaneous Packet Delay Variation of an IP packet, inside a | ||||

stream of packets, going from the measurement point MP1 to the measu- | ||||

rement point MP2, is the difference of the One-Way-Delay of that | ||||

packet and the One-Way-Delay of the preceding packet in the stream. | ||||

I-D Ipdv Metric November 1998 | + The Instantaneous Packet Delay Variation of an IP packet, inside a | |||

stream of packets, going from the measurement point MP1 to the | ||||

measurement point MP2, is the difference of the One-Way-Delay of | ||||

that packet and the One-Way-Delay of the preceding packet in the | ||||

stream. | ||||

3.2. Motivation | 3.2. Motivation | |||

A number of services that can be supported by IP are sensitive to the | A number of services that can be supported by IP are sensitive to the | |||

regular delivery of packets and can be disturbed by instantaneous va- | regular delivery of packets and can be disturbed by instantaneous | |||

riations in delay, while they are not disturbed by slow variations, | variations in delay, while they are not disturbed by slow variations, | |||

that can last a relatively long time. A specific metric for quick va- | that can last a relatively long time. A specific metric for quick | |||

riations is therefore desirable. Metrics that can be derived from the | variations is therefore desirable. Metrics that can be derived from | |||

analysis of statistics of ipdv can also be used, for example, for | the analysis of statistics of ipdv can also be used, for example, for | | |||

buffer dimensioning, but this memo is not intended in that sense. | buffer dimensioning. The scope of this metric is to provide a way | |||

The scope of this metric is to provide a way for measurement of the | for measurement of the quality delivered by a path. | |||

quality delivered by a path. | ||||

In addition, this type of metric is particularly robust with respect | In addition, this type of metric is particularly robust with respect | |||

differences and variations of the clocks of the two hosts. This allow | differences and variations of the clocks of the two hosts. This | |||

the use of the metric even if the two hosts that support the measure- | allows the use of the metric even if the two hosts that support the | |||

-ment points are not synchronized. In the latter case indications on | measurement points are not synchronized. In the latter case | |||

reciprocal skew of the clocks can be derived from the measurement and | indications of reciprocal skew of the clocks can be derived from the | |||

corrections are possible. The related precision is often comparable | measurement and corrections are possible. The related precision is | |||

with the one that can be achieved with synchronized clocks, being of | often comparable with the one that can be achieved with synchronized | |||

the same order of magnitude of synchronization errors. This will | clocks, being of the same order of magnitude of synchronization | |||

be discussed below. | errors. This will be discussed below. | |||

3.3. General Issues Regarding Time | 3.3. General Issues Regarding Time | |||

All what is contained in the paragraph 2.2. of the Draft ippm on One- | Everything contained in the Section 2.2. of [2] applies also in this | | |||

Way Delay metric (2.2. General Issues Regarding Time) applies also in | case. | |||

this case. | ||||

In addition, it is here considered that the reciprocal skew of the two | In addition, we assume here that the reciprocal skew of the two | |||

clocks can be decomposed into two parts: | clocks can be decomposed into two parts: | |||

* A fixed one, called in this context "skew", given, for example, by | ||||

tolerances in physical dimensions of crystals. | ||||

* A variable one, called in this context "drift", given, for example, | ||||

by changes in temperature or other conditions of operation. | ||||

Both of this components are part of the term "skew" as defined in the | ||||

referenced Draft and in the Framework document. | ||||

NOTE: The drift of a clock, as it is above defined over a long period | + A fixed one, called in this context "skew", given, for example, by | |||

must have an average value that tends to zero while the period becomes | tolerances in physical dimensions of crystals. | |||

large since the frequency of the clock has a finite (and little) | ||||

range. In order to underline the order of magnitude of this effect,it | ||||

is considered that the maximum range of drift for commercial crystals | ||||

is about 50 part per million (ppm). Since it is mainly connected with | ||||

variations in operating temperature (from 0 to 70 degrees Celsius), it | ||||

is expected that a host will have a nearly constant temperature during | ||||

its operation period, and variations in temperature, even if quick, | ||||

could be less than one Celsius per second, and range in the order of | ||||

I-D Ipdv Metric November 1998 | + A variable one, called in this context "drift", given, for | |||

example, by changes in temperature or other conditions of | ||||

operation. Both of these components are part of the term "skew" as | ||||

defined in the referenced Draft and in the Framework document. | ||||

few degrees. The total range of the drift is usually related to varia- | NOTE: The drift of a clock, as it is above defined over a long period | |||

-tions from 0 to 70 Celsius. These are important points for evaluation | must have an average value that tends to zero while the period | |||

of precision of ipdv measurements, as it will see below. | becomes large since the frequency of the clock has a finite (and | |||

small) range. In order to underline the order of magnitude of this | ||||

effect,it is considered that the maximum range of drift for | ||||

commercial crystals is about 50 part per million (ppm). Since it is | ||||

mainly connected with variations in operating temperature (from 0 to | ||||

70 degrees Celsius), it is expected that a host will have a nearly | ||||

constant temperature during its operation period, and variations in | ||||

temperature, even if quick, could be less than one Celsius per | ||||

second, and range in the order of few degrees. The total range of the | ||||

drift is usually related to variations from 0 to 70 Celsius. These | ||||

are important points for evaluation of precision of ipdv | ||||

measurements, as will be seen below. | ||||

4. Structure of this memo | 4. Structure of this memo | |||

The metric will be defined as applicable to a stream of packets that | The metric will be defined as applicable to a stream of packets that | |||

flow from a source host to a destination host (one-way ipdv). The ini- | flow from a source host to a destination host (one-way ipdv). The | |||

tial assumption is that source and destination hosts have synchronized | initial assumption is that source and destination hosts have | |||

clocks. | synchronized clocks. The definition of a singleton of one-way ipdv | |||

The definition of a singleton of one-way ipdv metric is first consi- | metric is first considered, and then a definition of samples for ipdv | |||

-dered, and then a definition of samples for ipdv will be given. | will be given. | |||

Then the case of application to not synchronized hosts will be dis- | ||||

cussed, and the precision will be compared with the one of the previous | ||||

case. | ||||

A bidirectional ipdv metric will be defined, as well as the methodology | Then the case of application to non-synchronized hosts will be | |||

for error corrections. This will not be a two-ways metric, but a | discussed, and the precision will be compared with the one of | |||

"paired" one-way in opposite directions. Some statistics describing the | synchronized clocks. | |||

IP path's behavior will be proposed. | ||||

In the Appendix A a more detailed analysis is reported of the ipdv | A bidirectional ipdv metric will be defined, as well as the | |||

theory and of the characteristics of ipdv distribution. | methodology for error corrections. This will not be a two-way metric, | |||

but a "paired" one-way in opposite directions. Some statistics | ||||

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, that is supposed to be known. This section makes use | One-Way-Delay metric [2]. This section makes use of those parts of | |||

of those parts of the One-Way-Delay Draft that directly apply to the | the One-Way-Delay Draft that directly apply to the One-Way-ipdv | |||

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 | |||

Type-P-One-way-ipdv | Type-P-One-way-ipdv | |||

5.2. Metric parameters | 5.2. Metric parameters | |||

+ Scr, the IP address of a host | + Src, the IP address of a host | |||

+ Dst, the IP address of a host | + Dst, the IP address of a host | |||

+ T1, a time | + T1, a time | |||

+ T2, a time. It is explicitly noted that also the difference T2-T1 | + T2, a time. It is explicitly noted that also the difference T2-T1 | |||

is a parameter of the measurement though this is already implicit, | is a parameter of the measurement though this is already implicit, | |||

since the times T1 and T2 exactly define the time conditions in which | since the times T1 and T2 exactly define the time conditions in | |||

the measurement takes place. | which the measurement takes place. | |||

I-D Ipdv Metric November 1998 | ||||

+ Path, the path from Src to Dst; in cases where there is only one | Note that the packet length is an implicit parameter of both the | | |||

path from Src to Dst, this optional parameter can be omitted. | Type-P-One-way-delay metric and the Type-P-One-way-ipdv metric, since | | |||

{Comment: the presence of path is motivated by cases such as with | this contributes to the overall one-way delay. We assume that the | | |||

Merit's NetNow setup, in which a Src on one NAP can reach a Dst on | packets sent for ipdv measurements are all of the same length. | |||

another NAP by either of several different backbone networks. | ||||

Generally, this optional parameter is useful only when several dif- | ||||

-ferent routes are possible from Src to Dst. Using the loose source | ||||

route IP option is avoided since it would often artificially worsen | ||||

the performance observed, and since it might not be supported along | ||||

some paths.} | ||||

5.2. 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.3. 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 [via path] and the value of the type-P- | |||

One-Way-Delay from Src to Dst at T1 [via path]. T1 is the wire-time | One-Way-Delay from Src to Dst at T1 [via path]. T1 is the wire-time | |||

at which Scr sent the first bit of the first packet, and T2 is the | at which Scr sent the first bit of the first packet, and T2 is the | |||

wire-time at which Src sent the first bit of the second packet. This | wire-time at which Src sent the first bit of the second packet. This | |||

metric is therefore ideally derived from the One-Way-Delay metric. | metric is therefore 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 | measured value is anyway the difference in One-Way-Delay at the times | |||

times T1 and T2, which is meaningful by itself, as long as the | T1 and T2, which is meaningful by itself, as long as the times T1 and | | |||

times T1 and T2 are such to describe the investigated charac- | T2 denote the wire times of the packets sent from Src to Dst. | |||

-teristics. These times will be better defined later. | ||||

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 [via path] is ddT" means that Src sent two consecutive | |||

packets whose the first at wire-time T1 (first bit), and the second | packets, the first at wire-time T1 (first bit), and the second at | |||

wire-time T2 (first bit) and the packets were received by Dst at wire | wire-time T2 (first bit) and the packets were received by Dst at | |||

-time dT1+T1 (last bit of the first packet), and, respectively, at | wire-time dT1+T1 (last bit of the first packet), and at wire-time | |||

wire-time dT2+T2 (last bit of the second packet), and that dT2-dT1=ddT. | dT2+T2 (last bit of the second packet), and that dT2-dT1=ddT. | |||

"The type-P-one-way-ipdv from Src to Dst at T1,T2 [via path] is unde- | ||||

fined" means that Src sent the first bit of a packet at T1 and the | ||||

first bit of a second packet at T2 and that Dst did not receive one | ||||

or both packets. | ||||

I-D Ipdv Metric November 1998 | "The type-P-one-way-ipdv from Src to Dst at T1,T2 [via path] is | |||

undefined" means that Src sent the first bit of a packet at T1 and | ||||

the first bit of a second packet at T2 and that Dst did not receive | ||||

one or both packets. | ||||

5.4. Discussion | 5.5. Discussion | |||

Type-P-One-way-ipdv is a metric that makes use of the same measurement | Type-P-One-way-ipdv is a metric that makes use of the same | |||

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 clock synchronization problems. This issue will be more | + Being a differential measurement, this metric is less sensitive to | |||

carefully examined in section 6. of this memo. It is pointed | clock synchronization problems. This issue will be more carefully | |||

out that, if the reciprocal clock conditions change in time, | examined in section 7 of this memo. It is pointed out that, if the | |||

the accuracy of the measurement will depend on the time inter- | reciprocal clock conditions change in time, the accuracy of the | |||

-val T2-T1 and the amount of possible errors will be discussed | measurement will depend on the time interval T2-T1 and the | |||

below. | magnitude of possible errors will be discussed below. | |||

+ A given methodology will have to include a way to determine whether a | ||||

delay value is infinite or whether it is merely very large (and | + A given methodology will have to include a way to determine | |||

the packet is yet to arrive at Dst). | whether a delay value is infinite or whether it is merely very | |||

As noted by Mahdavi and Paxson, simple upper bounds (such as the | large (and the packet is yet to arrive at Dst). As noted by | |||

255 seconds theoretical upper bound on the lifetimes of IP | Mahdavi and Paxson, simple upper bounds (such as the 255 seconds | |||

packets [Postel: RFC 791]) could be used, but good engineering, | theoretical upper bound on the lifetimes of IP packets [Postel: | |||

including an understanding of packet lifetimes, will be nee- | RFC 791]) could be used, but good engineering, including an | |||

-ded in practice. {Comment: Note that, for many applications of | understanding of packet lifetimes, will be needed in practice. | |||

these metrics, the harm in treating a large delay as infinite | {Comment: Note that, for many applications of these metrics, the | |||

might be zero or very small. A TCP data packet, for example, | harm in treating a large delay as infinite might be zero or very | |||

that arrives only after several multiples of the RTT may as well | small. A TCP data packet, for example, that arrives only after | |||

have been lost.} | several multiples of the RTT may as well have been lost.} | |||

+ Usually a path is such that if the first packet is largely delayed, | ||||

it can "stop" the second packet of the pair and vary its delay. | + As with other 'type-P' metrics, the value of the metric may depend | |||

This is not a problem for the definition since is, in any case, | on such properties of the packet as protocol,(UDP or TCP) port | |||

part of the description of the path's behavior. | number, size, and arrangement for special treatment (as with IP | |||

+ As with other 'type-P' metrics, the value of the metric may de- | precedence or with RSVP). | |||

-pend on such properties of the packet as protocol,(UDP or TCP) | ||||

port number, size, and arrangement for special treatment (as | ||||

with IP precedence or with RSVP). | ||||

+ 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 | packet is counted as received, and the first copy to arrive | |||

determines the packet's One-Way-Delay. | determines the packet's One-Way-Delay. | |||

+ If the packet is fragmented and if, for whatever reason, reas- | ||||

-sembly does not occur, then the packet will be deemed lost. | ||||

5.5. Methodologies | + If the packet is fragmented and if, for whatever reason, | |||

reassembly does not occur, then the packet will be deemed lost. | ||||

5.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). Generally, for a given Type-P, the methodology would | |||

proceed as follows: | ||||

I-D Ipdv Metric November 1998 | ||||

Generally, for a given Type-P, the methodology would proceed as fol- | ||||

lows: | ||||

+ The need of synchronized clocks for Src and Dst will be discus- | + The need of synchronized clocks for Src and Dst will be discussed | |||

-sed later. Here a methodology is supposed that is based on | later. Here a methodology is supposed that is based on | |||

synchronized clocks. | synchronized clocks. | |||

+ 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' por- | test packets of Type-P with these addresses. Any 'padding' portion | |||

-tion of the packet needed only to make the test packet a given | of the packet needed only to make the test packet a given size | |||

size should be filled with randomized bits to avoid a situation | should be filled with randomized bits to avoid a situation in | |||

in which the measured delay is lower than it would otherwise | which the measured delay is lower than it would otherwise be due | |||

be due to compression techniques along the path. | to compression techniques along the path. | |||

+ Optionally, select a specific path and arrange for Src to send | ||||

the packets to that path. {Comment: This could be done, for | ||||

example, by installing a temporary host-route for Dst in Src's | ||||

routing table.} | ||||

+ 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 prepared first | ||||

Type-P packet, and send it towards Dst [via path]. | + At the Src host, place a timestamp in the first Type-P packet, | |||

and send it towards Dst [via path]. | ||||

+ 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 prepared second | ||||

Type-P packet, and send it towards Dst [via path]. | + At the Src host, place a timestamp in the second Type-P packet, | |||

and send it towards Dst [via path]. | ||||

+ 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 value | ||||

the ipdv value of the pair of packets is obtained. | + By subtracting the second value of One-Way-Delay from the first | |||

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 | |||

of time, the ipdv is taken to be undefined. | of time, the ipdv is taken to be undefined. | |||

5.6. Errors and Uncertainties | 5.7. Errors and Uncertainties | |||

In the singleton metric of ipdv, factors that affect the measurement | In the singleton metric of ipdv, factors that affect the measurement | |||

are the same that can affect the One-Way-Delay measurement, even if, | are the same that can affect the One-Way-Delay measurement, even if, | |||

in this case, the influence is different. | in this case, the influence is different. | |||

The Framework document provides general guidance on this point, but | The Framework document [1] provides general guidance on this point, | |||

we note here the following specifics related to delay metrics: | but we note here the following specifics related to delay metrics: | |||

+ Errors/uncertainties due to uncertainties in the clocks of the | ||||

Src and Dst hosts. | ||||

+ Errors/uncertainties due to the difference between 'wire time' | ||||

and 'host time'. | ||||

I-D Ipdv Metric November 1998 | + Errors/uncertainties due to uncertainties in the clocks of the Src | |||

and Dst hosts. | ||||

Each of these type of errors are discussed in more detail in the next | + Errors/uncertainties due to the difference between 'wire time' and | |||

'host time'. | ||||

Each of these errors is discussed in more detail in the next | ||||

paragraphs. | paragraphs. | |||

5.6.1. Errors/Uncertainties related to Clocks | 5.7.1. Errors/Uncertainties related to Clocks | |||

If, as a first approximation, the error that affects the first measu- | If, as a first approximation, the error that affects the first | |||

rement of One-Way-Delay were the same of the one affecting the second | measurement of One-Way-Delay were the same of the one affecting the | |||

measurement, they will cancel each other when calculating ipdv. The | second measurement, they will cancel each other when calculating | |||

residual error related to clocks is the difference of the said errors | ipdv. The residual error related to clocks is the difference of the | |||

that are supposed to change from the time T1, at which the first | errors that are supposed to change from the time T1, at which the | |||

measurement is performed, to the time T2 at which the second measure- | first measurement is performed, to the time T2 at which the second | |||

measure ment is performed. Synchronization, skew, accuracy and | ||||

resolution are here considered with the following notes: | ||||

ment is performed. Synchronization, skew, accuracy and 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 measurement | ||||

is Tsync, and it is a linear function of time, through the skew | ||||

value "sk", at time T1 the error will be Tsync1 and at time T2 | ||||

the error will be Tsync2. The ipdv measurement will be affected | ||||

by the error: | ||||

Tsync2-Tsync1 = sk x (T2 - T1) | ||||

depending on skew and T2-T1. To minimize this error it is pos- | ||||

sible to reduce the time interval T2-T1, but this could limit | ||||

the generality of the metric. | ||||

Methods for evaluating the synchronization error will be discus- | ||||

sed below, since they come from a statistic over a significant | ||||

sample. | ||||

If the measurement conditions do not allow to neglect the drift, | ||||

supposed as linear in the interval T2-T1, and having a value of | ||||

"dr" expressed in ppm / sec., the ipdv error will become: | ||||

Tsync2-Tsync1 = sk x (T2 - T1) + [dr x (T2-T1) x (T2-T1)] / 2 | ||||

It has to be noted that the presence of drift varies the skew | ||||

value in the time. The limits in which the skew can vary are | ||||

anyway limited and little, so that a given drift cannot act | ||||

indefinitely. Section 7 and Appendix A provide more information | ||||

on this point. | ||||

+ As far as accuracy and resolution are concerned, what is noted | ||||

in the above referenced Draft on One-Way-Delay at section 3.7.1, | ||||

applies also in this case, with the further consideration, about | ||||

resolution, that in this case the uncertainty introduced is two | ||||

times the one of a single delay measurement. Errors introduced | ||||

by these effects are often larger than the ones introduced by | ||||

the drift. | ||||

I-D Ipdv Metric November 1998 | ||||

5.6.2. Errors/uncertainties related to Wire-time vs Host-time | + If the synchronization error affecting the One-Way-Delay | |||

measurement is Tsync, and it is a linear function of time, through | ||||

The content of sec. 3.7.2 of the above referenced Draft applies also | the skew value "sk", at time T1 the error will be Tsync1 and at | |||

in this case, with the following further consideration: | time T2 the error will be Tsync2. The ipdv measurement will be | |||

The difference between Host-time and Wire-time can be in general de- | affected by the error: Tsync2-Tsync1 = sk x (T2 - T1) depending on | |||

composed into two components, whose one is constant and the other is | skew and T2-T1. To minimize this error it is possible to reduce | |||

variable around zero. Only the variable components will produce measu- | the time interval T2-T1, but this could limit the generality of | |||

rement errors, while the constant one will be canceled while calcu- | the metric. Methods for evaluating the synchronization error will | |||

lating ipdv. | be discussed below, since they come from a statistic over a | |||

significant sample. If the measurement conditions do not allow | ||||

6. Definitions for Samples of One-way ipdv | neglecting the drift, assumed linear in the interval T2-T1, and | |||

having a value of "dr" expressed in ppm / sec., the ipdv error | ||||

Starting from the definition of the singleton metric of one-way ipdv, | will become: Tsync2-Tsync1 = sk x (T2 - T1) + [dr x (T2-T1) x | |||

(T2-T1)] / 2 Drift varies the skew value in the time. The limits | ||||

some ways of building a sample of such singletons are here described. | in which the skew can vary are anyway limited and small, so that a | |||

In particular two "discontinuous" samples and one "continuous" sample | given drift cannot act indefinitely. Section 7 and Appendix A | |||

are defined, and the last one is proposed, being the most suitable for | provide more information on this point. | |||

describing the aspect of the path's behavior underlined in the motiva- | ||||

tion. | ||||

In the following, the two packets needed for a singleton measurement | ||||

will be called a "pair". | ||||

6.1. "Discontinuous" definitions | ||||

A general definition can be the following: | ||||

Given particular binding of the parameters Src, Dst, path, and | ||||

Type-P, a sample of values of parameters T1 and T2 is defined. | ||||

The means for defining the values of T1 is to select a beginning | ||||

time T0, a final time Tf, and an average rate lambda, then | ||||

define a pseudo-random Poisson arrival process of rate lambda, | ||||

whose values fall between T0 and Tf. The time interval between | ||||

successive values of T1 will then average 1/lambda. Another si- | ||||

milar, but independent, pseudo-random Poisson arrival process | ||||

based on T0', Tf' and lambda', will produce a series of t' | ||||

values. The time interval between successive t' values will then | ||||

average 1/lambda'. For each T1 value that has been obtained | ||||

by the first process, it is then possible to calculate the | ||||

successive T2 values as the successive T1 values plus the | ||||

successive intervals of t'. | ||||

The result is shown in figure 1. | ||||

This general definition is likely go give problems, if no limits are | ||||

considered for the obtained values. For example, the emission | ||||

time of the first packet of a pair, could fall before the emission | ||||

time of the second packet of the preceding pair. Probably this could | ||||

be acceptable (provided that there are means to recognize pairs -e.g. | ||||

I-D Ipdv Metric November 1998 | ||||

use of sequence numbers-), but the concept itself of ipdv would be,at | ||||

least, slightly changed. A way for avoiding this type of philosophical | ||||

problems can be to give some rules on the values T0, Tf, lambda, | ||||

T0', Tf', lambda', without changing the meaning of the metric. | ||||

|<- average interval 1/lambda ->| | ||||

| | | ||||

|<- av.int. | |<- av.int. | | ||||

|1/lambda'->| | 1/lambda'->| | ||||

_____|___________|___________________|_____________|________ | ||||

pair i pair i+1 | ||||

Figure 1 | ||||

As an example, it could be defined that the process of sorting the | ||||

interval between pairs starts after the interval between packets in a | ||||

pair is expired, obtaining the result of figure 2: | ||||

|<--- av. int.......| | + As far as accuracy and resolution are concerned, what is noted in | |||

..........................| 1/lambda --->| | the Draft on One-Way-Delay [2] in section 3.7.1, applies also in | |||

| | | this case, with the further consideration, about resolution, that | |||

|<- av.int. | |<- av.int. | | in this case the uncertainty introduced is two times the one of a | |||

|1/lambda'->| | 1/lambda'->| | single delay measurement. Errors introduced by these effects are | |||

_____|___________|___________________|_____________|________ | often larger than the ones introduced by the drift. | |||

pair i pair i+1 | ||||

Figure 2 | ||||

Still other problems can be envisaged with these two definitions which | 5.7.2. Errors/uncertainties related to Wire-time vs Host-time | |||

are described in some more detail in Appendix A. | ||||

6.2. A "continuous" definition | 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 | ||||

Wire-time can be in general decomposed into two components, of which | ||||

one is constant and the other is variable. Only the variable | ||||

components will produce measurement errors, while the constant one | ||||

will be canceled while calculating ipdv. | ||||

A way for naturally avoiding the previous problems and producing a | 6. Definitions for Samples of One-way ipdv | |||

testing environment closer to actual scenarios is to adopt the follo- | ||||

wing "continuous" definition. | ||||

A continuous stream of test packets can be supposed, where the second | ||||

packet of a pair is, at the same time, the first packet of the next | ||||

pair. Therefore the preceding definitions become: | ||||

+ Given particular binding of the parameters Src, Dst, path, and | Starting from the definition of the singleton metric of one-way ipdv, | | |||

Type-P, a sample of values of parameter T1 is defined. | we define a sample of such singletons. In the following, the two | | |||

The means for defining the values of T1 is to select a beginning | packets needed for a singleton measurement will be called a "pair". | | |||

time T0, a final time Tf, and an average rate lambda, then | ||||

define a pseudo-random Poisson arrival process of rate lambda, | ||||

I-D Ipdv Metric November 1998 | 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. | | ||||

whose values fall between T0 and Tf. The time interval between | + Given particular binding of the parameters Src, Dst and Type-P, a | | |||

successive values of T1 will then average 1/lambda. From the | sample of values of parameter T1 is defined. To define the values | | |||

second value on, T1 value of the pair n coincides with T2 of | of T1, select a beginning time T0, a final time Tf, and an average | | |||

the pair n-1, and the first packet of pair n coincides with the | rate lambda, then define a pseudo-random Poisson arrival process | | |||

second packet of the pair n-1. | of rate lambda, whose values fall between T0 and Tf. The time | | |||

For the moment, in the following, this last definition will be con- | interval between successive values of T1 will then average | | |||

sidered. Further refinement is required and is for further discussion. | 1/lambda. From the second value on, T1 value of the pair n | | |||

coincides with T2 of the pair n-1, and the first packet of pair n | | ||||

coincides with the second packet of the pair n-1. | | ||||

6.3. Metric name | 6.1. Metric name | |||

Type-P-One-way-ipdv-stream | Type-P-One-way-ipdv-stream | |||

6.4. Parameters | 6.2. Parameters | |||

+ Src, the IP address of a host | + Src, the IP address of a host | |||

+ Dst, the IP address of a host | + Dst, the IP address of a host | |||

+ Path, the path* from Src to Dst; in cases where there is only | ||||

one path from Src to Dst, this optional parameter can be omitted | ||||

+ T0, a time | + T0, a time | |||

+ Tf, a time | + Tf, a time | |||

+ lambda, a rate in reciprocal seconds | + lambda, a rate in reciprocal seconds | |||

6.5. Metric Units: | 6.3. Metric Units: | |||

A sequence of triads whose elements are: | A sequence of triads whose elements are: | |||

+ T, a time | + T, a time | |||

+ Ti, a time interval. | + Ti, a time interval. | |||

+ dT a real number or an undefined number of seconds | + dT a real number or an undefined number of seconds | |||

6.6. Definition | 6.4. Definition | |||

A pseudo-random Poisson process is defined such that it begins at or | A pseudo-random Poisson process is defined such that it begins at or | |||

before T0, with average arrival rate lambda, and ends at or after Tf. | before T0, with average arrival rate lambda, and ends at or after Tf. | |||

Those time values Ti greater than or equal to T0 and less than or | Those time values T(i) greater than or equal to T0 and less than or | |||

equal to Tf are then selected. Starting from time T, at each pair of | equal to Tf are then selected. Starting from time T0, at each pair of | |||

times T(i), T(i+1)of this process a value of Type-P-One-way-ipdv is | times T(i), T(i+1)of this process a value of Type-P-One-way-ipdv is | |||

obtained. The value of the sample is the sequence made up of the | obtained. The value of the sample is the sequence made up of the | |||

resulting <time, time interval, ipdv> triad, where the time interval | resulting <time, time interval, ipdv> triple, where the time interval | |||

is given by T(i+1)-T(i). Each obtained time T(i), excluding the first | is given by T(i+1)-T(i). Each time T(i), excluding the first and the | |||

and the last, is therefore at the same time the the second time of | last, is therefore at the same time the the second time of pair i and | |||

pair i and the first time of pair i+1. The result is shown in figure 3 | the first time of pair i+1. The result is shown in figure 3 | |||

|T(i-2) |T(i-1) |T(i) |T(i+1) | |T(i-2) |T(i-1) |T(i) |T(i+1) | |||

_____|__________|___________________|__________|________ | _____|__________|___________________|__________|________ | |||

pair i-1 pair i pair i+1 | pair i-1 pair i pair i+1 | |||

Figure 3 | Figure 3 | |||

I-D Ipdv Metric November 1998 | ||||

6.7. Discussion | 6.5. Discussion | |||

Note first that, since a pseudo-random number sequence is employed, | Note first that, since a pseudo-random number sequence is employed, | |||

the sequence of times, and hence the value of the sample, is not | the sequence of times, and hence the value of the sample, is not | |||

fully specified. Pseudo-random number generators of good quality | fully specified. Pseudo-random number generators of good quality will | |||

will be needed to achieve the desired qualities. | be needed to achieve the desired qualities. | |||

The sample is defined in terms of a Poisson process both to avoid the | The sample is defined in terms of a Poisson process both to avoid the | |||

effects of self-synchronization and also capture a sample that is | effects of self-synchronization and also capture a sample that is | |||

statistically as unbiased as possible. {Comment: there is, of | statistically as unbiased as possible. {Comment: there is, of course, | |||

course, no claim that real Internet traffic arrives according to a | no claim that real Internet traffic arrives according to a Poisson | |||

Poisson arrival process.} | arrival process.} | |||

6.8. Methodology | 6.6. Methodology | |||

Since packets can be lost or duplicated or can arrive in a different | Since packets can be lost or duplicated or can arrive in a different | |||

order with respect the one of emission, in order to recognize the | order than the order sent, in order to recognize the pairs of test | |||

pairs of test packets, they should be marked with a Sequence Number | packets, they should be marked with a sequence number. For duplicated | |||

or make use of any other tool suitable to the scope. For duplicated | packets only the first received copy should be considered. If a | |||

packets only the first received copy should be considered. If a pac- | packet is lost, two values of ipdv will be undefined, since each | |||

ket is lost, two values of ipdv will be undefined, since each packet, | packet is common to two pairs. | |||

in the supposed "continuous" definition, is common to two pairs. | ||||

Steps for measurement can be the following: | Steps for measurement can be the following: | |||

+ Starting from a given time T, Src generates a test packet as for | ||||

a singleton metrics, inserts in the packet a Sequence Number | + Starting from a given time T, Src generates a test packet as for a | |||

and the transmission Time Stamp Tx,then sorts the time Ti at | singleton metrics, inserts in the packet a sequence number and the | |||

which the next packet has to be sent. | transmission time stamp Tx, then sorts the time Ti at which the | |||

next packet has to be sent. | ||||

+ At time Ti, Src repeats the previous step, unless T(i) > Tf. | + At time Ti, Src repeats the previous step, unless T(i) > Tf. | |||

+ On reception of the first packet, or the first packet after a SN | ||||

error, Dst records SN and Tx timestamp that are contained in | ||||

the packet and the reception time Rx as "old values". | ||||

+ On reception of the other packets Dst verifies the SN 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 new SN, Tx | ||||

and Rx timestamps as "old values". | ||||

6.9. Errors and uncertainties | + On reception of the first packet, or the first packet after a | |||

sequence number error, Dst records sequence number and | ||||

transmission timestamp that are contained in the packet and the | ||||

reception time Rx as "old values". | ||||

The same considerations apply that have been made about the single- | + On reception of the other packets Dst verifies the seuqence number | |||

ton metric. An additional error can be introduced by the pseudo-ran- | and if it is correct, by using the "old values" and the newly | |||

dom Poisson process as focused in the above referenced Draft. | received ones, a value of ipdv is computed. Then Dst records the | |||

Further considerations will be made in section 7, and in Appendix A. | new sequence number, transmit and receive timestamps as "old | |||

values". | ||||

6.10 Some statistics for One-way-ipdv | 6.7. Errors and uncertainties | |||

Some statistics are here considered, that can provide useful informa- | The same considerations apply that have been made about the singleton | |||

-tion in analyzing the behavior of the packets flowing from Src to Dst | metric. An additional error can be introduced by the pseudo-random | |||

Poisson process as focused in [2]. Further considerations will be | ||||

made in section 7, and in Appendix A. | ||||

I-D Ipdv Metric November 1998 | 6.8. Distribution of One-way-ipdv values | | |||

These statistics are given having in mind a practical use of them. The | The one-way-ipdv values are limited by virtue of the fact that there | | |||

focus is on the instantaneous behavior of the connection, while buffer | are upper and lower bounds on the one-way-delay values. Specifically, | | |||

dimensioning is not in the scope of this document. | one-way-delay is upper bounded by the value chosen as the maximum | | |||

Other statistics can be defined if needed. | beyond which a packet is counted as lost. It is lower bounded by | | |||

propagation, transmission and nodal transit delays assuming that | | ||||

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 | | ||||

that one-way-ipdv can only take on values in the (open) interval (L- | | ||||

U, U-L). | | ||||

6.10.1. Type-P-One-way-ipdv-inverse-percentile | In any finite interval, the one-way-delay can vary monotonically | | |||

(non-increasing or non-decreasing) or of course it can vary in both | | ||||

directions in the interval, within the limits of the half-open | | ||||

interval [L,U). Accordingly, within that interval, the one-way-ipdv | | ||||

values can be positive, negative, or a mixture (including 0). | | ||||

Since the range of values is limited, the one-way-ipdv cannot | | ||||

increase or decrease indefinitely. Suppose, for example, that the | | ||||

ipdv has a positive 'run' (i.e. a long sequence of positive values). | | ||||

At some point in this 'run', the positive values must approach 0 (or | | ||||

become negative) if the one-way-delay remains finite. Otherwise, the | | ||||

one-way-delay bounds would be violated. If such a run were to | | ||||

continue infinitely long, the sample mean (assuming no packets are | | ||||

lost) would approach 0 (because the one-way-ipdv values must approach | | ||||

0). Note, however, that this says nothing about the shape of the | | ||||

distribution, or whether it is symmetric. Note further that over | | ||||

significant intervals, depending on the width of the interval [L,U), | | ||||

that the sample mean one-way-ipdv could be positive, negative or 0. | ||||

6.9. Some statistics for One-way-ipdv | ||||

Some statistics are suggested which can provide useful information in | | ||||

analyzing the behavior of the packets flowing from Src to Dst. The | | ||||

focus is on the instantaneous behavior of the connection. Other | | ||||

statistics can be defined if needed. | ||||

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 ne- | positive, or greater or equal to the threshold if the threshold is | |||

gative. | 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, this statistics can give the amount of packets received | |||

beyond acceptable limits. | beyond acceptable limits. | |||

6.10.2 Type-P-One-way-ipdv-standard-deviation | 6.9.2. Type-P-One-way-ipdv-jitter | | |||

Given a Type-P-One-way-ipdv-Stream, the distribution of ipdv values | ||||

is considered and the Standard Deviation can be calculated as an | ||||

indication of regularity of delivery. For practical purposes it can be | ||||

useful to define a total standard deviation, computed over the com- | ||||

plete set of value, and a standard deviation computed over the sub- | ||||

set of those values that do not exceed given positive and negative | ||||

thresholds. This allows a more accurate description of the performan- | ||||

ce experienced by packets. Details on the shape of the ipdv distribu- | ||||

tion are given in Appendix A. | ||||

6.10.3 Type-P-One-way-ipdv-average | ||||

This statistic should tend to a value of ZERO for a number of ipdv | This metric was defined in [7] and is simply the absolute value of | | |||

values that tend to infinite. The behavior of Type-P-One-way-ipdv- | the Type-P-One-way-ipdv. This can be used to derive a number of | | |||

average, and its meaning, are issues for the next section 7. | metrics. | | |||

7. Discussion on clock synchronization | 7. Discussion on clock synchronization | |||

This section gives some considerations about the need of having syn- | This section gives some considerations about the need of having | |||

chronized clocks at Src and Dst. These considerations are given as a | synchronized clocks at Src and Dst. These considerations are given as | |||

basis for discussion, they require further investigation. We start | a basis for discussion, they require further investigation. We start | |||

from the analysis of the mean value of the ipdv distribution related | from the analysis of the mean value of the ipdv distribution related | |||

to a "continuous" sample. Some more detailed calculations are presented | to a "continuous" sample. Some more detailed calculations are | |||

in Appendix A. | presented in Appendix A. | |||

I-D Ipdv Metric November 1998 | ||||

7.1. Mean value of ipdv distribution. | ||||

If D(i) is the delay of packet "i", and ipdv(i) is the i-th value of | ||||

ipdv in the distribution of a sample of "n" values, collected with | ||||

the described methodology, we can write: | ||||

ipdv(1) = D1 - D0 | ||||

.......... | ||||

ipdv(i) = D(i) - D(i-1) | ||||

.......... | ||||

ipdv(n) = D(n) - D(n-1) | ||||

The mean value of ipdv distribution will result in | ||||

E(ipdv) = (D(n) - D(0))/n | ||||

If an actual measurement is performed, that lasts a period of time | ||||

long enough to contain a number "n" sufficiently large and, supposing | ||||

synchronized clocks, such that the network conditions (traffic) allow | ||||

to find a D(n) not too different from D(0), e.g. a time of n x 24 | ||||

hours, E(ipdv) will tend to zero, since the difference D(n) - D(0) will | ||||

remain finite and little. | ||||

7.2. Effects of a varying traffic | ||||

If the mean values of delay D are changing inside a given period of | ||||

time, for example they are increasing due to an increment of traffic, | ||||

we can consider, as a first approximation, the ipdv values as decom- | ||||

posed into two components, one being instantaneous and another one | ||||

as having a constant rate dD and corresponding to the increment "per | ||||

interval" of the mean value of D. The mean value of the distribution | ||||

will be shifted of the value dD corresponding to the mean value of | ||||

the interval between test packets. This will happen only during the | ||||

monotonic variation, and is not a distortion, since it is the record | ||||

of the instantaneous behavior. When the conditions will come back | ||||

to the initial ones, the distribution will resume a mean value around | ||||

zero. As for the case of drift, also in this case a monotonic varia- | ||||

-tion cannot take place indefinitely. In Appendix A a method is given | ||||

for subdividing the variation into these two components over short | ||||

periods, in order to have indications on variations of traffic condi- | ||||

-tions. | ||||

7.3. Effects of synchronization errors | 7.1. Effects of synchronization errors | |||

We refer here to the two components that can generate this type of | 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 | 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" | clocks. It is first of all noted that the variable component "drift" | |||

I-D Ipdv Metric November 1998 | ||||

is physically limited and its effects can be interpreted by saying | is physically limited and its effects can be interpreted by saying | |||

that the total reciprocal skew of the two clocks can vary, ranging from | that the total reciprocal skew of the two clocks can vary, ranging | |||

a min to a max. value in the time. This type of variation takes place | from a min to a max. value in the time. This type of variation takes | |||

very slowly being mostly connected to variations in temperature. | place very slowly being mostly connected to variations in | |||

temperature. | ||||

We suppose to perform a measurement between a Src and a Dst that have | 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, | 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 | 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 | to consider that at the beginning of time T the two clocks indicate | |||

the same time T0. | the same time T0. | |||

In order to analyze the effects produced by this situation we suppose | 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 | that packets are transferred, from Src to Dst, with a constant delay | |||

In this conditions the measured ipdv should always be zero, and what | D In this conditions the measured ipdv should always be zero, and | |||

is actually measured is the error. | what is actually measured is the error. | |||

An ipdv value is measured at the beginning of time T with two packets | An ipdv value is measured at the beginning of time T with two packets | |||

having an interval of Ti(1).Another ipdv value is measured at the end | having an interval of Ti(1).Another ipdv value is measured at the end | |||

of T with two packets having a time interval Ti(2). | of T with two packets having a time interval Ti(2). | |||

On our purposes other errors (like wire-time vs host-time) are not | On our purposes other errors (like wire-time vs host-time) are not | |||

considered since they are not relevant in this analysis, being common | considered since they are not relevant in this analysis, being common | |||

to all the measurement methods. | to all the measurement methods. | |||

It is then possible to calculate the values of the Tx and Rx time- | It is then possible to calculate the values of the Tx and Rx | |||

stamps as they are seen by the two clocks, and the related two ipdv | timestamps as they are seen by the two clocks, and the related two | |||

values. | ipdv values. | |||

The first ipdv value will be: ipdv1 = ts1*Ti(1) + ((ts2-ts1)/T)*Ti(1) | The first ipdv value will be: ipdv1 = ts1*Ti(1) + ((ts2-ts1)/T)*Ti(1) | |||

The second ipdv value will be: ipdv2 = ts2*Ti(2) +((ts2-ts1)/T)*Ti(2) | 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 inter- | The error is given by the effect of the skew during the time interval | |||

val Ti(i) between the two packets of the pair, and a second order | Ti(i) between the two packets of the pair, and a second order term | |||

term due to the variation of that skew in the same interval. | due to the variation of that skew in the same interval. | |||

If, as in the most of practical cases, the drift can be considered | If, as in the most of practical cases, the drift can be considered | |||

close to zero, then ts1 = ts2, and the error is not depending on the | close to zero, then ts1 = ts2, and the error is not depending on the | |||

time at which the measurement is done. In addition, this type of | time at which the measurement is done. In addition, this type of | |||

error can be corrected as it is indicated in the next paragraph and | error can be corrected as it is indicated in the next paragraph and | |||

discussed in Appendix A. | discussed in Appendix A. | |||

In any case the maximum error on an ipdv value will correspond to the | In any case the maximum error on an ipdv value will correspond to the | |||

effect of the maximum reciprocal skew on the maximum interval between | effect of the maximum reciprocal skew on the maximum interval between | |||

packets. | packets. | |||

I-D Ipdv Metric November 1998 | 7.2. Related precision | |||

7.4. Related precision | ||||

This means that: | This means that: | |||

1) + If the skew is constant and is = ts all the ipdv(i) values are | ||||

+ If the skew is constant and is = ts all the ipdv(i) values are | ||||

increased by the quantity Ti(i)*ts with respect the actual value. | increased by the quantity Ti(i)*ts with respect the actual value. | |||

The mean ipdv value will therefore increased of the quantity | The mean ipdv value will therefore increased of the quantity | |||

E[Ti(i)]*ts, which is measured. Also E[Ti(i)] can be measured, and | 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 | should be related to lambda. That means that the skew ts can be | |||

calculated. If together with ipdv(i), also the corresponding Ti(i) | calculated. If together with ipdv(i), also the corresponding Ti(i) | |||

are collected, for each ipdv(i) value a correcting term is avai- | are collected, for each ipdv(i) value a correcting term is | |||

-lable, and a sample of "corrected" c-ipdv(i) values is obtained, | available, and a sample of "corrected" c-ipdv(i) values is | |||

where c-ipdv(i) = ipdv(i) - Ti(i)*st. | obtained, where c-ipdv(i) = ipdv(i) - Ti(i)*st. | |||

2) + Considering the total skew as subdivided into a fixed part and a | ||||

+ Considering the total skew as subdivided into a fixed part and a | ||||

variable part (skew and drift),respectively, ts and + or - td, | variable part (skew and drift),respectively, ts and + or - td, | |||

from the mean ipdv value and the mean emission interval the average | from the mean ipdv value and the mean emission interval the | |||

skew can be derived in the period of interest (Appendix A). The | average skew can be derived in the period of interest (Appendix | |||

preceding correction can then be applied. The maximum residual er- | A). The preceding correction can then be applied. The maximum | |||

-ror on an ipdv value is given by the difference between the actual | residual error on an ipdv value is given by the difference between | |||

skew at the time in which the value has been measured and the ave- | the actual skew at the time in which the value has been measured | |||

-rage skew, multiplied by the time interval between the packets | and the average skew, multiplied by the time interval between the | |||

that have generated that ipdv value. Considerations on the number | packets that have generated that ipdv value. Considerations on the | |||

of values in the sample affected by errors are reported in | number of values in the sample affected by errors are reported in | |||

Appendix A. | Appendix A. | |||

3) + If the duration of the measurement is such that it is possible | ||||

to consider that the effect of the items at points 7.1 and 7.2, | + If the duration of the measurement is such that it is possible to | | |||

are close to zero, the mean value of the ipdv distribution will | consider that the ipdv (without skew) is close to zero, the mean | |||

have the value of the average skew multiplied by the mean value of | value of the ipdv distribution will have the value of the average | |||

the emission interval, as supposed above. | skew multiplied by the mean value of the emission interval, as | |||

4) + We observe that the displacement due to the skew does not change | supposed above. | |||

the shape of the distribution, and, for example the Standard Devi- | ||||

ation remains the same. What introduces a distortion is the effect | + We observe that the displacement due to the skew does not change | |||

of the drift, also when the mean value of this effect is zero at | the shape of the distribution, and, for example the Standard | |||

the end of the measurement. The value of this distortion is limited | Deviation remains the same. What introduces a distortion is the | |||

to the effect of the total skew variation on the emission interval. | effect of the drift, also when the mean value of this effect is | |||

5) + In what has been said, skew and drift have been considered as | zero at the end of the measurement. The value of this distortion | |||

reciprocal". In Appendix A it will be considered that each of the | is limited to the effect of the total skew variation on the | |||

emission interval. | ||||

+ In what has been said, skew and drift have been considered as | ||||

"reciprocal". In Appendix A it will be considered that each of the | ||||

two clocks have a skew and a drift with respect a "true time", and | two clocks have a skew and a drift with respect a "true time", and | |||

it will be observed that the difference is negligible with respect | it will be observed that the difference is negligible with respect | |||

the situation in which one of the two clocks is taken as the "true | the situation in which one of the two clocks is taken as the "true | |||

time". | time". | |||

I-D Ipdv Metric November 1998 | ||||

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 and | It is therefore expected that on one direction that value is equal | |||

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 | The reference duration of a bidirectional ipdv measurement between an | |||

an host E and an host W is reached at time Tf such that for each time | host E and an host W is reached at time Tf such that for each time T | |||

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 reciprocal skew. | |||

At this point it is possible to evaluate the reciprocal skew. | At this point it is possible to evaluate the reciprocal skew. This | |||

This will require the knowledge of the mean value of the intervals | will require the knowledge of the mean value of the intervals between | |||

between consecutive packets, that can be calculated over the trans- | consecutive packets, that can be calculated over the transmitted | |||

-mitted 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-ways 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. Problems | able to measure also the Round Trip Delay and its variations. | |||

will anyway arise on the characterization of emission intervals in the | Problems will anyway arise on the characterization of emission | |||

backward direction. They would be produced by the combination of the | intervals in the backward direction. They would be produced by the | |||

original Poisson arrival process and the effect of ipdv on the forward | combination of the original Poisson arrival process and the effect of | |||

direction. It has to be studied if this sequence of intervals is still | ipdv on the forward direction. It has to be studied if this sequence | |||

suitable for the measurement. also other possibilities can be | of intervals is still suitable for the measurement. also other | |||

envisaged for obtaining a proper backward sequence and still maintain | possibilities can be envisaged for obtaining a proper backward | |||

the loopback concept. | sequence and still maintain the loopback concept. | |||

I-D Ipdv Metric November 1998 | 9. Relationship to other standards | | |||

9. References | The ITU definitions are based on delay variation as defined for ATM | | |||

cells [5]. We will discuss these briefly first and then discuss the | | ||||

ITU's definition for IP packets [3]. | | ||||

V.Paxon, G.Almes, J.Mahdavi, M.Mathis - "Framework for IP Performance | 9.1. 1-Point Cell Delay Variation | | |||

Metrics", Internet Draft <draft-ietf-ippm-framework-01.txt> Feb. 1998 | ||||

G.Almes, S.Kalidindi - "A One-Way-Delay Metric for IPPM", Internet | The ITU looks at cell delay variation from two different points of | | |||

Draft <draft-ietf-ippm-delay-01.txt> Nov. 1997 | view. The first, called 1-point cell delay variation, is essentially | | |||

a measure of how a cell stream varies from a stated cell rate (e.g. | | ||||

the peak cell rate). The basic idea behind the measurement is as | | ||||

follows: The observer at the measurement point notes cell arrival | | ||||

times and clock ticks. The clock ticks at a constant rate, based on | | ||||

the peak cell rate for the cell stream. The difference between the | | ||||

cell arrival times and the clock ticks is the 1-point cell delay | | ||||

variation. If a cell arrives later than the clock tick, the clock | | ||||

"restarts" at the actual cell arrival time, and continues to tick at | | ||||

a constant rate from that point. | | ||||

10. Author's Address | The purpose of this measure is to identify what is called "cell | | |||

clumping" and non-conforming cells. That is, to idenify cells that | | ||||

violate the leaky bucket parameters defined for that cell stream. | | ||||

That is why the clock skips when a cell is later than the normal | | ||||

inter-cell time defined by the peak cell rate. It is of much less | | ||||

interest when cells are late than when they arrive too close | | ||||

together. | | ||||

9.2. 2-Point Delay Variation, Cells and Packets | | ||||

2-Point cell delay variation, as defined in [5] is closer to what is | | ||||

defined here. The basic idea behind this metric is that two | | ||||

measurement points, whose clocks are synchronized, observe a cell | | ||||

stream and timestamp when each cell passes. The difference in the | | ||||

timestamps for a cell is essentially the one-way delay. There is also | | ||||

assumed to be a one-way cell delay for a reference cell which we will | | ||||

denote d0. The cell delay variation for the ith cell is then di-d0. | | ||||

Note that this is not an absolute value, but that the cell delay | | ||||

variation can be either positive or negative. [5] does not specify | | ||||

how to choose the reference cell delay. | | ||||

In [3] there is an informative appendix describing packet delay | | ||||

variation, which means that the material is not binding as a | | ||||

standard. The definitions are very similar to [5] with "packet" | | ||||

subsituting for "cell" in most places. One difference is that [3] | | ||||

offers two ways to define the reference packet (with the default | | ||||

being the first): | | ||||

+ Take the delay of the first packet of the sequence as the | | ||||

reference time. | | ||||

+ Take the average one-way packet delay as the reference time. | | ||||

9.3. Discussion | | ||||

9.3.1. Differences | | ||||

Demichelis [4] points out a number of problems with the 2-point PDV | | ||||

definition in [3]. First of all is the issue of choosing the | | ||||

reference delay time. If this is chosen arbitrarily, it becomes | | ||||

uncertain how to compare the measurements taken from two non- | | ||||

overlapping periods. If it is chosen as an average, that can also be | | ||||

a problem, because over long periods of time in a network, the | | ||||

average one-way delay can vary widely. A twenty-four hour average as | | ||||

the reference time can seriously overestimate the actual delay | | ||||

variation at a given time of day because the night-time hours, when | | ||||

the delay can be expected to approach the propagation and node time, | | ||||

is included in the average. On the other hand, there is no clear way | | ||||

to partition the time in order to find averages for certain periods | | ||||

of time and compute the delay variation with reference to these | | ||||

averages. | | ||||

Another problem pointed out in [4] is the fact that 2-point PDV | | ||||

requires synchronized clocks, whereas in this document Demichelis | | ||||

shows that synchronized clocks are not absolutely necessary for ipdv. | | ||||

9.3.2. Relationship between the metrics | | ||||

The ipdv metric described here and the 1-point cell delay variation | | ||||

metric described in [5] do not really have much in common (see also | | ||||

[4]). 1-point delay variation is really intended to talk about the | | ||||

relationship of cell arrival times to a given periodic event, and | | ||||

consequently is more closely related to the first definition of | | ||||

"jitter" given in Section 3 above. | | ||||

2-point delay variation (actually, the packet variant described in | | ||||

[3]) is related to ipdv, and this relationship can be made precise as | | ||||

follows: Suppose that an arbitrarily chosen packet is designated as | | ||||

the reference packet for the 2-point measurement and also as the | | ||||

start packet of the ipdv measurement. Denote this packet by p(0). | | ||||

Then given ipdv measurements for a series of packets, the 2-point | | ||||

delay variation for packet i is p(0) + the sum from k=1 to i of | | ||||

ipdv(k). | | ||||

Similarly, given a sequence of 2-point delay variation measurements | | ||||

we can derive the ipdv measurement as follows: Denote the 2-point | | ||||

delay variation measurement for packet i as v(i). Then the ipdv value | | ||||

for the pair of packets p(k-1), p(k) is simply v(k)-v(k-1) [6]. | | ||||

9.3.3. Summary | | ||||

As described above, there are a number of disadvantages of the | | ||||

2-point packet delay variation approach. Further, the ipdv approach | | ||||

described here is general enough to provide the same information as | | ||||

the 2-point packet delay variation measurements. Because of this, and | | ||||

because of the (possibly) looser clock synchronization requirements | | ||||

of ipdv, we recommend the one-way-ipdv approach for the delay | | ||||

variation measurement. | | ||||

10. Security Considerations | | ||||

The one-way-ipdv metric has the same security properties as the one- | | ||||

way-delay metric [2]. The packets contain no user information, and so | | ||||

privacy of user data is not a concern. It is still possible that | | ||||

there could be an attempt at a denial of service attack by sending | | ||||

many measurement packets into the network; there could also be | | ||||

attempts to disrupt measurements by diverting packets or corrupting | | ||||

them. | | ||||

In general, legitimate measurements must have their parameters | | ||||

selected carefully in order to avoid interfering with normal traffic | | ||||

in the network. Such measurements should also be authorized and | | ||||

authenticated in some way so that attacks can be identified and | | ||||

intercepted. | | ||||

11. Acknowledgements | | ||||

Thanks to Matt Zekauskas from Advanced and Ruediger Geib from | | ||||

Deutsche Telekom for discussions relating to the contents of this | | ||||

revised draft. | | ||||

12. References | | ||||

[1] V.Paxon, G.Almes, J.Mahdavi, M.Mathis - "Framework for IP | | ||||

Performance Metrics", RFC 2330 Feb. 1998 | | ||||

[2] G.Almes, S.Kalidindi - "A One-Way-Delay Metric for IPPM", | | ||||

Internet Draft <draft-ietf-ippm-delay-07.txt> May 1999 | | ||||

[3] Draft New ITU-T Recommendation I.380 "Internet Protocol Data | | ||||

Communication Service - IP Packet Transfer and Availability | | ||||

Performance Parameters" | | ||||

[4] Demichelis, Carlo - "Packet Delay Variation Comparison between | | ||||

ITU-T and IETF Draft Definitions" March 1999 | | ||||

[5] ITU-T Recommendation I.356 "B-ISDN ATM Layer Cell Transfer | | ||||

Performance" | | ||||

[6] e-mail exchanges with Ruediger Geib | | ||||

[7] V. Jacobson, K. Nichols, K. Poduri - "An expedited forwarding | | ||||

PHB", Internet Draft, November 1998 <draft-ietf-diffserv-phb- | | ||||

ef-01.txt> | | ||||

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 | |||

I-D Ipdv Metric November 1998 | Philip Chimento <chimento@ctit.utwente.nl> | |||

CTIT - Centre for Telematics and Information Technology | ||||

University of Twente | ||||

Postbox 217 | ||||

7500 AE Enschede | ||||

The Netherlands | ||||

Phone +31 53 489 4331 | ||||

FAX +31 53 489 4524 | ||||

APPENDIX A | APPENDIX A | |||

This Appendix considers the scenario in which two hosts have clocks | This Appendix considers the scenario in which two hosts have clocks | |||

that are both not synchronized. Between the two hosts, in an inde- | that are both not synchronized. Between the two hosts, in an | |||

-pendent way and at the same time in both direction an ipdv measure- | independent way and at the same time in both direction an ipdv | |||

-ment is performed according the methodology that is described in the | measurement is performed according the methodology that is described | |||

main body of this Draft. | in the main body of this Draft. This hypothetical scenario is only | |||

This hypothetical scenario is only supposed for discussing the theory | supposed for discussing the theory and the characteristics of the | |||

and the characteristics of the ipdv metric and its results, without | ipdv metric and its results, without considering implementation | |||

considering implementation issues. | issues. | |||

A.1 - Initial positions | 14. Initial positions | |||

The two hosts will be called West (W) and East (E). The two measure- | The two hosts will be called West (W) and East (E). The two | |||

-ments start at the same time, while the end of the measurement it is | measurements start at the same time, while the end of the measurement | |||

supposed to be decided by the results of the measurement itself. | 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 | 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 | clock is T0w, the time declared by the East clock is T0e, while the | |||

true time is T0t. | true time is T0t. | |||

The W-clock is affected by an absolute skew of skw ppm and the E-clock | The W-clock is affected by an absolute skew of skw ppm and the E- | |||

by an absolute skew of skw ppm. | clock by an absolute skew of skw ppm. | |||

The W-clock is affected by an absolute drift ranging from -drw ppm to | 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 | +drw ppm, the E-clock by an absolute drift ranging from -dre ppm to | |||

+dre ppm. | +dre ppm. | |||

A.2 - Evaluation of skew and drift effects | 14.1. Evaluation of skew and drift effects | |||

In order to evaluate the effect of the drift on this type of metric, | 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 | it is necessary to consider the time in which the variation of the | |||

takes place. We consider the two extreme cases in which the variation | skew takes place. We consider the two extreme cases in which the | |||

takes place uniformly from the beginning to the end of the measurement | variation takes place uniformly from the beginning to the end of the | |||

and the variation takes place suddenly at a generic time along the | measurement and the variation takes place suddenly at a generic time | |||

measurement. Let TM be the measurement time. | along the measurement. Let TM be the measurement time. | |||

A.2.1 - Mean ipdv value | 14.1.1. Mean ipdv value | |||

Since the mean ipdv value, as it has been seen, is the difference of | 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 | 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 | values, we consider what, in the two cases, is measured for first and | |||

last delay. | last delay. | |||

We call trueDf the true first Delay and trueDl the true 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. | ||||

I-D Ipdv Metric November 1998 | 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 | ||||

For the evaluation that we want to do, it is not a limitation to con- | will bring the skew from a value of: skWmin = skw - drw ; | |||

-sider that they are equal and have a value of trueD. We also consider | skEmin = ske - dre to a value of skWmax = skw + drw ; skEmax = | |||

as time 0 the true time at which the transmission of the first packet | ske + dre | |||

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: | What is measured as first Delay is: | |||

measured first Rx time - measured first Tx time | measured first Rx time - measured first Tx time OffsetEast + trueD*[1 | |||

OffsetEast + trueD*[1 + skEmin + (1/2)*drpsE] - OffsetWest | + skEmin + (1/2)*drpsE] - OffsetWest | |||

What is measured as last Delay is: | What is measured as last Delay is: | |||

measured last Rx time - measured last Tx time | measured last Rx time - measured last Tx time OffsetEast + (TM + | |||

OffsetEast + (TM + trueD)*[1 + skEmin + (1/2)*2*dre] - | trueD)*[1 + skEmin + (1/2)*2*dre] - | |||

- OffsetWest - TM*[1 + skWmin + (1/2)*2*drw] | - OffsetWest - TM*[1 + skWmin + (1/2)*2*drw] | |||

The difference between the last and first Delay is therefore: | The difference between the last and first Delay is therefore: | |||

TM*(skEmin - skWmin + dre - drw) - trueD*drpsE/(2*TM) | 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 | 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 | 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). | 10E-14 for true delays in the order of 1 sec (negligible term). We | |||

We consider that, with very good approximation: | consider that, with very good approximation: | |||

Mean emission interval (mti) = TM / number of ipdv values (N) | Mean emission interval (mti) = TM / number of ipdv values (N) | |||

Therefore: | Therefore: | |||

mean ipdv = (measured last Delay - measured first Delay) / N = | mean ipdv = (measured last Delay - measured first Delay) / N = | |||

= mti*(skEmin - skWmin + dre - drw) | = mti*(skEmin - skWmin + dre - drw) | |||

but we considered skEmin = ske - dre and skWmin = skw - drw | but we considered skEmin = ske - dre and skWmin = skw - drw and | |||

and therefore: | therefore: | |||

mean ipdv = (meas.lastD - meas.firstD) / mti*(reciprocal mean skew) | mean ipdv = (meas.lastD - meas.firstD) / mti*(reciprocal mean skew) | |||

The previous procedure is now applied to the case in which the total | 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 | 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 | 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 | skWmax and the East clock has skEmin, at time txW the West clock | |||

assumes skWmin and at time txE the East clock assumes skEmax. | assumes skWmin and at time txE the East clock assumes skEmax. What | |||

is measured as first Delay is now: | ||||

I-D Ipdv Metric November 1998 | ||||

What is measured as first Delay is now: | ||||

measured first Rx time - measured first Tx time | measured first Rx time - measured first Tx time OffsetEast + trueD*(1 | |||

OffsetEast + trueD*(1 + skEmin) - OffsetWest | + skEmin) - OffsetWest | |||

What is measured as last Delay is: | What is measured as last Delay is: | |||

measured last Rx time - measured last Tx time | measured last Rx time - measured last Tx time + OffsetEast + txE*(1 + | |||

+ OffsetEast + txE*(1 + skEmin) + (TM - txE)*(1 + skEmax) + | skEmin) + (TM - txE)*(1 + skEmax) + + trueD*(1 + skEmax) - - | |||

+ trueD*(1 + skEmax) - | OffsetWest - txW*(1 + skWmax) - (TM - txW)*(1 + skWmin) | |||

- OffsetWest - txW*(1 + skWmax) - (TM - txW)*(1 + skWmin) | ||||

but the mean skew values will be: | but the mean skew values will be: | |||

mskw = [skWmax*txW + skWmin*(TM - txW)] / TM | mskw = [skWmax*txW + skWmin*(TM - txW)] / TM mske = [skEmin*txE + | |||

mske = [skEmin*txE + skEmax*(TM - txE)] / TM | skEmax*(TM - txE)] / TM | |||

the difference between the two delays therefore is: | the difference between the two delays therefore is: | |||

TM*(mske - mskw) + 2*trueD*dre | TM*(mske - mskw) + 2*trueD*dre | |||

and the mean ipdv value will be: | and the mean ipdv value will be: | |||

mean ipdv = mti*(mske - mskw) + 2*mti*trueD*dre/TM | mean ipdv = mti*(mske - mskw) + 2*mti*trueD*dre/TM | |||

the second term of the second member in the previous hypotheses is in | 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 order of the nanosecond, and we neglect it. Also in this case, | |||

the mean ipdv value, and knowing the mean emission interval, the rela- | from the mean ipdv value, and knowing the mean emission interval, the | |||

-tive skew of the clocks can be obtained. | relative skew of the clocks can be obtained. | |||

More in general, independently on how the drift acts inside its limits, | More in general, independently on how the drift acts inside its | |||

we assert that always the mean ipdv value divided by the mean emission | limits, we assert that always the mean ipdv value divided by the mean | |||

interval produces the value of the mean reciprocal skew of the two | emission interval produces the value of the mean reciprocal skew of | |||

clocks, provided that the collected number of ipdv values is signi- | the two clocks, provided that the collected number of ipdv values is | |||

-ficant for the statistics. | significant for the statistics. | |||

A.2.2 - Errors and corrections | 14.1.2. Errors and corrections | |||

If the drift is always close to zero, it is possible to obtain the | 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 | true value of the reciprocal skew and correct all the ipdv values. | |||

of them is associated to an emission interval ti between the two | 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 | packets that have produced the value itself. Then a better ipdv value | |||

will be: | will be: corr.ipdv(i) = meas.ipdv(i) - ti * skew This is a better | |||

corr.ipdv(i) = meas.ipdv(i) - ti * skew | value but not exactly the true one, since we supposed that both | |||

This is a better value but not exactly the true one, since we supposed | clocks are not synchronized to the true time. Two errors are | |||

that both clocks are not synchronized to the true time. Two errors are | ||||

affecting the corrective terms which are: | affecting the corrective terms which are: | |||

I-D Ipdv Metric November 1998 | ||||

+ The reciprocal skew is measured as referred to the Src clock | + The reciprocal skew is measured as referred to the Src clock | |||

+ The interval ti is measured by 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 | These are second order errors since the measured skew will be | |||

for the error affecting the ti value. | 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 | 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 | upper limit of its field, the measured average of the skew will | |||

on the type of variation. Some cases are considered that demonstrate | depend on the type of variation. Some cases are considered that | |||

that actually the proposed correction is not so much effective in this | demonstrate that actually the proposed correction is not so much | |||

case. Only the fixed part of the total clock variation can be properly | effective in this case. Only the fixed part of the total clock | |||

corrected. | variation can be properly corrected. | |||

A.2.2.1 - Constant drift | 14.1.3. Constant drift | |||

The first case is the first one considered in the preceding paragraph, | The first case is the first one considered in the preceding | |||

where the drift is uniform. We suppose that a reciprocal skew is measu- | paragraph, where the drift is uniform. We suppose that a reciprocal | |||

-red and used for correction. | skew is measured and used for correction. | |||

At the beginning of the measurement the actual reciprocal skew is: | At the beginning of the measurement the actual reciprocal skew is: | |||

init.skew = mean.skew - rel.max.drift | init.skew = mean.skew - rel.max.drift | |||

and at the end the actual reciprocal skew is: | and at the end the actual reciprocal skew is: | |||

final.skew = mean.skew + rel max.drift | final.skew = mean.skew + rel max.drift | |||

The correction is effective only in the central part of the measurement. | The correction is effective only in the central part of the | |||

At the beginning and at the end a residual error will affect the ipdv | measurement. At the beginning and at the end a residual error will | |||

values whose value will be: | affect the ipdv values whose value will be: | |||

ipdv(i).err = ti * rel.max.drift | ipdv(i).err = ti * rel.max.drift | |||

We underline here that the error is larger for large intervals ti and | We underline here that the error is larger for large intervals ti and | |||

lower for short intervals ti. For intervals derived from a poissonian | lower for short intervals ti. For intervals derived from a poissonian | |||

arrival process, there are many short intervals and few large intervals. | arrival process, there are many short intervals and few large | |||

We also note that a constant drift cannot last indefinitely, since there | intervals. We also note that a constant drift cannot last | |||

is a minimum and a maximum for the skew. | indefinitely, since there is a minimum and a maximum for the skew. | |||

A.2.2.2 - Step of drift | 14.1.4. Step of drift | |||

In this case the error profile depends on the time at which the 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 | 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 | measurement, the calculated mean skew will be very close to the | |||

skew of the largest part of the measurement. On that part the correc- | actual skew of the largest part of the measurement. On that part the | |||

-tion will be effective, while over the remaining few values the error | correction will be effective, while over the remaining few values the | |||

will be twice with respect the preceding case. | error will be twice with respect the preceding case. The worse | |||

condition is produced by a change in drift in the middle of the | ||||

I-D Ipdv Metric November 1998 | measurement. In this case the correction would be useful only if the | |||

drift was significantly less than the skew. | ||||

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. | ||||

A.3 - Comparison with a synchronized case | 14.2. Comparison with a synchronized case | |||

In this section we consider a case in which the two hosts have synchro- | In this section we consider a case in which the two hosts have | |||

-nized clocks, and the synchronization is obtained by setting the real | synchronized clocks, and the synchronization is obtained by setting | |||

time each second in each of the clocks. We optimistically suppose that | the real time each second in each of the clocks. We optimistically | |||

this is done exactly (without any imprecision). On the clocks, anyway | suppose that this is done exactly (without any imprecision). On the | |||

skew and drift continue to act. We refer to reciprocal skew and drift, | clocks, anyway skew and drift continue to act. We refer to reciprocal | |||

having already seen that this is significant. We suppose to perform an | skew and drift, having already seen that this is significant. We | |||

ipdv measurement and we evaluate what is measured by the mean ipdv | suppose to perform an ipdv measurement and we evaluate what is | |||

value and what is the error on the measured ipdv values. | 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 | We notice, first of all, that nothing changes for ipdv values | |||

over intervals falling completely between two synchronization instants. | measured over intervals falling completely between two | |||

In this case, the effect of synchronization is only to put to zero the | synchronization instants. In this case, the effect of | |||

offset, that does not appear in the calculation of ipdv values. | 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 | Something different happens if the synchronization instant (or more | |||

synchronization instants) falls inside the interval. In this case the | synchronization instants) falls inside the interval. In this case the | |||

error can range from + to - the error related to one second interval, | 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 | or, more in general, from + to - the error related to an interval | |||

to the synchronization period. The (few) large intervals will produce | equal to the synchronization period. The (few) large intervals will | |||

a limited error while the (many) short intervals will continue to | produce a limited error while the (many) short intervals will | |||

produce errors of the same order of magnitude of the not synchronized | continue to produce errors of the same order of magnitude of the not | |||

case. | synchronized case. | |||

Besides, even if the drift is negligible, the mean ipdv value is no | 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 | more suitable to calculate the skew, and it will be much more close | |||

zero. Therefore it is no more possible to correct the distortion of the | to zero. Therefore it is no more possible to correct the distortion | |||

distribution. | of the distribution. | |||

Finally, it is necessary to add to these errors the unavoidable impre- | Finally, it is necessary to add to these errors the unavoidable | |||

cision of the synchronization process. We have to consider that the | imprecision of the synchronization process. We have to consider that | |||

magnitude of errors introduced by skew and drift is in the order of | the magnitude of errors introduced by skew and drift is in the order | |||

tenth of microseconds. Not always the complete synchronization process | of tenth of microseconds. Not always the complete synchronization | |||

has a better precision. | process has a better precision. | |||

A.4 - Bidirectional measurement and components of ipdv | 14.3. Bidirectional measurement and components of ipdv | |||

Three terms have been described that can displace the mean ipdv value | Three terms have been described that can displace the mean ipdv value | |||

from zero. They are: | from zero. They are: | |||

I-D Ipdv Metric November 1998 | + 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 total skew, already discussed above, that always acts in an equal | + The effect of varying traffic that can increase or decrease along | |||

way and opposite direction over the two directions between West and | limited periods, the average value of the One-Way-Delay. The | |||

East hosts. | metric above presented supposes that the measurement period is | |||

- The effect of varying traffic that can increase or decrease along | large enough for considering this effect as tending to zero. It | |||

limited periods, the average value of the One-Way-Delay. The metric | is explicitly noted that the effect will produce a zero effect | |||

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 | 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 | always present. This is not a distortion of the distribution, | |||

is part of the variation that is measured. This effect is different, | since is part of the variation that is measured. This effect is | |||

and usually concordant, on the two directions. | different, and usually concordant, on the two directions. | |||

- The difference between first and last instantaneous values of the | ||||

+ The difference between first and last instantaneous values of the | ||||

delay variation, that tends to zero when the number of collected | delay variation, that tends to zero when the number of collected | |||

ipdv values becomes large. | ipdv values becomes large. | |||

In order to isolate the last two effects, we consider here a measurement | In order to isolate the last two effects, we consider here a | |||

over a long period (e.g. 24 hours)where the drift is negligible, and | measurement over a long period (e.g. 24 hours)where the drift is | |||

the effect of the skew has been corrected. | negligible, and the effect of the skew has been corrected. | |||

A.4.1 - Slow variation in a given period | 14.4. Slow variation in a given period | |||

The packets of the stream can be represented on a system of cartesian | 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 | orthogonal axes with transmission time on x-axis and reception time | |||

y-axis, by points localized by transmission and reception time of each | on y-axis, by points localized by transmission and reception time of | |||

packet. Considering an arbitrary period of time Tper, which will be a | each packet. Considering an arbitrary period of time Tper, which will | |||

parameter of this procedure, it can be taken as a sliding window over | be a parameter of this procedure, it can be taken as a sliding window | |||

the sample and for each position of this window, established by suc- | over the sample and for each position of this window, established by | |||

-cessive packets, the segment of straight line is calculated that best | successive packets, the segment of straight line is calculated that | |||

approximate the points, by means of a linear regression method. | 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 | 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) | has not changed, and different from one if that delay has increased | |||

or decreased (<1). For each position of the window it is therefore | (>1) or decreased (<1). For each position of the window it is | |||

possible to find a value of "slow delay variation" with Tper as a | therefore possible to find a value of "slow delay variation" with | |||

parameter. This will give an indication on variations produced by | Tper as a parameter. This will give an indication on variations | |||

different traffic conditions along the measurement period. This item | produced by different traffic conditions along the measurement | |||

can be subject for further study. | period. This item can be subject for further study. | |||

At the same time this procedure offers a criterion for reducing the | At the same time this procedure offers a criterion for reducing the | |||

error introduced in the calculation of the mean ipdv by the instanta- | error introduced in the calculation of the mean ipdv by the | |||

-neous component of the difference between last and first delay. | instantaneous component of the difference between last and first | |||

Supposing that the timestamps, on which the metric is based, are | delay. Supposing that the timestamps, on which the metric is based, | |||

collected and then processed, if the method of the sliding window is | are collected and then processed, if the method of the sliding window | |||

applied at the beginning and at the end of the collected sample, it | is applied at the beginning and at the end of the collected sample, | |||

is possible to avoid starting and ending the measurement on values | it is possible to avoid starting and ending the measurement on values | |||

possibly too different from the average (points too far away from the | possibly too different from the average (points too far away from the | |||

calculated straight line). | calculated straight line). | | |||

I-D Ipdv Metric November 1998 | ||||

A.5 - Symmetry of an ipdv distribution and emission intervals | ||||

It is demonstrated that, if the packets of the test sequence are pro- | ||||

pagated in an independent way, in the sense that none of them is | ||||

influenced by the preceding packets (large emission intervals), the ipdv | ||||

distribution will be perfectly symmetrical. If the variation of the | ||||

delay is such that some packets is delayed by the preceding one (ideal- | ||||

-ly queued to it in a buffer), the related ipdv value generated will | ||||

have a lower limit, that will be the negative value of the emission | ||||

interval minus the time required for transmitting the packet from the | ||||

buffer. If the intervals were constant, this would correspond to a well | ||||

defined value, that would allow to measure the bandwidth of the bottle- | ||||

-neck provided by the output of that buffer. Since the intervals are | ||||

derived from a poissonian arrival process, this limit is not a fixed | ||||

one, and is not immediately evident of the ipdv distribution. | ||||

Another effect of this interference among packets is that also the | ||||

packet following the queued one will produce a lower ipdv value since | ||||

it will "gain" the time of latency in the buffer of the previous one. | ||||

The total effect is that the ipdv values will tend to concentrate on | ||||

the negative side of the distribution, with some limitation on the | ||||

negative maximum values. In other words, the negative side of the | ||||

distribution will be shorter than the positive one, but containing more | ||||

values. Nothing changes for the meaning of the mean ipdv value. | ||||

This asymmetry is not a distortion, since represents the actual propa- | ||||

-gation characteristics. For the supposed type of intervals, the dis- | ||||

-tribution is always asymmetrical, since always are present intervals | ||||

lower than the delay variability, and the degree of asymmetry will | ||||

change with the level of interference. | ||||

The relationship between asymmetry and the combination of average emis- | Expiration date: December, 1999 | |||

-sion interval and available bandwidth can be investigated and could | ||||

provide information about the level of congestion of the network | ||||

End of changes. | ||||

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