04/19/23 XiaoLong He Network Available Bandwidth Measurements
2
Outline of the Talk Problems Related Work Traffic Design Our Approach (SimProbe) Analysis of Simulation Results SMRT Implementation Lessons Learned Future Work
04/19/23 XiaoLong He Network Available Bandwidth Measurements
3
Why measurement?
Measurement is critical to network control. Measurement for selecting server/ISP Measurement for verifying network configuration Measurement for designing real-time applications Measurement for load balancing in WAN Measurement for accounting
04/19/23 XiaoLong He Network Available Bandwidth Measurements
4
Taxonomy of Internet Network Measurement Approaches
Sender-based vs. Receiver-based Passive Watch vs. Active Probe Layer of Protocol used
04/19/23 XiaoLong He Network Available Bandwidth Measurements
5
Measurement Problems
Route Fluttering Packet Loss Out of Order packet delivery Clocks Synchronization Routers reject ICMP due to denial of
series attacks.
04/19/23 XiaoLong He Network Available Bandwidth Measurements
6
Bottleneck Bandwidth
Bottleneck bandwidth: the maximal rate at which data can be sent along a connection, determined by the slowest element in the entire chain.
04/19/23 XiaoLong He Network Available Bandwidth Measurements
7
Available Bandwidth
Available Bandwidth:how fast can the data in fact be transmitted over the connection.
[PacketSize/(PacketSize+CompetitorPacketSize)] * Bottleneck Bandwidth
04/19/23 XiaoLong He Network Available Bandwidth Measurements
8
Related Works
Bprobe/Cprobe - Robert L. Carter and Mark E. Crovella, Boston University, 1996
Ping - M. Muuss, U.S.Army Ballistic Research Laboratory, 1983
Traceroute - Van Jacobson, Berkeley, Univeristy of California, 1997
Treno - M. Mathis and J. Mahdavi, Proceedings of INET’96, Montreal, 1996
04/19/23 XiaoLong He Network Available Bandwidth Measurements
9
Bprobe/Cprobe Bottleneck Bandwidth = (PacketSize/Time) Available Bandwidth = (S2+…+Sn)/(Tn-T1)
04/19/23 XiaoLong He Network Available Bandwidth Measurements
10
SimProbe Simulator
To carry the thesis out, we build a Java-based discrete event simulator.
Swing, Java2D and AWT packets for GUI design
Thread for comparing different probing methods
Port it to Unix (without GUI) for long time simulation
04/19/23 XiaoLong He Network Available Bandwidth Measurements
11
How traffic is generated in SimProbe Simulator
04/19/23 XiaoLong He Network Available Bandwidth Measurements
12
Traffic Patterns supported by SimProbe
Flat/Static Slope Web (modifed code by Arthur Blais)
– Time between requests: Pareto Distribution
– Number of embedded references: Pareto Distribution
– Time between references: Weibull Distribution
– File Size: Body (Lognormal Distribution) Tail (Pareto Distribution)
04/19/23 XiaoLong He Network Available Bandwidth Measurements
13
Network Topology Used in This Simulation Study
04/19/23 XiaoLong He Network Available Bandwidth Measurements
14
Our Approaches Sending as few packets as possible. Using round trip time
measurements for network available bandwidth. Trip Time Measurement Formula:
TripTime*MeasuredAvailableBandwidth = MinimalTripTime*MaximalAvailableBandwidth
– Round Trip Time Measurement SMRT MMRT
– Unidirectional Trip Time Measurement SMUT MMUT
Time Gap between packets– ACB (Adaptive Cprobe)
04/19/23 XiaoLong He Network Available Bandwidth Measurements
15
SMRT(Single Msg Round Trip Time Measurement)
Using multiple packets to find minimum of the round trip time of a connection
Using Bprobe to get the maximal available bandwidth of a connection
Sending single probing packet Using round trip time to estimate the available
bandwidth of the connection
04/19/23 XiaoLong He Network Available Bandwidth Measurements
16
MMRT
Use Bprobe to get the maximal available bandwidth of a connection
Using multiple packets to find minimum of the round trip time of a connection
Sending multiple packets Round trip time for estimating ABW
04/19/23 XiaoLong He Network Available Bandwidth Measurements
17
SMUT
Use Bprobe to get the maximal available bandwidth of a connection
Using multiple packets to find minimum of the unidirectional trip time of a connection
Sending single probing packet Using unidirectional trip time for estimating
available bandwidth
04/19/23 XiaoLong He Network Available Bandwidth Measurements
18
MMUT
Use Bprobe to get the maximal available bandwidth of a connection
Using multiple packets to find minimum of the unidirectional trip time of a connection
Sending multiple probing packets Using unidirectional trip time for estimating
available bandwidth
04/19/23 XiaoLong He Network Available Bandwidth Measurements
19
Simulation result analysis
Difference Metric:|AvailableBandwidth - MeasuredAvailableBandwidth|
AvailableBandwidth– AvailableBandwidth = [PacketSize/(PacketSize+QueuingSize)]*
Bottleneck Bandwidth
– MeasuredAvailableBandwidth =
(MinimalTripTime*MaximalAvailableBandwidth)/ TripTime
DelayTime:TripTime - MinimalTripTime
04/19/23 XiaoLong He Network Available Bandwidth Measurements
22
SMRT Random Characteristics
Problem: Dependent on the arrival time of probing packet on bottleneck link
Three Scenarios:
1) no queuing time, yields bottleneck available bandwidth.
2) yields the lower bound of bottleneck available bandwidth
3) yields average bottleneck
available bandwidth
04/19/23 XiaoLong He Network Available Bandwidth Measurements
23
Impact of Packet Size on SMRT DelayTime rises when probing
packets size increases. Smaller packet size gets
worse results RoundTripTime =
MinimalRoundTripTime + DelayTime
Examples:
– T1 / (T1+T)– T2 / (T2+T)
PacketSize impact on Difference
0
0.5
1
1.5
2
2.5
3
3.5
20 46 80 400 800 1200 1500
PacketSize (Bytes)
Dif
feren
ce
PackeSize impact on DelayTime
0
0.02
0.04
0.06
0.08
0.1
0.12
20 46 80 400 800 1200 1500
PacketSize (Bytes)
Dela
yT
ime (
Sec)
04/19/23 XiaoLong He Network Available Bandwidth Measurements
24
Impact of Link Length on SMRT The result accuracy is
worse with the length increasing
Delay Time dominates RoundTrip Time at shorter link length
Propagation time dominates RoundTrip Time at longer link length
LinkLength/Difference
0
1
2
34
5
6
7
100 1000 10000 100000 1000000
Link Length (meters)
Dif
fere
nce
04/19/23 XiaoLong He Network Available Bandwidth Measurements
25
Impact of Router Speed on SMRT
No apparent difference for 1GBps or 10GBps
Router Speed affects the time gap between packets
Slow router speed enlarges the time gap between packets
Router Speed must be faster than link speed
RouterSpeed impact on Difference
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1 2
1GBps
10GBps
04/19/23 XiaoLong He Network Available Bandwidth Measurements
26
Impact of Bottleneck Link Bandwidth on SMRT
SMRT results follow the available bandwidth trend
SMRT performance is similar to the performance trend by SMRT performance with 10MBps bottleneck link bandwidth
SMRT result with 200MBps Bottleneck Bandwidth
0
50000000
100000000
150000000
200000000
250000000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Time
Ban
dw
idth
(B
ps) AvailableBandwidth
MeasuredABandwidth
SMRT Performance with 200MBps Bottleneck Bandwidth
05
10152025303540
Available Bandwidth (Bps)
Dif
feren
ce
04/19/23 XiaoLong He Network Available Bandwidth Measurements
27
MMRT Try to alleviate the
random characteristic of SMRT
Small time gap between probing packets may experience big traffic difference in Slope traffic pattern
Obvious improvement on SMRT performance in web traffic
MMRT Performance
00.5
11.5
22.5
33.5
44.5
5
Available Bandwidth
Dif
fere
nce
Difference Comparison of SMRT and MMRT
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
SMRT MMRT
Dif
feren
ce
04/19/23 XiaoLong He Network Available Bandwidth Measurements
28
SMUT
Measure the available bandwidth on unidirectional route.
SMUT has the same random characteristics as SMRT.
SMUT
0
2000000
4000000
6000000
8000000
10000000
12000000
1 4 7 10
13
16
19
22
25
28
31
34
Times
Ban
dw
idth
Available Bandw idth
Measured AvailableBandw idth
04/19/23 XiaoLong He Network Available Bandwidth Measurements
29
MMUT Try to alleviate the
random characteristic of SMUT
Small time gap between probing packets may experience big traffic difference with slope traffic pattern
MMUT has Better performance than SMUT with web traffic pattern
Difference Comparison of SMUT and MMUT
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
SMUT MMUT
Dif
fere
nce
04/19/23 XiaoLong He Network Available Bandwidth Measurements
30
ACB Using the last
measured available bandwidth
Send two packets once a time
Reprobing in Cprobe if time gap between packets is inside of a range
Not better than Cprobe
Adaptive Cprobe
0
1000000
2000000
3000000
4000000
5000000
6000000
7000000
8000000
9000000
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Times
Availab
le B
an
dw
idth
Available Band
MAvailable Band
Cprobe
0
1000000
2000000
3000000
4000000
5000000
6000000
7000000
8000000
9000000
1 3 5 7 9 11
13
15
17
19
21
23
Times
Availab
le B
an
dw
idth
Available Band
MAvailable Band
04/19/23 XiaoLong He Network Available Bandwidth Measurements
31
Summary of Simulation AnalysisSummary of Simulation Analysis
0
2000000
4000000
6000000
8000000
10000000
12000000
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31Times
Bn
ad
wid
th
Cprobe Available Band
Cprobe Measured AvailableBandwidth
SMRT AvailabeBandwidth
SMRT Measured AvailableBandwidth
SMUT Available Bandwidth
SMUT Measured AvailableBandwidth
04/19/23 XiaoLong He Network Available Bandwidth Measurements
32
Implementation of SMRT SMRT is implemented in C Maintain a host file, which specifies the list of sites to be probed Bprobe is used to measure the largest bottleneck available
bandwidth Ping is used to measure the smallest round trip time of a
connection Using Bprobe and Ping to collect the history information for
each host in the file, at offpeak and over a long period Probed host must be contained in the host file Round trip time of the probing message is used to measure the
instant available bandwidth
04/19/23 XiaoLong He Network Available Bandwidth Measurements
33
Implementation results of SMRT
We probed a list of mirror sites for popular software packages such as perl, linux and netscape
04/19/23 XiaoLong He Network Available Bandwidth Measurements
34
Implementation results of SMRT
Orst is good choice for us to download software
DownLoadTimes (seconds)
0
100
200
300
400
500
600
700
Times
Do
wn
Lo
ad
Tim
es
UncDownloadTime
gatechDownloadTime
buffaloDownloadTime
orstDownloadTime
04/19/23 XiaoLong He Network Available Bandwidth Measurements
35
Implementation results of SMRT
Orst gives us relative short round trip time
RoundTripTime (ms)
0
20
40
60
80
100
120
140
160
Times
Ro
un
dT
rip
Tim
e (
ms)
UncPing
gatechPing
buffaloPing
orstPing
04/19/23 XiaoLong He Network Available Bandwidth Measurements
36
Lessons Learned Impact of router speed on traffic generation
– Problem: When router speed is lower than the bottleneck link speed, we can not get expected traffic?
– Solution: Make sure the router speed in our connection is greater than the bottleneck link speed, especially for the large bottleneck link bandwidth
04/19/23 XiaoLong He Network Available Bandwidth Measurements
37
Lessons Learned (Cont) Cprobe Limitations
– Probing returned packets interfere with later probing packets
– Queuing time is not the only results from connection competition
Examined factors:– Router Speed– Hop Number– Message Size– Message Number
04/19/23 XiaoLong He Network Available Bandwidth Measurements
40
Lessons Learned (Cont)
OOP design in Java– Problem: Chart can not be updated when we call the chart in
a thread directly.– Solution: Using SwingUtilities.invokeLater Class
Double data type precision problem– Problem: The round trip time with traffic pattern is even
shorter than the time without any traffic– Reason: machine double type data has a precision problem
in representing a value exactly– Solution: Because difference is small, so ignore it
04/19/23 XiaoLong He Network Available Bandwidth Measurements
41
Future Works
How to measure available bandwidth of a host whose history information is not available.
How to find a better available bandwidth estimation formula to improve the accuracy of SMRT
Convert MMRT, SMUT and MMUT simulation code from Java to C
More traffic route to test the reliability of SMRT and other methods