Bandwidth Estimation: Metrics Measurement Techniques and Tools By Ravi Prasad, Constantinos Dovrolis, Margaret Murray and Kc Claffy IEEE Network, Nov/Dec 2003 by Phuong Nguyen, Josiah McClurg
Internet as a “black box” P2P applications form user-level networks based on b/w between them Overlay n/w s configure routing tables based on b/w of the links Service agreements between n/w provider and consumer done based on b/w availability at crucial points of the n/w Several network properties are important for applications and transport protocols: Delay, loss rate, capacity, congestion, load, etc But routers and switches do not provide direct feedback to end-hosts (except ICMP, also of limited use) Mostly due to scalability, policy, and simplicity reasons
Can we guess what is in the black box? probe packets End-systems can infer network state through end-to-end (e2e) measurements Without any feedback from routers Objectives: accuracy, speed, non-intrusiveness
Outline Metrics Bandwidth estimation techniques Taxonomy of tools Capacity Available bandwidth TCP throughput and Bulk transfer capacity Bandwidth estimation techniques Taxonomy of tools
Hops, segments, and paths Segment: a link at layer 2 Physical point-to-point link Virtual circuit Shared access LAN (ETHERNET, FDDI) Hop: a link at layer 3 Sequence of segments connected by switches, bridges and other layer 2 devices Path p from s to v Sequence of hops from s to v
Capacity At layer 2 link (segment): At IP layer: Transmission rate limited by: i) capacity of the physical link, ii) speed of the transmitter/receiver hardware At IP layer: Lower rate due to overheads in layer 2 by encapsulation and framing
Effect of packet size on capacity usage
Capacity (cont.) Capacity of a hop Capacity of a path: Maximum possible IP layer transfer rate at that hop Maximum layer 2 transfer can occur only with Maximum Transmission Unit sized packets Bit rate measured at IP layer transferring MTU sized packets Capacity of a path: Minimum link capacity determines capacity of the path
Problems with estimating capacity Traffic shapers Rate limiters Wireless networks like 802.11 Operate at different rates 11, 5.5, 2 or 1 Mbps Definition holds during time at which the capacity remains constant
Available bandwidth The available bandwidth of a link relates to the unused, or “spare”, capacity of the link during a certain time period At any time Link used fully utilization =1 Not used utilization =0 Average utilization from time t-α to t is given by Then the available bandwidth during that period: Ai = (1 – ui) Ci
Available bandwidth (cont.) Available bandwidth along the path
Assumptions Link utilization remains constant over the duration of measurement Reasonable for short intervals Load variations impact the measurement over a long period So available b/w measurements should be done quickly Since capacity remains constant those measurements need not be made quickly
TCP throughput and Bulk Transfer Capacity TCP throughput depends on various parameters Congestion window RTT Slow start mechanism Capacity and load along the path BTC Maximum capacity obtainable by a TCP connection
Differences between BTC and available b/w BTC is TCP specific Available b/w is transport protocol independent BTC depends on the how a TCP connection throughput is affected by other flows Available b/w assumes average load remains constant and estimates additional bandwidth
Outline Metrics Bandwidth estimation techniques Taxonomy of tools Capacity Available bandwidth TCP throughput and Bulk transfer capacity Bandwidth estimation techniques Taxonomy of tools
Bandwidth estimation techniques Variable Packet Size (VPS) probing Packet Pair/Train Dispersion (PPTD) Self-Loading Periodic Streams (SLoPS) Trains of Packet Pairs (TOPP)
Variable size packet probing Measures capacity of each hop along a path Based on measuring RTT Limit packet propagation by using TTL in IP header Uses ICMP to measure RTT until that hop RTT includes delays: Serialization delay Delay to send packet of length L across channel of capacity C = L/C Propagation delay Time taken to traverse the link Queuing delay at routers/switches
Variable size packet probing Send multiple packets and calculate minimum RTT Assumption: for minimum RTT no queuing delay RTT has two terms A term ~ delay independent of packet size = α Another term proportional to packet size (i.e., serialization delay)
Packet pair dispersion probing Measures end-to-end capacity Dispersion after a link Dispersion at the receiver
Problems Assumption that no other traffic exists is not real Existing traffic can increase/decrease the estimate Solution? Send multiple pairs and get a statistical estimate (Packet train probing) Does not always yield a correct estimate but helps reduce the variance among the measurements
Self-loading periodic streams Measures end-to-end available bandwidth Method: Sends K packets at a certain rate R Receiver notifies the one way delay trends: If the rate is greater than available b/w: one way delay will keep increasing Otherwise: one way delay will not increase
Self-loading periodic streams Sender attempts to bring the stream rate close to available bandwidth, following an iterative algorithm similar to binary search
Trains of packet pairs Estimate the available bandwidth of a network path Method: Sends many packet pairs at gradually increasing rates from the source to the receiver Notify the difference between offered rate & measured rate TOPP increases the offered rate linearly, while SLoPS uses a binary search to adjust the offered rate
Trains of packet pairs
Intrusiveness of bandwidth estimation tools All active measurement tools inject probing traffic in the network and thus are all intrusive How to quantify the intrusiveness? An active measurement tool is intrusive when its average probing traffic rate during the measurement process is significant compared to the available bandwidth in the path.
Intrusiveness of bandwidth estimation tools VPS are non intrusive One packet per RTT PPTD tools create bursts which last only for a very short duration Only a small fraction of available b/w used BTC tools are intrusive They capture all b/w for a specific duration
Outline Metrics Bandwidth estimation techniques Taxonomy of tools Capacity Available bandwidth TCP throughput and Bulk transfer capacity Bandwidth estimation techniques Taxonomy of tools
Taxonomy of estimation tools
Discussions Limited accuracy in estimating bandwidth Applications of using bandwidth estimates to support applications Routers with multiple queues Simplified assumptions: Link utilization remains constant over the duration of measurement Assumption that no other traffic exists
Thank you!
Taxonomy of estimation tools Per-hop capacity estimation tools Pathchar First tool to implement Clink On routing instability collects data along all paths Until one path provides statistically significant estimate Pchar Uses linear regression algorithms
Taxonomy of estimation tools end-to-end capacity estimation tools BProbe Uses packet pair dispersion Uses variable sized packets to improve efficiency Access needed only in sender side, uses ICMP messages Nettimer Uses sophisticated “kernel density algorithm” to provide better accuracy Pathrate Sprobe
Available bandwidth estimation tools CProbe Measures dispersion of a train of eight maximum sized packets It measures dispersion rate and not available bandwidth Dispersion rate depends on all links of the path and the train’s initial rate Available b/w depends only on tight link of the path Pathload Implements SLoPS Used UDP and requires access at both ends Reports range Center represents the average Range represents values during mesurement period
TCP throughput and BTC measurement tools Treno emulates TCP sends UDP packets to receiver Replies with ICMP port unreachable Does not require access to remote end ICMP rate limited Accuracy of Treno affected Cap More accurate than Treno Uses UDP for TCP data and ACK Requires access at both ends