Title: Network Available Bandwidth Measurements
1Network Available Bandwidth Measurements
2Outline of the Talk
- Problems
- Related Work
- Traffic Design
- Our Approach (SimProbe)
- Analysis of Simulation Results
- SMRT Implementation
- Lessons Learned
- Future Work
3Why 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
4Taxonomy of Internet Network Measurement
Approaches
- Sender-based vs. Receiver-based
- Passive Watch vs. Active Probe
- Layer of Protocol used
5Measurement Problems
- Route Fluttering
- Packet Loss
- Out of Order packet delivery
- Clocks Synchronization
- Routers reject ICMP due to denial of series
attacks.
6Bottleneck Bandwidth
- Bottleneck bandwidth the maximal rate at which
data can be sent along a connection, determined
by the slowest element in the entire chain.
7Available Bandwidth
- Available Bandwidthhow fast can the data in fact
be transmitted over the connection. - PacketSize/(PacketSizeCompetitorPacketSize)
Bottleneck Bandwidth
8Related 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
INET96, Montreal, 1996
9Bprobe/Cprobe
- Bottleneck Bandwidth (PacketSize/Time)
- Available Bandwidth (S2Sn)/(Tn-T1)
10SimProbe 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
11How traffic is generated in SimProbe Simulator
12Traffic 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)
13Network Topology Used in This Simulation Study
14Our Approaches
- Sending as few packets as possible. Using round
trip time measurements for network available
bandwidth. - Trip Time Measurement FormulaTripTimeMeasuredAv
ailableBandwidth MinimalTripTimeMaximalAvailabl
eBandwidth - Round Trip Time Measurement
- SMRT
- MMRT
- Unidirectional Trip Time Measurement
- SMUT
- MMUT
- Time Gap between packets
- ACB (Adaptive Cprobe)
15SMRT(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
16MMRT
- 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
17SMUT
- 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
18MMUT
- 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
19Simulation result analysis
- Difference MetricAvailableBandwidth -
MeasuredAvailableBandwidth AvailableBandwidth - AvailableBandwidth PacketSize/(PacketSizeQueui
ngSize) Bottleneck Bandwidth - MeasuredAvailableBandwidth (MinimalTripTimeMa
ximalAvailableBandwidth)/ TripTime - DelayTimeTripTime - MinimalTripTime
20(No Transcript)
21(No Transcript)
22SMRT 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
23Impact 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)
24Impact 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
25Impact 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
26Impact 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
27MMRT
- 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
28SMUT
- Measure the available bandwidth on unidirectional
route. - SMUT has the same random characteristics as
SMRT.
29MMUT
- 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
30ACB
- 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
31Summary of Simulation Analysis
32Implementation 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
33Implementation results of SMRT
- We probed a list of mirror sites for popular
software packages such as perl, linux and
netscape
34Implementation results of SMRT
- Orst is good choice for us to download software
35Implementation results of SMRT
- Orst gives us relative short round trip time
36Lessons 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
37Lessons 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
38(No Transcript)
39(No Transcript)
40Lessons 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
41Future 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