Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve...

45
Sibyl: A Practical Internet Route Oracle 1 Ethan Katz-Bassett (University of Southern California) with: Pietro Marchetta (University of Napoli Federico II), Matt Calder, Yi-Ching Chiu (USC), Italo Cunha (UFMG), Harsha Madhyastha (Michigan), Vasileios Giotsas (CAIDA) Supported By:

Transcript of Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve...

Page 1: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Sibyl: A Practical Internet Route Oracle

1

Ethan Katz-Bassett (University of Southern California)

with:Pietro Marchetta (University of Napoli Federico II),Matt Calder, Yi-Ching Chiu (USC), Italo Cunha (UFMG),Harsha Madhyastha (Michigan), Vasileios Giotsas (CAIDA)

Supported By:

Page 2: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Sibyl: A Practical Internet Route Oracle

2

Supported By:

Ethan Katz-Bassett (University of Southern California)

with:Pietro Marchetta (University of Napoli Federico II),Matt Calder, Yi-Ching Chiu (USC), Italo Cunha (UFMG),Harsha Madhyastha (Michigan), Vasileios Giotsas (CAIDA)

Page 3: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Traceroute Widely Used by Operators and Researchers

“The number one go-to tool is traceroute.� NANOG Network operators troubleshooting tutorial, 2009.

! Lots of use cases: ! topology and AS relationships ! route performance and inflation ! location of congestion ! outages ! prefix hijacks ! etc

3

Page 4: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Traceroute Widely Used by Operators and Researchers

“The number one go-to tool is traceroute.� NANOG Network operators troubleshooting tutorial, 2009.

! Lots of use cases: ! topology and AS relationships ! route performance and inflation ! location of congestion ! outages ! prefix hijacks ! etc

4

! Lots of vantage points: ! PlanetLab, Ark ! RIPE Atlas, BISmark ! traceroute servers ! MobiPerf, Dasu ! RIPE RIS, RouteViews ! etc

Page 5: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Traceroute Is Extremely Limited

“The number one go-to tool is traceroute.� NANOG Network operators troubleshooting tutorial, 2009.

! Lots of use cases: ! topology and AS relationships ! route performance and inflation ! location of congestion ! outages ! prefix hijacks ! etc

! But traceroute only supports one query: “What is the path from vantage point s to destination d?”

5

! Lots of vantage points: ! PlanetLab, Ark ! RIPE Atlas, BISmark ! traceroute servers ! MobiPerf, Dasu ! RIPE RIS, RouteViews ! etc

Page 6: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

6

Page 7: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Current pathHistorical path

How I’d Like to Use Vantage Points7

What’s the path fromAT&T mobile in LA to YouTube?

Query for: ! Path from a certain network

Page 8: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Current pathHistorical path

MobiPerf

How I’d Like to Use Vantage Points8

Did paths fromAT&T mobile in LA always go to Seattle?

Query for: ! Path from a certain network ! Historical path

Page 9: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Current pathHistorical path

MobiPerf

How I’d Like to Use Vantage Points9

Do any paths throughAT&T in LA to YouTube still go to LA server?

Query for: ! Path from a certain network ! Historical path ! Paths through series of hops

Page 10: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Current pathHistorical path

How I’d Like to Use Vantage Points10

Other paths that went to YouTube LA and now go to YouTube Seattle?

Query for: ! Path from a certain network ! Historical path ! Paths through series of hops ! Relationship between

historical path and current path

Page 11: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Current pathHistorical path

MeasrDroid

How I’d Like to Use Vantage Points11

Query for: ! Path from a certain network ! Historical path ! Paths through series of hops ! Relationship between

historical path and current path

Page 12: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Current pathHistorical path

MeasrDroid

MobiPerf

How I’d Like to Use Vantage Points12

YouTube appears tomap these clientstogether.

Query for: ! Path from a certain network ! Historical path ! Paths through series of hops ! Relationship between

historical path and current path

Page 13: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Current pathHistorical path

MeasrDroid

MobiPerf

How I’d Like to Use Vantage Points13

Or…other pathstraversing AT&T-NTT?

Query for: ! Path from a certain network ! Historical path ! Paths through series of hops ! Relationship between

historical path and current path

Page 14: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Current pathHistorical path

MeasrDroid

MobiPerf

How I’d Like to Use Vantage Points14

Or…other pathstraversing GTT-NTT?

Query for: ! Path from a certain network ! Historical path ! Paths through series of hops ! Relationship between

historical path and current path

Page 15: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Current pathHistorical path

MeasrDroid

MobiPerf

How I’d Like to Use Vantage Points15

Or…other pathstraversing NTTbut not AT&T or GTT?

Query for: ! Path from a certain network ! Historical path ! Paths through series of hops ! Relationship between

historical path and current path

Page 16: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Current pathHistorical path

MeasrDroid

MobiPerf

How I’d Like to Use Vantage Points16

Or…other pathstraversing NTTbut not LA or SEA?

Query for: ! Path from a certain network ! Historical path ! Paths through series of hops ! Relationship between

historical path and current path

Page 17: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

2014 Measurement vs 2016 Measurement

! What I do

17

MobiPerf 1 MobiPerf 2RIPE Atlas 1 RIPE Atlas 2

Experiment

Dest Path

MobiPerf 1 MobiPerf 2MobiPerf 2RIPE Atlas 1 RIPE Atlas 2

Experiment

Unified Probing Platform

Dest1

Path Dest2

MobiPerf 2

MeasrDroid

Give me pathslike X. Here are some

paths.

! What I want to do

Page 18: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Benefit of Combining Platforms

! Combining platforms improves coverage

18

0

20

40

60

80

100

10-1 100 101 102 103 104

% o

f ASe

s H

ostin

g Va

ntag

e Po

ints

Minimum Customer Cone Size

RIPE+PL+TS+Dasu

RIPETS

DasuPL

Page 19: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Challenge of Combining Platforms

! Combining platforms improves coverage

19

0

0.2

0.4

0.6

0.8

1

0 100 200 300 400 500 600 700 800

CD

F of

Des

tinat

ions

Number of ASes seen on Path

PL

Page 20: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Challenge of Combining Platforms20

0

0.2

0.4

0.6

0.8

1

0 100 200 300 400 500 600 700 800

CD

F of

Des

tinat

ions

Number of ASes seen on Path

RIPEPL

! Combining platforms improves coverage

Page 21: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Challenge of Combining Platforms21

0

0.2

0.4

0.6

0.8

1

0 100 200 300 400 500 600 700 800

CD

F of

Des

tinat

ions

Number of ASes seen on Path

RIPEPL

Rate Limited - RIPE

! Combining platforms improves coverage ! … but exhaustive probing is infeasible

Page 22: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Challenge of Combining Platforms22

0

0.2

0.4

0.6

0.8

1

0 100 200 300 400 500 600 700 800

CD

F of

Des

tinat

ions

Number of ASes seen on Path

RIPERate Limited

- TS+RIPE+PLPL

Rate Limited - RIPE

! Combining platforms improves coverage ! … but exhaustive probing is infeasible

Page 23: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Challenge of Combining Platforms23

0

0.2

0.4

0.6

0.8

1

0 100 200 300 400 500 600 700 800

CD

F of

Des

tinat

ions

Number of ASes seen on Path

RIPE

Rate Limited(G) - TS+RIPE+PL

Rate Limited - TS+RIPE+PL

PL

Rate Limited(G) - RIPE

Rate Limited - RIPE

! Combining platforms improves coverage ! … but exhaustive probing is infeasible ! Rate limits mean you have to be smart about what to issue

Page 24: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Goals

! Take advantage of diverse vantage points ! Efficient use of probing budgets

! High rate, low diversity vantage points like Ark and PL ! Low rate, high diversity vantage points like Atlas and LG

! Support rich queries

Service queries: ! as if we had traceroutes from all vantage points to all

Internet destinations ! even though probing budgets are very restricted

24

Page 25: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Related Work

! IXPs: Mapped?, RocketFuel, Lord of the Links, Reverse Traceroute, etc ! Issued measurements likely to traverse particular links

! iPlane ! Predicted source/destination paths

! TopHat ! Unified historical and current ! Multiple testbeds? ! Does it exist anymore?

! MPlane ! Srikanth’s talk ! Others?

25

Page 26: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Goals26

! Take advantage of diverse vantage points ! Efficient use of probing budgets

! High rate, low diversity vantage points like Ark and PL ! Low rate, high diversity vantage points like Atlas and LG

! Support rich queries

Service queries: ! as if we had traceroutes from all vantage points to all

Internet destinations ! even though probing budgets are very restricted

Page 27: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Goal: ! In each round, allocate probing budget to best serve queries

Optimize Use of Probing Budget27

Page 28: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Goal: ! In each round, allocate probing budget to best serve queries

Optimize Use of Probing Budget28

Page 29: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Goal: ! In each round, allocate probing budget to best serve queries

Optimize Use of Probing Budget29

! Max utility of traceroutes

Page 30: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Goal: ! In each round, allocate probing budget to best serve queries

Optimize Use of Probing Budget30

! Max utility of traceroutes ! Tr: set of traceroutes in the

round is union of those from each platform V

Page 31: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Goal: ! In each round, allocate probing budget to best serve queries

Optimize Use of Probing Budget31

! Max utility of traceroutes ! Tr: set of traceroutes in the

round is union of those from each platform V

! Utility of set of traceroutes Tr is sum of utility in matching each query q

Page 32: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Goal: ! In each round, allocate probing budget to best serve queries

Optimize Use of Probing Budget32

! Max utility of traceroutes ! Tr: set of traceroutes in the

round is union of those from each platform V

! Utility of set of traceroutes Tr is sum of utility in matching each query q

! Each platform V has a rate limit budget CV

Page 33: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Goal: ! In each round, allocate probing budget to best serve queries

Need to solve (rest of talk): ‣What is query language?

‣ How to find paths to match queries, given we can’t issue every traceroute (or know the results before issuing)?

‣ How to solve the optimization efficiently?

Challenges in Optimization33

Page 34: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Query language

! How to express what paths you care about? ! Sibyl in its current state:

! Regular expressions over hops ! All evaluation with AS-level hops, but internal representation is PoPs

! Supports two types of queries: ! Existence query: Give me (at least) one path that matches

! A path that goes through Sprint on the way to USC? Sprint-.*-USC$

! Diversity query: Give me as diverse a set of matching paths as possible ! Suspected problem on peering between GTT and Level3?

\(^.*-(GTT-Level3|Level3-GTT)-.*$\) ! Actually, NTT-GTT too! Other GTT peers?

\(^.*-[^NTT-Level3]-GTT-[^NTT-Level3]-.*$\)

! Thoughts?

34

Page 35: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Goal: ! In each round, allocate probing budget to best serve queries

Need to solve (rest of talk): ‣What is query language? Regular expressions over hops.

‣ How to find paths to match queries, given we can’t issue every traceroute (or know the results before issuing)?

‣ How to solve the optimization efficiently?

Challenges in Optimization35

Page 36: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Finding Paths to Match Queries

1. Find candidate (v1 to d2) by splicing existing traceroutes a. Find historical traceroute t1 from a vantage point v1 to

destination d1 that matches a prefix qp of q b. Find historical traceroute t2 from a vantage point v2 to

destination d2 that matches a prefix qp of q s.t.: i. t1 and t2 intersect at a common PoP p ii. v1…p…d2=qpqs=q

c. Nominate v1 to d2 as a candidate to match q

2. Predict probability that traceroute (v1 to d2) matches q a. Generate all possible spliced paths from v1 to d2

b. Rate how likely each spliced path is to be correct c. Probability of matching q is sum of likelihood of the spliced

paths that match

36

Page 37: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Finding Paths to Match Queries

1. Find candidate (v1 to d2) by splicing existing traceroutes a. Find historical traceroute t1 from a vantage point v1 to

destination d1 that matches a prefix qp of q b. Find historical traceroute t2 from a vantage point v2 to

destination d2 that matches a prefix qp of q s.t.: i. t1 and t2 intersect at a common PoP p ii. v1…p…d2=qpqs=q

c. Nominate traceroute (v1 to d2) as a candidate to match q

2. Predict probability that traceroute (v1 to d2) matches q a. Generate all possible spliced paths from v1 to d2

b. Rate how likely each spliced path is to be correct c. Probability of matching q is sum of likelihood of the spliced

paths that match

37

Page 38: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Finding Paths to Match Queries

1. Find candidate (v1 to d2) by splicing existing traceroutes a. Find historical traceroute t1 from a vantage point v1 to

destination d1 that matches a prefix qp of q b. Find historical traceroute t2 from a vantage point v2 to

destination d2 that matches a prefix qp of q s.t.: i. t1 and t2 intersect at a common PoP p ii. v1…p…d2=qpqs=q

c. Nominate traceroute (v1 to d2) as a candidate to match q

2. Predict probability that traceroute (v1 to d2) matches q a. Generate all possible spliced paths from v1 to d2

b. Rate how likely each spliced path is to be correct c. Probability of matching q is sum of likelihood of the spliced

paths that match

38

Page 39: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

How Likely is a Spliced Path Correct?

! Train system to recognizelikely vs unlikely splices ! Features include:

! AS relationships atsplice point

! AS path similarity with other possible splices

! AS path inflation vsshortest prediction

! System scores splicedpath based on features

! Evaluation shows a positive score from system usually means the prediction is correct

39

0

0.05

0.1

0.15

0.2

0.25

0.3

-10 -8 -6 -4 -2 0 2 4 6

Prob

abilit

y D

ensi

ty

RuleFit Score

Correct PredictionsIncorrect Predictions

Page 40: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Goal: ! In each round, allocate probing budget to best serve queries

Need to solve (rest of talk): ‣What is query language? Regular expressions over hops.

‣ How to find paths to match queries, given we can’t issue every traceroute (or know the results before issuing)? Splice existing traceroutes to predict new ones, learn which predictions are good. ‣ How to solve the optimization efficiently?

Challenges in Optimization40

Page 41: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

! In each round, allocate probing budget to best serve queries ! Solve greedily

! Greedy heuristic known to perform well for submodular function subject to partition constraints

Optimize Use of Probing Budget41

! Submodular function: function on sets that exhibits diminishing returns

! Partition constraints: each traceroute subject to at most one constraint

Page 42: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Goal: ! In each round, allocate probing budget to best serve queries

Need to solve (rest of talk): ‣What is query language? Regular expressions over hops.

‣ How to find paths to match queries, given we can’t issue every traceroute (or know the results before issuing)? Splice existing traceroutes to predict new ones, learn which predictions are good. ‣ How to solve the optimization efficiently? Greedily.

Challenges in Optimization42

Page 43: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Evaluation: Does Sibyl efficiently allocate probing budget? (I)

! Prediction is effective: Sibyl satisfies 80% as many queries as an Oracle that knows all paths but is subject to rate limits

! Important to assess likelihood: Sibyl satisfies 107% more than Randomly selecting among spliced candidates

43

0

0.2

0.4

0.6

0.8

1

0 5 10 15 20 25 30 35 40 45 50

Frac

tion

of Q

uerie

s Sa

tisfie

d

Round

Oracle LimitedSibyl

Random Candidates

Page 44: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Evaluation: Does Sibyl efficiently allocate probing budget? (II)

! By combining diverse but rate limited RIPE Atlas vantage points with the smaller number of PlanetLab vantage points, Sibyl matches nearly as many queries as RIPE Atlas without rate limits

44

0

0.2

0.4

0.6

0.8

1

0 5 10 15 20 25 30 35 40 45 50

Frac

tion

of Q

uerie

s Sa

tisfie

d

Round

RIPE unlimitedSibyl - PL unlimited and RIPE limited

PL unlimitedSibyl - RIPE limited

Page 45: Sibyl: A Practical Internet Route Oracle · In each round, allocate probing budget to best serve queries Optimize Use of Probing Budget 32! Max utility of traceroutes ! T r: set of

Conclusion

¬ Lots of route vantage points exist,but our interface to them is extremely limited"Little unification of historical and live measurements"Each platform is independent"Can only ask one question:

“What is the path from here to there?”¬ Sibyl: A unified platform for Internet path queries

"Goal: Get relevant paths with properties of interest, without limiting queries by testbed, source, or destination

"Approach: Predict paths based on previously measured ones, and optimize budget use based on predictions

45