340 likes | 496 Vues
Measuring Load-Balanced Paths in the Internet. Brice Augustin Timur Friedman and Renata Teixeira Laboratoire LIP6 – CNRS Université Pierre et Marie Curie – Paris 6. Measurement tools expect a single path. The traditional model:. The actual “path”:. K. D. B. C. I. J. Dst. Src. B.
E N D
Measuring Load-Balanced Paths in the Internet • Brice Augustin • Timur Friedman and Renata Teixeira • Laboratoire LIP6 – CNRS • Université Pierre et Marie Curie – Paris 6
Measurement tools expect a single path The traditional model: The actual “path”: K D B C I J Dst Src B C J G H I A D L M E F N Many network operators use the load balancing capabilities of their routers
Per-destination load balancing Dst1 A C Dst1 E Src L Dst2 Dst2 B D • Different Dsts in a prefix, different paths • Different flows to same Dst, same path
Per-flow load balancing Flow 1 A C Dst E Src L Flow 2 B D • A flow = 5-tuple • Src and dst addresses, protocol, src and dst ports • All packets in a flow take the same path
Per-packet load balancing Flow 1 A C Dst E Src L Flow 1 B D • Packets to a host may take different paths • Even if they belong to the same flow
Paris traceroute: Tracing a single path • Construct probes for per-flow load balancing • All probes follow the same path Port 1 Port 1 A C Port 1 Dst E Src L TTL = 2 TTL = 3 B D TTL = 1
Paris traceroute: Tracing all the paths Port 5 Port 3 Port 1 A C Dst E Src L Port 6 Port 4 Port 2 B D 1. Discover the load balancers • Vary the flow identifier of probes 2. Classify them according to their types • Maintain the flow identifier
Outline • Measurements of load-balanced paths • Measurement setup • Metrics describing load-balanced paths • Characterization • General statistics • Structure of load-balanced paths • RTTs of load-balanced paths
Measurement infrastructure • 15 sources • RON nodes: USA (mostly) and Europe • 68k destinations • Randomly picked from prefixes in a BGP table • Two series of measurements • Trace load-balanced paths for all src-dst pairs • Collect RTTs for a subset of src-dst pairs
Load balancing is common • % of src-dst pairs affected by load balancing • Found load balancing in 10% of ASes • Especially tier-1 ISPs: 7 out of 9 • Generally intra-domain load balancing • Very few paths spanning 2 ASes
Metrics of interest • Connectivity: length, width, symmetry • Round-trip times RTT1 A A C Dst E Src L B D RTT2 Diamond length: 3 hops Diamond asymmetry: 1 hop A diamond Diamond width: 2 paths Compare RTT1 and RTT2
Length 2 generally means parallel links: Paris traceroute outcome: Actual topology: A A C R2 C L L R1 R3 B B Diamonds are often short… Per-flow and per-dest More than 50% of diamonds are 2 or 3 hops long 1% of diamonds have more than 8 hops # source-destination pairs Per-packet 90% are 2 hops long Length
…but a few are very long! • Up to 17 hops long • Longer paths tend to be per-flow and per-destination Source Destination
Diamonds are often narrow… All types of load balancing 50% of diamonds have only 2 disjoint paths Width and length 50% of diamonds are both short and narrow # source-destination pairs Width
…but a few are very wide! A B C Q R S P N O L I J K M H E F G D T U • Maximum width is 16: built-in limit of routers • Why so many links? Bundle of low-capacity links
Diamonds are often symmetric… Per-flow and per-dest More than 80% of diamonds are symmetric Per-packet 95% are symmetric # source-destination pairs Asymmetry greater than 3 is rare Asymmetry
…but a few are very unbalanced! • Origins of asymmetry: routers can select.. • Paths with the same cost • Same link weight, but different hop count • Paths with slightly different costs • “Unequal-cost multipath” mechanism • For per-flow, maximum asymmetry is 8 hops G D F E C B H I J A MPLS tunnel
Refining RTT measurements • Compare RTTs of load-balanced paths • Maintain the flow identifier for each path • But responses might take different return paths • Responses are ICMP packets • ICMP packets often are load-balanced Response 1 D B L A Src F E C Response 2
Maintaining the return flow identifier • Build a probe • Fix the desired forward flow identifier • Predict the ICMP response • Its content essentially depends on the probe • Tweak the probe • Modify data to get the desired return flow id
Few diamonds have RTT differences • Out of 21k per-flow load-balanced paths: • 12% with delay difference > 1 ms • A few cases with delay difference > 20 ms • Asymmetric and long diamonds • Often exhibit delay differences
Conclusion • Load balancing is widely used in the Internet • Diamonds are often short and narrow • Some exceptionally long or wide diamonds • Implications of these findings • Measurement of path properties • Control the measured paths under load balancing • Fix the return path for RTT measurements • Troubleshooting of end-to-end paths • Problems may be “hidden” because of load balancing
More information www.paris-traceroute.net
Enumerating interfaces Steps: Port 11 Port 8 Port 4 Port 2 • Nexthops of L? Port 1 ? A • Suppose 2 interfaces • Send 6 probes through L Port 10 Src Port 9 L Port 7 • Responses from 2 interfaces Port 6 Port 5 Port 3 • Suppose actually 3 interfaces ? B • Send 5 more probes through L TTL = 1 • No third interface • Stop probing ? Parameters: • 95% confidence degree
Few diamonds have RTT differences Per-flow and per-dest More than 80% of diamonds are symmetric # source-destination pairs Ratio between min delay and max delay of paths in a diamond
Diamonds are often short.. • Per-flow and per-destination diamonds • More than 50% have less than 4 hops • Per-packet diamonds • 90% with length 2 • Length 2 generally means parallel links: Paris traceroute outcome: Actual topology: A0 0 1 2 0 A 0 B0 L B L0 A1 2 1
Length 2 generally means parallel links: Diamonds are often short… Paris traceroute outcome: Actual topology: # source-destination pairs A0 0 1 2 0 A 0 B0 L B L0 A1 2 1 Length
Diamonds are often narrow… • For all types of load balancing: • More than 50% have only 2 disjoint paths • Width and length • Half of diamonds are both short and narrow • Others are either long and narrow.. • .. or short and wide
Length 2 generally means parallel links: Paris traceroute outcome: Actual topology: A A C R2 C L L R1 R3 B B
Length 2 generally means parallel links: Paris traceroute outcome: Actual topology: A A C R2 C L L R1 R3 B B Diamonds are often short… Per-flow and per-dest More than 50% of diamonds are 2 or 3 hops long 1% of diamonds have more than 8 hops # source-destination pairs Per-packet 90% are 2 hops long Length
Diamonds are often symmetric… Per-flow and per-dest More than 80% of diamonds are symmetric Per-packet 95% are symmetric # source-destination pairs Asymmetry greater than 3 is rare Asymmetry
Diamonds are often narrow… All types of load balancing 50% of diamonds have only 2 disjoint paths Width and length 50% of diamonds are both short and narrow # source-destination pairs Width
Length 2 generally means parallel links: Diamonds are often short… Per-flow and per-dest More than 50% of diamonds are 2 or 3 hops long 1% of diamonds have more than 8 hops # source-destination pairs Per-packet 90% are 2 hops long Paris traceroute outcome: Actual topology: A0 0 1 2 0 A 0 B0 L B L0 A1 2 1 Length