240 likes | 523 Views
SProbe: Another Tool for Measuring Bottleneck Link Bandwidth. Stefan Saroiu P. Krishna Gummadi Steven Gribble University of Washington. Peer-to-Peer File-Sharing Systems. Ongoing project - analyze and measure characteristics of current P2P systems
E N D
SProbe: Another Tool for Measuring Bottleneck Link Bandwidth Stefan Saroiu P. Krishna Gummadi Steven Gribble University of Washington
Peer-to-Peer File-Sharing Systems • Ongoing project - analyze and measure characteristics of current P2P systems • Estimate bottleneck bandwidths to and from many and diverse Internet hosts: • Traditional modems: ppp35.bcpl.net • Cable modems: c589502-a.plano1.tx.home.com • DSL: adsl-78-148-152.cae.bellsouth.net • Dorms (10/100 Mbps): st14_032.dorm.depaul.edu
Wanted: Sexy Linux Tool that: • Measures a network physical property - bottleneck bandwidths • Has reasonable accuracy • Willing to tolerate factor-of-two errors • Preferably returns only one estimate • Runs fast • 1 min/host is too slow • Measurement software is deployed at only one endpoint
Problems with Contenders • Measuring ALL links bandwidths is slow: • pathchar, pchar, clink • Measurement software must be deployed at both endpoints: • pathrate • Estimates based on ICMP: • ICMP can be filtered, dropped, answered by routers, rate-limited answers • bprobe
Problems with Contenders (2) • Estimates based on passively monitoring traffic to and from the remote host: • This works as long as the traffic is formed by large packets-pairs • Unfortunately, most of our traffic is not • nettimer • Traffic is processed as a set of packet-pairs only: • Traffic can be shaped to reveal more information – cross-traffic detection
SProbe Uses TCP Tricks • From local host To remote host • No cooperation needed Local Remote SYN packet RST packet
SProbe Uses TCP Tricks • From local host To remote host • No cooperation needed Local Remote SYN packet RST packet
SProbe Uses TCP Tricks • From local host To remote host • No cooperation needed Local Remote SYN packet RST packet
SProbe Uses TCP Tricks • From local host To remote host • No cooperation needed Local Remote SYN packet RST packet
SProbe Uses TCP Tricks • From local host To remote host • No cooperation needed Local Remote SYN packet RST packet
SProbe Uses TCP Tricks • From local host To remote host • No cooperation needed Local Remote SYN packet RST packet
SProbe Uses TCP Tricks • From local host To remote host • No cooperation needed Local Remote SYN packet RST packet
SProbe Uses TCP Tricks • From local host To remote host • No cooperation needed Local Remote SYN packet RST packet
SProbe Uses TCP Tricks • From local host To remote host • No cooperation needed Local Remote SYN packet RST packet
SProbe Uses TCP Tricks • From local host To remote host • No cooperation needed Local Remote SYN packet RST packet
SProbe Uses TCP Tricks • From local host To remote host • No cooperation needed Local Remote SYN packet RST packet
SProbe Uses TCP Tricks • From local host To remote host • No cooperation needed Local Remote SYN packet RST packet
SProbe Uses TCP Tricks • From local host To remote host • No cooperation needed Local Remote SYN packet RST packet
SProbe Uses TCP Tricks • From remote To local • Involuntary cooperation of application layer Local Remote (Web) HTTP Get request Data packet ACK (last data packet)
Trials (local to remote) SProbe sends train of 6 packets (3160 bytes/train), upto 10 times
Trials (local to remote) SProbe sends train of 6 packets (3160 bytes/train), upto 10 times
Trials (local to remote) SProbe sends train of 6 packets (3160 bytes/train), upto 10 times
Trials (local to remote) SProbe sends train of 6 packets (3160 bytes/train), upto 10 times
Final Remarks • A useful tool (for us) needs to: • Be deployed at one endpoint only • Run fast • Actively send probing packets • Detect cross-traffic interference • When cross-traffic detected return ‘Unknown Estimate’ • Do not returns bogus estimate instead, please. • SProbe source will be available shortly: • http://www.cs.washington.edu/homes/tzoompy/sprobe