RTTometer: Measuring Path Minimum RTT with Confidence

advertisement
RTTometer: Measuring Path Minimum RTT with Confidence
Amgad Zeitoun
Zhiheng Wang
Sugih Jamin
Department of Electrical Engineering and Computer Science,
The University of Michigan, Ann Arbor
{azeitoun,zhihengw,jamin}@eecs.umich.edu
Abstract— Internet path delay is a substantial metric in determining path quality. Therefore, it is not surprising that RTT
plays a tangible role in several protocols and applications, such as
overlay network construction protocol, peer-to-peer services, and
proximity-based server redirection. Unfortunately, current RTT
measurement tools report delay without any further insight about
path condition. Therefore, applications usually estimate minimum
RTT by sending a large number of probes to gain confidence in
the measured RTT. Nevertheless, large number of probes does not
directly translate to better confidence. Usually, minimum RTT
can be measured using few probes. Based on observations of
path RTT presented in [1], we develop a set of techniques not
only to measure minimum path RTT but also to associate it with
confidence level that reveals the condition on the path during
measurement. Our tool, called RTTometer, is able to provide
confidence measure associated with path RTT. Besides, given a
required confidence level, RTTometer dynamically adjusts the
number of probes based on path’s condition. In this paper, we
describe our techniques implemented in RTTometer and present
our preliminary experiences using RTTometer to estimate RTT
on various representative paths of the Internet.
I. I NTRODUCTION
Internet path delay is one of the substantial metrics in
determining path quality. Path delay, either one-way time or
round-trip time (RTT), is often used to indicate “distance”
between hosts and estimate the proximity of Internet hosts. It
may also indicate the expected performance of an application
that uses network as a transport medium. For example, the
throughput of TCP (Transport Control Protocol) is partly
dependent on the round-trip time between communicating
hosts [2], [3]. Therefore, shorter RTT usually indicates smaller
service time, i.e., faster transfer rate. Furthermore, Internet
RTT is highly correlated with geographical distance; in fact,
GeoPing [4] exploits the correlation between geographic
distance and RTT to determine IP’s geographic location. It
maps an IP address into a geographic location by measuring
RTT from multiple points on the Internet.
Even though the primary goal of Internet architecture is
not to facilitate performance measurements between endhosts [5], several tools to measure RTT exploit features in
the IP protocol. One of the common tools to measure path
RTT is ping. The tool works by sending an ICMP (Internet
Control Message Protocol) packet, usually called a probe,
which forces end-host to elicit a reply message. The RTT,
then, is the elapsed time between the sending of the ICMP
packet and the recipient of the reply. The main goals of ping
are two folds. First, it is often used by operators to determine
host reachability. Second, it provides a way to observe the
dynamics of the RTTs along a path to determine any path
anomalies. Besides, ping reports the RTT of each probe and
it briefly provides statistics on probes (e.g., minimum, average,
and maximum RTTs) as well as probe losses. Due to the
preferential treatment of ICMP packets by different routers
and hosts, other flavors of ping-like tools have emerged. All
these tools, however, follow the same philosophy of the ping
tool in measuring and reporting delays with minimal statistics.
Services that use RTT probes as a regular routine to enhance
their performance [6], [7], [8], [9], [10], [4], such as, service
mirroring, distributed games, peer-to-peer applications, and
measurement infrastructures have been proliferated nowaday.
These services and applications usually require estimating
minimum path RTT between hosts. The accuracy, or, confidence, of the measured path RTT is critical to their operational
performance. To achieve certain level of confidence in their
measured path RTT, these services usually send a large number
of probes. For example, some services even send 220 probes
to estimate minimum RTT! These services, however, select
the value of a single probe among all these probes (e.g.,
minimum RTT) to reflect the property of the path. They often
do not make use of the information provided by the remaining
probes. Therefore, the main motivation to justify sending these
large number of probes is to add confidence to the captured
minimum RTT. Even with these large number of probes, no
service has shown the confidence in the captured minimum
RTT or the justification for the number of probes chosen.
In this paper, we present RTTometer, a tool to estimate
the minimum RTT of a path with an associated confidence
measure. RTTometer provides the same functionality of the
ping and other ping-like tools, but it differs in several ways.
First, RTTometer uses TCP probes instead of ICMP probes.
Second, other than the basic statistics for probes, it provides
a measure of accuracy, i.e., confidence, associated with the
minimum RTT observed along the path. The associated confidence takes into account the condition on the path during
RTT measurement (e.g., congestion and route change); therefore, it uses the information provided by all probes. Finally,
RTTometer dynamically determines the number of probes
required to capture the minimum RTT with a given accuracy.
An application can determine the tolerable error range and
the confidence measure according to its requirements. Our
philosophy comes from the belief that there is no general
solution that fits all applications, but rather, each application
can determine the best number of probes required to achieve
a given accuracy in the measured RTT. Even for the same
path the required number of probes needed to capture RTT
may change according to the path’s condition, e.g., congestion
level.
RTTometer is potentially useful for applications that rely
on measuring path RTT as a regular routine of their operation.
Specifically, these applications that depend on measuring minimum RTT of a path. The minimum path RTT is a property
related to the topology of the network rather than the load of
the network, hence it is of most interest to applications and
services that are sensitive to network topology. Potential use
of RTTometer is in the field of overlay network such as
Content-Addressable Network (CAN) [6], peer-to-peer applications such as Napster [17], various multiplayer game servers
such as Gamespy [18], end-to-end Internet distance estimation
services such as GNP [8] and IDMaps [9], geographical IP
mapping services such as GeoPing [4], or end-host multicast
applications such as Narada [10] and HMTP [7]. All these services and applications rely on measured RTT as a fundamental
tool to determine the location of an Internet host relative to
one or more measurement points. Inaccurate measured RTT
would result in performance degradation in these applications.
The rest of this paper is organized as follows. In Section II,
we present the set of measurement concepts and techniques
used in RTTometer. We, then, describe the design and
implementation of our tool in Section III. We present some
preliminary experiences studying a large number of paths
on the Internet and provide general observations in Section
IV. We briefly summarize several related work in Section V
Finally, the paper concludes in Section VI with final remarks.
II. RTTOMETER C ONCEPT
The concept of RTTometer tool is based on observations
developed in [1], where authors identified several challenges in
capturing the minimum RTT. This paper, however, addresses
the issue of implementing a tool for operational networks. It
provides a better approach in calculating the confidence of the
measured minimum RTT, and empirically tests this tool on a
large number of paths on the Internet. Estimating the minimum
RTT along a path requires sending a number of probes, K,
with inter-probe interval of τ time units. The probing period,
thus, lasts for L time units, where L = Kτ . There is a set
of challenges that face the process of measuring minimum
path RTT, namely, self-interference, persistent congestion, and
route changes. Self-interference occurs when the inter-probe
interval τ is too small, the rate at which probe packets are sent
may be high that they queue up behind each other. Persistent
congestion makes all probes sent during the measurement
period L experience queueing delays or some losses; the
captured RTT, then, would not represent the minimum RTT
of the path. Finally, route change is another factor that may
change the value of the measured RTT and, hence, can be
misinterpreted as persistent congestion.
In [1], authors studied the effect of each controllable parameter, K, τ , and L on the accuracy of the measured RTT.
For example, K determines the amount of traffic required by
II
III
e
I
II
e
Fig. 1.
An example of a phase-plot showing different congestion regions.
the measurement process, and the choice of τ can avoid selfinterference. In addition, they developed a technique to detect
inaccuracies in the measured RTT due to congestion and route
changes (uncontrollable factors). So, not only the minimum
RTT of a path is measured but also a confidence level, which
reflects the congestion condition along the path, is provided
to indicate how strong is the estimated minimum RTT.
A. Phase Plot
RTTometer’s main mechanism depends on the use of the
phase-plot technique described in [11]. Given a set of RTT
measurements, the phase-plot shows the correlation between
two adjacent measurements. In a phase-plot, the x-axis ticks
represent RT Tn and the y-axis ticks represent RT Tn+1 , where
n and n+1 are indices of consecutive probes. Fig. 1 shows
an example of a phase-plot. For probes that see an empty
queue, the experienced delay for each probe is RT Tn+1 =
RT Tn = p + ε, where p is the propagation delay of the
path and ε represents some random delay due to media access
contention, router processing overhead, ARP resolution, etc.
We discuss how to estimate ε in Section II-B. If there are
no queueing delays experienced by the probes then delays
are clustered around the point of value p1 at the bottom left
corner of the phase-plot. When a probe packet experiences
queueing delay, the corresponding data point in the phase-plot
deviates from p. Self-interference happens when inter-probe
interval is small such that probes start to queue behind each
other [11]. If two or more adjacent probes are queued behind
each other, then RT Tn+1 = RT Tn − τ , where τ is the interprobe interval. With the concept of laying points on the phaseplot, RTTometer uses techniques described in [1] to detect
self-interference.
B. Detecting Congestion and Route Change
Other than self-interference, RTTometer needs to detect
the condition of the network during measurement, mainly congestion and route changes. Minimum path RTT may change
due to congestion or route change conditions on the measured
path. Different applications may react differently when the
change in minimum RTT is due to one or the other of
1 Transmission
delay is negligible due to small probe size.
these causes. Therefore, RTTometer provides a confidence
level associated with the minimum RTT; based on that the
application decides according to its requirements.
The notion of congestion regions and congestion components are introduced in the phase-plot to capture network
dynamics during RTT measurement. In a phase-plot of a
given measurement period there are three congestion regions
as shown in Fig. 1:
a) Region I contains probe pairs that see empty queues and
experience minimum RTT plus minor random overheads
ε due to media access contention, router processing
overhead, etc.
b) Region III contains probe pairs that always see a queue.
This is the region of persistent congestion.
c) Region II contains probe pairs where one of the probes
experiences queueing delay but the other does not, i.e.,
there is a transition in congestion state between adjacent
probes. This is the region of transient congestion.
The congestion regions are determined based on two values,
the minimum RTT and ε. The minimum RTT determines the
bottom left corner of region I, while ε delimits the boundaries
of regions I, II, and III. The setting of ε accommodates for
a marginal error of the measured minimum RTT. In addition,
on a non-congested path, region I should contain most of the
points, and hence the most frequent value of the measured
RTT. Therefore, ε is equal to the size of a window around the
most frequent values of the RTT observed on a non-congested
path (i.e., the statistical mode). This also implies that the
window size is double the distance between the minimum RTT
and the mode RTT.
Given a trace of RTT measurements over a path, to detect
the congestion level of the measured path, RTTometer
computes the distribution of data points in the three regions of
the phase-plot. Assume that the value of minimum RTT on the
path is minRTT. Point pi = (RT Ti , RT Ti+1 ) is in region I
if RT Ti ≤ (minRT T + ε) and RT Ti+1 ≤ (minRT T +
ε). A point is in region II if M AX(RT Ti , RT Ti+1) >
(minRT T +ε) and M IN (RT Ti, RT Ti+1 ) ≤ (minRT T +ε).
Finally, a point is in region III if RT Ti > (minRT T +ε) and
RT Ti+1 > (minRT T + ε). Given N points in the phase-plot,
the computation of congestion component CI is:
CI =
N
1 X
1
1
×
, where
N p ,i=1 △(RT Ti ) △(RT Ti+1 )
(1)
i
△(x) =
1
T
⌈ x−minRT
⌉
ε
: x = minRT T
: x > minRT T
For all points in region II, the computation of congestion
region CII is:
X
1
1
],
CII = [K −
N
△(M AX(RT Ti, RT Ti+1 ))
pi ∈region II
(2)
where K is the number of points in region II. Finally, for
all points in region III, the computation of congestion region
CIII is:
CIII =
1
[M −
N
X
pi ∈region III
1
1
×
], (3)
△(RT Ti ) △(RT Ti+1)
where M is the number of points in region III.
Since each point in the phase-plot represents two consecutive measurements of path RTT, the calculation of CI , CII ,
and CIII depends on the value of both RTTs for each point.
The closer the RTT value to region I the more weight it has.
Different than the approach followed in [1] in calculating CI ,
instead of assigning weight of 1 to each point in region I
and 0 otherwise, in equation (1) each point in the phase-plot
contributes to the value of CI , the closer the point to region
I the more weight it adds. In the current approach, we divide
the phase-plot into squares, where each square has a height
and width of value ε, and the bottom left square is region I.
Given a value of RTT, function △(·) calculates the distance
between this RTT and minRT T in terms of the number of
squares, e.g., if RT T ≤ (minRT T + ε), the distance is 1.
For each point in the phase-plot, the distances of its RTTs are
used to calculate its weight. The maximum weight a point can
add is 1 (when the point is within region I). The weight of
a point is calculated by multiplying the inverse of its RTTs’
distances. Therefore, a point close to region I has more weight
than a point that is further away. Therefore, CI indicates the
confidence level in the measured RTT (e.g., if all points are
in region I, CI equals to 1) and CIII indicates the condition
on the path during measurements.
A reported minimum RTT along with a large value of CIII
may indicate either persistent congestion or route change.
To distinguish between the two cases, RTTometer provides
the number of lost probes in addition to the reported Cj ’s,
j = I, II, and III. Given the fact that some probes get
lost due to path congestion, an application can determine
whether the change is due to congestion or route change.
That is, applications should consider probe losses to signal
for congestion even if CI is high.
C. Summary
We briefly summarize some of the main conclusions in [1]
regarding the RTT measurement process.
• Inter-probe interval has minimum effect on the accuracy
of the captured minimum RTT. The inter-probe interval
τ can be set to a reasonable value that does not cause
self-interference among probes.
• Given a small error range, i.e., ε, minimum RTT of a
path can be captured for a stationary non-congested path
with a few number of probes.
• To minimize the effect of route changes on the measured
minimum RTT, the choice of the measurement period
L should be small enough that the probability of route
change occurring during this period is small (one minute
or less).
By leveraging the findings in [1], we develop the measurement tool, RTTometer, to estimate the minimum path RTT
with certain confidence level. In the subsequent sections we
present our implementation and experiences of RTTometer.
III. I MPLEMENTATION I SSUES
In this section we outline our implementation for
RTTometer. RTTometer does not require any changes on
the receiver’s side. Similar to ping and other ping-like tools,
it elicits replies from target hosts by exploiting protocol’s
semantics. Due to the limitations and disadvantages of ICMP
probes [12] (mainly, due to security concerns and preferential treatment at routers), RTTometer uses TCP probes to
measure RTT, often called TCP ping. The mechanism of TCP
ping was introduced in previous studies [13], [14], and it has
been evaluated in [1]. To measure RTT between a source and
a target host using TCP ping, the source sends a TCP SYN
packet to the target. The time elapsed until a TCP SYN-ACK
or RST packet returns from the target is the RTT. RTTometer
uses raw socket to send TCP probes and intercepts the replies
through packet sniffing using libpcap [15]. The timestamps of
packets captured by libpcap are used to indicate the send and
receive time of probes and probe replies, respectively. The RTT
is, then, the difference in timestamps between the probe reply
and the probe. In addition, we choose not to suppress the TCP
replies that emerge from the source host’s operating system.
For example, let’s imagine the scenario where RTTometer
sends a SYN request to the target host and the target host
replies with a SYN-ACK. RTTometer captures the reply
packet through libpcap and another copy is delivered to the
operating system’s TCP stack, which subsequently replies with
a RST packet because there are no states for the received
packet. We decided to leave this behavior as it helps to
guarantee that the connection at the target machine is not left
in a half-open state, just a matter of being courteous.
There are two main modes of operation for the
RTTometer. The first mode is used to estimate the value
of ε of a given path. In this mode, RTTometer sends a
number of probes and estimates the value of ε as double
the distance between the minimum and mode RTTs observed
from these measurements. Preferably, the number of probes
is large enough so that the mode RTT is statistically strong.
RTTometer reports the number of probes lost and the values
of Cj , j = I, II, and III, a user should take the lost probes
and the values of congestion regions into consideration when
estimating the value of ε. Estimating ε during congestion
periods may introduce errors in the estimated value. Should
a user experiences congestion while estimating ε (packet loss
and CIII are used to indicate congestion), a user is advised
to repeat the estimation some time later.
The second mode of operation is the minimum RTT estimation of a path. In this mode a user specifies the maximum
number of probes to be sent and may specify the value of ε
and the value of the confidence required (i.e., the threshold
on CI ). The default value of ε is 2, 4, or 6 ms based on
the path minimum RTT (see Section IV-B) with a confidence
level of 0.8. RTTometer starts sending probes and calculating
the value of congestion regions. The probing routine stops
when the required value of confidence has been reached for
a given value of ε, or when the maximum number of probes
is reached. In either case, RTTometer reports the minimum
RTT captured along with the values of CI , CII , and CIII .
In addition, the number of probes lost, 10-percentile, 25percentile, median, mode, 75-percentile, 90-percentile, and the
maximum of the observed RTTs are reported.
In both modes, user can specify the inter-probe interval
(minimum value is 10 ms and the default value is 500 ms).
Besides these parameters, a user can set the timeout value
for probes. If RTTometer does not receive a reply to a
probe within a timeout time units, the probe is considered
lost (default value is 3 seconds). In addition, a user can also
specify the port number of the TCP probes (default is port 80).
Finally, the value of the Time-To-Live (TTL) of the probes can
be specified. This allows RTTometer to measure the RTT to
a given hop along a path without addressing the probes directly
to that node (useful for probing routers along a path).
IV. E XPERIENCES
In this section, we present some preliminary observations
from a broad set of experiments to measure the delay on
different paths. First, we study the characteristics of the
distance between the mode RTT and the minimum RTT of
a path, which is used to determine ε. We then discuss the
issue of estimating ε from the operational point-of-view. Our
main motivation is to understand whether the estimation of
ε needs to be done quite frequently, or there is a reasonable
default value for ε. Finally, we look at the dynamics of the
number of probes required to capture the minimum RTT along
a path with a specific setting of ε and at a given confidence
level.
A. Observations on Mode RTT
In this experiment we study the behavior of path RTT.
Specifically, we are interested in studying the distribution of
the RTT and how close the mode RTT to the minimum RTT
on a given path. We run RTTometer from the University of
Michigan to a set of 5,937 hosts, mostly Web servers. Due
to the diversity of connectivities on the Internet, choosing a
representative set of paths is not a simple task. However, we
make sure that our set of target hosts contains hosts at different continents, connected through different links (high speed
links, DSL, cable modem, etc.), and belonging to different
organizations (educational, commercial, governmental, etc.).
For each target host, we send 100 probes with inter-probe
interval of 500 ms. To better understand and quantify the
behavior of the path RTT, we classify the set of paths into three
groups based on their minimum RTT. The first group (G1)
contains all paths with minimum RTT less than or equal to 50
ms. The second group (G2) contains paths with minimum RTT
between 50 ms and 150 ms. The third group (G3) contains
the remaining set of paths, i.e., larger than 150 ms. Table I
shows the number of paths in each group. Probe losses are
not uniformly distributed among all paths. Instead, some paths
suffer from severe probe losses while others are not, i.e., the
TABLE II
S TATISTICS OF ( MODE RTT - MINIMUM RTT) FOR DIFFERENT GROUPS .
Delay range
≤ 50 ms
50 - 150 ms
> 150 ms
Paths
2403 (40.5%)
2594 (43.7%)
940 (15.8%)
Avg. loss
2.3
2.4
4.2
Percentile
G1
G2
G3
1
10000
0.8
1000
Mode - Minimum (ms)
Cumulative Distribution Function
Group
G1
G2
G3
TABLE I
C LASSIFICATION OF TARGET PATHS .
0.6
0.4
0.2
G1
G2
G3
0
0
5
10
15
20
25
30
35
40
10
0.5
0.5
0.6
25
0.7
0.7
0.9
50
0.9
1
1.4
75
1.3
1.6
5.7
90
2.1
6.3
21.5
100
92
2170
1655
G1
G2
G3
100
10
1
0.1
45
50
0
(Mode - Minimum) (ms)
Fig. 2. CDF of the difference between minimum and mode RTTs on each
path at different groups.
loss distribution has a long tail. For example, for G1, 1,724
paths did not suffer any probe loss while more than 70 probes
were lost on few paths. For G2, 1,823 did not suffer any probe
loss, and similarly 555 paths in G3.
Recall that on the phase-plot ε delimits the set of congestion
regions, we, thus, look at the setting of ε for different paths.
The main question we investigate is whether there is a reasonable default value of ε for different paths. In [1], authors
found that for different paths the third quartile of the difference
between mode RTT and minimum RTT is 1 ms. For each
group, we look at the distance between the minimum RTT and
the mode RTT along each path. Fig. 2 shows the cumulative
fraction of the distance between minimum and mode RTTs
for paths that did not suffer any probe losses in G1, G2,
and G3. The distribution of the difference between mode and
minimum RTTs is long-tail, we only display the distribution
up to 50 ms in the figure. Table II shows statistics about the
distribution in each group. We can see that the difference
between mode and minimum RTTs slightly depends on the
path RTT itself, e.g., even for paths with large RTT (G3) we
can see that 50% of the paths have differences less than 1.4
ms. However, the tail of the distribution gets longer for paths
with large RTT. Since we do not have access to the set of
target hosts, we could not check if the route did not change
during the course of our RTT measurement. 2 Therefore, some
of the large differences between mode RTT and minimum RTT
may be due to route changes. Besides, some of the target hosts
are connected through relatively slow-speed links which have
weird behavior (See IV-D for discussion on behavior of DSL
and cable modem hosts). The result seems intuitive as on paths
2 We could identify some route changes by observing changes in the RTT
values, e.g., on one path, RTT changed from 100 ms to 2 sec after the 20th
probe and stayed on that value till the end of our probing period.
0.05
0.1
0.15
0.2
0.25
Mode Strength
Fig. 3. The distance between minimum RTT and mode RTT and its relation
to the strength of the observed mode RTT.
with large RTT the delay fluctuates more when crossing long
haul links or satellite connections.
We study the relationship between the distance between the
minimum RTT and the mode RTT and the strength of the
mode. The strength of the mode is defined as the fraction of
observations that consist the mode of a path. Fig. 3 depicts
this relationship. The y-axis represents the distance between
minimum RTT and mode RTT in log scale, while x-axis
represents the mode strength. We first note that most of
the samples have less than 5 ms between their minimum
RTTs and mode RTTs (Fig. 2). This suggests a small ε
value. Furthermore, while such distance of some of the paths
falls beyond 5 ms, all these paths have weak mode strength.
This observation suggests that during ε estimation mode, the
stronger the mode RTT is the more accurate is the estimation
of ε.
B. Dynamics of ε
As pointed out earlier, ε of a path is important in delimiting
different congestion regions. We have shown in the previous
subsection that the distance between mode and minimum RTT
on a given path may slightly depend on the minimum RTT of
the path. Since ε is double the difference between mode and
minimum RTTs, we investigate the stability of ε over time. The
main motivation is to study whether an estimated ε at a given
measurement period can be used at subsequent measurements
as well. Can we choose a default value for ε that would suite
different paths?
We conduct an experiment where we pick 5 representative
paths from each group. The minimum RTTs for the paths
selected from G1 are 5 ms (path 1), 15 ms (path 2), 25
ms (path 3), 35 ms (path 4), and 45 ms (path 5). For G2,
we pick paths with minimum RTTs of 55 ms (path 6), 75
4
G1
G2
G3
Mode - Minimun (ms)
3.5
3
2.5
2
1.5
1
0.5
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Path
Fig. 4. The dynamics of (mode RTT - minimum RTT) on 5 paths in each
group. Paths 1-5 are from G1, paths 6-10 are from G2, and paths 11-15 are
from G3. The solid line represents the interquartile range where the point
is the median, and the dotted line represents the range from 10%-tile to
90%-tile.
ms (path 7), 95 ms (path 8), 115 ms (path 9), and 135 ms
(path 10). Finally, from G3 we pick paths with minimum RTTs
of 160 ms (path 11), 215 ms (path 12), 240 ms (path 13), 300
ms (path 14), and 670 ms (path 15). For each path we send
100 probes every one hour over a period of one day.
For each path we calculate the distance between mode and
minimum RTTs. Fig. 4 shows the range of values for the
difference between mode and minimum RTTs on each path.
We can see that the ranges for path 6 and path 10 in G2
are quite large compared to other paths. By looking into their
measurements, we find that path 6 experienced some probe
losses (between 10% to 20%) during 4 measurement periods.
For path 10, we do not observe many probe losses, but the
minimum RTT is 135 ms and the distance between the mode
and the minimum, although larger than other paths, still less
than 4% of the minimum RTT. On path 12 in G3 we observe
that the minimum RTT shifts from 215 ms to 200 ms and
then to 230 ms. We conjecture that it may be due to some
route changes (probe losses are less than 2%). Still the mode
is close to the minimum RTT, i.e., the distance between mode
and minimum is less than 10% of the minimum RTT for the
worst case.
From the figure, we can see that the variation in ε is
relatively small compared to path’s minimum RTT. Therefore,
the estimated ε at a given time can still be used to delimit
the boundaries of the congestion regions at other times. In
fact, given the diversity of the minimum RTT on our observed
paths, we believe that a default value of ε can be chosen for
each group. For example, we can see that the variation in G1
is less than that in G2 and G3. Currently, RTTometer sets
the default values of ε as 2, 4, or 6 ms for paths in G1, G2,
or G3, respectively. RTTometer can set the default value of
ε, given that the user did not specify it on the command line,
by observing the value of the RTTs for the first few probes.
C. Number of Probes
Given that the estimated ε at a given measurement period
can be used during other times, in this subsection we study
Fig. 5. Distribution of the required number of probes to estimate minimum
RTT for different groups.
the required number of probes to estimate the minimum RTT
of a path. To elaborate, given a value of ε and a required
confidence level, what is the required number of probes needed
to estimate the minimum RTT? RTTometer stops probing
once it reaches the required confidence level or after it sends
the maximum number of probes. We study how the required
number of probes changes over time. Again, we use the 15
paths chosen previously, where we estimate the minimum RTT
with confidence level of 0.8. The setting of ε is 2 ms for paths
in G1, 4 ms for paths in G2, and 6 ms for paths in G3. We
repeat our measurements every hour for a period of one day.
We set the maximum number of probes sent for a given path
to 30 probes. RTTometer starts calculating the confidence
once a minimum number of probes have been sent. In our
experiment, we set this minimum threshold to 5 probes.
Fig. 5 shows the distribution of the number of probes. Note
that the minimum number of probes sent by RTTometer is
5, therefore the value on the x-axis starts at 5 in the figure.
As we see, for the majority of measurements, 6 or less probes
are enough to estimate minimum path RTT with confidence
0.8. During some measurements, 30 probes were not enough
to estimate the minimum RTT at the required confidence level.
Specially, for paths in G1 and G3. This may happen due to
the small value of ε in G1 or due to the large delays for paths
in G3.
Fig. 6 shows the estimation of minimum RTT for path
15 from G3 along with the confidence level. The left y-axis
represents the minimum delay in milliseconds, while the right
y-axis represents the confidence level. From the figure we can
see that for a couple of measurement periods, the confidence
level dropped severely. By looking at the measurements for
these periods, we find that the first dip occurred due to a delay
shift from 210 ms to 440 ms. The first two probes experienced
the low delay while the remaining 28 probes experienced the
high delay. RTTometer correctly signaled for low accuracy
level due to route changes. In the second dip, we find that
the delay did not change, but the confidence level was low.
During this measurement period, probes experienced high
loss rate (about 40%). Even though the minimum RTT still
1200
500
RTT
Confidence
1
400
0.6
600
0.4
400
0.2
350
RTT (ms)
0.8
800
Confidence
Minimum RTT (ms)
1000
End-host
Next-to-last hop
450
300
250
200
150
100
200
0
0
5
10
15
20
25
Measurement Index
50
0
10
20
30
40
50
60
70
80
90 100
Probe Sequence
Fig. 6.
The estimated minimum RTT on path 15 from G3 and the
corresponding confidence level.
Fig. 7. Behavior of RTT measured to end host connected through cable
modem and RTT measured to the next-to-last hop.
conforms with previous measurements, RTTometer signaled
for congestion behavior on the path.
used in previous studies [13], e.g., HTTP ping measures
the service time by a Web server to serve a GET request.
However, similar to ping, these tools only provide some
reachability test and simple statistics on the measured RTT.
Other measurement tools leverage the existent of services
to measure path delay. For example, King [16] estimates
the delay between any pair of arbitrary hosts by measuring
the latency between their authoritative DNS (Domain Name
Service) servers.
In all these tools, the main goal is to measure the delay
between end hosts. Users of these tools usually specify the
number of probes and the tools report the delay of each
probe. There is no other measure associated with the captured
delay. On the other hand, RTTometer not only measures the
delay but also associates measure of confidence that reveals
the condition of the path during measurements. In addition,
RTTometer dynamically adapts the number of probes required for a given confidence level.
D. DSL and Cable Modem End-hosts
During our course of data collection, we observed some
weird behavior on some paths. Closely investigating these
paths we find that they are paths where the last hop is a
broadband link (DSL or cable). On these paths the RTT
fluctuates more often. For example, RTT may fluctuate more
than 100 ms. We have observed that the fluctuation is more
prevalent for hosts connected with cable modem. In one case,
RTT measured to the end host fluctuates between values from
126 ms up to 400 ms! When we measure the RTT on the path
up to the next-to-last hop, the RTT is 67 ms and without much
fluctuation (Fig. 7). This indicates that the delay on the last
hop is the main cause for these fluctuations. This fluctuation
of RTT on the last hop may be due to routing mechanism done
inside the cable network. In addition, cable networks tend to
over-subscribe their network and rate limit user’s traffic; it is
common to have asymmetrical bandwidth on these links. Due
to the prevalence of broadband links technology as connection
media for users to the Internet, understanding the dynamics of
RTT on these links is the main goal in our future works.
V. R ELATED W ORK
Given the administratively decentralized nature of the Internet, the ping utility has turned out to be the common
primitive to all extant RTT measurement tools. To measure
the RTT between a source and a target host, ping sends an
Echo-Request ICMP message from the source host to the target
host, and measures the elapsed time until an Echo-Response
ICMP message returns from the target host. Due to the recent
heightened security awareness of network administrators [12],
increasingly large number of routers and firewalls do not forward ICMP packets. Furthermore, some system administrators
turn off support for ICMP “request-reply” in their operating
system kernel.
Other ping-like tools have emerged due to the limitations
and disadvantages of ping. TCP ping, for example, was
introduced and used in [14], [13]. Application-level ping was
VI. C ONCLUSION
In this paper, we have described techniques based on the use
of phase-plot presented in [11] to associate a confidence level
to a measured path RTT. By laying out subsequent probes in
different congestion regions in the phase-plot, we can assess
the condition on a path during RTT measurement. Factors
that may affect the accuracy of the measured RTT are selfinterference, congestion, and route changes. In addition, these
techniques make use of the information provided by all probes,
which reveals insight about path conditions. Using these
techniques the RTTometer tool can associate an accuracy
level with a measured RTT. RTTometer dynamically adjusts
the number of probes required to measure the RTT with a
given confidence level. Consequently, applications can make
better decision not only based on the measured RTT but also
on the revealed path condition.
R EFERENCES
[1] Z. Wang, A. Zeitoun, and S. Jamin, “Challenges and Lessons Learned
in Measuring Path RTT for Proximity-based Applications,” Proceedings
of Passive & Active Measurement Workshop (PAM’03), San Diego, CA,
April 2003.
[2] T. Lakshman and U. Madhow, “The Performance of TCP/IP for
Networks with High Bandwidth-Delay Products and Random Loss,”
ACM/IEEE Transactions on Networking, June 1997.
[3] J. Padhye, V. Firoiu, D. Towsley, and J. Kurose, “Modeling TCP
Throughput: A Simple Model and its Empirical Validation,” Proc. of
ACM SIGCOMM ’98, pp. 30 –314, 1998.
[4] V. N. Padmanabhan and L. Subramanian, “An Investigation of Geographic Mapping Techniques for Internet Hosts,” Proc. of ACM SIGCOMM ’01, August 2001.
[5] D. Clark, “The Design Philosophy of the DARPA Internet Protocols,”
Proc. of ACM SIGCOMM ’88, pp. 106–114, 1988.
[6] S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Shenker, “A
Scalable Content-Addressable Network,” Proc. of ACM SIGCOMM ’01,
August 2001.
[7] B. Zhang, S. Jamin, and L. Zhang, “Host Multicast: A Framework for
Delivering Multicast to End Users,” Proc. of IEEE INFOCOM ’02, June
2002.
[8] T. S. Eugene Ng and H. Zhang, “Towards Global Network Positioning,”
ACM Internet Measurement Workshop 2001, November 2001.
[9] P. Francis et al., “IDMaps: A Global Internet Host Distance Estimation Service,” ACM/IEEE Transactions on Networking, vol. 9, no. 5,
Oct. 2001.
[10] Y. Chu, S. Rao, and H. Zhang, “A Case for End System Multicast,”
Proc. of ACM SIGMETRICS ’00, 2000.
[11] J.-C. Bolot, “Characterizing End-to-End Packet Delay and Loss in the
Internet,” Proc. of ACM SIGCOMM ’93, pp. 289–298, Sep. 1993.
[12] S. Savage, “Sting: a TCP-based Network Measurement Tool,” USENIX
Symposium on Internet Technologies and Systems’99, Oct. 1999.
[13] S. G. Dykes, C. L. Jeffery, and K. A. Robbins, “An Empirical Evaluation
of Client-Side Server Selection Algorithms,” Proc. of IEEE INFOCOM
’00, 2000.
[14] M. Horneffer, “Assessing Internet Performance Metrics Using LargeScale TCP-syn Based Measurements,” Passive & Active Measurement
Workshop (PAM’00), 2000.
[15] “libpcap,” http://www.tcpdump.org.
[16] K. Gummadi, S. Saroiu, and S. Gribble, “King: Estimating Latency
Between Arbitrary Internet End Hosts,” Proc. of ACM Internet Measurement Workshop (IMW’02), 2002.
[17] “Napster,” http://www.napster.com.
[18] “GameSpy Arcade,” http://www.gamespy.com.
Download