touring the internet in a tcp sidecarsidecar: transparent probing inject measurement packets into...

37
Touring the Internet in a TCP Sidecar Rob Sherwood Neil Spring University of Maryland IMC 2006

Upload: others

Post on 21-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Touring the Internet in a TCP

Sidecar

Rob Sherwood Neil Spring

University of Maryland

IMC 2006

Page 2: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Topology Discovery: Along for the Ride

Goal: Internet’s complete router-level topologyChallenges:

Accuracy: Noisy data creates false links, nodesCompleteness: Sections difficult to probeValidation: No complete map exists

Tools/Contributions:Passenger: augment probes with IP RR optionSidecar: attach probes to TCP streams

Previous work:Limited coveragePredominantly traceroute-based

Page 3: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Understanding Traceroute

Tool that uses TTL-limited probes to discoverrouters along the path from source to destination.

SRC DST

Page 4: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Understanding Traceroute

Tool that uses TTL-limited probes to discoverrouters along the path from source to destination.

SRC DSTA

Page 5: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Understanding Traceroute

Tool that uses TTL-limited probes to discoverrouters along the path from source to destination.

SRC DSTA B

Page 6: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Understanding Traceroute

Tool that uses TTL-limited probes to discoverrouters along the path from source to destination.

SRC DSTA B C

Page 7: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Understanding Traceroute

Tool that uses TTL-limited probes to discoverrouters along the path from source to destination.

SRC DSTA B C D

Page 8: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Understanding Traceroute

Tool that uses TTL-limited probes to discoverrouters interface addresses along the path fromsource to destination.

SRC DSTA1 B1 C1 D1? ? ? ?

Page 9: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Understanding Traceroute

Tool that uses TTL-limited probes to discoverrouters interface addresses along the path some setof paths from source to destination.

SRC DSTA1

B1

C1

D1?

?

?

??

?

??

?

?

Load BalancingRouter

False Link

Page 10: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Understanding Traceroute

Tool that uses TTL-limited probes to discoverrouters interface addresses except hidden routersalong the path some set of paths from source todestination.

SRC DSTA1

B1

C1

D1?

?

?

??

?

??

?

?

Hiddenby

MPLS

Page 11: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Understanding Traceroute

Tool that uses TTL-limited probes to discoverrouters interface addresses except hidden routersalong the path some set of paths from source todestination unless behind firewall or NAT.

SRC A1

B1

C1

?

?

?

?

?

??

?Hidden

by MPLS

???Firewall

???

Page 12: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Understanding Traceroute

Tool that uses TTL-limited probes to discoverrouters interface addresses except hidden routersalong the path some set of paths from source todestination unless behind firewall or NAT.

Will never see layer 2 devices or backup links.

Page 13: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Understanding Traceroute

Tool that uses TTL-limited probes to discoverrouters interface addresses except hidden routersalong the path some set of paths from source todestination unless behind firewall or NAT.

Will never see layer 2 devices or backup links.

Will see abuse reports confusing tracerouteprobes for attack traffic.

Page 14: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Summary of Traceroute’s Limitations

Unresolved aliases: false nodes

Undetected multiple paths: false links

Fails to discover hidden routers

Firewalls/NATs block probes

Abuse reports limit scope of experiments

Layer 2 devices and unused/backup links neverdiscovered

Page 15: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Mitigating Traceroute’s Limitations

Passenger: IP Record Route Option

Unresolved aliases: false nodes

Undetected multiple paths: false links

Fails to discover hidden routers

Firewalls/NATs block probes

Abuse reports limit scope of experiments

Layer 2 devices and unused/backup links neverdiscovered

Page 16: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Mitigating Traceroute’s Limitations

Passenger: IP Record Route Option

Unresolved aliases: false nodes

Undetected multiple paths: false links

Fails to discover hidden routers

Sidecar: Transparently embedded probes

Firewalls/NATs block probes

Abuse reports limit scope of experiments

Layer 2 devices and unused/backup links neverdiscovered

Page 17: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Mitigating Traceroute’s Limitations

Passenger: IP Record Route Option

Unresolved aliases: false nodes

Undetected multiple paths: false links

Fails to discover hidden routers

Sidecar: Transparently embedded probes

Firewalls/NATs block probes

Abuse reports limit scope of experiments

Not Addressed

Layer 2 devices and unused/backup links neverdiscovered

Page 18: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Record Route IP Option

RFC791: Record path into packet’s IP header

At most 9 IP addresses recorded

Conventional Wisdom:

Nine hops is too few to be usefulAverage path length > 9

Firewalls drop packets with IP optionsAdditional cause for abuse reports

IP options increase router processing time

Page 19: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Passenger: TR+RR

Augment traceroute (TR) probes with IP RecordRoute option (RR):

RR records the outgoing address

Prevents false links

New alias resolution technique

Making RR work:

9 hops + PlanetLab = 87-98% of addresses

Avoid firewalls: Don’t probe close to end-hostsDestination support not required

IP options included in ICMP response

Page 20: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Discovery with TR+RR

TR recordsincoming IP

RR recordsoutgoing IP

TTL TR : RR array

SRC DST

Page 21: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Discovery with TR+RR

TR recordsincoming IP

RR recordsoutgoing IP

TTL TR : RR array1 A1 : ∅

SRC DSTA1 ?

Page 22: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Discovery with TR+RR

TR recordsincoming IP

RR recordsoutgoing IP

TTL TR : RR array1 A1 : ∅

2 B1 : A2

SRC DSTA1 B1A2 ?

Page 23: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Discovery with TR+RR

TR recordsincoming IP

RR recordsoutgoing IP

TTL TR : RR array1 A1 : ∅

2 B1 : A23 C1 : A3,E2

SRC DSTA1

B1

C1 ??

Load BalancingRouter

A2

A3

E2

?

Page 24: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Discovery with TR+RR

TR recordsincoming IP

RR recordsoutgoing IP

TTL TR : RR array1 A1 : ∅

2 B1 : A23 C1 : A3,E24 D1 : A2,B2,F2

SRC DSTA1

B1

C1

D1

?

?

?

?

Load BalancingRouter

A2

A3

E2

F2B2

?

Page 25: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Discovery with TR+RR

TR recordsincoming IP

RR recordsoutgoing IP

TTL TR : RR array1 A1 : ∅

2 B1 : A23 C1 : A3,E24 D1 : A2,B2,F25 DST : A2,B2,F2,D3

SRC DSTA1

B1

C1

D1

?

D3

?

?

?

Load BalancingRouter

A2

A3

E2

F2B2

Page 26: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Discovery with TR+RR

TR recordsincoming IP

RR recordsoutgoing IP

TTL TR : RR array

1 A1 : ∅

2 B1 : A2

3 C1 : A3,E24 D1 : A2,B2,F25 DST : A2,B2,F2,D3

Alias resolution: ith TR IP is an alias for ithRR IP along the same path

Page 27: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Discovery with TR+RR

TR recordsincoming IP

RR recordsoutgoing IP

TTL TR : RR array

1 A1 : ∅

2 B1 : A2

3 C1 : A3,E24 D1 : A2,B2,F25 DST : A2,B2,F2,D3

Alias resolution: ith TR IP is an alias for ithRR IP along the same path

. . . but varying RR implementation make thisnot true in general

Page 28: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Matching TR and RR IPs

TTL=1

TR black RR red

TTL=2 TTL=3 TTL=4

RR classification is a new problem

Imperfect classification heuristics in paper

Formal system subject of continued work

Page 29: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Sidecar: Transparent Probing

Inject measurement packets intonon-measurement TCP streamsProbes are replayed packets with lower TTLand RR option

Transparent w.r.t. end-pointsNo abuse reports triggered by Sidecar probes

Sidecar probes traverse NATs/Firewalls

Technique generalizes to non-topologymeasurements [WORLDS’06]

Page 30: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Preliminary Experiments and Results

Inject Passenger+Sidecar probes into:All CoDeeN traffic: May 17-24th

13M (src,dst) pairs22K IP addresses/891 ASes discovered65.8% of links corroborated with RR

Web CrawlPlanetLab × 160K web servers51M (src,dst) pairs375K IP addresses/8,739 ASes discovered69.1% of links corroborated with RR

Page 31: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Conclusions and Future Work

RR option prematurely dismissedPrevents false link assertionsDiscovers hidden routersNew alias resolution technique

New problem of RR implementationclassificationSidecar: new technique for unobtrusivemeasurements

Less abuse reports → more destinations

Future work:Better router classificationMore traffic sources

Page 32: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option
Page 33: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Implementation Diversity

Matching RR to TRaddresses is difficult

Most routers don’tRR when expiringprobes

TTL TR : RR array1 A1 : ∅

SRC DSTA1 ?

Not on Expire

Page 34: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Implementation Diversity

Matching RR to TRaddresses is difficult

Most routers don’tRR when expiringprobes but some do

TTL TR : RR array1 A1 : ∅

2 B1 : A2,B2

SRC DSTA1 A2 B1 B2

Not on Expire

RR onExpire

Page 35: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Implementation Diversity

Some implement RRbut not TR

Some don’timplement RR

TTL TR : RR array1 A1 : ∅

2 B1 : A2,B23 C1 : A2,B2,F2

SRC DSTA1 A2 B1 B2 C1 ?

MPLS F2

Not on Expire

RR onExpire

Hidden No RR

Page 36: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Implementation Diversity

Some routers droppackets withIP options

TTL TR : RR array1 A1 : ∅

2 B1 : A2,B23 C1 : A2,B2,F24 ? : dropped

SRC DSTA1 A2 B1 B2 C1 ? ?Drop

MPLS F2

Not on Expire

RR onExpire

Hidden No RR DropOptions

Page 37: Touring the Internet in a TCP SidecarSidecar: Transparent Probing Inject measurement packets into non-measurement TCP streams Probes are replayed packets with lower TTL and RR option

Implementation Diversity

Alias resolutionrequires classifyingRR behavior

TTL TR : RR array1 A1 : ∅

2 B1 : A2,B23 C1 : A2,B2,F24 ? : dropped

Not on Expire

RR onExpire Hidden No RR Drop

Options

RR classification is a new problem

Imperfect classification heuristics in paper

Formal system subject of future work