anycast latency: how many sites are enough?

21
Anycast Latency: How Many Sites are Enough? Ricardo de O. Schmidt 1 , Jan Harm Kuipers 1 , and John Heidemann 2 1 University of Twente 2 USC/ISI DNS-OARC, Dallas, 2016-10-16 Copyright © 2016 by John Heidemann and Ricardo de. O. Schmidt Release terms: CC-BY-NC 4.0 international

Upload: vothu

Post on 31-Dec-2016

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Anycast Latency: How Many Sites are Enough?

Anycast Latency:

How Many Sites are Enough?

Ricardo de O. Schmidt1, Jan Harm Kuipers1, and John Heidemann2

1University of Twente 2USC/ISI

DNS-OARC, Dallas, 2016-10-16

Copyright © 2016 by John Heidemann and Ricardo de. O. SchmidtRelease terms: CC-BY-NC 4.0 international

Page 2: Anycast Latency: How Many Sites are Enough?

IP Anycast: Why?

2Latency & Anycast: How Many? / 2016-10-16

you

X-SJC

your friend

X-PRG

IP anycast lets

you (a user)

find a nearby

servicethe service has one IP address

announced from many places;

BGP routing finds “nearby”

used for DNS

and some CDNs

X-SYD

Page 3: Anycast Latency: How Many Sites are Enough?

Does Anycast Work?

3Latency & Anycast: How Many? / 2016-10-16

561 root DNS locations

for 13 services (in 2016-01)

large capex and opx

data:

www.root-servers.org

but does it work?

what does “work” mean?

Page 4: Anycast Latency: How Many Sites are Enough?

What does “Anycast Works” Mean?

• here: latency from user to service

– (other reasons: DDoS defense, collaboration)

• questions

– does anycast give good absolute latency?

– does instance location matter?

– does BGP routing policy interfere?

– what about the tail?

– how many instances do you need?

• contribution: answering these with measurement

4Latency & Anycast: How Many? / 2016-10-16

Page 5: Anycast Latency: How Many Sites are Enough?

The Anycast Ideal

5Latency & Anycast: How Many? / 2016-10-16

you

X-SJC

your

friend

X-PRG

anycast matches

a user to a (hopefully)

nearby site

X-SYDanother

friendanycast divides the Internet

into catchements(often messy and non-geographic)

Page 6: Anycast Latency: How Many Sites are Enough?

Anycast’s Reality

6Latency & Anycast: How Many? / 2016-10-16

latency is often high (red: >200ms)

because routing is hard(correct is easy,

but performance bugs

are obscure and

easy to overlook)(Data: Ray Bellis, mid-2015 F-Root, from

https://labs.ripe.net/Members/ray_bellis/researching-f-root-

anycast-placement-using-ripe-atlas )

Page 7: Anycast Latency: How Many Sites are Enough?

What We Measure

7Latency & Anycast: How Many? / 2016-10-16

Sources:

~7000 RIPE Atlas instances

sending pings and traceroutes

to estimate latency

Destinations: 4 DNS Root Letters

letter sites (local) date

C 8 (0) 2015-09

F 58 (53) 2015-12

K 33 (14) 2015-11

NK* 36 (1) 2016-04

L 144 (0) 2015-12

Page 8: Anycast Latency: How Many Sites are Enough?

Measurement Step 1:

Your Current Site

8Latency & Anycast: How Many? / 2016-10-16

RIPE

VP

X-SJC

other

RIPE

VP

X-PRG

X-SYDanother

RIPE VP

each Vantage Point (VP) asks:

x.root-servers.net CHAOS TXT hostname.bind

to find its anycast site (the catchment)

reply gives that VP’s anycast site:

sjc1.x.root-servers.org

other reply gives other site

prg1.x.root-servers.org

or another

syd1.x.root-servers.org

Page 9: Anycast Latency: How Many Sites are Enough?

Measurement Step 2:

Distance to All Possible Sites

9Latency & Anycast: How Many? / 2016-10-16

RIPE

VP

X-SJC

other

RIPE

VP

X-PRG

X-SYDanother

RIPE VP

each Vantage Point (VP) asks:

ping sjc1.x.root-servers.org

ping prg1.x.root-servers.org

ping syd1.x.root-servers.org

to get Round Trip Timesreply gives that VP’s anycast site:

sjc1.x.root-servers.org

other reply gives other site

prg1.x.root-servers.org

or another

syd1.x.root-servers.org

Page 10: Anycast Latency: How Many Sites are Enough?

Measurement Step 2:

Distance to All Possible Sites

10Latency & Anycast: How Many? / 2016-10-16

RIPE

VP

X-SJC

other

RIPE

VP

X-PRG

X-SYDanother

RIPE VP

each Vantage Point (VP) asks:

ping sjc1.x.root-servers.org

ping prg1.x.root-servers.org

ping syd1.x.root-servers.org

to get Round Trip Times

Page 11: Anycast Latency: How Many Sites are Enough?

Measurement Step 2:

Distance to All Possible Sites

11Latency & Anycast: How Many? / 2016-10-16

RIPE

VP

X-SJC

other

RIPE

VP

X-PRG

X-SYDanother

RIPE VP

each Vantage Point (VP) asks:

ping sjc1.x.root-servers.org

ping prg1.x.root-servers.org

ping syd1.x.root-servers.org

to get Round Trip Times

Page 12: Anycast Latency: How Many Sites are Enough?

Measurement Outcome

12Latency & Anycast: How Many? / 2016-10-16

RIPE

VP

X-SJC

other

RIPE

VP

X-PRG

X-SYDanother

RIPE VP

we know each VP’s:

current site (catchment)

and latency to all sites we can compute

optimal possible latency

and all possible catchments

Page 13: Anycast Latency: How Many Sites are Enough?

Is Absolute Latency Good?

13Latency & Anycast: How Many? / 2016-10-16

yes (usually)

median latency is low

F: 25ms

L: 30ms

C and K: 32 ms

tail latency

(for a few) can be high

median latency

(for most) is low

Page 14: Anycast Latency: How Many Sites are Enough?

Is Absolute Latency Optimal?

14Latency & Anycast: How Many? / 2016-10-16

yes (nearly)

actual latency

within 2-10ms

of best possible

(at median)

(compare solid vs.

dotted lines of same

color)

2ms penalty 8ms penalty

8ms penalty 10ms penalty

Page 15: Anycast Latency: How Many Sites are Enough?

Does Routing Policy Interfere?

15Latency & Anycast: How Many? / 2016-10-16

local policy sites

only serve their

AS

not much penalty

(compare

pink: K in 2015, with half

local nodes vs.

blue: NK in 2016 with all but

one global)

almost no

difference in

actual latencv

slight difference

(sometimes) in optimal

Page 16: Anycast Latency: How Many Sites are Enough?

Does Location Matter?

16Latency & Anycast: How Many? / 2016-10-16

yes (a lot!)

simulate 1-4-node anycast services

experimental measurements from C-Root

measure from RIPE Atlas (bias to Europe)

poor locations

(far from EU)

⇒ poor base latency w/1

⇒ modest help w/2-4

optimal locations

(geographically dispersed)

⇒ 1 is good

⇒ 2-4 help “pull in tail”

Page 17: Anycast Latency: How Many Sites are Enough?

What About the Tail?

17Latency & Anycast: How Many? / 2016-10-16

C-Root (6 sites, US and Europe)

L-Root (144 sites, everywhere)

show median

and quartile

RTTs per

country

38 countries

21 countries

if median RTT

>100ms is high

latency:

more sites

=> fewer high

latency countries

more sites

helps the tail

(21 vs. 38)

Page 18: Anycast Latency: How Many Sites are Enough?

Routing in the Tail?

18Latency & Anycast: How Many? / 2016-10-16

L-Root (144 sites, everywhere)

routing shows large variation

(compare median vs. 25%ile)

reason: site in country

doesn’t reach all country ISPs

Phillipines (PH):

20 VPs

only 7 reach site in PH

13 to US and Australia

Page 19: Anycast Latency: How Many Sites are Enough?

What Matters Most?

19Latency & Anycast: How Many? / 2016-10-16

fixing routing bugs!

F-Root shows better

latency, sometimes…they debugged routing with Ripe Atlas

months before our measurements

…and routing bugs (or insufficient local

interconnect?) in some countries

Page 20: Anycast Latency: How Many Sites are Enough?

So How Many Instances?

20Latency & Anycast: How Many? / 2016-10-16

not very many!

12 would be good

for an anycast service

where caching works well

(not a CDN w/5 min TTL)

and only about latency

not DDoS resilience

nor policy concerns

and location matters!

and more help the tail

(actual latency)

recall that C, F, K, and L

all have similar latency,

but 8, 44, 58, 144 sites

Page 21: Anycast Latency: How Many Sites are Enough?

Conclusions

• first systematic study of anycast optimality

– detailed paper: http://www.isi.edu/~johnh/Schmidt16a

• considerations for anycast design?

• data is available: https://ant.isi.edu/datasets/anycast/ and http://traces.simpleweb.org/

• thanks to RIPE Atlas and U. Twente

21Latency & Anycast: How Many? / 2016-10-16