170 likes | 279 Views
TRIO: Measuring Asymmetric Capacity with Three Minimum Round-trip Times. Edmond Chan ‡ , Ang Chen § , Xiapu Luo § , Ricky Mok § , Weichao Li § , and Rocky Chang § ‡ Corporate Research Department, Huawei Research, China § The Hong Kong Polytechnic University. Network path capacity.
E N D
TRIO: Measuring Asymmetric Capacity with Three Minimum Round-trip Times Edmond Chan‡, Ang Chen§, XiapuLuo§, Ricky Mok§, Weichao Li§, and Rocky Chang§ ‡ Corporate Research Department, Huawei Research, China § The Hong Kong Polytechnic University
Network path capacity Forward path Cf (or Cb) • Network path capacity: smallest transmission rate of a set of links Cr (or CB) 8 Mbits/s 100 Mbits/s 20 Mbits/s Remote node Measuring node 10 Mbits/s 50 Mbits/s 15 Mbits/s Reverse path Our goal: Measuring any asymmetric capacity without remote node’s control
Measuring asymmetric capacity • Asymmetric capacity is common due to, e.g., • xDSL/cable broadband • Multi-homing and load balancing • Available tools: AsymProbe[05networking], DSLprobe[08conext], MPI tool [07imc], SProbe[02infocom] • Packet-dispersion: AsymProbe, DSLprobe, SProbe • Buffer saturation: MPI tool All of them rely on packet-size asymmetry!
Contributions • Generalize packet-dispersion methods into round-trip probes (RTPs) and two-way probes (TWPs) with detailed analysis • Propose TRIO which exploits RTPs and TWPs for asymmetric capacity measurement without requiring packet-size asymmetry • Implement TRIO to support the measurement with remote web servers or residential users
Packet-size asymmetry • k-Round-Trip Probe (k-RTP) • Packet-dispersion method: Capacity estimate = kSmax/δ. • Smax= max{Sf, Sr}. • Measuring Cf: AsymProbe and SProbe (k=1), DSLProbe (k≥1) • Measuring Cr: AsymProbe (k=1), DSLProbe (k≥1) kSf/Cf kSf/Cf pj-k pj Remote pj-k Measuring Cf with Sf > Sr Measuring Cr with Sf < Sr pj Cf δ= kSr/Cr Cr Measuring δ= kSf/Cf
Problem: Probe/response interference • The packet-dispersion method (kSmax/δ)underestimates the faster-path capacity! • Solutions for Cf measurement • Increase probe packet size, but • unaware of IP fragmentation! • Increase number of probe packets, but • number of response packets also increases (e.g., SProbe, DSLprobe)! Cf>Cr Cf<Cr kSmin/Cf kSmax/Cf pj-k pj Measuring Cr Measuring Cf Remote pj-k pj Cf δ= kSmin/Cf > kSmax/Cr Cr Probe interference Response interference Measuring δ= kSmin/Cr > kSmax/Cf
Example • Cf/Cr = 24M/1M, k=1 (packet pair), 20% cross traffic • Measuring Cr (slower-path capacity) with Sf/Sr=240B/1500B • δ = 1500B/1M > 240B/24M OK! • Measuring Cf (faster-path capacity) with Sf/Sr = 1500B/240B • δ = 240B/1M > 1500B/24M Response interference! Cr = Sr/δ Cf = Sf/δ 7
Measuring only reverse capacity • (v,k)-Two-Way Probe ((v,k)-TWP) • Based on the packet-dispersion method: Cr = kSr/δ. • Avoid probe interference! • Independent of v and Sf • Existing tool • SProbe’s Cr measurement: (0,1)-TWP rj pu-v pu rj-k Remote Cf Cr δ= kSr/Cr Measuring
Our solution: TRIO • Exploits three minRTTsfrom 1-RTP and (1,1)-TWP Sf/Cf (1,1)-TWP 1-RTP dT1-dT0=Sr/Cr dT0-dR0=Sf/Cf p0 p0 p0 r1 r1 p1 p1 p1 r0 r0 r0 p1 p1 p1 Remote Cf dT0 dT0 Cr dT1 dR0 • Cf = Sf/(dT0-dR0). • Cr = Sr/(dT1-dT0). • Avoid response interference! Measuring • Reuse dT0 • Avoid probe interference! • Independent of Sr
minRTTs of 1-RTP and (1,1)-TWP • When S=Sf=Sr, • Dis the total transmission and propagation delays. • Hence, (1,1)-TWP 1-RTP p0 p0 r1 p1 p1 r0 p1 Remote Cf dT0 Cr dT0 = D + S/Cf. dT1 = D + S/Cf + S/Cr. dR1 dR0 = D. dR1 = D + max{S/Cf,S/Cr}. dT1 dR0 Measuring For self-diagnosis The MDDIF method [09conext] CB = S/(dT1 - dR1). Cb = S/(dR1 - dR0). Cf = S/(dT0 - dR0). Cr = S/(dT1 - dT0).
Implementation of TRIO • Based on OneProbe’s probing technique [09usenix] • Client-side measurement • As a web client to measure with any remote web server • Probe packet: HTTP GET request • Response packet: HTTP data response • Server-side measurement • As a web server to accept measurement requests from any remote web client • A client-side Flash object opens a TCP connection with TRIO for measurement.
Self-diagnosis tests • Packet loss/reordering filtering • Ignore unexpected TCP response packets • minRTT estimate validation: dR0 < dT0 ≤ dR1 < dT1. • Capacity estimate validation: min{Cf, Cr} = Cb. max{Cf, Cr} = CB.
Testbed evaluation • Testbed configuration • n = 16 hops • Pareto cross traffic Launch AsymProbe, DSLprobe, and SProbe with Smax/Smin=1518B/64B; and TRIO with S=1518B Ran Click v1.8 to emulate different Cfand Cr
Testbed results • Highlight results with relative error > 0.1 • AsymProbe, DSLprobe, and SProbe underestimate faster-path capacity for20/0.512and 0.512/20. • DSLprobe’s sanity check withholds Cf estimations for highly asymmetric path and Fast-Reverse paths.
Internet evaluation • Example: A client with Cf/Cr = 250K/5M (emulated using residential broadband network model [07imc]) 50 public Debian mirror sites • Implement PDProbe to perform RTP and TWP measurements used by AsymProbe, DSLprobe, and SProbe • TRIO is also accurate for (i) Fedora/Gentoo/openSUSE mirror sites and (ii) other configurations for Cf/Cr. Due to probe interference
Conclusion • TRIO • Three minRTTs for asymmetric capacity measurement • Avoid probe and response interference • Self-diagnosis tests • More accuratethan existing packet-size asymmetry techniques • Future work • Packet size impact • Measurement with multichannel bottlenecks • Large-scale measurement of the bottleneck location and degree of capacity asymmetry of Internet paths
Thanks • Our project website: www.oneprobe.org