active measurements: traceroute - tu berlin · pdf file2 why traceroute in ip, no explicit way...

17
1 Active Measurements: Traceroute Prof. Anja Feldmann, Ph.D. Dr. Ramin Khalili Georgios Smaragdakis, Ph.D.

Upload: lykien

Post on 03-Feb-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

1

Active Measurements: Traceroute

Prof. Anja Feldmann, Ph.D. Dr. Ramin Khalili

Georgios Smaragdakis, Ph.D.

Page 2: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

2

Why Traceroute ❒  In IP, no explicit way to determine route from source

to destination (recall: ping is rtt to destination) ❒  traceroute: expose intermediate routers

Destination D

IP(S→D, TTL=1)

ICMP (A → S, time_exceeded)

A

F

E

D

C

B

IP(S → D, TTL=4)

Page 3: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

3

Traceroute: Basic Principle ❒  Exploit TTL (Time to Live) feature of IP

❍ When a router receives a packet with TTL=1, packet is discarded and ICMP_time_exceeded returned to sender

❍  Think of many pings in consecutive nodes

❒ Operational uses: ❍ Can use traceroute towards own domain to check

reachability •  list of traceroute servers: http://www.traceroute.org

❍ Debug internal topology databases ❍ Detect routing loops, partitions, and other anomalies ❍ Research, e.g. Internet mapping projects

Page 4: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

4

Traceroute: Sample output

ICMP disabled TTL=249 is unexpected

(should be initial_ICMP_TTL-(hop#-1)=

255-(6-1)=250)

RTT of three probes per hop

<chips [ ~ ]>traceroute degas.eecs.berkeley.edu

traceroute to robotics.eecs.berkeley.edu (128.32.239.38), 30 hops max, 40 byte packets

1 oden (135.207.31.1) 1 ms 1 ms 1 ms

2 * * *

3 argus (192.20.225.225) 4 ms 3 ms 4 ms

4 Serial1-4.GW4.EWR1.ALTER.NET (157.130.0.177) 3 ms 4 ms 4 ms

5 117.ATM5-0.XR1.EWR1.ALTER.NET (152.63.25.194) 4 ms 4 ms 5 ms

6 193.at-2-0-0.XR1.NYC9.ALTER.NET (152.63.17.226) 4 ms (ttl=249!) 6 ms (ttl=249!) 4 ms (ttl=249!)

7 0.so-2-1-0.XL1.NYC9.ALTER.NET (152.63.23.137) 4 ms 4 ms 4 ms

8 POS6-0.BR3.NYC9.ALTER.NET (152.63.24.97) 6 ms 6 ms 4 ms

9 acr2-atm3-0-0-0.NewYorknyr.cw.net (206.24.193.245) 4 ms (ttl=246!) 7 ms (ttl=246!) 5 ms (ttl=246!)

10 acr1-loopback.SanFranciscosfd.cw.net (206.24.210.61) 77 ms (ttl=245!) 74 ms (ttl=245!) 96 ms (ttl=245!)

11 cenic.SanFranciscosfd.cw.net (206.24.211.134) 75 ms (ttl=244!) 74 ms (ttl=244!) 75 ms (ttl=244!)

12 BERK-7507--BERK.POS.calren2.net (198.32.249.69) 72 ms (ttl=238!) 72 ms (ttl=238!) 72 ms (ttl=238!)

13 pos1-0.inr-000-eva.Berkeley.EDU (128.32.0.89) 73 ms (ttl=237!) 72 ms (ttl=237!) 72 ms (ttl=237!)

14 vlan199.inr-202-doecev.Berkeley.EDU (128.32.0.203) 72 ms (ttl=236!) 73 ms (ttl=236!) 72 ms (ttl=236!)

15 * 128.32.255.126 (128.32.255.126) 72 ms (ttl=235!) 74 ms (ttl=235!)

16 GE.cory-gw.EECS.Berkeley.EDU (169.229.1.46) 73 ms (ttl=9!) 74 ms (ttl=9!) 72 ms (ttl=9!)

17 robotics.EECS.Berkeley.EDU (128.32.239.38) 73 ms (ttl=233!) 73 ms (ttl=233!) 73 ms (ttl=233!)

Page 5: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

5

Traceroute: Limitations ❒  No guarantee that every packet will follow same path

❍  Inferred path might be “mix” of paths followed by probe packets ❍  This can be due to change in routing, load balancing, etc.

❒  No guarantee that paths are symmetric ❍  Unidirectional link weights, hot-potato routing ❍  No way to answer question: on what route would a packet reach me?

❒  Reports interfaces, not routers ❍  May not be able to identify two different interfaces on the same

router (router alias problem)

❒  Topological sampling ❍  Limitation in sources and destinations ❍  Not all links can be seen (i.e., invisible links), e.g. backup

Page 6: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

6

Load balancing

❒  Packet-level load balancers may mislead traceroute

❒ Hash-based balancing will show non-existing paths to traceroute

?

Page 7: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

7

Load balancing (2) ❒  Flow-level load balancers rely on grey fields to identify a flow

❒  Soulution: Paris traceroute tries to identify balanced paths by changing header values that are not used for balancing

Page 8: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

8

AS 5

AS 1

AS 2 AS 3

AS 4

AS 6 Inter-domain link Intra-domain link

Routing path asymmetry

Page 9: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

9

AS 5

AS 1

AS 2 AS 3

AS 4

AS 6 Inter-domain link Intra-domain link

p

p

Routing path asymmetry (2)

Page 10: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

10

AS 5

AS 1

AS 2 AS 3

AS 4

AS 6 Traffic path Inter-domain link Intra-domain link

Routing path asymmetry (3)

Page 11: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

11

AS 5

AS 1

AS 2 AS 3

AS 4

AS 6 AS path Inter-AS edge

Effect of policy

Routing path asymmetry (4)

Page 12: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

12

Path asymmetry ❒  Reachability does not require symmetric paths ❒ Many factors explain asymmetry

❍ Routing policies •  Routing defined on a per destination prefix •  Policies may rely on different granularities

❍  Static/default routes •  Many ISPs rely on static routes to compensate for routing failures

❍  Intradomain routing (hot-potato) •  Different entry point may mean different exit point in the network

❍ Multiple links/load balancing/multi-homing •  For different flows that share the same destination prefix, multiple

paths may be used

Page 13: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

13

IP aliasing ❒  Routers have more than one network interface ❒ How to distinguish multiple interfaces from the same

router? ❍  Fingerprinting: send probe packets and infer responses

come from the same router •  Iffinder tool: send TCP/UDP towards unreachable port and

compare source IP with ICMP reply. •  Exploit IPID counter (16-bit field that carries a copy of the current

value of a counter in a router’s IP stack): increase rate in IPID as a host signature

•  (Reverse) DNS

❍ Analytics: inference from topology graph •  Path alignment •  Record-route option (Internet datagram)

Page 14: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

14

Topological sampling ❒ How much probing to sample a given network? ❒  Bias in traceroute measurements:

❍ Sources: • Most paths are shared close to sources (it is preferable to increase #destinations than #sources)

❍ Destinations: • End of paths suffer from NAT/firewalls •  Finding host that answer to probes is hard

❍ Graph properties: • Power-law node degree •  Local connectivity

Page 15: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

15

Topological sampling (2) ❒ Modeling Internet topology:

❍ Random graph or power-law?

Page 16: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

16

Topological sampling (3) ❒  Local connectivity properties

❍ Clustering coefficient – in graph theory is a measure of the degree to which nodes in the graph tend to cluster together.

•  How close is the local connectivity from a clique (any network is connected to another one)?

❍ Assortativity •  Degree correlation between nodes of a given degree:

–  Nodes of large degrees tend to connect to similar degree nodes, e.g. social networks (assortative network)

–  Small degree nodes and large degree nodes tend to connect to each other, e.g. Internet (disassortative network)

Page 17: Active Measurements: Traceroute - TU Berlin · PDF file2 Why Traceroute In IP, no explicit way to determine route from source to destination (recall: ping is rtt to destination) traceroute:

17

Traceroute: Discussion ❒  Impact of routing dynamics

❍  Traceroute paths need to be correlated with routing data ❍  Routing is about dynamics: Internet is constantly changing

❒  Interface-level map, not router-level ❍  Inferring topological properties from traceroute data requires care ❍  Ground truth, e.g. MRINFO

❒  Topological sampling ❍  Bias in core and edge sampling

❒  Reachability ❍  Data plane and control plane do see different things ❍  Packets more happy than what routing shows