paris traceroute: measuring more accurate and …media.frnog.org/frnog_10/frnog_10-3.pdf · paris...
TRANSCRIPT
![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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/1.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/2.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/3.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/4.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/5.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/6.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/7.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/8.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/9.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/10.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/11.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/12.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/13.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/14.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/15.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/16.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/17.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/18.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/19.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/20.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/21.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/22.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/23.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/24.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/25.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/26.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/27.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/28.jpg)
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,](https://reader038.vdocument.in/reader038/viewer/2022110221/5a74d62e7f8b9aea3e8c0860/html5/thumbnails/29.jpg)
28
Introduction
A
C
B ED
F
G H
J
N
K
Src Dst