211 likes | 462 Views
Multipath tracing with Paris Traceroute. Brice Augustin Timur Friedman and Renata teixeira Laboratoire LIP6 – CNRS Université Pierre et Marie Curie – Paris 6. Introduction. Traceroute measures a path between two hosts in an IP network It is widely used
E N D
Multipath tracing with Paris Traceroute • Brice Augustin • Timur Friedman and Renata teixeira • Laboratoire LIP6 – CNRS • Université Pierre et Marie Curie – Paris 6
Introduction • Traceroute measures a path between two hosts in an IP network • It is widely used • Diagnosis of connectivity problems [Paxson 1999] • Inferrence of network properties [Faloutsos 1999] • Internet maps [Rocketfuel 2002]
Contributions • Previously [IMC 2006]: identified traceroute deficiencies on load balanced paths • Measured paths are: • Inaccurate (fixed) • Incomplete (this remained to be done) • Built a new traceroute: Paris traceroute • Added a probing algorithm to trace all paths
Traceroute under load balancing Actual topology: A C Dst E Src L TTL = 2 B D TTL = 3 Inferred topology: A C False link Dst E Src L B D Missing nodes and links
Tracing a single path [IMC 2006] • Solves the problem with per-flow load balancing • Probes have the same flow identifier Port 1 Port 1 A C Port 1 Dst E Src L TTL = 2 TTL = 3 B D TTL = 1
Tracing all the paths • Multipath Detection Algorithm (MDA) • Change the probing strategy • At each hop: • Send probes with a different flow identifier • Send enough probes to enumerate all interfaces with a high degree of confidence • Classify load balancers: per-flow or per-packet
MDA - interfaces enumeration 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
MDA – hop by hop progression Port 12 Port 11 Port 8 Port 4 Port 2 Port 1 Port 11 C ? Port 8 Port 4 Port 2 Port 1 ? A C ? Dst Src E L TTL = 2 Next steps: D ? B • Nexthops of A? • Find enough probes traversing A • Enumerate interfaces
MDA - load balancer classification Port 1 Port 1 Steps: Port 1 Port 1 Port 1 Port 1 ? A Per-packet or per-flow Src L Port 1 Port 1 B • Suppose per-packet • Send 6 identical probes • Responses from 2 interfaces • Suppose per-packet • Send 6 identical probes • Responses from 1 interface TTL = 1
Measurement infrastructure 5000 reachable destinations Measurements • 1 round takes 100 minutes Paris traceroute Classic traceroute Paris traceroute Classic traceroute Paris Paris traceroute INTERNET Source
Paris traceroute performance 20 Discovered (+) + 15 Missed (-) * 10 Paris traceroutefinds up to 16 more interfaces 201 cases where Paris traceroute missed 1 or more interfaces Number of interfaces 5 Paths with load balancing: • per-flow: 30% • per-packet: 2% 0 Paris traceroute finds one more interface than classic traceroute - 5 -10 0 400 800 1200 1600 Destination
The effects of load balancing 1000 UDP probing ICMP probing 100 Most hops have a small number of responding interfaces ICMP probing usually discovers fewer interfaces # distinct hops Some hops have up to 16 interfaces 10 1 2 4 6 8 10 12 14 16 # interfaces per hop
Conclusion • It no longer makes sense to trace a single route from source to destination in the internet • Classic traceroute discovers incomplete paths • Paris traceroute and the MDA trace all paths to a destination with a high level of confidence
Perspectives • Measure “native path diversity” in the internet (submitted to IMC2007) • Handle some probing subtleties • Simple extensions to detect: • Per-destination load balancing • Uneven load balancing • Return path diversity
More information www.paris-traceroute.net
Contributions • Identified traceroute deficiencies on load balanced paths • Measured paths are inaccurate [IMC 2006] • Measured paths are incomplete • Built a new traceroute: Paris traceroute • Added a probing algorithm to trace all paths
Traceroute under normal case Actual topology: Dst Src B A TTL = 3 TTL = 2 TTL = 1 Inferred topology: Dst Src B A
Tracing all the paths • Multipath Detection Algorithm (MDA) • Change the probing strategy: • Adapt the number of probes at each hop • Enumerate the nexthops of load balancers with a high degree of confidence • Classify load balancers
Tracing a single path [IMC 2006] Add another dest to show that we discover the other path ? • Solves the problem with per-flow load balancing • Probes have the same flow identifier Port 1 Port 1 A C Port 1 Dst E Src L TTL = 2 TTL = 3 B D TTL = 1 Show a problem on link B – D. can’t see it if trace only upper path
The effects of load balancing 1000 UDP probing ICMP probing 100 ICMP probing usually discovers fewer interfaces Most hops have a small number of reachable interfaces # distinct hops Some hops have up to 16 interfaces 10 1 0 2 4 6 8 10 12 14 16 # interfaces per hop
Paris traceroute performance 20 Discovered (+) + Missed (-) 15 * 10 Paris traceroutefinds up to 16 more interfaces 201 cases where Paris traceroute missed 1 or more interfaces Number of interfaces 5 0 Paris traceroute finds one more interface than classic traceroute - 5 -10 0 400 800 1200 1600 Destination