Available bandwidth measurement as simple as running wget
Download
Report
Transcript Available bandwidth measurement as simple as running wget
Available bandwidth measurement
as simple as running wget
D. Antoniades, M. Athanatos, A. Papadogiannakis, P. Markatos
Institute of Computer Science (ICS), Foundation for Research & Technology Hellas
(FORTH)
C. Dovrolis
College of Computing, Georgia Institute of Technology
Passive and Active Measurement Conference (PAM) 2006
Presented by Ryan
10 July 2006
Outline
Introduction
Background
Measurement Methodology
Tool - abget
Validation
Measurement
Introduction
End-to-end available bandwidth
Routing and traffic engineering
QoS management
Overlay network
Introduction
Existing tools and techniques
e.g. pathload, IGI/PTR and Spruce
Requiring access at both ends of the
measured path
Based on UDP and ICMP protocols
Introduction
New tool – abget
Requiring access only at the receiving
host
The sender can be any TCP-based server
Working with TCP packets
Similar estimation methodology to
pathload
Background
The term “available bandwidth”
Several definitions
Link capacity
Residual bandwidth
Achievable bandwidth
Background
Link capacity
Maximum data rate a flow that can utilize
when there are no other traffic flows sharing
the link
End-to-end capacity, C
C = min{C1,C2,…CN}
Ci is the capacity of link i
Background
Residual bandwidth
Unutilized capacity of a path
End-to-end available bandwidth, U
.
U
(t , t ) mini 1...N {Ui (t , t )}
where Ui (t, t ) Ci [1 ui (t, t )] is the unutilized
capacity, Ci is the capacity and ui(t, t +τ) is the
average link utilization (in normalized unit from 0 to
1) in the interval [t, t +τ) of the link i
Adopted in this paper (and pathload)
Background
Achievable bandwidth
Throughput achievable by a TCP (or TCPfriendly) flow in passing through a network
path
End-to-end achievable bandwidth, A
.
A(t , t )
1
N
d (t , t )
i 1
i
di(t,t+τ) – the amount of data received in the
interval [t, t+τ) by the receiver from sender i
Adopted in our research work (many-to-one
data flow analysis)
Background
pathload – the basic idea
Self-Loading Periodic Streams (SLoPS)
A periodic stream consists of K packets sent
to the path at a constant rate R
If R > A (available bandwidth), the one-way
delay (OWD) of successive packets at the
receiver show an increasing trend
M. Jain and C. Dovrolis, “End-to-End Available Bandwidth: Measurement Methodology, Dynamics, and
Relation with TCP Throughput,” IEEE/ACM Transactions on Networking, 11(4):537-549, Aug. 2003.
Background
Detection of an increasing OWD trend
Partition measured (relative) OWDs = D1,
D2,…,DK into Г= Kgroups of Г consecutive
OWDs
k
Compute the median OWD Dˆ of each group
More robust to outliers and errors
Pairwise Comparison Test (PCT)
ˆk D
ˆ k 1 )
I
(
D
k 2
1 if X holds
, I(X )
0 otherwise
S PCT
An increasing trend if SPCT > 0.55
1
Measurement Methodology
Iterative algorithm similar to SLoPS in
pathload
pathload – the sender transmits periodic
UDP packet streams at a certain rate
abget – TCP-based server sends packets
based on TCP’s flow control and
congestion control
How to send packet streams at a certain rate?
Measurement Methodology
The basic idea
A limited advertised window, “fake” ACKs
Receiver – acknowledges only one MMS
with each ACK and advertises a window
of only one MSS
Sender – is forced to send one MMS
upon receiving each ACK
Measurement Methodology
To achieve a certain rate R, the “fake”
ACKs should be generated periodically
with a period T = MSS/R
Assumption: ACKs arrived at the sender
periodically
Measurement Methodology
Validation
Measurement Methodology
One-Way Delay (OWD)
Estimate from the interarrivals of the received
packets
s(i) – the time that the sender transmitted the ith packet
r(i) – the time that the receiver got the ith packet
o – the clock offset between the two hosts
t(i) – the interarrival time between packets i and i-1 at the
receiver
d(i) – the OWD of packet i
T – the (assumed) constant interarrival time between
packets i and i-1 at the sender
Measurement Methodology
OWD Estimation
s(i) = s(i-1) + T
r(i) = s(i) + d(i) + o
t(i) = r(i) – r(i-1)
d(i) = r(i) – s(i) – o
= d(i-1) + t(i) - T
Tool – abget
abget, using an iterative algorithm
User specifies
Probing range, [Rmin, Rmax]
Estimation resolution, w
Stream length parameter, K
Number of streams per probing rate, N
Probing starts at rate Rmin, gradually
increasing the rate in increments of w
until Rmax
Tool – abget
In each iteration
Connect to the remote server (web server)
and initiates a download operation
Start sending K “fake” ACKs (with a period
corresponds to the desired probing rate)
Estimate the OWDs and compute the SPCT
(same as pathload)
Repeat the previous process N times
Tool – abget
If more than N/2 of the streams are
increasing (non-increasing), the
corresponding probing rate is higher (lower)
than the available bandwidth
Tool – abget
abget reports a variation range
[low_bound, high_bound]
Low_bound – max probing rate that was
estimated as lower than the available
bandwidth
High_bound – min probing rate that was
estimated as higher than the available
bandwidth
Validation
Parameters Setting
N=5
K = 50
w = 5Mbps
Rmin = 0Mbps
Rmax = 100Mbps
Ti = 500ms
Measurement Duration ~ 50s
Validation
In local testbed
Cross Traffic
Constant-rate UDP traffic
Realistic traffic trace
abget
Client
Web
Server
Capacity ~ 97Mbps
Cross
Traffic
Source
Cross
Traffic
Sink
Validation
Constant rate UDP traffic
Realistic traffic trace
Validation
In the monitored network path
Validation
From www.nytimes.com to UoC client
From UoC server to Georgia Tech client
Validation
Robustness to reverse path traffic
Forward path – LD ~ 1500B
Reverse path – LA ~ 40B
The ratio LD/LA ~ 40
Few paths have such a high degree of
available bandwidth asymmetry?
Measurement
Measurement in the Internet
Client hosts
Web servers
The University of Crete (UoC), Greece
The Georgia Institute of Technology, USA
www.nero.com (in Germany)
www.chez.com (in France)
Measurement is performed every 10
minutes during a 24-hour period
Measurement
Conclusion
Available bandwidth measurement
tool – abget
Single-end
TCP
Similar to Pathload
Validations and Measurements in
different network paths
Duration and Overhead
Trade-offs between measurement
duration, overhead and accuracy
Parameters
K – stream length
N – number of streams
w – estimation resolution
Ti – idle time between streams
[Rmin, Rmax] – probing range
Duration and Overhead
Measurement Duration
idle time between streams
No. of streams per each probing rate
No. of probing rate
K MSS
Rmax Rmin
1
N
(
Ti )
w
Ravg
Ravg (Rmax Rmin ) / 2
K packets transmission time
Measurement Overhead (in term of rate)
K MSS
( K MSS) / Ravg Ti