Professional Documents
Culture Documents
Backstrom - Ingmar - 09038-Performance Measurement of IP Networks Using TWAMP
Backstrom - Ingmar - 09038-Performance Measurement of IP Networks Using TWAMP
INGMAR BÄCKSTRÖM
INGMAR BÄCKSTRÖM
TRITA-CSC-E 2009:038
ISRN-KTH/CSC/E--09/038--SE
ISSN-1653-5715
KTH CSC
SE-100 44 Stockholm, Sweden
URL: www.csc.kth.se
Abstract
Computer networking is becoming a new standard for exchanging in-
formation. Many new services have been introduced to IP networks,
and real time applications such as streaming media and Voice over IP
are becoming more popular. These types of services are sensitive to dis-
turbances; therefore it is important that the providing networks meet
their requirements. To verify the quality of a network and to gather
knowledge of its characteristics, several methods of network perform-
ance measurements have been developed. This master’s thesis investig-
ates active end-to-end measurements, and presents notions, metrics and
methods for measuring the quality of IP networks. An implementation
of the Two-way Active Measurement Protocol, TWAMP, has been made,
and evaluated by comparing the results with three other active meas-
urement tools. TWAMP is the first standardized protocol of its kind as
it collects two-way performance data in one measurement. Metrics such
as latency, packet loss, packet duplication and packet reorder have been
measured, and the results show that TWAMP is a competitive protocol
for network performance measurements.
Sammanfattning
Tjänstekvalitetsmätning av IP-nätverk med TWAMP
Datornätverk spelar en allt större roll vid utbyte av information. Många
nya tjänster har gjorts tillgängliga för IP-nätverk, och realtidsapplika-
tioner som mediaströmmar och IP-telefoni blir alltmer populära. Des-
sa tillämpningar är känsliga för störningar, och det är viktigt att det
underliggande nätverket uppfyller tjänsternas krav. För att verifiera
nätverksanslutningens prestanda och för att undersöka dess egenska-
per har flera metoder för tjänstekvalitetsmätningar utvecklats. Det här
examensarbetet undersöker aktiva mätningar mellan två ändpunkter.
Det beskriver begrepp, mätvärden och metoder som används för att be-
stämma kvaliteten av IP-nätverk. Ett nätverksprotokoll med detta syfte,
TWAMP, the Two-way Active Measurement Protocol, har implemente-
rats och utvärderats gentemot tre andra aktiva mätverktyg. TWAMP är
det första protokoll av sitt slag som har standardiserats, då det samlar
tvåvägsinformation i en mätning. Mätvärden som latens, förlorade pa-
ket, dubbletter och paket som levereras i oordning har undersökts, och
resultaten visar att TWAMP är ett bra alternativ för att genomföra
tjänstekvalitetsmätningar av IP-nätverk.
Acknowledgements
This master’s thesis was conducted at Prosilient Technologies, and I would like to
thank my colleagues for their input and for their encouragement.
I would especially like to thank my supervisor Olof Hagsand for his support
and for the time that he has invested in this project, as well as for giving me the
opportunity to gain a better understanding of the field of network performance
measurement.
1 Introduction 1
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Network Performance 5
2.1 Notions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Singletons, Samples and Statistics . . . . . . . . . . . . . . . 5
2.1.2 Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.3 Timing Considerations . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.2 Packet Loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.3 Loss Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.4 Round-trip Delay . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.5 One-way Delay . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.6 Delay Variation . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.7 Reordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.8 Duplicates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.9 Further metrics . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 Methods 15
3.1 The One-way Active Measurement Protocol . . . . . . . . . . . . . . 15
3.1.1 OWAMP-Control . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.2 OWAMP-Test . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.3 Current Implementations . . . . . . . . . . . . . . . . . . . . 18
3.2 The Two-way Active Measurement Protocol . . . . . . . . . . . . . . 19
3.2.1 TWAMP-Control . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.2 TWAMP-Test . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.3 TWAMP Extensions . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.4 Current Implementations . . . . . . . . . . . . . . . . . . . . 21
3.3 Reference methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3.1 Ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3.2 PTAnalyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Bibliography 35
Appendices 38
Introduction
The usage of IP based networks has increased enormously during the last decade
and the trend is evident; the Internet continues to grow rapidly. According to
a forecast, Internet traffic increased with 46 percent in 2007 and is estimated to
grow by another 51 percent in 2008[1]. The annual growth rate will then slightly
decrease, and by 2012 the total annual IP traffic is estimated to reach about 500
exabytes per year. Internet video, excluding peer to peer file sharing, accounts today
for one quarter of all consumer Internet traffic. The forecast points out that high
definition video will be responsible for a majority of the increase in bandwidth usage.
Along with the quick growth of media streams and video conferences, Voice over IP,
VoIP, is also becoming more popular. Although it is not as bandwidth consuming
as visual media, this service still requires available bandwidth to operate, and as
all interactive real time applications, it is sensitive to quality disturbances in the
network. To assure the quality of these services, it is important that the providing
Internet connection fulfils the requirements of capacity and available bandwidth.
Network performance measurement is not a new phenomenon, but lately, this
field has come more in focus. This science, also known as communication network
metrology, is very wide, and several research projects have been launched with
different purposes[2][3][4][5]. Some studies investigate traffic characterization and
traffic modelling, whereas others focus on network topology or path symmetry.
The results of the projects are useful for several parties: researchers can adopt
network characteristics in simulation models to develop new network protocols;
Internet Service Providers, ISPs, can determine network trends for resource capacity
planning and discover performance bottlenecks; network equipment designers might
find the data useful when designing routers, and the end-users are interested in
measuring the quality of the Internet connection they are paying for. Consumers
using real time services with Quality of Service constraints, QoS, often negotiate QoS
levels with their ISP through a Service Level Agreement, SLA. Network performance
measurement is an efficient approach for customers to verify the SLA, as well as
a marketing strategy for ISPs to demonstrate the capacity and reliability of their
networks.
1
CHAPTER 1. INTRODUCTION
1.1 Background
Network performance measurements can be divided into two different categories:
active and passive monitoring[6][7]. When performed passively, the network is only
observed, and packet headers are captured and analyzed. The passive mode can yet
again be divided into two sub types. At a microscopic level, the passive measure-
ment analyzes every packet passing through the measurement node and notes its
characteristics. When measuring at a macroscopic level, packets passing through
the node are aggregated into flows and then analyzed. Passive network performance
measuring techniques are especially useful for traffic engineering, as they describe
flow dynamics and distribution. A drawback with passive monitoring is that it col-
lects and stores a great amount of data and consumes a lot of memory. This type
of measurement typically presents information from only one node in the network.
It is difficult to collect data from a packet travelling between measurement points,
and even though it can be done, matching packet information from different nodes
is a difficult task.
Active monitoring techniques are on the other hand well suited for performing
end-to-end measurements between nodes in a network. Measurement data, or probe
packets, are injected into the network. The packets are transmitted between the
test end points, and measurement data is collected upon the packets’ arrival. This
method can also be divided into different sub categories. Cooperative measurement
tools consist of a client and a dedicated server for collecting measurement metrics.
When applying non cooperative tools, only one client program is used. Measurement
data is sent to an existing, independent server, such as a web server, and its response
is used for computing the result. Other tools rely on generated replies, such as ICMP
messages.
A problem with active measurement techniques is that they generate traffic, and
may influence the behaviour of the network. This problem is known as intrusiveness
or invasiveness. When designing active measurement tools, it is therefore important
that the amount of data generated by the probe packets does not affect the network
performance.
2
1.2. PURPOSE
1.2 Purpose
The purpose of this master’s thesis is to investigate the active end-to-end network
measurement area. The problem within this field is the lack of interoperable tools,
and in this project we have implemented and evaluated the upcoming TWAMP
standard. The thesis is focused on the progress of the IETF IPPM group, and
describes metrics and methods used for network performance measurement. An
implementation of the TWAMP protocol has been made and compared to existing
measurement tools.
1.3 Outline
The report is divided into five chapters. After introducing the reader to the field,
we explain the terminology used throughout the thesis, and describe different net-
work performance metrics. Within the second chapter, Network Performance, the
reader will achieve comprehension of what we actually measure. The third chapter,
Methods, explains how the measurements are carried out. We elaborate on four
different active measurement techniques, with focus on OWAMP and TWAMP. In
the following chapter, Implementation and Results, we clarify our TWAMP imple-
mentation, present how we evaluated the method and give account of our results.
The last chapter, Summary and Conclusion, constitutes the completion of the re-
port; different aspects of the protocols and implementations are discussed as well
as improvements and the competitiveness of the TWAMP protocol.
3
Chapter 2
Network Performance
2.1 Notions
2.1.1 Singletons, Samples and Statistics
The metrics can be separated into three distinct categories. A singleton metric is a
single, atomic measurement of a packet characteristic, for example the loss or the
delay of a packet. Sample metrics are derived from singleton metrics by collecting
a sequence of distinct instances together. A sample metric of packet delay between
two hosts can be defined as a collection of singleton delay metrics between the two
nodes during one hour. The singleton metrics are collected at intervals defined
by a statistical distribution. Statistical metrics are derived from sample metrics by
computing statistics of the collected samples. By computing the mean latency value
of packets from a sample metric, a statistical metric has been produced.
2.1.2 Sampling
There are different methods for collecting sample metrics. When periodic sampling
is used, measurements are collected with fixed intervals. Samples can also be col-
lected at moments random in time, and the sampling intervals are then determined
by a statistical distribution.
Periodic Sampling
With periodic sampling, samples are derived from measurements separated by a
fixed amount of time, a method which is commonly used for its simplicity. Trans-
mitting uniform packets over a network at fixed intervals simulates a constant bit-
5
CHAPTER 2. NETWORK PERFORMANCE
rate stream, also known as periodic streams, which resembles to encoded audio and
video traffic[16].
This method does however have drawbacks since regularly spaced singleton
measurements may be synchronized with other periodic behaviours in the network.
There is therefore a risk that the measurement only observes parts of the periodic
pattern, and that only a part of the performance spectrum is sampled. If the meas-
urements are made with fixed intervals, they are also easier to predict and may be
manipulated. Components in the network can anticipate when measurements are
being made and can then temporarily change their behaviour, which will result in
false measurements.
As previously mentioned, the periodic streams can be configured to have resem-
bling characteristics of media flows. These kinds of services are often time critical,
and measuring their quality is of great interest. Although the periodic sampling only
analyses parts of the performance spectrum, this may well match the spectrum used
for media flows, which simplifies the estimate of the application performance.
The analysis of network performance is also simplified in other ways. Some
characteristics of a network, such as delay variation and reordering, are sensitive to
the sampling frequency. When the impairments are time-varying themselves, the
analysis can be facilitated by a constant sampling frequency.
Random sampling
To avoid the potential problems with periodic sampling, another method called
random additive sampling can be used. The samples are collected at randomly
generated intervals with a common statistical distribution. The randomness of the
samples depends on the quality of the distribution. If the function for example
generates a constant value with probability one, then the sampling is equivalent to
periodic sampling. With random additive sampling, measurements are less predict-
able and they will not cause synchronization problems to the same extent.
However, the sampling still remains predictable to a certain degree unless the
exponential distribution is used. Poisson sampling uses exponential distribution
with rate lambda to compute the arrival of new samples. With Poisson sampling it
is impossible to predict arrival time of the next sample, a feature which sometimes
is desired. There are other similar techniques based on statistical distributions
for collecting samples. The geometric sampling is closely related to the Poisson
sampling, and its arrival times for sampling cannot be predicted either. These
methods do however not model media streams with the same accuracy as periodic
sampling does.
6
2.1. NOTIONS
Wire time
Active delay measurement techniques usually include timestamping packets at end
hosts upon transmission and reception. However, timestamps do not always indic-
ate the true delay since the packet has to be processed by the system before it is
timestamped. The notion wire time defines the time taken for a packet to travel
between hosts. Let us introduce an Internet host observing the link in question in
order to make these concepts clearer. The wire exit time for a packet on that link
is the time when the observation host has spotted all bits of the packet. The wire
arrival time for a packet is when any bit of the packet has appeared at the obser-
vation host. An alternative definition[17] of wire time is the packet’s transmission
time at the MAC interface.
In practice, timestamps are set and read by measurement software just prior to
sending or after receiving a packet, these are known as host times. The difference
between wire times and host times depends on the latency between receiving the
packet at kernel space and transfer it to user space where it can be timestamped.
This error can be reduced by using a network interface card specially designed for
timestamping and directly synchronized to a GPS receiver[18], or by timestamping
the packets at kernel level.
Synchronization methods
Clock synchronization is difficult to achieve. The Global Positioning System, GPS,
can be used, which offers nanosecond accuracy[19]. GPS uses positioning inform-
ation from different satellites to compute the current time[20]. This method is
however complicated and expensive to deploy in larger scale.
Long wave radio transmissions can also be used to propagate the correct time.
DCF77 is a German project for transmitting a long wave time signal. The ra-
dio transmissions are not affected by obstacles and do not require an antenna for
reception. DCF77 allows time signals to be registered under a millisecond range[21].
The Precision Time Protocol, PTP, defined in the IEEE 1588 - 2002 standard[22]
is a new emerging standard which uses the link level for clock synchronization. The
7
CHAPTER 2. NETWORK PERFORMANCE
timestamps are generated by hardware and provides accuracy within the micro-
second range[23].
The Network Time Protocol, NTP, is a widely used IP based method for syn-
chronizing computers connected to networks[24]. It has a hierarchical design where
the top of the tree, stratum 1, consists of computers synchronized to an external
source, typically an atomic clock or a GPS receiver. Computers synchronized to
stratum 1 hosts become stratum 2 clocks, and act as NTP servers for higher strata.
The NTP protocol is semi-self-organizing. An NTP server needs to be manually con-
figured with a list of synchronization peers, but then automatically chooses which
peers to communicate with in order to get a good synchronization. The NTP dae-
mon in a host adjusts the clock tick instead of directly setting the new time received
by a server. In that manner, discontinuity is prevented and the transition to the
correct time is made smoother. The accuracy of NTP depends on the quality of the
network connection between the server and the client, but with a reasonably good
link, the accuracy of the protocol is typically around 1-2 milliseconds[25].
2.2 Metrics
2.2.1 Connectivity
One of the most basic metrics is connectivity[26]. There are several types of this
metric, and the parameters differ slightly, but they all use booleans for metric units.
The most fundamental type is instantaneous unidirectional connectivity, which de-
scribes if a packet transmitted from the source host at a specific time will arrive
to its destination or not. This metric is mostly used as building blocks for further
connectivity metrics, but one-way connectivity can also be of interest when for ex-
ample testing firewalls. This definition can be widened to apply in both directions
between two hosts. If both hosts comply with this criterion to one another, they
fulfil the metric instantaneous bidirectional connectivity.
In similar ways, unidirectional and bidirectional interval connectivity are defined.
The connectivity is now measured within a time interval and is not as momentary
as the previous metric. This metric might however not be useful when defining full
connectivity. The bidirectional interval connectivity is defined over a short interval,
and it is not certain that two hosts can reply to the packet they receive from one
another. Another metric called interval temporal connectivity is defined as a source
host having instantaneous connectivity to its destination within a time interval,
and the destination host has instantaneous connectivity back to the source host at
a later time in the same interval. This interval is specified to be long enough for
transmitting a packet and its response between two hosts. The packets sent in the
two directions may be of different types, since some applications use different types
of packets for forward and reverse traffic.
8
2.2. METRICS
Loss period: 1 2 3
s1 s2 s3 s4 s5 s6 s7 s8 s9
Loss distance: 0 1 2 3 1
Figure 2.1. Crossed out packets are lost. Loss distance describes the separation
between packet losses, and the loss period analyses the consecutive packet loss for
each occurrence.
9
CHAPTER 2. NETWORK PERFORMANCE
The round-trip delay metric measures the time it takes for a packet to be transmitted
from the source host to its destination, and then back again[29]. The source host
timestamps the packet upon transmission. When the destination host receives the
packet, it immediately sends another packet as response back to the source. When
the response packet is received, the source host records another timestamp. The
value of the metric is then computed by subtracting the two timestamps and any
known uncertainties. If the packet is lost, the round-trip delay is undefined. No
distinction is made between in what direction the packet was lost. The definition
itself is ambiguous in that matter: it is not specified which node acts as source, and
which one acts as destination. There is no strict need for synchronization between
the two hosts, since only the source host performs and collects the timestamps. If
its clock is synchronized with a time service, erroneous results may be presented if
the clock is adjusted between the timestamps.
There are several reasons for performing one-way measurements: asymmetric rout-
ing and queuing, Quality of Service agreements etcetera. Round-trip measurements
examine the union of two distinct paths, and do not treat the forward and reverse
path separately. One-way delay is a singleton metric measuring the time taken for
a packet to travel from the source host to its destination[30]. An upper bound for
the metric needs to be specified to determine whether a packet is delayed but still
on its way, or whether it is lost. The metric is undefined or infinite if the packet
never is received. If multiple copies of the same packet are received, the arrival time
of the first packet establishes the one-way delay. The methodology for determining
the delay varies depending on the type of the packet, but the approach is similar
for all types. To achieve fruitful measurements, it is important for the sending and
receiving hosts to have synchronized clocks. It is also important that the padding of
the test packet is filled with randomized bits to avoid that the packet is compressed
on its path.
There are two different notions describing delay variation. Inter packet delay vari-
ation, IPDV, and packet delay variation, PDV. Delay variation is important for
measuring the performance of a network, in most cases it is the maximum delay
variation within a high percentile that is of interest. This is particularly true for
media streams which require a delivery of packets at regular intervals, and the
measurement is meaningful when sizing buffers for these sorts of applications.
10
2.2. METRICS
IPDV analyses the difference between one-way delay metrics of two selected packets
within a stream[31]. The singleton metric one-way ipdv defines a single instance
of an ipdv measurement, but the measurement is only statistically usable when
combined in pairs. The measurement is performed by sending a stream of equally
sized packets between the measuring nodes, and two packets are selected from the
stream. The two packets are timestamped at the source and at the destination
hosts, and the one-way delay metric is computed. The one-way delays of the two
packets are subtracted, and the inter packet delay variation can be measured. Using
this technique, the clock synchronization between the two hosts is not as crucial
as in one-way delay measurements, the relative offset is not noticeable after the
subtraction. If one or both of the chosen packets are lost or do not arrive within
the specified time limit, the IPDV metric is undefined.
Instead of comparing two following packets in the stream, PDV uses a reference
packet from the interval, typically the packet with the lowest delay. The PDV of a
packet is then computed by comparing its one-way delay with the reference value.
This way, PDV will be normalized to the minimum delay and can only take values
that are positive or zero[32]. This metric has not yet been standardized by the IETF
IPPM group, but a draft documenting the difference between IPDV and PDV has
been released.
Both metrics are affected by the packet loss ratio, but only IPDV is affected by
the loss distribution. In the worst case where every other packet is lost, IPDV is
unusable. IPDV can however measure the network’s ability to retain the original
spacing between packets, it does also reduce the demands on the system’s clock
in the aspect of skew and stability. IPDV is memory less and only describes the
difference in delay between two adjoined packets whereas PDV is defined over a
longer interval. PDV is a more usable metric, and especially PDV percentiles are
used when sizing play out buffers and describing long-term trends. A comparison
of values between IPDV and PDV is shown in Table 2.1.
Table 2.1. Comparison between IPDV and PDV. This PDV measurement uses the
packet with the lowest delay (10ms) as reference value.
Packet number 1 2 3 4 5 6 7 8 9 10
Delay (ms) 20 15 30 10 15 20 25 10 10 15
IPDV n/a -5 15 -20 5 5 5 -15 0 5
PDV 10 5 20 0 5 10 15 0 0 5
11
CHAPTER 2. NETWORK PERFORMANCE
2.2.7 Reordering
Packets sent over a network might be transmitted over different paths, and may
therefore not be received in the intended order. The Internet Protocol does not
account for lost or misplaced packets, and this must be taken care of by higher-level
protocols. To accomplish correct packet order, each packet must contain a unique
identifier, a sequence number, which identifies the order in which the packets were
sent. The sequence number is then used at the destination to detect rearranged
packets. As an example, eight packets, sent with consecutive sequence numbers,
arrive to their destination as described in Figure 2.2.
Reordered
s1 s2 s3 s7 s4 s5 s6 s8
Figure 2.2. Packets arriving out of order. Packet s7 starts a new sequence discon-
tinuity and packets s4, s5 and s6 are considered as reordered with extent e.
There are two alternatives when distinguishing the packet disorder: either the packet
with sequence number s7 is reordered, or packets with identifiers s4, s5 and s6 are
labelled as misordered. The IETF IPPM group defines packets with lower packet
identifiers than their predecessors, or late packets, in this case packets with sequence
number s4 to s6, as out of order[33]. Using the alternative definition and declaring
packet s7 as reordered is not recommended, since it is upon the arrival of packets
s4 to s6 that separates this occurrence from packet loss.
The goals of reordering metrics are to determine whether or not a packet has
been reordered and to what degree. To determine the extent of reorder, a number of
different metrics have been defined to fulfil the need of different applications. The
first notion is a function that generates a series of unique increasing numbers, this
could simply be an increase of a consecutive integer. The second basic concept is
an algorithm at the receiving side, a counter, which determines the next expected
sequence number. Normally, this number equals the sequence number of the previ-
ously received packet increased by one. The metric reordered defines if a packet is
misordered or not. The metric is false if the sequence number of the received packet
is equal to or larger than the next expected sequence number, and the counter is
then increased. If the packet identifier is smaller than the expected sequence num-
ber, the metric is true and the counter is not increased. If duplicated packets are
received, only the first packet is considered reordered. If a packet arrives with a lar-
ger sequence number than expected, this indicates a sequence discontinuity caused
by either packet loss or reordering. The size of the discontinuity is the number of
missing packets and can be computed by subtracting the expected sequence number
form the arrived packet’s identifier. Source code for calculating the named metrics
is shown in Figure 2.3.
12
2.2. METRICS
Reordered ratio stream is a sample metric to compute the ratio of reordered pack-
ets. Under a time interval, it simply divides the number of reordered packets with
the number of total packets received, excluding duplicates. This metric gives an
estimate of the percentage of reordered packets in the network. If the value is zero
there is no need to apply further reordering metrics to the stream.
The sample metric reordering extent stream defines to what extent the packets
in a stream have been reordered. The reordering extent is the distance in packets
between a reordered packet, and the earliest packet received with a larger sequence
number.
Late time stream defines the lateness of a reordered packet. By calculating
to what extent the packet has been reordered, its expected arrival time can be
compared to its real destination time, and the lateness can be computed. The sample
metric byte offset stream indicates the storage in bytes needed to accommodate the
reordered packets. The byte offset value for a reordered packet is the total payload
size of packets with a larger sequence number that arrived prior to the reordered
packet. These packets can then be buffered until the previous sequence of packets
is complete.
Reordering gaps describe the distance between reordering discontinuities and
reordering free runs define the number of consecutive ordered packets between mis-
ordered packets. The reordering metrics are particularly useful when designing
general receiver buffer systems.
2.2.8 Duplicates
When data is sent over a network connection, the receiving host usually expects
exactly one copy of each sent packet. We have already discussed packet loss, but
this passage treats the opposite occurrence: when a packet is sent, multiple copies
arrive to the receiving node. This case has not yet been standardized by the IETF
IPPM group, but an Internet draft has been published[34].
The metric one-way packet arrival count is an integer that measures the number
of identical and uncorrupted copies of a packet which are received by a measurement
node during a specified time interval. Packets are considered identical if they contain
13
CHAPTER 2. NETWORK PERFORMANCE
identical information fields and if they were sent between the same hosts. The IP
headers do not need to match, since for example the time to live, TTL, field may
vary if a duplicated packet has been routed differently. If no packet is received the
metric is undefined. The metric one-way packet duplication is similar to one-way
packet arrival count, but instead of counting the number of occurrences of a packet,
it counts the number of additional identical and uncorrupted copies received. If a
single copy of a packet is received, the metric is zero, and it is undefined if no packet
has arrived. This metric equals to one-way packet arrival count subtracted by one.
There are two proposed statistical metrics for one-way duplication. One-way
packet duplication fraction and rate gives the fraction and rate of additional packets
that arrived in a stream. The fraction is calculated by removing all packets with
undefined values of one-way packet duplication, and the difference is then divided
by the total number of packets sent and not lost. The rate is calculated similarly,
but the numerator consists of packets with one-way packet arrival count larger than
one.
14
Chapter 3
Methods
Four different measurement methods have been compared in this thesis, and the
techniques differ somewhat from each other. The evaluation has been based on res-
ults collected from the TWAMP prototype implemented in this project, Internet2’s
One-way ping, Ping and PTAnalyzer developed by Prosilient Technologies[43]. The
well known Ping utility uses the ICMP protocol to transmit its packets, and does
only calculate the round-trip time. Ping is therefore not affected by unsynchronized
clocks. PTAnalyzer collects two-way measurement data, but uses its own synchron-
ization plane, which allows it to operate independently from the system clocks.
This technique sends its traffic as UDP packets. The UDP protocol is also used by
OWAMP and TWAMP, but since these two methods rely on the system time, it is
of great importance that the clocks in the measurement nodes are synchronized.
15
CHAPTER 3. METHODS
Control- Fetch-
Client Client
The control-client is an end system which contacts the server to initiate or terminate
OWAMP-Test sessions. The server manages OWAMP-Test sessions, and configures
the measurement end points with data from the control-client. The server is also
able to return the measurement results from a session. The session-receiver and
session-sender are two end points of the test session between which test packets
are transmitted. The role of the fetch-client is to initiate requests for fetching the
results of a completed test session. One host may play several different logical
roles, and a simple setup can be achieved with only two hosts. One host acts
control-client, fetch-client and session-sender, whereas the other host acts server
and session-receiver, as shown in Figure 3.2.
Control-
Client OWAMP-
Control
Server
Fetch-
Client
Session- OWAMP- Session-
Sender Test Receiver
16
3.1. THE ONE-WAY ACTIVE MEASUREMENT PROTOCOL
3.1.1 OWAMP-Control
17
CHAPTER 3. METHODS
3.1.2 OWAMP-Test
The OWAMP-Test protocol is layered over UDP and transmits singleton measure-
ment packets between the two end points negotiated during the request-session. The
test packets contain a sequence number, a timestamp indicating when the packet
was sent, an error estimate representing the sending host’s offset to UTC and an
optional packet padding. The timestamp consists of 64 bits where the first 32 bits
are an unsigned integer indicating the number of seconds elapsed since January
1900. The last 32 bits constitute the fractions of the last second that have passed.
The test packets contain further parameters if encrypted or authenticated mode is
used. A detailed description of the packet format is shown in Appendix A.
The session-sender starts transmitting the packets according to the send sched-
ule, and upon arrival, the receiver timestamps the packets and stores the sequence
number, send time, receive time and TTL from the IP header. This data will later
be transferred back to the control-client for computation of performance metrics.
J-OWAMP
J-OWAMP[46], a Java implementation of the OWAMP protocol has been made
available by H. Verga et al. It is platform independent and does also include a web
interface where sessions can be configured and results presented visually. Another
feature of J-OWAMP is its built in NTP client, which offers direct synchronization
with an NTP server. This eliminates the need of a synchronized system clock. The
program offers single one-way test sessions and confidence test interval sessions,
where the test session is split into several intervals conducted over a longer period
18
3.2. THE TWO-WAY ACTIVE MEASUREMENT PROTOCOL
Proprietary Proprietary
protocol protocol
Control- TWAMP-
Control
Server
Client
19
CHAPTER 3. METHODS
3.2.1 TWAMP-Control
The procedure for creating test sessions is derived from OWAMP; the packet ex-
change during the connection setup looks similar to OWAMP-Control and is carried
out in the same manner. A test session is negotiated to start between a session-
sender and a session-reflector, where information about addresses, ports and security
mode is agreed upon. The session identifier is decided by the receiving side. Since
the session-reflector does not process the incoming test packets, it does not need
knowledge about the number of incoming packets or time when they were sent.
Therefore, the send schedule defined in OWAMP has been removed. The TWAMP
stop-session does not contain information about session identifiers or skip ranges,
when a stop command is received, all previously requested test sessions are dropped.
Since test packets are reflected by the session-reflector, the fetch-client is not used,
and consequently, the fetch session command has been removed.
3.2.2 TWAMP-Test
The TWAMP-Test protocol is designed similarly to OWAMP-Test, with the excep-
tion of the session-reflector, which responds with a packet for each test packet it
receives. Two different packet formats are used: the packet sent from the session-
sender is exactly the same as the test packet defined for OWAMP, containing
sequence number, timestamp, error estimate and optional packet padding. The
packet transmitted by the session-reflector contains the information from the re-
ceived packet along with its TTL, with additional timestamps and error estimate
added by the session-reflector. A detailed description of the packet format is shown
in Appendix A.
Upon arrival of a packet, the session-reflector sets a timestamp, extracts the
information from the packet, compiles a new packet and adds another timestamp
when the packet leaves the reflector. The session-reflector timestamps the packet
twice so the time for processing the packet is accounted for, and then removed when
computing the wire time in the control-client. The session-reflector must transmit
a response as immediately as possible when a test packet is received.
20
3.3. REFERENCE METHODS
If there is a need of injecting further information into the test stream, additional
data may be inserted as packet padding by the control-client or session-sender. A
suggested expansion[53] of the protocol introduces padding reflection, where the
session-reflector returns a number of unassigned bits back the session-sender.
3.3.1 Ping
Ping[8] is a well known utility which is included in almost every operating system.
It is often used for determining if a host is properly connected to the network as
well as the round-trip time to that host. Ping uses the Internet Control Message
Protocol, ICMP, for sending its packets. The source host sends an ICMP packet
of type 8, echo request, to the destination, which responds with an ICMP packet
of type 0, echo reply[54]. The ICMP packets contain a sequence number, and by
timestamping when packets are sent and replies are received, the round-trip time
can be calculated. Depending on the implementation, the number of lost packets
and duplicates is reported. Although Ping is widely used, it is a bad way to measure
delays. ICMP packets are often treated differently than for example UDP packets,
and may be rate limited in a router. Many devices also refuse to reply to an incoming
echo request for security reasons.
3.3.2 PTAnalyzer
The PTAnalyzer, developed by Prosilient Technologies[43], is a system for network
supervision and end-to-end performance management. It provides both passive and
active measurements, but focuses on active performance tests by injecting config-
urable traffic types into a network. The system architecture is partitioned into a
control plane, a measurement plane and a synchronization plane. Instead of connect-
ing the measurement probes to an external time source, the nodes are synchronized
by a patented software solution.
21
Chapter 4
controller responder
Control-
Client
Session- TWAMP- Session-
Sender Test Reflector
23
CHAPTER 4. IMPLEMENTATION AND RESULTS
Input to the controller is the address to the destination host, number of packets to
send, and a periodic sampling interval between the packets. Once started, the packet
transmitter is forked into a separate process, and sends the TWAMP-Test packets
according to the input parameters. When the sender process is finished, its exit
signal is registered and a timeout of three seconds is set to wait for delayed packets.
Thereafter, the session-sender terminates and reports the results to the control-
client. The session-reflector performs as specified by the TWAMP-Test protocol. It
listens for incoming packets on a specified port and sends a response upon the arrival
of each test packet. TWAMP Light without a control protocol is not as dynamic
as an implementation in compliance with the complete TWAMP standard. This
project focuses however on the measurement method itself, and not on the setup of
the latter, thus TWAMP Light is a good choice for evaluation.
Based on the test packets received by the session-sender, the control-client com-
putes two-way performance metrics. The delay in each direction is reported, along
with the packet loss, reorder, and number of duplicated packets.
4.2 Evaluation
Evaluating delays in a wide area network is a difficult task since it is hard to find
good reference values. The most accurate approach is to provide each test site with
a reliable external clock, such as an atomic clock or a GPS receiver. These solutions
are costly, and other less expensive procedures were used to verify the implement-
ation. Several tests were carried out in two different environments to evaluate the
measurement techniques. The first setup consisted of two hosts in a separated net-
work, interconnected through a third computer which acted as a network emulator.
In the second setup the two hosts were placed at different locations in Stockholm
and the test traffic was routed over the Internet. The test probes were running
Fedora 8 with a customized 2.6.24 Linux kernel on an Intel Pentium Celeron pro-
cessor at clock speeds of 600 MHz and with 256 megabytes of RAM. An NTP server
located at KTH[55] in Stockholm was used for all measurements. The system clocks
were synchronized every minute for optimal accuracy[56].
24
4.2. EVALUATION
be able to decide an exact percentage of loss, duplication and reorder for a specified
window size of transmitted packets. The evaluation with Netem does unfortunately
not provide this feature, but running the test sessions over a long period of time
makes the results more reliable.
Five separate one hour test sessions were carried out. During each session,
TWAMP, One-way ping, PTAnalyzer and Ping ran in parallel, all methods used test
streams with 100 packets per second. In the first four test sessions, Netem emulated
one of the four properties delay, loss, duplication and reordering individually, since
the properties might have influence on each other. During the last test session,
all four properties were activated simultaneously. Netem’s emulation of delay was
activated in both directions, but further metrics were only emulated on the reverse
path between the two measurement nodes.
The emulator configuration was set to 20% loss rate and 15% duplication rate.
The delay on the forward path was set to 50 milliseconds, and 100 milliseconds on
the reverse path. The reordering was set to 100% gap 100. This setting causes
every 100th packet to be sent immediately, and all other packets were delayed as
usual, in this case with 100 milliseconds. The test setup is shown in Figure 4.2.
Delay: 50ms
Delay: 100ms Netem
Loss: 20%
Duplicate: 15%
Reorder: 100% gap 100
Probe A Probe B
Figure 4.2. Probe A, the controller, sends TWAMP-Test packets to probe B, the
responder, which are reflected back. The emulator adds 50 milliseconds delay on the
forward path, and adds 100 milliseconds delay together with the remaining metrics
on the reverse path.
25
CHAPTER 4. IMPLEMENTATION AND RESULTS
During the second experiment, the different techniques were evaluated between two
hosts in Stockholm interconnected through the Internet. Test site A was connec-
ted through Telia and test site B had Bredbandsbolaget as ISP, the two hosts were
separated by 10 hops. The quality of the two connections differed; the host at Bred-
bandsbolaget had a round-trip time to the NTP server of about 1.5 milliseconds,
while the round-trip time between the host connected to Telia and the NTP server
was 11 milliseconds. Different NTP servers were evaluated, but the difference was
about the same or worse, and the tests were carried out with the initial setup.
Three different tests were performed, and similarly to the previous test sessions
with the network emulator, all four measurement tools ran simultaneously. During
the first test session, no other traffic was deliberately injected into the network.
However, the Internet connection at site A was shared with others, which unfortu-
nately lead to a wide margin of error. During the second test session, the outgoing
bandwidth from site A was strained by sending file transfers to another host, and
during the third session, the incoming bandwidth to site A was used. The test setup
is shown in Figure 4.3.
The duration of the tests was reduced to 1 minute per test session, but each
session was performed ten times in order to characterize a more accurate average
of the metrics. Since the bandwidth at site A was allocated to file transfers during
the second and third test sessions, the NTP packets were delayed and the resulting
measurement data was worthless. Therefore the system clock was synchronized
before the test sessions began, and the NTP daemon was shut down during the
sessions. The sessions were kept short due to skew.
Internet
Session 2
Session 3
Probe A Probe B
Figure 4.3. Probe A, the controller, sends TWAMP-Test packets routed over the
Internet to probe B, the responder, which are reflected back. During sessions 2 and
3, the bandwidth at site A was used for file transfers in the outgoing respectively
incoming direction.
26
4.3. RESULTS
4.3 Results
The outcome of the test sessions show that the different methods for measuring per-
formance metrics behaved similarly. This section describes the results and discusses
why some deviations occurred.
Individual Tests
The results of the individual test sessions, shown in Table 4.1, turned out as expected
with exception for the duplication rate and the reorder rate reported by Owping.
While the network emulator was adjusted to send duplicated packets with a
ratio of 15%, Netem computes the percentage based on the number of real pack-
ets it receives. The performance metric applications, on the other hand, compute
the percentage based on the total number of packets received, i.e. both real and
emulated packets, which leads to a lower, but correct percentage.
The reorder metric was set to send every 100th packet immediately, and all other
packets were delayed by 100 milliseconds. When a packet is sent immediately, it
starts a sequence discontinuity, which in this case lasted for 100 milliseconds until
the packet stream had catched up. Since the packet rate was set to 100 packets
per second, approximately 10 packets passed the network emulator until the stream
was in order. After another 90 packets, the sequence starts all over again. This
causes 10 out of 100 packets (10%) to be reordered. The Ping utility does not
report reorder, and surprisingly, One-way ping only considers the early packet as
reordered. Consequently it reports 1 packet out of 100 as reordered.
The mean delays vary somewhat, but none of the tools deviate more than 1.2
milliseconds from the reference value, and their relative deviation is less than 0.7
millisecond. The average round-trip time between the hosts without any emulation
activated was approximately 0.8 millisecond.
Table 4.1. Emulation of one metric at a time using Netem. 1w refers to the delay
of the forward path, 2w refers to the delay of the reverse path.
27
CHAPTER 4. IMPLEMENTATION AND RESULTS
Complete emulation
All emulated metrics were applied simultaneously during the complete test session.
The results are shown in Table 4.2. Combining packet loss and duplication had an
obvious influence on each other. The results were not as close to Netem’s values
as when only a single metric was emulated. All applications reported however
approximately the same differences which must be interpreted as the measurements
were still accurate. The PTAnalyzer system reported a slightly lower percentage of
reordered packets. This method does however not remove duplicated packets from
the calculation, which leads to a lower ratio. The mean delay on the reverse path
was slightly less than previous sessions, which can be explained by the reordering
where every 100th packet was sent immediately.
Table 4.2. Emulation of all metrics simultaneously using Netem. 1w refers to the
delay of the forward path, 2w refers to the delay of reverse path.
28
4.3. RESULTS
lucky packets that experience minimum delay and packets that are queued up in a
buffer is expected.
The results from the measurements in session 3 did not show the same deviations,
and according to the delays, the link capacity was not used to the same extent as
in session 2. This can be explained by the asymmetric Internet connection at site
A, which made it easier to fill the bandwidth in the outgoing direction.
The values from session 1 have to be considered reliable as the reported variance
is low. The deviation between the tools exceeds 1 millisecond on one occasion only.
These values were more accurate than expected, and within the 95% confidence
interval only sub millisecond deviations were reported. The measurements during
session 1 were carried out carefully with consecutive updates from the NTP server
before each test, to make sure the shared Internet connection was used to the least
extent. These updates might however have had a negative influence on the results
from the PTAnalyzer system. The PTAnalyzer does not rely on external time
sources, but still uses the system clock during the synchronization phase. Resetting
the local time on the probes to UTC repeatedly may have deteriorated the accuracy
of the system.
The measurements reported by the Ping application did not differ as much as
expected; although ICMP is often treated differently than other protocols, the values
were of the same magnitude. The results from session 2 and 3 clearly show why
round-trip time should not be used for delay measurements, as it is impossible to
distinguish in what direction the bottleneck has occurred.
Many different factors have influenced these results, and they form a vague basis
for giving an opinion about the methods. The bandwidth used at one of the test
sites has been shared, and not solely dedicated to performance measuring. The
three measurement sessions were performed on different occasions and the band-
width used by others may have varied from time to time. The skew of the system
clock might also have been an issue.
Table 4.3. Delay results (ms) with 95% confidence intervals from the Internet test
sessions. 1w refers to the forward path, 2w refers to the reverse path.
29
Chapter 5
The goal of the IETF IPPM work group has been to introduce a new interoper-
able measurement standard. Apart from specifying how measurement tools can
be designed, the performance metrics themselves have been standardized. This is
equally important, since values reported by different protocols can now be com-
pared, provided that the different tools use the same metrics.
5.1 Discussion
One problem identified with the TWAMP test protocol is that it sends differently
formatted packets in different directions. Larger packets require greater amount
time to be transmitted over a network, and differently sized packets introduce un-
certainty into the measurement. A comparison between the two packet formats is
shown in Appendix A. To achieve equally sized packets in both directions, packet
padding must be used when transmitting the packet from the session-sender. The
padding must then be reduced or removed from the reflected packet since its data
payload is larger. A more sound approach would have been to use similar packets in
both directions and fill the unused bits with randomized data. This comment was
e-mailed to the Internet Engineering Steering Group during a review of a TWAMP
draft, and two paragraphs treating this problem was inserted into the next version
of the draft.
A minor but questionable detail in the OWAMP and TWAMP protocols is the
format of the timestamp. The first 32 bits represent the number of seconds elapsed
since January 1900. When requesting the local time on a Unix system, the number of
seconds elapsed since 1970 is returned. Converting this timestamp into OWAMP’s
format is an unnecessary source of error.
Another problem with the TWAMP protocol is that it relies on the test protocol
to report the results back to the session-sender. In OWAMP, the results of a one-way
test session are transmitted by the control protocol using TCP. TWAMP merges the
results from the forward path into the reflected test packets transmitted over the
UDP protocol. If a TWAMP-Test packet is lost, there is no way of distinguishing on
31
CHAPTER 5. SUMMARY AND CONCLUSION
which path the packet loss occurred, and the measurement data in both directions
becomes inaccessible.
If TWAMP Light is used without a control protocol, the sequence number of
a reflected packet is directly copied from the packet sent by the session-sender.
This means that no distinction between the forward and reverse path can be made
concerning reordering or packet duplicates.
An interesting feature of Internet2’s One-way ping is that it automatically starts
an OWAMP session in each direction, allowing performance metrics of the two
paths to be reported independently. We name this approach Two-way OWAMP,
TWOWAMP, and consider this more reliable than TWAMP. However, the current
Internet2 implementation uses completely different ports for the two test sessions,
which may lead to incoming packets being blocked by a firewall. The TWAMP
specification states that the same port must be used for sending and receiving test
packets, and although UDP is used, a connection is established which may facilitate
the traversal through a firewall. A drawback with the One-way ping application is
that it only presents the minimum, median and maximum delay of the packets. In
order to present the average value, a program setting to report each packet delay
individually was activated, and a script was compiled to compute the average delay.
There is a security related problem concerning the OWAMP and TWAMP proto-
cols and measurement servers may be exploited to participate in a Denial of Service,
DoS, attack. Public measurement nodes will typically offer some of their bandwidth
to perform test sessions. Setting up streams of measurement packets between pub-
lic nodes and an unsuspecting host, may lead to allocating the host’s resources,
rendering it unusable. This is especially true for TWAMP Light where the source
address of the UDP test packets can easily be spoofed, forcing all packets to be
reflected to another party. To prevent this, the default behaviour of the OWAMP
and TWAMP servers is to only accept test connections when the receiving address
belongs to the server or to the host which setup the control-session. This security
measure is not available in TWAMP Light. Limiting the usage of resources such
as bandwidth and memory on a test server is also important. Otherwise the server
itself could become the target of a DoS attack.
The most difficult part when performing active end-to-end measurement is the
timing estimation. More precisely, the timestamping of packets and the synchron-
ization between the end points. Publicly available solutions such as TWAMP are
designed to work on many different end systems, without the need of special hard-
ware or a customized system kernel. These solutions often rely on time updates
received from an NTP server. Depending on the requirements of the measure-
ment, the accuracy of NTP may be sufficient. If the delay on the measured link
is on the order of hundreds of milliseconds, inaccuracy of a few milliseconds might
be acceptable. One must also remember that it is not always latency that is of
primary interest. Several performance metrics have been discussed and their values
are reported independently of the clock offset.
32
5.2. IMPROVEMENTS AND RECOMMENDATIONS
5.3 Conclusion
In this report we have examined the field of active network performance meas-
urement. We have presented notions and metrics for measuring the quality of IP
networks and we have implemented parts of the upcoming TWAMP standard. The
implementation presented in this work has been evaluated by comparing it to three
other active measurement tools. The evaluation was performed in a separated net-
work environment where the properties latency, loss, reorder and duplication were
emulated. Test sessions where traffic was routed over the Internet have also been
performed.
The results from the experiments in the closed network environment show that
the latency reported by the TWAMP software deviated approximately 0.8 milli-
second from the emulated values. The true deviation in each direction can however
be computed to about 0.4 millisecond, since the actual link delay of 0.8 millisecond
is not taken into account by the network emulator. The relative latency between
the different measurement tools differed by less than 0.7 millisecond. The remaining
metrics reported by the TWAMP implementation showed a loss deviation of 0.04
percentage points, a duplicate deviation of 0.03 pp and a reorder deviation of 0.56
pp, compared to the emulated reference values. As explained in this report, the net-
work emulator uses statistical distributions, and deviations of this small magnitude
are difficult to avoid.
The evaluation over the Internet did also include some uncertainties; the band-
width at one of the end-points was not solely dedicated to test traffic, nor did this
session allow a preset reference value. Multiple measurements were performed and
a 95% confidence interval was calculated. With available bandwidth, the variance
within the confidence interval was less than 0.2 millisecond for each measurement
tool, and no more than 0.5 millisecond among themselves. The variance of the
TWAMP implementation was 0.16 respective 0.13 millisecond in each direction.
When traffic was deliberately injected into the network to fill up any available
33
CHAPTER 5. SUMMARY AND CONCLUSION
34
Bibliography
[1] Cisco Systems, White Paper: Cisco Visual Networking Index - Forecast and
Methodology 2007-2012, June 2008.
[2] The Cooperative Association for Internet Data Analysis web page, last visit
2008-10-01.
http://www.caida.org/
[5] Cottrell, L. et al. Web reference Comparison of some Internet Active End-
to-end Performance Measurement projects last visit 2008-10-01.
http://www.slac.stanford.edu/comp/net/wan-mon/iepm-cf.html
[8] Muuss, M. Web reference The Story of the PING Program, last visit 2008-10-01.
http://ftp.arl.mil/~mike/ping.html
35
BIBLIOGRAPHY
[12] Cottrell, L. Web reference Network Monitoring Tools, last visit 2008-10-01.
http://www.slac.stanford.edu/xorg/nmtf/nmtf-tools.html
[13] The Internet Engineering Task Force web page, last visit 2008-10-01.
http://www.ietf.org
[15] Paxson, V. et al. IETF RFC 2330, Framework for IP Performance Metrics,
May 1998.
[20] National Physical Laboratory. Web reference GPS Time Server, last visit
2008-10-01.
http://www.ntp-time-server.com/gps-time-server/gps-time-server.
htm
[22] NIST IEEE 1588-2002 Standard for a Precision Clock Synchronization Protocol
web page, last visit 2008-10-01.
http://ieee1588.nist.gov/
36
[26] Mahdavi, J. & Paxson, V. IETF RFC 2678, IPPM Metrics for Measuring
Connectivity, September 1999.
[27] Almes, G. et al. IETF RFC 2680, A One-way Packet Loss Metric for IPPM,
September 1999.
[28] Koodli, R. & Ravikanth, R. IETF RFC 3357, One-way Loss Pattern
Sample Metrics, August 2002.
[29] Almes, G. et al. IETF RFC 2681, A Round-trip Delay Metric for IPPM,
September 1999.
[30] Almes, G. et al. IETF RFC 2679, A One-way Delay Metric for IPPM,
September 1999.
[31] Chimento, P. & Demichels, C. IETF RFC 3393, IP Packet Delay Variation
Metric for IP Performance Metrics (IPPM), November 2002.
[32] Claise, B. & Morton, A. IETF Draft, Packet Delay Variation Applicability
Statement - draft-ietf-ippm-delay-var-as-01, July 2008.
[33] Morton, A. et al. IETF RFC 4737, Packet Reordering Metrics, November
2006.
[36] Stephan, E. et al. IETF Draft, IP Performance Metrics (IPPM) for spatial
and multicast - draft-ietf-ippm-multimetrics-08, September 2008.
[37] Chimento, P & Ishac, J. IETF RFC 5136, Defining Network Capacity, Feb-
ruary 2008.
[41] ITU-T, Recommendation G.107, The E-model, a computational model for use
in transmission planning, May 2000.
[42] Walker, J, NetIQ Corporation White Paper, Assessing VoIP Call Quality
Using the E-model, 2002.
37
BIBLIOGRAPHY
[44] Shalunov, S. et al. IETF RFC 4656, A One-way Active Measurement Pro-
tocol (OWAMP), September 2006.
[48] Java Client for OWAMP web page, last visit 2008-10-01.
https://wiki.internet2.edu/confluence/display/GSoC/soc2008-owamp
[51] Morton, A. IETF Draft, Independent Session Control Feature for TWAMP
- draft-morton-ippm-twamp-session-cntrl-00, July 2008.
[52] Hedayat, K. & Morton, A. IETF Draft, More Features for TWAMP -
draft-morton-ippm-more-twamp-02, July 2008.
[53] Ciavattone, L. & Morton, A. IETF Draft, TWAMP Reflect Padding Fea-
ture - draft-morton-ippm-twamp-reflect-padding-00, July 2008.
[54] Postel, J. IETF RFC 792, Internet Control Message Protocol, September
1981.
38
Appendix A
This document describes the different types of test packets transmitted by the
OWAMP[44] and TWAMP[49] test protocols in unauthenticated mode.
Timestamp
Error Estimate
Packet Padding
39
APPENDIX A. FORMAT OF TEST PACKETS
Timestamp
Receive Timestamp
Sender Timestamp
Packet Padding
40
Appendix B
This document presents the delay measurements from the Internet test sessions.
1w refers to the delay of the forward path, 2w refers to the delay of the reverse path.
41
APPENDIX B. INTERNET TEST SESSIONS
42
TRITA-CSC-E 2009:038
ISRN-KTH/CSC/E--09/038--SE
ISSN-1653-5715
www.kth.se