Measuring Bandwidth
K. Lai and M. Baker
Presented by
Cristina Abad
Outline
Motivation Definitions Current Techniques Packet Pair Bandwidth Measurement Algorithms Potential Bandwidth Filtering Simulations Conclusions
Motivation
Knowing the bottleneck bandwidth of a route benefits:
Applications in general Developers of network protocols and applications Network clients Mobile computing Congestion control Multicast routing trees
Metrics
Bottleneck Bandwidth ideal bandwidth of the lowest bandwidth link on that route between two hosts. It is not affected by other traffic. Available Bandwidth maximum bandwidth at which a host can transmit at a given point in time along that route. It is limited by other traffic along that route.
Current Techniques
Use throughput to approximate bandwidth
throughput: amount of data a transport protocol can transfer per unit of time Other metrics may have significant effect on TCP throughput, while not affecting bandwidth An application’s throughput to a host implies nothing about other transfers, even from the same application to the same host
Current Techniques
TCP’s technique
Measures the bottleneck router’s buffer size too Wastes network resources by forcing a dropped packet and filling the router’s buffers Has to increase its sending rate slowly, or else it will overshoot the real bandwidth and cause massive packet loss
Current Techniques
pathchar
Measures bandwidth of every link accurately Requires special software on only one host Slow Can consume significant amounts of network bandwidth
Packet Pair
Measures true bandwidth of network Does not cause packet loss Does not require many packet roundtrips to work Does not send massive amounts of data
Packet Pair
Not statistically robust – kernel density estimator
Not scalable – passive implementation Slow – gradual packet pair implementation
Not robust on all traffic – Potential Bandwidth Filtering (PBF)
Not flexible to bandwidth changes – window
Difficult to deploy – Receiver Only Packet Pair
Not studied under controlled conditions – Simulation
Bandwidth Measurement Algorithms pathchar
Number of different packet sizes: Total time: p s l where h: number of hops,
h i 1 i
MTU s 32
1
li: round trip latency from sender to hop i, p: number of packets sent per size (32) 10-hop Ethernet network,10ms avg latency 144s
Avg bandwidth to probe a hop Total data transferred: p h
32s 32 avg packet size 2 round trip latency li
s i 2
32i
Bandwidth Measurement Algorithms Packet Pair
Two packets queued next to each other at bottleneck link exit the link t seconds apart: Assuming constant bottleneck separation:
bbnl bbnl
s2 t bbnl
s2 : bbnl: size of second packet bottleneck bandwidth
If a packet queues in between:
s2 s0 t
s2 t
Bandwidth Measurement Algorithms Packet Pair Filtering (MBF)
How to filter noise caused by time compressed and extended packets?
Use mean or median of samples – No! Use histogram to find point of greatest density Kernel density estimator algorithm:
gives greater weight to samples closer to the point at which we want to estimate the density Simple and fast to compute Makes no assumption about distribution it operates on
Bandwidth Measurement Algorithms Receiver and Sender Based PP
RBPP – t is measured at the receiver: s
bbnl
2
SBPP – uses round trip time:
bbnl
a2 a1 s2 r2 r1
ai: arrival time of packet i
ri: arrival time of ACK of packet i
Filtering techniques can be used to reject incorrect estimates RBPP is more accurate but harder to deploy ROPP – sacrifices a little accuracy for ease of deployment
Bandwidth Measurement Algorithms Timeliness versus Accuracy
PP usually implemented to run over a fixed number of packets before providing estimate Solution: Calculate bandwidth gradually
Converges to correct bandwidth within 3 packets Problem: slow to detect bandwidth change Solution: use packet window (size: w); BUT, may reduce stability
Potential Bandwidth Filtering
Potential Bandwidth Problem: PP cannot measure a higher bandwidth than that at which the sender sends PBF correlate the potential bandwidth and measured bandwidth of a sample in deciding how to filter
Simulations
Simulations
Simulations
Simulations