Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris...

29
Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger, Xavier Cuvellier, Matthieu Latapy, Clémence Magnien, Timur Friedman and Renata Teixeira Laboratoire LIP6 – CNRS Université Pierre et Marie Curie – Paris 6

Transcript of Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris...

Page 1: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

Paris traceroute: Measuring more accurate and complete paths

Brice AugustinFabien Viger, Xavier Cuvellier, Matthieu Latapy, Clémence

Magnien, Timur Friedman and Renata Teixeira

Laboratoire LIP6 – CNRSUniversité Pierre et Marie Curie – Paris 6

Page 2: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

1

-bash-3.00$ traceroute -n www.google.com

1 70.87204.1 8.323 ms 0.797 ms 1.066 ms

2 70.84.160.130 0.471 ms 0.262 ms *

3 70.85.127.109 0.299 ms 0.258 ms 0.256 ms

4 70.87.253.17 0.302 ms 0.206 ms *

5 208.172.139.129 0.569 ms 0.556 ms 0.480 ms

6 204.70.193.193 28.347 ms 204.70.192.49 0.694 ms *

7 208.172.97.170 28.380 ms 204.70.193.185 28.378 ms 208.172.97.170 28.374 ms

8 208.172.99.94 28.356 ms 208.172.108.6 28.483 ms 208.172.99.94 28.444 ms

9 72.14.238.57 30.792 ms 30.674 ms 208.172.108.6 28.437 ms

10 72.14.238.151 31.371 ms 72.14.238.57 30.653 ms 30.718 ms

11 66.249.95.194 40.722 ms 72.14.238.151 31.237 ms 66.249.95.194 40.870 ms

12 216.239.51.104 31.390 ms 72.14.238.190 40.858 ms 216.239.51.104 31.357 ms

What’s wrong with traceroute?

Page 3: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

2

-bash-3.00$ traceroute -n www.google.com

1 70.87204.1 8.323 ms 0.797 ms 1.066 ms

2 70.84.160.130 0.471 ms 0.262 ms *

3 70.85.127.109 0.299 ms 0.258 ms 0.256 ms

4 70.87.253.17 0.302 ms 0.206 ms *

5 208.172.139.129 0.569 ms 0.556 ms 0.480 ms

6 204.70.193.193 28.347 ms 204.70.192.49 0.694 ms *

7 208.172.97.170 28.380 ms 204.70.193.185 28.378 ms 208.172.97.170 28.374 ms

8 208.172.99.94 28.356 ms 208.172.108.6 28.483 ms 208.172.99.94 28.444 ms

9 72.14.238.57 30.792 ms 30.674 ms 208.172.108.6 28.437 ms

10 72.14.238.151 31.371 ms 72.14.238.57 30.653 ms 30.718 ms

11 66.249.95.194 40.722 ms 72.14.238.151 31.237 ms 66.249.95.194 40.870 ms

12 216.239.51.104 31.390 ms 72.14.238.190 40.858 ms 216.239.51.104 31.357 ms

What’s wrong with traceroute?

A

C

B

E

D

FG

H

J

N K

SrcDst

Page 4: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

3

Identified traceroute deficiencies on load balanced paths– Measured paths are inaccurate and incomplete– May diagnose an incorrect path

Many routers have load balancing capabilities– Per-packet, per-flow, per-destination

Built a new traceroute: Paris traceroute

Findings

Page 5: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

4

Classic vs Paris traceroute

A

C

B ED

F

G HI

J

N

M

L

K

Src Dst

A

C

B

E

D

FG

H

J

N K

SrcDst

Classic traceroute:

Paris traceroute:

Page 6: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

5

Traceroute under load balancing

LSrc

B

A C

D

Src L

A

D

C

TTL = 2

TTL = 3

False link

B

Missing nodes and links

DstE

E Dst

Actual network:

Inferred path:

Page 7: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

6

L DSrc

B

A

C

Src L D

TTL = 3

B

Dst

Dst

TTL = 2

TTL = 4

Actual network:

Inferred path:

Hard to diagnose aberrant paths

Page 8: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

7

LSrc

B

A C

D

Src L

A

D

DstE

E Dst

B

C

Actual network:

Inferred path:

Hard to diagnose unstable paths

Page 9: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

8

LSrc

B

A C

D

TTL = 2

TTL = 3

DstEPort 3

Traceroute uses the destination port as identifierPer-flow load balancers use the destination portas part of the flow identifier

TTL = 1

Flow 1

Port 1

Port 2

Problems happen even under per-flow load balancing

Page 10: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

9

Paris traceroute: Tracing a single path

LSrc

B

A C

D

TTL = 2 TTL = 3 DstE

Port 1 Port 1

Port 1

TTL = 1

Solves the problem with per-flow load balancing– Packets have the same flow identifier

Works with UDP, TCP and ICMP

Page 11: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

10

V/ihl TOS

ProtoTTL

Length

Identifier Fragment

Checksum

Source address

Destination address

Source port Dest. port

Length Checksum

Checksum

Identifier Sequence

Type Code

IPv4 header

UDP header ICMP header

Payload

PayloadPayload

Identifying the probes

Page 12: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

11

Paris traceroute: Tracing all the paths

Change the probing strategy At each hop:– Send packets 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

Page 13: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

12

Port 3Port 5

Port 1Port 2

Interfaces enumeration

LSrc

?

?

TTL = 1

A

B

?

Port 4

Port 6

Port 8

Port 7Port 9Port 10

Port 11 Interfaces after L?

Steps:

Stop probing

Suppose 2 interfacesSend 6 packets through LResponses from 2 interfacesSuppose actually 3 interfacesSend 5 more packets through LNo third interface

Page 14: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

13

Probing overhead per hop

Classic traceroute: 3 packets by defaultParis traceroute: at least 6 packets to rule out load balancing

Up to 96 probes (up to 16 responding interfaces in our traces)

9690…33272116116# packets1615…654321# interfaces

Page 15: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

14

Paris traceroute output-bash-3.00$ paris-traceroute –n –a exh www.amazon.com

1 132.227.74.1

2 132.227.106.254

[...]

7 194.68.129.201

8 64.125.23.13:0,1,3,6,9,10 64.125.23.9:2,4,5,7,8

9 64.125.27.225:0,1,3,6,9,10 64.125.27.165:2,4,5,7,8

10 64.125.27.57:0,1,3,6,9,10 64.125.27.209:2,4,5,7,8

11 64.125.28.126:0,1,3,6,9,10 64.125.29.109:2,4,5,7,8

12 64.125.29.230

[...]

Single path, no load balancing

Per-flow load balancer

2 load-balanced paths

List of flow identifiers

Page 16: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

15

Load balancing is common

Measurements from 15 sources to 70,000 destinationsPaths affected by load balancing:

39% by per-flow2% by per-packet70% by per-destination

Many Tier-1s use load balancing

Page 17: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

16

Load balancing causes anomalies

Diamonds appear in 30% of the destinationsParis traceroute removes 10,662 from 19,159 (56%)

Loops appear in 4.5% of the measured routesParis traceroute removes 5,047 from 5,795 (87%)

Cycles appear in 0.25% of the measured routesParis traceroute removes 3,886 from 5,674 (68%)

Other causesRouting changesNAT boxesBuggy routersPer-packet load balancing

From our LIP6 vantage point:

Page 18: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

17

Load-balanced paths

Generally short, narrow and symmetric

Some are extremely long – More than 10 hops

Some others are very wide– Up to 16 responding interfaces

Parallel paths with different hop counts

C

B

A

L

Page 19: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

18

Conclusion

Vast deployment of load balancing

Classic traceroute discovers inaccurate and incomplete paths

Paris traceroute reports more accurate and complete paths

Page 20: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

19

More information

www.paris-traceroute.net

Page 21: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

20

Perspectives

Measure “native path diversity” in theinternet (submitted to IMC2007)Handle some probing subtletiesSimple extensions to detect:– Per-destination load balancing– Uneven load balancing

Return path diversity

Page 22: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

21

Backup slides/making of

Page 23: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

22

LSrc

?

?A

Port 1

Port 1

Port 2

B

Port 4Port 8Port 11 ?C

?

Port 2Port 4Port 8Port 11Port 12

C

TTL = 2

Hop by hop progression

D

DstENext steps:

Nexthops of A?Find enough packetstraversing AEnumerate interfaces

Page 24: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

23

Load balancer classification

LSrc

TTL = 1

A

B

Port 1Port 1Port 1Port 1Port 1Port 1

Port 1Port 1

Steps:

Suppose per-packetSend 6 identical packetsResponses from 1 interface

?Per-packet or

per-flow

Suppose per-packetSend 6 identical packetsResponses from 2 interfaces

Page 25: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

24

-bash-3.00$ traceroute -n www.google.com

1 70.87.204.1 8.323 ms 0.797 ms 1.066 ms

2 70.84.160.130 0.471 ms 0.262 ms *

3 70.85.127.109 0.299 ms 0.258 ms 0.256 ms

4 70.87.253.17 0.302 ms 0.206 ms *

5 208.172.139.129 0.569 ms 0.556 ms 0.480 ms

6 204.70.193.193 28.347 ms 204.70.192.49 0.694 ms *

7 208.172.97.170 28.380 ms 204.70.193.185 28.378 ms 208.172.97.170 28.374 ms

8 208.172.99.94 28.356 ms 208.172.108.6 28.483 ms 208.172.99.94 28.444 ms

9 72.14.238.57 30.792 ms 30.674 ms 208.172.108.6 28.437 ms

10 72.14.238.151 31.371 ms 72.14.238.57 30.653 ms 30.718 ms

11 66.249.95.194 40.722 ms 72.14.238.151 31.237 ms 66.249.95.194 40.870 ms

12 216.239.51.104 31.390 ms 72.14.238.190 40.858 ms 216.239.51.104 31.357 ms

What’s wrong with traceroute?

A

C

B

E

D

FG

H

J

N K

SrcDst

Page 26: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

25

Introduction

Traceroute measures a path betweentwo hosts in an IP network It is widely used by:– Network operators– Networking researchers– Geeks/Computer enthusiasts

Page 27: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

26

L DSrc

B

A

C

Src L D

TTL = 3

B

Dst

Dst

TTL = 2

TTL = 4

Actual network:

Inferred path:

Hard to diagnose aberrant paths

Page 28: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

27

LSrc

B

A C

D

Src L

A

D

DstE

E Dst

B

C

Actual network:

Inferred path:

Hard to diagnose unstable paths

Page 29: Paris traceroute: Measuring more accurate and …media.frnog.org/FRnOG_10/FRnOG_10-3.pdf · Paris traceroute: Measuring more accurate and complete paths Brice Augustin Fabien Viger,

28

Introduction

A

C

B ED

F

G H

J

N

K

Src Dst